Skip to content

[rush] "globalCatalogs" is not defined in json schema #5839

@kenrick95

Description

@kenrick95

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.

Image

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Needs triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions