UNPKG

npm-audit-resolver

Version:

Aids humans and automation in managing npm audit results

40 lines (36 loc) 1.26 kB
#!/usr/bin/env node const isCi = require('@npmcli/ci-detect')(); const pkgFacade = require('./src/pkgFacade'); const view = require('./src/views/general') const argv = require('./src/arguments').get(); const auditResolver = require('./src/resolve/auditResolver') if (isCi && !argv.trustmeitsnotci) { view.ciDetected() process.exit(1) } if (argv.yarn) { pkgFacade.addImplementation('yarn', require('./src/pkgmanagers/yarn')) pkgFacade.setActiveImplementation('yarn') } else if (argv["yarn-berry"]) { pkgFacade.addImplementation('yarn-berry', require('./src/pkgmanagers/yarnBerry')) pkgFacade.setActiveImplementation('yarn-berry') } else { pkgFacade.addImplementation('npm', require('./src/pkgmanagers/npm')) pkgFacade.setActiveImplementation('npm') } pkgFacade.getAudit({ shellOptions: { ignoreExit: true } }) .then(async input => { const choice = await auditResolver.askForFix(input) if (choice === 'f') { return pkgFacade.getAudit({ shellOptions: { ignoreExit: true } }) } else { return input } }) .then(input => { return auditResolver.askForResolutions(input) }) .catch(e => { view.genericError(e); process.exit(2); });