From b2f3626578b4f90a563ca7f7ca3baa16ed89a574 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Sat, 16 Dec 2017 06:50:18 +0100 Subject: [PATCH] fix: strip leading equals sign from currentVersion e.g. =0.22.0 is treated as 0.22.0 --- lib/workers/dep-type/package-json.js | 2 +- test/_fixtures/package-json/inputs/01.json | 2 +- test/_fixtures/package-json/outputs/012.json | 2 +- test/_fixtures/package-json/outputs/013.json | 2 +- .../__snapshots__/package-json.spec.js.snap | 36 +++++++++++++++++++ test/workers/dep-type/package-json.spec.js | 1 + 6 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 test/workers/dep-type/__snapshots__/package-json.spec.js.snap diff --git a/lib/workers/dep-type/package-json.js b/lib/workers/dep-type/package-json.js index f469194eac..9f76f0e5dd 100644 --- a/lib/workers/dep-type/package-json.js +++ b/lib/workers/dep-type/package-json.js @@ -9,6 +9,6 @@ function extractDependencies(packageJson, depType) { return depNames.map(depName => ({ depType, depName, - currentVersion: packageJson[depType][depName].trim(), + currentVersion: packageJson[depType][depName].trim().replace(/^=/, ''), })); } diff --git a/test/_fixtures/package-json/inputs/01.json b/test/_fixtures/package-json/inputs/01.json index 0cfec0e3ab..7677886187 100644 --- a/test/_fixtures/package-json/inputs/01.json +++ b/test/_fixtures/package-json/inputs/01.json @@ -14,7 +14,7 @@ "bower": "~1.6.0", "browserify": "13.1.0", "browserify-css": "0.9.2", - "cheerio": "0.22.0", + "cheerio": "=0.22.0", "config": "1.21.0" }, "devDependencies": { diff --git a/test/_fixtures/package-json/outputs/012.json b/test/_fixtures/package-json/outputs/012.json index 4602514e50..7778ef556c 100644 --- a/test/_fixtures/package-json/outputs/012.json +++ b/test/_fixtures/package-json/outputs/012.json @@ -14,7 +14,7 @@ "bower": "~1.6.0", "browserify": "13.1.0", "browserify-css": "0.9.2", - "cheerio": "0.22.0", + "cheerio": "=0.22.0", "config": "1.21.0" }, "devDependencies": { diff --git a/test/_fixtures/package-json/outputs/013.json b/test/_fixtures/package-json/outputs/013.json index d29532aa3d..c1c87b270c 100644 --- a/test/_fixtures/package-json/outputs/013.json +++ b/test/_fixtures/package-json/outputs/013.json @@ -14,7 +14,7 @@ "bower": "~1.6.0", "browserify": "13.1.0", "browserify-css": "0.9.2", - "cheerio": "0.22.0", + "cheerio": "=0.22.0", "config": "1.21.0" }, "devDependencies": { diff --git a/test/workers/dep-type/__snapshots__/package-json.spec.js.snap b/test/workers/dep-type/__snapshots__/package-json.spec.js.snap new file mode 100644 index 0000000000..c436f35edd --- /dev/null +++ b/test/workers/dep-type/__snapshots__/package-json.spec.js.snap @@ -0,0 +1,36 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`workers/dep-type/package-json .extractDependencies(packageJson, depType) each element contains non-null depType, depName, currentVersion 1`] = ` +Array [ + Object { + "currentVersion": "6.5.0", + "depName": "autoprefixer", + "depType": "dependencies", + }, + Object { + "currentVersion": "~1.6.0", + "depName": "bower", + "depType": "dependencies", + }, + Object { + "currentVersion": "13.1.0", + "depName": "browserify", + "depType": "dependencies", + }, + Object { + "currentVersion": "0.9.2", + "depName": "browserify-css", + "depType": "dependencies", + }, + Object { + "currentVersion": "0.22.0", + "depName": "cheerio", + "depType": "dependencies", + }, + Object { + "currentVersion": "1.21.0", + "depName": "config", + "depType": "dependencies", + }, +] +`; diff --git a/test/workers/dep-type/package-json.spec.js b/test/workers/dep-type/package-json.spec.js index 85dd172aa9..1538cbb0db 100644 --- a/test/workers/dep-type/package-json.spec.js +++ b/test/workers/dep-type/package-json.spec.js @@ -35,6 +35,7 @@ describe('workers/dep-type/package-json', () => { JSON.parse(input01Content), 'dependencies' ); + expect(extractedDependencies).toMatchSnapshot(); extractedDependencies .every(dep => dep.depType && dep.depName && dep.currentVersion) .should.eql(true); -- GitLab