diff --git a/packages/app/e2e.test.ts b/packages/app/e2e.test.ts index 03817188..1cecb457 100644 --- a/packages/app/e2e.test.ts +++ b/packages/app/e2e.test.ts @@ -153,6 +153,9 @@ describe.sequential.each([ expect(process.stderr).toContain("pkg-pr-new:"); expect(process.stderr).toContain("playground-a:"); expect(process.stderr).toContain("playground-b:"); + expect(process.stderr).toContain( + "private-playground/ because the package is private", + ); }, 20_000); it(`serves and installs playground-a for ${mode}`, async () => { diff --git a/packages/cli/index.ts b/packages/cli/index.ts index 2a9c8be7..c82d5ee4 100644 --- a/packages/cli/index.ts +++ b/packages/cli/index.ts @@ -274,16 +274,13 @@ const main = defineCommand({ const pJsonPath = path.resolve(p, "package.json"); const pJson = await readPackageJson(pJsonPath); - if (!pJson) { + if (!pJson || pJson.private) { continue; } if (!pJson.name) { throw new Error(`"name" field in ${pJsonPath} should be defined`); } - if (pJson.private) { - continue; - } const packageName = pJson.name; packageInfos.push({ packageName, pJson }); @@ -471,15 +468,15 @@ const main = defineCommand({ } try { + if (pJson.private) { + console.warn(`skipping ${p} because the package is private`); + continue; + } if (!pJson.name) { throw new Error( `"name" field in ${pJsonPath} should be defined`, ); } - if (pJson.private) { - console.warn(`skipping ${p} because the package is private`); - continue; - } const { filename, shasum } = await resolveTarball( packMethod, diff --git a/playgrounds/private-playground/package.json b/playgrounds/private-playground/package.json new file mode 100644 index 00000000..352055cd --- /dev/null +++ b/playgrounds/private-playground/package.json @@ -0,0 +1,3 @@ +{ + "private": true +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6d922959..b358112c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -257,6 +257,8 @@ importers: specifier: link:../playground-a version: link:../playground-a + playgrounds/private-playground: {} + templates/example-1: dependencies: pkg-pr-new: