From 6d17d4a58de94fd54c3dc5b4f6e55ad70a9dc5ec Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@keylocation.sg> Date: Sun, 12 Nov 2017 10:16:46 +0100 Subject: [PATCH] fix: only ignore monorepo packages if matching glob (#1153) Previously, packages within a workspace or lerna project were ignores across the entire repo. Now, they are only ignored within package files that exist in the same lerna project or yarn workspace. Closes #1147 --- lib/manager/npm/monorepos.js | 3 ++- lib/workers/dep-type/index.js | 8 +++++--- test/manager/__snapshots__/resolve.spec.js.snap | 6 ------ test/workers/dep-type/index.spec.js | 1 + 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/lib/manager/npm/monorepos.js b/lib/manager/npm/monorepos.js index f20f52f7b2..1d44cf3cad 100644 --- a/lib/manager/npm/monorepos.js +++ b/lib/manager/npm/monorepos.js @@ -52,9 +52,10 @@ async function checkMonorepos(config) { if (!monorepoPackages.includes(depName)) { monorepoPackages.push(depName); } + packageFile.lerna = true; } } } } - return { ...config, monorepoPackages, workspaceDir }; + return { ...config, monorepoPackages }; } diff --git a/lib/workers/dep-type/index.js b/lib/workers/dep-type/index.js index 6707d3d852..bfaab69d76 100644 --- a/lib/workers/dep-type/index.js +++ b/lib/workers/dep-type/index.js @@ -27,9 +27,11 @@ async function renovateDepType(packageContent, config) { packageContent, config.depType ); - deps = deps.filter( - dependency => config.monorepoPackages.indexOf(dependency.depName) === -1 - ); + if (config.lerna || config.workspaceDir) { + deps = deps.filter( + dependency => config.monorepoPackages.indexOf(dependency.depName) === -1 + ); + } logger.debug(`deps length is ${deps.length}`); logger.debug({ deps }, `deps`); } else if (config.packageFile.endsWith('package.js')) { diff --git a/test/manager/__snapshots__/resolve.spec.js.snap b/test/manager/__snapshots__/resolve.spec.js.snap index 0c17b40897..876e0c8a1f 100644 --- a/test/manager/__snapshots__/resolve.spec.js.snap +++ b/test/manager/__snapshots__/resolve.spec.js.snap @@ -485,7 +485,6 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "message": "Cannot parse package.json (invalid JSON)", }, ], - "workspaceDir": undefined, "yarnrc": null, } `; @@ -1189,7 +1188,6 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "unstablePattern": null, "updateNotScheduled": true, "warnings": Array [], - "workspaceDir": undefined, "yarnrc": null, } `; @@ -1684,7 +1682,6 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "unstablePattern": null, "updateNotScheduled": true, "warnings": Array [], - "workspaceDir": undefined, "yarnrc": null, } `; @@ -2180,7 +2177,6 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "unstablePattern": null, "updateNotScheduled": true, "warnings": Array [], - "workspaceDir": undefined, "yarnrc": null, } `; @@ -2665,7 +2661,6 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "unstablePattern": null, "updateNotScheduled": true, "warnings": Array [], - "workspaceDir": undefined, "yarnrc": null, } `; @@ -3159,7 +3154,6 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "unstablePattern": null, "updateNotScheduled": true, "warnings": Array [], - "workspaceDir": undefined, "yarnrc": null, } `; diff --git a/test/workers/dep-type/index.spec.js b/test/workers/dep-type/index.spec.js index 1cfda35ebd..8bbd571dfa 100644 --- a/test/workers/dep-type/index.spec.js +++ b/test/workers/dep-type/index.spec.js @@ -17,6 +17,7 @@ describe('lib/workers/dep-type/index', () => { packageFile: 'package.json', ignoreDeps: ['a', 'b'], monorepoPackages: ['e'], + workspaceDir: '.', }; }); it('returns empty if config is disabled', async () => { -- GitLab