diff --git a/.claude/skills/dist-build-migration/SKILL.md b/.claude/skills/dist-build-migration/SKILL.md index 265883d956a..e3855601676 100644 --- a/.claude/skills/dist-build-migration/SKILL.md +++ b/.claude/skills/dist-build-migration/SKILL.md @@ -235,7 +235,11 @@ For example, `devkit-generation.ts` had to be updated to look for `packages/devk ### 13. Update `scripts/nx-release.ts` -If the package has special release handling in `scripts/nx-release.ts` (like devkit's `hackFixForDevkitPeerDependencies`), update any paths from `./dist/packages//` to `./packages//`. +Two things to do here: + +1. **Add the package to `packagesToReset`.** That array (around `scripts/nx-release.ts:76`) is the snapshot/restore list — every package whose source `package.json` gets mutated by `nx release` (because it now publishes from `packages//` directly, not `dist/packages//`) must be in this list. Otherwise the release will leave `packages//package.json` dirty in the working tree after running. **Easy to forget — and there is no test that catches it.** + +2. **Update any package-specific paths.** If the package has special release handling (like devkit's `hackFixForDevkitPeerDependencies`), update any paths from `./dist/packages//` to `./packages//`. ### 14. Update imports across the workspace diff --git a/scripts/nx-release.ts b/scripts/nx-release.ts index 21a9c146fc5..eef2dc92fad 100644 --- a/scripts/nx-release.ts +++ b/scripts/nx-release.ts @@ -76,6 +76,7 @@ const VALID_AUTHORS_FOR_LATEST = [ const packagesToReset = [ 'packages/angular-rspack', 'packages/angular-rspack-compiler', + 'packages/devkit', 'packages/dotnet', 'packages/maven', 'packages/nx',