diff --git a/lib/manager/npm/__fixtures__/inputs/01-glob.json b/lib/manager/npm/__fixtures__/inputs/01-glob.json
index 25031e31d3b66712788a8fd656dc20bcc16cb9b2..9f31f8be60b46a49ec2ad8b196ebb6fe8775f967 100644
--- a/lib/manager/npm/__fixtures__/inputs/01-glob.json
+++ b/lib/manager/npm/__fixtures__/inputs/01-glob.json
@@ -36,5 +36,6 @@
   "repository": {
     "type": "git",
     "url": "http://github.com/singapore/renovate.git"
-  }
+  },
+  "workspaces": []
 }
diff --git a/lib/manager/npm/__fixtures__/inputs/01.json b/lib/manager/npm/__fixtures__/inputs/01.json
index 603fb8ef5e020a706427563b6753d3dbb7b2258c..661bcfa896b16a365acf49c81a0b1050538b4d6b 100644
--- a/lib/manager/npm/__fixtures__/inputs/01.json
+++ b/lib/manager/npm/__fixtures__/inputs/01.json
@@ -25,7 +25,10 @@
     "@angular/core": "4.0.0-beta.1"
   },
   "resolutions": {
-    "config": "1.21.0"
+    "config": "1.21.0",
+    "**/@angular/cli": "8.0.0",
+    "**/angular": "1.33.0",
+    "config/glob": "1.0.0"
   },
   "homepage": "https://keylocation.sg",
   "keywords": [
diff --git a/lib/manager/npm/__fixtures__/outputs/011.json b/lib/manager/npm/__fixtures__/outputs/011.json
index 6c53843e71bff63ca8536bad00b5effd7b5ddce3..badff4fe138dde397e2b18f3393c3effd5dad3d8 100644
--- a/lib/manager/npm/__fixtures__/outputs/011.json
+++ b/lib/manager/npm/__fixtures__/outputs/011.json
@@ -25,7 +25,10 @@
     "@angular/core": "4.0.0-beta.1"
   },
   "resolutions": {
-    "config": "1.21.0"
+    "config": "1.21.0",
+    "**/@angular/cli": "8.0.0",
+    "**/angular": "1.33.0",
+    "config/glob": "1.0.0"
   },
   "homepage": "https://keylocation.sg",
   "keywords": [
diff --git a/lib/manager/npm/__fixtures__/outputs/012.json b/lib/manager/npm/__fixtures__/outputs/012.json
index 31e1dfb3209c81d0252e5041f6dab6a95e34b81f..59155e560c92b423629f41a84e54f0ceb561b331 100644
--- a/lib/manager/npm/__fixtures__/outputs/012.json
+++ b/lib/manager/npm/__fixtures__/outputs/012.json
@@ -25,7 +25,10 @@
     "@angular/core": "4.0.0-beta.1"
   },
   "resolutions": {
-    "config": "1.21.0"
+    "config": "1.21.0",
+    "**/@angular/cli": "8.0.0",
+    "**/angular": "1.33.0",
+    "config/glob": "1.0.0"
   },
   "homepage": "https://keylocation.sg",
   "keywords": [
diff --git a/lib/manager/npm/__fixtures__/outputs/013.json b/lib/manager/npm/__fixtures__/outputs/013.json
index ebb828dbb7a39090c51860a87c7fc5ec3abe3109..75002dcbec54ad93b291bb386b9ef31b598d1b8d 100644
--- a/lib/manager/npm/__fixtures__/outputs/013.json
+++ b/lib/manager/npm/__fixtures__/outputs/013.json
@@ -25,7 +25,10 @@
     "@angular/core": "4.0.0-beta.1"
   },
   "resolutions": {
-    "config": "1.21.0"
+    "config": "1.21.0",
+    "**/@angular/cli": "8.0.0",
+    "**/angular": "1.33.0",
+    "config/glob": "1.0.0"
   },
   "homepage": "https://keylocation.sg",
   "keywords": [
diff --git a/lib/manager/npm/extract/__snapshots__/index.spec.ts.snap b/lib/manager/npm/extract/__snapshots__/index.spec.ts.snap
index cc6a89d49aacda58bc92b039186e9a2faefe5d0d..f9b6e422bb0f756d00582144b4535356c3a3745a 100644
--- a/lib/manager/npm/extract/__snapshots__/index.spec.ts.snap
+++ b/lib/manager/npm/extract/__snapshots__/index.spec.ts.snap
@@ -534,6 +534,43 @@ Object {
       "depType": "devDependencies",
       "prettyDepType": "devDependency",
     },
+    Object {
+      "currentValue": "1.21.0",
+      "datasource": "npm",
+      "depName": "config",
+      "depType": "resolutions",
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "8.0.0",
+      "datasource": "npm",
+      "depName": "@angular/cli",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "**/@angular/cli",
+      },
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "1.33.0",
+      "datasource": "npm",
+      "depName": "angular",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "**/angular",
+      },
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "1.0.0",
+      "datasource": "npm",
+      "depName": "glob",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "config/glob",
+      },
+      "prettyDepType": "resolutions",
+    },
   ],
   "ignoreNpmrcFile": undefined,
   "lernaClient": "npm",
@@ -631,6 +668,43 @@ Object {
       "depType": "devDependencies",
       "prettyDepType": "devDependency",
     },
+    Object {
+      "currentValue": "1.21.0",
+      "datasource": "npm",
+      "depName": "config",
+      "depType": "resolutions",
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "8.0.0",
+      "datasource": "npm",
+      "depName": "@angular/cli",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "**/@angular/cli",
+      },
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "1.33.0",
+      "datasource": "npm",
+      "depName": "angular",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "**/angular",
+      },
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "1.0.0",
+      "datasource": "npm",
+      "depName": "glob",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "config/glob",
+      },
+      "prettyDepType": "resolutions",
+    },
   ],
   "ignoreNpmrcFile": undefined,
   "lernaClient": "yarn",
@@ -728,6 +802,43 @@ Object {
       "depType": "devDependencies",
       "prettyDepType": "devDependency",
     },
+    Object {
+      "currentValue": "1.21.0",
+      "datasource": "npm",
+      "depName": "config",
+      "depType": "resolutions",
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "8.0.0",
+      "datasource": "npm",
+      "depName": "@angular/cli",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "**/@angular/cli",
+      },
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "1.33.0",
+      "datasource": "npm",
+      "depName": "angular",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "**/angular",
+      },
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "1.0.0",
+      "datasource": "npm",
+      "depName": "glob",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "config/glob",
+      },
+      "prettyDepType": "resolutions",
+    },
   ],
   "ignoreNpmrcFile": undefined,
   "lernaClient": undefined,
@@ -847,6 +958,43 @@ Object {
       "depType": "devDependencies",
       "prettyDepType": "devDependency",
     },
+    Object {
+      "currentValue": "1.21.0",
+      "datasource": "npm",
+      "depName": "config",
+      "depType": "resolutions",
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "8.0.0",
+      "datasource": "npm",
+      "depName": "@angular/cli",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "**/@angular/cli",
+      },
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "1.33.0",
+      "datasource": "npm",
+      "depName": "angular",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "**/angular",
+      },
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "1.0.0",
+      "datasource": "npm",
+      "depName": "glob",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "config/glob",
+      },
+      "prettyDepType": "resolutions",
+    },
   ],
   "ignoreNpmrcFile": undefined,
   "lernaClient": "npm",
@@ -966,6 +1114,43 @@ Object {
       "depType": "devDependencies",
       "prettyDepType": "devDependency",
     },
+    Object {
+      "currentValue": "1.21.0",
+      "datasource": "npm",
+      "depName": "config",
+      "depType": "resolutions",
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "8.0.0",
+      "datasource": "npm",
+      "depName": "@angular/cli",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "**/@angular/cli",
+      },
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "1.33.0",
+      "datasource": "npm",
+      "depName": "angular",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "**/angular",
+      },
+      "prettyDepType": "resolutions",
+    },
+    Object {
+      "currentValue": "1.0.0",
+      "datasource": "npm",
+      "depName": "glob",
+      "depType": "resolutions",
+      "managerData": Object {
+        "key": "config/glob",
+      },
+      "prettyDepType": "resolutions",
+    },
   ],
   "ignoreNpmrcFile": undefined,
   "lernaClient": undefined,
diff --git a/lib/manager/npm/extract/index.ts b/lib/manager/npm/extract/index.ts
index 3bfb283c3449ddf9f8fb88d83c00b2b68cc4c440..5d6d315c3842e9ee8d5e500e115b0bbe7b89164a 100644
--- a/lib/manager/npm/extract/index.ts
+++ b/lib/manager/npm/extract/index.ts
@@ -22,6 +22,13 @@ import * as nodeVersioning from '../../../versioning/node';
 import * as datasourceNpm from '../../../datasource/npm';
 import * as datasourceGithubTags from '../../../datasource/github-tags';
 
+function parseDepName(depType: string, key: string): string {
+  if (depType !== 'resolutions') return key;
+
+  const [, depName] = /((?:@[^/]+\/)?[^/@]+)$/.exec(key);
+  return depName;
+}
+
 export async function extractPackageFile(
   content: string,
   fileName: string,
@@ -136,6 +143,7 @@ export async function extractPackageFile(
     peerDependencies: 'peerDependency',
     engines: 'engine',
     volta: 'volta',
+    resolutions: 'resolutions',
   };
 
   function extractDependency(
@@ -272,13 +280,17 @@ export async function extractPackageFile(
   for (const depType of Object.keys(depTypes)) {
     if (packageJson[depType]) {
       try {
-        for (const [depName, val] of Object.entries(
+        for (const [key, val] of Object.entries(
           packageJson[depType] as NpmPackageDependeny
         )) {
+          const depName = parseDepName(depType, key);
           const dep: PackageDependency = {
             depType,
             depName,
           };
+          if (depName !== key) {
+            dep.managerData = { key };
+          }
           Object.assign(dep, extractDependency(depType, depName, val));
           if (depName === 'node') {
             // This is a special case for Node.js to group it together with other managers
diff --git a/lib/manager/npm/update.spec.ts b/lib/manager/npm/update.spec.ts
index ed94b554a521dd6344ad74a15e852eb08d8fb730..e1e58a80534a1a6a5c109a72529592c9a4b78a19 100644
--- a/lib/manager/npm/update.spec.ts
+++ b/lib/manager/npm/update.spec.ts
@@ -133,6 +133,21 @@ describe('workers/branch/package-json', () => {
         '1.22.0'
       );
     });
+    it('updates glob resolutions without dep', () => {
+      const upgrade = {
+        depType: 'resolutions',
+        depName: '@angular/cli',
+        managerData: { key: '**/@angular/cli' },
+        newValue: '8.1.0',
+      };
+      const testContent = npmUpdater.updateDependency({
+        fileContent: input01Content,
+        upgrade,
+      });
+      expect(JSON.parse(testContent).resolutions['**/@angular/cli']).toEqual(
+        '8.1.0'
+      );
+    });
     it('replaces only the first instance of a value', () => {
       const upgrade = {
         depType: 'devDependencies',
diff --git a/lib/manager/npm/update.ts b/lib/manager/npm/update.ts
index 04150ffe55de4986aecc51ef98e4cd51ec454055..df8abe2ea3732b9ecd7035b15459b45c208fc0da 100644
--- a/lib/manager/npm/update.ts
+++ b/lib/manager/npm/update.ts
@@ -61,7 +61,8 @@ export function updateDependency({
   fileContent,
   upgrade,
 }: UpdateDependencyConfig): string | null {
-  const { depType, depName } = upgrade;
+  const { depType, managerData } = upgrade;
+  const depName = managerData?.key || upgrade.depName;
   let { newValue } = upgrade;
   if (upgrade.currentRawValue) {
     if (upgrade.currentDigest) {