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