From 334f7d63b1ebbde41d060f54f9627b6b7b29eb57 Mon Sep 17 00:00:00 2001 From: huahua Date: Wed, 19 Oct 2022 18:10:48 +0800 Subject: [PATCH 1/4] Fix(cli): the problem of isListablePackage condition --- packages/cli/src/commands/add/isListablePackage.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/src/commands/add/isListablePackage.ts b/packages/cli/src/commands/add/isListablePackage.ts index 16d17c177..cb58d5ad7 100644 --- a/packages/cli/src/commands/add/isListablePackage.ts +++ b/packages/cli/src/commands/add/isListablePackage.ts @@ -8,7 +8,7 @@ export function isListablePackage(config: Config, packageJson: PackageJSON) { return false; } - if (!config.privatePackages && packageJson.private) { + if (!config.privatePackages?.version && packageJson.private) { return false; } From f831c88d5bfe673adeee9bd9f020c0abdf6b720f Mon Sep 17 00:00:00 2001 From: huahua Date: Wed, 19 Oct 2022 19:59:21 +0800 Subject: [PATCH 2/4] Test(cli): should not include private packages with a version in the prompt --- .../.changeset/config.json | 1 + .../package.json | 9 ++++++++ .../packages/pkg-a/package.json | 4 ++++ .../packages/pkg-b/package.json | 5 +++++ .../packages/pkg-c/package.json | 4 ++++ .../cli/src/commands/add/__tests__/add.ts | 21 +++++++++++++++++++ .../cli/src/commands/add/isListablePackage.ts | 2 +- 7 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 __fixtures__/private-package-with-version-field/.changeset/config.json create mode 100644 __fixtures__/private-package-with-version-field/package.json create mode 100644 __fixtures__/private-package-with-version-field/packages/pkg-a/package.json create mode 100644 __fixtures__/private-package-with-version-field/packages/pkg-b/package.json create mode 100644 __fixtures__/private-package-with-version-field/packages/pkg-c/package.json diff --git a/__fixtures__/private-package-with-version-field/.changeset/config.json b/__fixtures__/private-package-with-version-field/.changeset/config.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/__fixtures__/private-package-with-version-field/.changeset/config.json @@ -0,0 +1 @@ +{} diff --git a/__fixtures__/private-package-with-version-field/package.json b/__fixtures__/private-package-with-version-field/package.json new file mode 100644 index 000000000..14d4d5c5c --- /dev/null +++ b/__fixtures__/private-package-with-version-field/package.json @@ -0,0 +1,9 @@ +{ + "private": true, + "name": "private-package-with-version-field", + "description": "Base yarn workspace work", + "version": "1.0.0", + "workspaces": [ + "packages/*" + ] +} diff --git a/__fixtures__/private-package-with-version-field/packages/pkg-a/package.json b/__fixtures__/private-package-with-version-field/packages/pkg-a/package.json new file mode 100644 index 000000000..ee09b194d --- /dev/null +++ b/__fixtures__/private-package-with-version-field/packages/pkg-a/package.json @@ -0,0 +1,4 @@ +{ + "name": "pkg-a", + "version": "1.0.0" +} diff --git a/__fixtures__/private-package-with-version-field/packages/pkg-b/package.json b/__fixtures__/private-package-with-version-field/packages/pkg-b/package.json new file mode 100644 index 000000000..f1b81eab5 --- /dev/null +++ b/__fixtures__/private-package-with-version-field/packages/pkg-b/package.json @@ -0,0 +1,5 @@ +{ + "name": "pkg-b", + "version": "1.0.0", + "private": true +} diff --git a/__fixtures__/private-package-with-version-field/packages/pkg-c/package.json b/__fixtures__/private-package-with-version-field/packages/pkg-c/package.json new file mode 100644 index 000000000..888ba5c7e --- /dev/null +++ b/__fixtures__/private-package-with-version-field/packages/pkg-c/package.json @@ -0,0 +1,4 @@ +{ + "name": "pkg-c", + "version": "1.0.0" +} diff --git a/packages/cli/src/commands/add/__tests__/add.ts b/packages/cli/src/commands/add/__tests__/add.ts index 833e2ce30..9894e8288 100644 --- a/packages/cli/src/commands/add/__tests__/add.ts +++ b/packages/cli/src/commands/add/__tests__/add.ts @@ -230,4 +230,25 @@ describe("Changesets", () => { const { choices } = askCheckboxPlus.mock.calls[0][1][0]; expect(choices).toEqual(["pkg-a", "pkg-c"]); }); + + it("should not include private packages with a version in the prompt", async () => { + const cwd = f.copy("private-package-with-version-field"); + + mockUserResponses({ releases: { "pkg-a": "patch" } }); + await addChangeset( + cwd, + { empty: false }, + { + ...defaultConfig, + privatePackages: { + version: false, + tag: false, + }, + } + ); + + // @ts-ignore + const { choices } = askCheckboxPlus.mock.calls[0][1][0]; + expect(choices).toEqual(["pkg-a", "pkg-c"]); + }); }); diff --git a/packages/cli/src/commands/add/isListablePackage.ts b/packages/cli/src/commands/add/isListablePackage.ts index cb58d5ad7..9b11b1fdf 100644 --- a/packages/cli/src/commands/add/isListablePackage.ts +++ b/packages/cli/src/commands/add/isListablePackage.ts @@ -8,7 +8,7 @@ export function isListablePackage(config: Config, packageJson: PackageJSON) { return false; } - if (!config.privatePackages?.version && packageJson.private) { + if (!config.privatePackages.version && packageJson.private) { return false; } From d7e1e4337af0a6e6a6fa7c955820cf937b8fa696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Sat, 29 Oct 2022 11:17:42 +0200 Subject: [PATCH 3/4] Update packages/cli/src/commands/add/__tests__/add.ts --- packages/cli/src/commands/add/__tests__/add.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/src/commands/add/__tests__/add.ts b/packages/cli/src/commands/add/__tests__/add.ts index 9894e8288..5e62b4506 100644 --- a/packages/cli/src/commands/add/__tests__/add.ts +++ b/packages/cli/src/commands/add/__tests__/add.ts @@ -231,7 +231,7 @@ describe("Changesets", () => { expect(choices).toEqual(["pkg-a", "pkg-c"]); }); - it("should not include private packages with a version in the prompt", async () => { + it("should not include private packages with a version in the prompt if private packages are configured to be not versionable", async () => { const cwd = f.copy("private-package-with-version-field"); mockUserResponses({ releases: { "pkg-a": "patch" } }); From 7513ab5d2030d37d835a79b451a9b5d337dc0f3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Sat, 29 Oct 2022 11:18:57 +0200 Subject: [PATCH 4/4] Create blue-geckos-guess.md --- .changeset/blue-geckos-guess.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/blue-geckos-guess.md diff --git a/.changeset/blue-geckos-guess.md b/.changeset/blue-geckos-guess.md new file mode 100644 index 000000000..f255ac798 --- /dev/null +++ b/.changeset/blue-geckos-guess.md @@ -0,0 +1,5 @@ +--- +"@changesets/cli": patch +--- + +Fixed an issue with private packages with versions being included in the CLI prompt despite the `privatePackages.version: false` setting.