From 453fb7033f9313a089ac24e24cf4ab7a6309e579 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Fri, 8 Jun 2018 11:26:18 +0200
Subject: [PATCH] fix(npm): gracefully skip empty dependency version

---
 lib/manager/npm/extract/index.js                          | 3 +++
 test/manager/npm/extract/__snapshots__/index.spec.js.snap | 8 ++++++++
 test/manager/npm/extract/index.spec.js                    | 1 +
 3 files changed, 12 insertions(+)

diff --git a/lib/manager/npm/extract/index.js b/lib/manager/npm/extract/index.js
index c17434d9f8..d99d6cc1a2 100644
--- a/lib/manager/npm/extract/index.js
+++ b/lib/manager/npm/extract/index.js
@@ -138,6 +138,9 @@ async function extractDependencies(content, packageFile, config) {
             if (dep.currentValue === '*') {
               dep.skipReason = 'any-version';
             }
+            if (dep.currentValue === '') {
+              dep.skipReason = 'empty';
+            }
           } else {
             dep.skipReason = 'unknown-version';
           }
diff --git a/test/manager/npm/extract/__snapshots__/index.spec.js.snap b/test/manager/npm/extract/__snapshots__/index.spec.js.snap
index dfaea1647a..d714d53e51 100644
--- a/test/manager/npm/extract/__snapshots__/index.spec.js.snap
+++ b/test/manager/npm/extract/__snapshots__/index.spec.js.snap
@@ -32,6 +32,14 @@ Object {
       "skipReason": "file",
       "versionScheme": "semver",
     },
+    Object {
+      "currentValue": "",
+      "depName": "baz",
+      "depType": "devDependencies",
+      "purl": "pkg:npm/baz",
+      "skipReason": "empty",
+      "versionScheme": "semver",
+    },
     Object {
       "currentValue": "latest",
       "depName": "other",
diff --git a/test/manager/npm/extract/index.spec.js b/test/manager/npm/extract/index.spec.js
index ccd7b24ca2..55a58c147e 100644
--- a/test/manager/npm/extract/index.spec.js
+++ b/test/manager/npm/extract/index.spec.js
@@ -142,6 +142,7 @@ describe('manager/npm/extract', () => {
           '@angular/cli': '1.6.0',
           foo: '*',
           bar: 'file:../foo/bar',
+          baz: '',
           other: 'latest',
         },
         engines: {
-- 
GitLab