Summary
https://developer.microsoft.com/json-schemas/rush/v5/pnpm-config.schema.json doesn't define "globalCatalogs"
This causes my repo's common/config/rush/pnpm-config.json which uses "globalCatalogs" to show a warning "Property globalCatalogs is not allowed." in VS Code.
However, "globalCatalogs" is actually supported (even though not well-documented)
I saw it has been defined in
|
"globalCatalogs": { |
|
"description": "The \"globalCatalogs\" setting provides named catalogs for organizing dependency versions. Each catalog can be referenced using the `catalog:catalogName` protocol in package.json files (e.g., `catalog:react18`). The settings are written to the `catalogs` field of the `pnpm-workspace.yaml` file that is generated by Rush during installation.\n\nPNPM documentation: https://pnpm.io/catalogs", |
|
"type": "object", |
|
"additionalProperties": { |
|
"description": "A named catalog containing package versions", |
|
"type": "object", |
|
"additionalProperties": { |
|
"description": "Specify the version for a package in this catalog", |
|
"type": "string" |
|
} |
|
} |
|
} |
The issue here is just that the file hasn't been uploaded to https://developer.microsoft.com/json-schemas/rush/v5/pnpm-config.schema.json
Repro steps
Expected result: No warning in pnpm-config.json#globalCatalogs
Actual result: Warning in pnpm-config.json#globalCatalogs even though it is actually supported
Details
Suggestion: someone with upload permission should update https://developer.microsoft.com/json-schemas/rush/v5/pnpm-config.schema.json with the latest schema defined in
|
"globalCatalogs": { |
|
"description": "The \"globalCatalogs\" setting provides named catalogs for organizing dependency versions. Each catalog can be referenced using the `catalog:catalogName` protocol in package.json files (e.g., `catalog:react18`). The settings are written to the `catalogs` field of the `pnpm-workspace.yaml` file that is generated by Rush during installation.\n\nPNPM documentation: https://pnpm.io/catalogs", |
|
"type": "object", |
|
"additionalProperties": { |
|
"description": "A named catalog containing package versions", |
|
"type": "object", |
|
"additionalProperties": { |
|
"description": "Specify the version for a package in this catalog", |
|
"type": "string" |
|
} |
|
} |
|
} |
Standard questions
Please answer these questions to help us investigate your issue more quickly:
| Question |
Answer |
@microsoft/rush globally installed version? |
5.169.3 |
rushVersion from rush.json? |
5.164.0 |
pnpmVersion, npmVersion, or yarnVersion from rush.json? |
pnpm@10.33.0 |
(if pnpm) useWorkspaces from pnpm-config.json? |
true |
| Operating system? |
Mac |
| Would you consider contributing a PR? |
Yes |
Node.js version (node -v)? |
v22.22.1 |
Summary
https://developer.microsoft.com/json-schemas/rush/v5/pnpm-config.schema.json doesn't define
"globalCatalogs"This causes my repo's
common/config/rush/pnpm-config.jsonwhich uses"globalCatalogs"to show a warning "Property globalCatalogs is not allowed." in VS Code.However, "globalCatalogs" is actually supported (even though not well-documented)
I saw it has been defined in
rushstack/libraries/rush-lib/src/schemas/pnpm-config.schema.json
Lines 284 to 295 in dbf9c5d
The issue here is just that the file hasn't been uploaded to
https://developer.microsoft.com/json-schemas/rush/v5/pnpm-config.schema.jsonRepro steps
Expected result: No warning in pnpm-config.json#globalCatalogs
Actual result: Warning in pnpm-config.json#globalCatalogs even though it is actually supported
Details
Suggestion: someone with upload permission should update
https://developer.microsoft.com/json-schemas/rush/v5/pnpm-config.schema.jsonwith the latest schema defined inrushstack/libraries/rush-lib/src/schemas/pnpm-config.schema.json
Lines 284 to 295 in dbf9c5d
Standard questions
Please answer these questions to help us investigate your issue more quickly:
@microsoft/rushglobally installed version?rushVersionfrom rush.json?pnpmVersion,npmVersion, oryarnVersionfrom rush.json?useWorkspacesfrom pnpm-config.json?node -v)?