Antes de apresentar problemas, verifique primeiro os seguintes pontos:
Estamos usando o handlebars 4.7.3
mais recente, mas notamos que uma das dependências optimist
está obsoleta. Há um tíquete para mudar para yargs
(https://github.com/wycats/handlebars.js/issues/1179) e foi fechado com o PR mesclado (https://github.com/ wycats / handlebars.js / pull / 1180). No entanto, o PR mesclado ainda não está na versão 4.x. Corrija isso na versão 4.x.
Acho que pode quebrar o cli, então prefiro não atualizar no branch 4.x.
Às vezes estou trabalhando no 5.0 no master, mas como tudo isso é trabalho voluntário e tenho muitas outras funções, não posso dizer quando estará pronto.
Mover de optimist
para minimist
ou yargs
também permitiria uma mitigação mais fácil da vulnerabilidade de segurança SNYK-JS-MINIMIST-559764 (que requer [email protected]
, que não cabe optimist
faixa de minimist@~0.0.1
de
Isso seria algo que eu imagino que os Handlebars gostariam de fazer backport para o branch 4.x.
Uma alternativa que propus é relaxar as dependências em optimist
, mas como está obsoleto, acho que há uma grande chance de não receber mais nenhuma correção:
https://github.com/substack/node-optimist/pull/150
Editar: solução alternativa abaixo, usando Yarn: https://github.com/wycats/handlebars.js/issues/1658#issuecomment -603768912
OK, acho que podemos tentar. A API yargs realmente parece ser a API otimista. Alguém deseja criar um PR para o 4.x?
Eu realmente me sentiria melhor se houvesse mais alguns testes para verificar se a CLI ainda funciona da mesma forma após a migração.
Atualmente, há apenas um aqui . Seria legal fazer alguns testes usando parâmetros diferentes.
Crie alguns testes, verifique se eles funcionam com o otimista, então migre para o yargs e veja se eles ainda funcionam.
Alguém poderia fazer isso?
Se você usar o Yarn, aqui está uma solução alternativa por enquanto até que isso seja corrigido (talvez com # 1662):
Adicione a seguinte resolução ao seu package.json
e execute yarn
.
"resolutions": {
"**/optimist/minimist": "0.2.1"
}
Isso forçará todas as versões de optimist
a usar [email protected]
, independentemente de qual pacote depende de optimist
.
A versão optimist
recente (0.6.1, lançada 6 anos atrás) depende de um intervalo de versão vulnerável de minimist
que causa npm audit
erros em projetos que dependem de handlebars
direta ou indiretamente. A remoção de optimist
seria muito apreciada, obrigado!
Veja # 1661
Lançado em 4.7.4
Comentários muito úteis
OK, acho que podemos tentar. A API yargs realmente parece ser a API otimista. Alguém deseja criar um PR para o 4.x?
Eu realmente me sentiria melhor se houvesse mais alguns testes para verificar se a CLI ainda funciona da mesma forma após a migração.
Atualmente, há apenas um aqui . Seria legal fazer alguns testes usando parâmetros diferentes.
Crie alguns testes, verifique se eles funcionam com o otimista, então migre para o yargs e veja se eles ainda funcionam.
Alguém poderia fazer isso?