Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Upgrade nanoid and openid-client

Abierto
#360 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
javascript, node.js
Área
backend

Línea de trabajo

Comienza con app/lib/authn-oidc.js e inspecciona cómo se carga openid-client; después, revisa las versiones de las dependencias mediante npm list. Determina si ambas dependencias pueden actualizarse mientras el servicio siga siendo CommonJS, o si se necesitan alternativas adecuadas. Se considerará completado cuando las versiones seleccionadas funcionen sin ERR_REQUIRE_ESM y conserven el comportamiento de autenticación existente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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
├── [email protected]
❯ 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
├── [email protected]

OpenID-Client

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

Downgraded:

❯ npm list | grep openid
├── [email protected]
❯ 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
├── [email protected]
Lenguaje dominante
JavaScript
Estrellas
56
Forks
18
Merge medio
21 h 30 min
PR fusionados (30 d)
8

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de mitre-attack/attack-workbench-rest-api

Todos los issues de mitre-attack/attack-workbench-rest-api

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.