diff --git a/common/changes/@microsoft/rush/fix-edge-case-rush-does-not-update-lockfile_2024-08-30-06-44.json b/common/changes/@microsoft/rush/fix-edge-case-rush-does-not-update-lockfile_2024-08-30-06-44.json new file mode 100644 index 00000000000..de0df7be96b --- /dev/null +++ b/common/changes/@microsoft/rush/fix-edge-case-rush-does-not-update-lockfile_2024-08-30-06-44.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Fix an issue where moving dependencies from `dependencies` to `devDependencies` in a project's `package.json` did not trigger an lockfile update.", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file diff --git a/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts b/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts index 52fbd234f81..e107a02f664 100644 --- a/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts +++ b/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts @@ -1002,9 +1002,9 @@ export class PnpmShrinkwrapFile extends BaseShrinkwrapFile { } // If fall through, there is a chance the package declares an inconsistent version, ignore it. isDevDepFallThrough = true; + break; } - // eslint-disable-next-line no-fallthrough case DependencyType.Regular: specifierFromLockfile = importer.dependencies?.[name]; importerDependencies.delete(name); diff --git a/libraries/rush-lib/src/logic/pnpm/test/PnpmShrinkwrapFile.test.ts b/libraries/rush-lib/src/logic/pnpm/test/PnpmShrinkwrapFile.test.ts index b433514c8ce..37d22a6fa93 100644 --- a/libraries/rush-lib/src/logic/pnpm/test/PnpmShrinkwrapFile.test.ts +++ b/libraries/rush-lib/src/logic/pnpm/test/PnpmShrinkwrapFile.test.ts @@ -218,7 +218,7 @@ describe(PnpmShrinkwrapFile.name, () => { project, project.rushConfiguration.defaultSubspace ) - ).resolves.toBe(false); + ).resolves.toBe(true); }); }); });