Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Upgrade nanoid and openid-client #360

Open
seansica opened this issue Jan 14, 2025 · 0 comments
Open

Upgrade nanoid and openid-client #360

seansica opened this issue Jan 14, 2025 · 0 comments

Comments

@seansica
Copy link
Contributor

The latest releases of these two dependencies default to ECMAScript syntax rather than CommonJS. We're not using a transpiler like Babel to handle converting between different JS flavors, and ideally we shouldn't have to until we're ready for a TS migration.

Figure out a way to upgrade these dependencies while still using CommonJS, or find suitable alternatives. nanoid specifies a solution for CommonJS (link below). I'm not sure about openid-client.

NanoID

After version 3, CommonJS support is mostly dropped in favor of ESM:

https://github.com/ai/nanoid?tab=readme-ov-file#commonjs

Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/ssica/Development/attack/workbench/attack-workbench-rest-api/node_modules/openid-client/build/index.js from /Users/ssica/Development/attack/workbench/attack-workbench-rest-api/app/lib/authn-oidc.js not supported.
Instead change the require of index.js in /Users/ssica/Development/attack/workbench/attack-workbench-rest-api/app/lib/authn-oidc.js to a dynamic import() which is available in all CommonJS modules.

For now, downgraded back to 3x:

❯ npm list | grep nanoid
├── nanoid@5.0.9
❯ npm install nanoid@3

changed 1 package, and audited 654 packages in 667ms

89 packages are looking for funding
  run `npm fund` for details

3 vulnerabilities (2 low, 1 high)

To address all issues, run:
  npm audit fix

Run `npm audit` for details.
❯ npm list | grep nanoid
├── nanoid@3.3.8

OpenID-Client

Same thing with openid-client -- v6 moves to ESM:

Downgraded:

❯ npm list | grep openid
├── openid-client@6.1.7
❯ npm install openid-client@5

added 2 packages, removed 2 packages, changed 1 package, and audited 654 packages in 968ms

87 packages are looking for funding
  run `npm fund` for details

3 vulnerabilities (2 low, 1 high)

To address all issues, run:
  npm audit fix

Run `npm audit` for details.
❯ npm list | grep openid
├── openid-client@5.7.1
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant