Handlebars.js: Utilice yargs en lugar de optimist obsoleto en la versión 4.x

Creado en 6 mar. 2020  ·  7Comentarios  ·  Fuente: handlebars-lang/handlebars.js

Antes de presentar problemas, compruebe primero los siguientes puntos:

Estamos usando el último handlebars 4.7.3 , pero notamos que una de las dependencias optimist está obsoleta. Hay un boleto para cambiar a yargs lugar (https://github.com/wycats/handlebars.js/issues/1179) y se cerró con el PR combinado (https://github.com/ wycats / handlebars.js / pull / 1180). Sin embargo, el RP combinado aún no está en la versión 4.x. Solucione este problema en la versión 4.x.

Comentario más útil

Bien, creo que podemos intentarlo. La API yargs realmente parece ser como la API optimista. ¿Alguien quiere crear un PR para 4.x?

Realmente me sentiría mejor si hubiera más pruebas que verificaran que la CLI sigue funcionando igual después de la migración.

Actualmente solo hay uno aquí . Sería genial tener algunas pruebas usando diferentes parámetros.

Cree algunas pruebas, verifique que funcionen con optimist, luego migre a yargs y vea si todavía funcionan.

¿Alguien podría hacer eso?

Todos 7 comentarios

Creo que puede romper el cli, por lo que prefiero no actualizar en la rama 4.x.

A veces estoy trabajando en 5.0 en el máster, pero como todo esto es trabajo voluntario y tengo muchas otras tareas, no puedo decir cuándo estará listo.

Pasar de optimist a minimist o yargs también permitiría mitigar más fácilmente la vulnerabilidad de seguridad [email protected] , que no se ajusta a optimist 's gama de semver minimist@~0.0.1 ).

Esto sería algo que me imagino que Handlebars querría trasladar a la rama 4.x.

Una alternativa que he propuesto es relajar las dependencias en optimist , pero dado que está obsoleto, creo que hay una alta probabilidad de que ya no reciba ninguna corrección:

https://github.com/substack/node-optimist/pull/150


Editar: Solución alternativa a continuación, usando Yarn: https://github.com/wycats/handlebars.js/issues/1658#issuecomment -603768912

Bien, creo que podemos intentarlo. La API yargs realmente parece ser como la API optimista. ¿Alguien quiere crear un PR para 4.x?

Realmente me sentiría mejor si hubiera más pruebas que verificaran que la CLI sigue funcionando igual después de la migración.

Actualmente solo hay uno aquí . Sería genial tener algunas pruebas usando diferentes parámetros.

Cree algunas pruebas, verifique que funcionen con optimist, luego migre a yargs y vea si todavía funcionan.

¿Alguien podría hacer eso?

Si usa Yarn, aquí hay una solución alternativa por ahora hasta que se solucione (tal vez con # 1662):

Agregue la siguiente resolución a su package.json y ejecute yarn .

  "resolutions": {
    "**/optimist/minimist": "0.2.1"
  }

Esto obligará a todas las versiones de optimist a usar [email protected] , independientemente del paquete que dependa de optimist .

La última versión optimist (0.6.1, lanzada hace 6 años) depende de un rango de versión vulnerable de minimist que causa errores npm audit en proyectos que dependen de handlebars directa o indirectamente. Una eliminación de optimist sería muy apreciada, ¡gracias!

Ver # 1661

Publicado en 4.7.4

¿Fue útil esta página
0 / 5 - 0 calificaciones