---
name: feedback_otplib_esm
description: "otplib v12+ n'exporte pas authenticator — utiliser l'API fonctionnelle ESM"
metadata: 
  node_type: memory
  type: feedback
  originSessionId: e9aff1a4-9c1c-4cab-b7ec-90146b832fb0
---

`otplib` (version installée dans le projet) n'expose pas de named export `authenticator` en ESM. L'import `{ authenticator } from 'otplib'` lève `SyntaxError: does not provide an export named 'authenticator'`. Même `createRequire` échoue car le package a changé d'API.

**Utiliser l'API fonctionnelle** directement :
```js
import { generateSecret as totpGenerateSecret, generateURI as totpGenerateURI, verifySync as totpVerifySync } from 'otplib';

const secret = totpGenerateSecret();
const uri    = totpGenerateURI({ issuer, label: email, secret });
const valid  = totpVerifySync({ token: code, secret, strategy: 'totp' });
```

**Why:** Le package a migré vers une API fonctionnelle (v12+), l'ancienne interface orientée objet (`authenticator`) a été supprimée.
**How to apply:** Toujours utiliser ces 3 imports nommés ESM pour toute fonctionnalité TOTP.
