From 3f101beca264cebd7751dffa6b42be6285b36187 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Nison?= Date: Thu, 7 Apr 2022 22:33:30 +0200 Subject: [PATCH 1/2] Fixes version apply --- .../sources/commands/version/apply.ts | 2 +- .../plugin-version/sources/versionUtils.ts | 26 ++++++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/packages/plugin-version/sources/commands/version/apply.ts b/packages/plugin-version/sources/commands/version/apply.ts index b7f533940bf6..8d12a6a41c83 100644 --- a/packages/plugin-version/sources/commands/version/apply.ts +++ b/packages/plugin-version/sources/commands/version/apply.ts @@ -111,7 +111,7 @@ export default class VersionApplyCommand extends BaseCommand { if (this.all) { await versionUtils.clearVersionFiles(project); } else { - await versionUtils.updateVersionFiles(project); + await versionUtils.updateVersionFiles(project, [...filteredReleases.keys()]); } } diff --git a/packages/plugin-version/sources/versionUtils.ts b/packages/plugin-version/sources/versionUtils.ts index 0bba70bb85fa..c008b295416c 100644 --- a/packages/plugin-version/sources/versionUtils.ts +++ b/packages/plugin-version/sources/versionUtils.ts @@ -72,7 +72,7 @@ export async function resolveVersionFiles(project: Project, {prerelease = null}: const deferredVersionFolder = project.configuration.get(`deferredVersionFolder`); if (!xfs.existsSync(deferredVersionFolder)) - return new Map(); + return candidateReleases; const deferredVersionFiles = await xfs.readdirPromise(deferredVersionFolder); @@ -133,7 +133,9 @@ export async function clearVersionFiles(project: Project) { await xfs.removePromise(deferredVersionFolder); } -export async function updateVersionFiles(project: Project) { +export async function updateVersionFiles(project: Project, workspaces: Array) { + const workspaceSet = new Set(workspaces); + const deferredVersionFolder = project.configuration.get(`deferredVersionFolder`); if (!xfs.existsSync(deferredVersionFolder)) return; @@ -153,19 +155,23 @@ export async function updateVersionFiles(project: Project) { continue; for (const locatorStr of Object.keys(releases)) { - const locator = structUtils.parseLocator(locatorStr); - const workspace = project.tryWorkspaceByLocator(locator); + const ident = structUtils.parseIdent(locatorStr); + const workspace = project.tryWorkspaceByIdent(ident); - if (workspace === null) { + if (workspace === null || workspaceSet.has(workspace)) { delete versionData.releases[locatorStr]; } } - await xfs.changeFilePromise(versionPath, stringifySyml( - new stringifySyml.PreserveOrdering( - versionData, - ), - )); + if (Object.keys(versionData.releases).length > 0) { + await xfs.changeFilePromise(versionPath, stringifySyml( + new stringifySyml.PreserveOrdering( + versionData, + ), + )); + } else { + await xfs.unlinkPromise(versionPath); + } } } From 2b0caf3d112f2810b8eaf518fc89c1dfb9711471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Nison?= Date: Thu, 7 Apr 2022 22:34:03 +0200 Subject: [PATCH 2/2] Versions --- .yarn/versions/4704a5d3.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .yarn/versions/4704a5d3.yml diff --git a/.yarn/versions/4704a5d3.yml b/.yarn/versions/4704a5d3.yml new file mode 100644 index 000000000000..2faf671b463b --- /dev/null +++ b/.yarn/versions/4704a5d3.yml @@ -0,0 +1,23 @@ +releases: + "@yarnpkg/cli": patch + "@yarnpkg/plugin-version": patch + +declined: + - "@yarnpkg/plugin-compat" + - "@yarnpkg/plugin-constraints" + - "@yarnpkg/plugin-dlx" + - "@yarnpkg/plugin-essentials" + - "@yarnpkg/plugin-init" + - "@yarnpkg/plugin-interactive-tools" + - "@yarnpkg/plugin-nm" + - "@yarnpkg/plugin-npm-cli" + - "@yarnpkg/plugin-pack" + - "@yarnpkg/plugin-patch" + - "@yarnpkg/plugin-pnp" + - "@yarnpkg/plugin-pnpm" + - "@yarnpkg/plugin-stage" + - "@yarnpkg/plugin-typescript" + - "@yarnpkg/plugin-workspace-tools" + - "@yarnpkg/builder" + - "@yarnpkg/core" + - "@yarnpkg/doctor"