Conversation
There was a problem hiding this comment.
Pull request overview
This PR introduces a pnpm workspace catalog (buildTools) to centralize version selection for build tooling packages, and updates many workspace packages to consume those versions via catalog:buildTools rather than repeating explicit semver ranges.
Changes:
- Add a
buildToolscatalog topnpm-workspace.yamlfor build-cli/version-tools/build-tools/bundle-size-tools. - Update many
package.jsonfiles to reference those dependencies viacatalog:buildTools. - Configure syncpack to ignore unsupported
catalog:specifiers (syncpack v13 limitation) and regeneratepnpm-lock.yamlaccordingly.
Reviewed changes
Copilot reviewed 156 out of 157 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| syncpack.config.cjs | Adds ignore rules so syncpack v13 doesn’t fail on catalog: specifiers. |
| pnpm-workspace.yaml | Introduces the buildTools catalog entries for the build-tools packages. |
| pnpm-lock.yaml | Records the new catalogs section and updates specifiers where packages now use catalog:buildTools. |
| packages/utils/tool-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/utils/telemetry-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/utils/odsp-doclib-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/tools/replay-tool/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/tools/fluid-runner/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/tools/fetch-tool/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/tools/devtools/devtools/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/tools/devtools/devtools-view/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/tools/devtools/devtools-test-app/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/tools/devtools/devtools-core/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/tools/devtools/devtools-browser-extension/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/test/types_jest-environment-puppeteer/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/test/test-version-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/test/test-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/test/test-service-load/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/test/test-pairwise-generator/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/test/test-end-to-end-tests/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/test/test-drivers/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/test/test-driver-definitions/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/test/stochastic-test-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/test/snapshots/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/test/mocha-test-setup/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/test/local-server-tests/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/test/local-server-stress-tests/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/test/functional-tests/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/service-clients/tinylicious-client/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/service-clients/odsp-client/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/service-clients/end-to-end-tests/odsp-client/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/service-clients/end-to-end-tests/azure-client/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/service-clients/azure-client/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/runtime/test-runtime-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/runtime/runtime-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/runtime/runtime-definitions/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/runtime/id-compressor/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/runtime/datastore/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/runtime/datastore-definitions/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/runtime/container-runtime/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/runtime/container-runtime-definitions/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/loader/test-loader-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/loader/driver-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/loader/container-loader/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/undo-redo/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/tree-agent/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/tree-agent-ses/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/tree-agent-langchain/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/synthesize/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/request-handler/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/react/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/presence/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/oldest-client-observer/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/fluid-static/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/fluid-framework/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/dds-interceptions/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/data-object-base/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/client-logger/fluid-telemetry/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/client-logger/app-insights-logger/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/attributor/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/aqueduct/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/framework/agent-scheduler/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/drivers/tinylicious-driver/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/drivers/routerlicious-urlResolver/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/drivers/routerlicious-driver/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/drivers/replay-driver/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/drivers/odsp-urlResolver/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/drivers/odsp-driver/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/drivers/odsp-driver-definitions/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/drivers/local-driver/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/drivers/file-driver/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/drivers/driver-web-cache/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/drivers/driver-base/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/drivers/debugger/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/tree/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/test-dds-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/task-manager/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/shared-summary-block/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/shared-object-base/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/sequence/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/register-collection/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/pact-map/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/ordered-collection/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/merge-tree/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/matrix/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/map/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/legacy-dds/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/ink/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/counter/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/dds/cell/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/common/driver-definitions/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/common/core-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/common/core-interfaces/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/common/container-definitions/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| packages/common/client-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| experimental/PropertyDDS/packages/property-properties/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| experimental/PropertyDDS/packages/property-dds/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| experimental/PropertyDDS/packages/property-common/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| experimental/PropertyDDS/packages/property-changeset/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/view-integration/view-framework-sampler/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/view-integration/external-views/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/view-integration/container-views/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/version-migration/tree-shim/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/version-migration/separate-container/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/version-migration/same-container/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/version-migration/live-schema-upgrade/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/utils/webpack-fluid-loader/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/utils/migration-tools/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/utils/import-testing/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/utils/example-webpack-integration/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/utils/example-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/utils/example-driver/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/utils/bundle-size-tests/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/service-clients/odsp-client/shared-tree-demo/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/service-clients/azure-client/todo-list/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/service-clients/azure-client/external-controller/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/external-data/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/webflow/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/todo/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/text-editor/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/table-tree/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/table-document/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/smde/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/prosemirror/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/multiview/triangle-view/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/multiview/slider-coordinate-view/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/multiview/plot-coordinate-view/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/multiview/interface/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/multiview/coordinate-model/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/multiview/container/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/multiview/constellation-view/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/multiview/constellation-model/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/monaco/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/inventory-app/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/codemirror/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/clicker/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/data-objects/canvas/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/client-logger/app-insights-logger/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/benchmarks/tablebench/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/benchmarks/odspsnapshotfetch-perftestapp/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/benchmarks/bubblebench/shared-tree/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/benchmarks/bubblebench/ot/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/benchmarks/bubblebench/experimental-tree/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/benchmarks/bubblebench/common/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/benchmarks/bubblebench/baseline/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/apps/tree-comparison/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/apps/tree-cli-app/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/apps/task-selection/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/apps/staging/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/apps/presence-tracker/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/apps/diceroller/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/apps/data-object-grid/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/apps/contact-collection/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/apps/collaborative-textarea/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| examples/apps/blobs/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| azure/packages/azure-service-utils/package.json | Switches build-tools devDependencies to catalog:buildTools. |
| azure/packages/azure-local-service/package.json | Switches build-tools devDependencies to catalog:buildTools. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
Upgrades syncpack from v13 to v14.0.2. v14 is a Rust rewrite that natively understands pnpm catalog: specifiers, fixing the UnsupportedMismatch errors introduced by the use of pnpm catalogs. v14 merges the old list-mismatches and lint-semver-ranges commands into a single lint command (and fix-mismatches + set-semver-ranges into fix), so the syncpack:deps and syncpack:versions scripts now run the same command. The fluidBuild checks task is updated to only invoke syncpack once instead of twice. A minimumReleaseAgeExclude entry is added to pnpm-workspace.yaml for syncpack and its platform-specific packages since v14.0.2 was published less than 24 hours ago; this can be removed once the release age window has passed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Related to this PR @alexvy86, there is some catalog related functionality in syncpack v14 I hadn't documented, I've added it in this commit which updates: It's still fairly basic support, but |
|
/azp repo-policy-check, Build - client packages |
|
Command 'repo-policy-check,' is not supported by Azure Pipelines. Supported commands
See additional documentation. |
|
/azp run repo-policy-check, Build - client packages |
|
Azure Pipelines successfully started running 2 pipeline(s). |
tylerbutler
left a comment
There was a problem hiding this comment.
The description should be updated before you merge. Otherwise looks good. Thanks for your help verifying the syncpack fix.
|
Doing one last validation with a pipeline run in internal. If that's good, I'll merge this :). |
Description
buildToolscatalog inpnpm-workspace.yamlfor the client release group to centralize version management of@fluid-tools/build-cli,@fluid-tools/version-tools,@fluidframework/build-tools, and@fluidframework/bundle-size-toolsacross the release group, and updates all package.json files in the release group to leverage the catalog instead of explicit version specifiersSecond attempt at #23935, made possible by having merged #26614.