diff --git a/lib/audit-ci-version.js b/lib/audit-ci-version.js new file mode 100644 index 00000000..56c74be4 --- /dev/null +++ b/lib/audit-ci-version.js @@ -0,0 +1,10 @@ +const { version: auditCiVersion } = require('../package.json'); + +if (!auditCiVersion) { + console.log( + '\x1b[33m%s\x1b[0m', + 'Could not identify audit-ci version. Please report this issue to https://github.com/IBM/audit-ci/issues.' + ); +} + +module.exports = { auditCiVersion }; diff --git a/lib/npm-auditer.js b/lib/npm-auditer.js index f7598b37..5c3c5a71 100644 --- a/lib/npm-auditer.js +++ b/lib/npm-auditer.js @@ -3,18 +3,10 @@ * * SPDX-License-Identifier: Apache-2.0 */ -const childProcess = require('child_process'); +const { auditCiVersion } = require('./audit-ci-version'); const { runProgram, reportAudit } = require('./common'); const Model = require('./Model'); -function getAuditCiVersion() { - const version = childProcess - .execSync('npm show audit-ci version') - .toString() - .replace('\n', ''); - return version; -} - function runNpmAudit(config) { const { directory, registry, _npm } = config; const npmExec = _npm || 'npm'; @@ -48,8 +40,6 @@ function runNpmAudit(config) { } function printReport(parsedOutput, levels, reportType) { - const auditCiVersion = getAuditCiVersion(); - function printReportObj(text, obj) { console.log('\x1b[36m%s\x1b[0m', text); console.log(JSON.stringify(obj, null, 2)); diff --git a/lib/yarn-auditer.js b/lib/yarn-auditer.js index 48193cb2..4748280b 100644 --- a/lib/yarn-auditer.js +++ b/lib/yarn-auditer.js @@ -5,6 +5,7 @@ */ const childProcess = require('child_process'); const semver = require('semver'); +const { auditCiVersion } = require('./audit-ci-version'); const { reportAudit, runProgram } = require('./common'); const Model = require('./Model'); @@ -24,13 +25,6 @@ function getYarnVersion() { return version; } -function getAuditCiVersion() { - const version = JSON.parse( - childProcess.execSync('yarn info audit-ci version --json') - ).data; - return version; -} - function yarnSupportsAudit(yarnVersion) { return semver.gte(yarnVersion, MINIMUM_YARN_VERSION); } @@ -67,7 +61,6 @@ function audit(config, reporter = reportAudit) { const model = new Model(config); const yarnVersion = getYarnVersion(); - const auditCiVersion = getAuditCiVersion(); const isYarnVersionSupported = yarnSupportsAudit(yarnVersion); if (!isYarnVersionSupported) { throw new Error( diff --git a/test/audit-ci-version.js b/test/audit-ci-version.js new file mode 100644 index 00000000..200eacca --- /dev/null +++ b/test/audit-ci-version.js @@ -0,0 +1,10 @@ +const semver = require('semver'); +const { auditCiVersion } = require('../lib/audit-ci-version'); + +describe('audit-ci package', () => { + it('gets the version of the audit-ci package', () => { + const packageVersion = auditCiVersion; + semver.valid(packageVersion); + semver.gte(packageVersion, '2.4.2'); + }); +}); diff --git a/test/npm-auditer.js b/test/npm-auditer.js index 21e9565b..10c99071 100644 --- a/test/npm-auditer.js +++ b/test/npm-auditer.js @@ -34,8 +34,7 @@ function testDir(s) { // To modify what slow times are, need to use // function() {} instead of () => {} -// eslint-disable-next-line func-names -describe('npm-auditer', function() { +describe('npm-auditer', function testNpmAuditer() { this.slow(6000); it('prints full report with critical severity', () => { return audit( diff --git a/test/yarn-auditer.js b/test/yarn-auditer.js index b549e231..3a5c4fd8 100644 --- a/test/yarn-auditer.js +++ b/test/yarn-auditer.js @@ -33,8 +33,7 @@ function testDir(s) { // To modify what slow times are, need to use // function() {} instead of () => {} -// eslint-disable-next-line func-names -describe('yarn-auditer', function() { +describe('yarn-auditer', function testYarnAuditer() { this.slow(3000); it('prints full report with critical severity', () => { return audit(