From 68033a7040c479c9723a513fbbcd017ef2dfb09d Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@keylocation.sg> Date: Sat, 19 Aug 2017 06:50:53 +0200 Subject: [PATCH] fix: imply lerna packages dir if not in config (#700) --- lib/workers/repository/apis.js | 4 +++- .../repository/__snapshots__/apis.spec.js.snap | 9 +++++++++ test/workers/repository/apis.spec.js | 11 +++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/lib/workers/repository/apis.js b/lib/workers/repository/apis.js index 26895b37a2..903d4ee304 100644 --- a/lib/workers/repository/apis.js +++ b/lib/workers/repository/apis.js @@ -58,7 +58,9 @@ async function checkForLerna(config) { } config.logger.debug({ lernaJson }, 'Found lerna config'); try { - const packagesPath = lernaJson.packages[0].slice(0, -2); + const packagesPath = lernaJson.packages + ? lernaJson.packages[0].slice(0, -2) + : 'packages'; const lernaPackages = await config.api.getSubDirectories(packagesPath); if (lernaPackages.length === 0) { return {}; diff --git a/test/workers/repository/__snapshots__/apis.spec.js.snap b/test/workers/repository/__snapshots__/apis.spec.js.snap index 0dd55b8fa2..4a7267da3b 100644 --- a/test/workers/repository/__snapshots__/apis.spec.js.snap +++ b/test/workers/repository/__snapshots__/apis.spec.js.snap @@ -9,6 +9,15 @@ Object { exports[`workers/repository/apis checkForLerna(config) ignores zero length lerna 1`] = `Object {}`; +exports[`workers/repository/apis checkForLerna(config) implies lerna package path 1`] = ` +Object { + "lernaPackages": Array [ + "a", + "b", + ], +} +`; + exports[`workers/repository/apis checkForLerna(config) returns lerna package names 1`] = ` Object { "lernaPackages": Array [ diff --git a/test/workers/repository/apis.spec.js b/test/workers/repository/apis.spec.js index 2c898889be..32dc8191ad 100644 --- a/test/workers/repository/apis.spec.js +++ b/test/workers/repository/apis.spec.js @@ -92,6 +92,17 @@ describe('workers/repository/apis', () => { const res = await apis.checkForLerna(config); expect(res).toMatchSnapshot(); }); + it('implies lerna package path', async () => { + const config = { + api: { + getFileJson: jest.fn(() => ({})), + getSubDirectories: jest.fn(() => ['a', 'b']), + }, + logger, + }; + const res = await apis.checkForLerna(config); + expect(res).toMatchSnapshot(); + }); it('returns lerna package names', async () => { const config = { api: { -- GitLab