diff --git a/common/changes/@microsoft/rush/fix-rush-list-json-stderr_2026-05-17-19-00.json b/common/changes/@microsoft/rush/fix-rush-list-json-stderr_2026-05-17-19-00.json new file mode 100644 index 0000000000..131d6335a6 --- /dev/null +++ b/common/changes/@microsoft/rush/fix-rush-list-json-stderr_2026-05-17-19-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Route the \"Lockfile was created or deleted\" warning to stderr so that machine-readable output (e.g. `rush list --json`) remains parseable when the lockfile was added or removed in the diff range.", + "type": "patch", + "packageName": "@microsoft/rush" + } + ], + "packageName": "@microsoft/rush", + "email": "sshaurya914@gmail.com" +} diff --git a/libraries/rush-lib/src/logic/ProjectChangeAnalyzer.ts b/libraries/rush-lib/src/logic/ProjectChangeAnalyzer.ts index 43cd967a9d..236f41285e 100644 --- a/libraries/rush-lib/src/logic/ProjectChangeAnalyzer.ts +++ b/libraries/rush-lib/src/logic/ProjectChangeAnalyzer.ts @@ -220,11 +220,13 @@ export class ProjectChangeAnalyzer { if (shrinkwrapStatus) { if (shrinkwrapStatus.status !== 'M') { if (rushConfiguration.subspacesFeatureEnabled) { - terminal.writeLine( + terminal.writeWarningLine( `"${subspace.subspaceName}" subspace lockfile was created or deleted. Assuming all projects are affected.` ); } else { - terminal.writeLine(`Lockfile was created or deleted. Assuming all projects are affected.`); + terminal.writeWarningLine( + `Lockfile was created or deleted. Assuming all projects are affected.` + ); } for (const project of subspaceProjects) { changedProjects.add(project);