
As vezes você pode receber um alerta de potencial falha de segurança em seu projeto e um npm audit fix não conseguir resolver de forma automática.
Isso acontece pois a falha encontrada é de alguma dependência de algum pacote que o seu projeto usa, e não diretamente no pacote em si.
Por exemplo: foi encontrada uma falha no lodash. Seu projeto não depende diretamente do lodash mas depende do eslint, e o eslint sim depende do lodash. Então até que o package.json do eslint seja atualizado com a versão do lodash que tenha a correção dessa falha, você pode contornar o problema forçando a instalação de uma versão específica.
Para isso faremos dois ajustes no package.json do nosso projeto.
Primeiro adicione uma propriedade resolutions, e nela coloque o pacote e a versão que deseja forçar a instalar.
{
"resolutions": {
"lodash": "^4.17.19"
}
}
Depois na propriedade scripts, adicione um preinstall assim:
"scripts": {
"preinstall": "npx npm-force-resolutions"
}
Feito isso basta rodar um npm i para instalar as dependências e pronto!