diff --git a/packages/core/src/utils/__tests__/get-lerna-packages.test.ts b/packages/core/src/utils/__tests__/get-lerna-packages.test.ts index 9f22291dd..cffc0d9bf 100644 --- a/packages/core/src/utils/__tests__/get-lerna-packages.test.ts +++ b/packages/core/src/utils/__tests__/get-lerna-packages.test.ts @@ -7,7 +7,7 @@ jest.mock("../exec-promise"); // @ts-ignore execPromise.mockImplementation(exec); -test("it shouldn't included private packages", async () => { +test("it shouldn't included version-less packages", async () => { exec.mockReturnValue(endent` /dir/a:a:0.3.0--canary.32.d54a0c4.0 /dir/b:b:MISSING:PRIVATE @@ -20,3 +20,17 @@ test("it shouldn't included private packages", async () => { }, ]); }); + +test("it shouldn't included private packages", async () => { + exec.mockReturnValue(endent` + /dir/a:a:0.3.0--canary.32.d54a0c4.0 + /dir/b:b:0.3.0:PRIVATE + `); + expect(await getLernaPackages()).toStrictEqual([ + { + name: "a", + path: "/dir/a", + version: "0.3.0--canary.32.d54a0c4.0", + }, + ]); +}); diff --git a/packages/core/src/utils/get-lerna-packages.ts b/packages/core/src/utils/get-lerna-packages.ts index 7d654ce6f..93748046a 100644 --- a/packages/core/src/utils/get-lerna-packages.ts +++ b/packages/core/src/utils/get-lerna-packages.ts @@ -15,9 +15,9 @@ export default async function getLernaPackages() { const response = await execPromise("npx", ["lerna", "ls", "-pla"]); response.split("\n").forEach((packageInfo) => { - const [packagePath, name, version] = packageInfo.split(":"); + const [packagePath, name, version, isPrivate] = packageInfo.split(":"); - if (version !== "MISSING") { + if (version !== "MISSING" && isPrivate !== "PRIVATE") { packages.push({ path: packagePath, name, version }); } });