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