build(eslint-config-fluid): move back to independent workspace#26427
build(eslint-config-fluid): move back to independent workspace#26427tylerbutler wants to merge 1 commit intomicrosoft:mainfrom
Conversation
Reverses the temporary move of eslint-config-fluid into the client release group (PR microsoft#25806). The package is now an independent workspace again at version 9.0.0. - Set version to 9.0.0, removed private flag and typeValidation - Removed from root pnpm-workspace.yaml - Root package.json uses link: protocol with pnpm override + postinstall - Updated 154 client packages from workspace:~ to ~9.0.0 - Re-enabled syncpack version consistency check - Re-enabled taskPack in eslint-config-fluid pipeline - Removed temporary npm-private-packages policy exclusion - Removed eslint-config-fluid path excludes from build-client pipeline
There was a problem hiding this comment.
Pull request overview
Restores @fluidframework/eslint-config-fluid as an independently versioned workspace (v9.0.0) instead of being part of the client release group, and updates the repo to consume it via ~9.0.0 while using a local link: override for in-repo development/builds.
Changes:
- Removed
common/build/eslint-config-fluidfrom the root pnpm workspace and re-enabled its publish/pack behavior in CI. - Updated repo packages to depend on
@fluidframework/eslint-config-fluidvia~9.0.0instead ofworkspace:*. - Updated root dependency resolution to use
link:+ pnpm override and added a rootpostinstallto install transitive deps for the linked config.
Reviewed changes
Copilot reviewed 161 out of 162 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/pipelines/build-eslint-config-fluid.yml | Re-enables default packing behavior by removing the taskPack: false override. |
| tools/pipelines/build-client.yml | Removes temporary path exclusions now that eslint-config-fluid is no longer in the client release group. |
| syncpack.config.cjs | Re-enables syncpack version consistency checks for @fluidframework/eslint-config-fluid. |
| pnpm-workspace.yaml | Removes common/build/eslint-config-fluid from the root workspace packages list. |
| package.json | Adds a postinstall to install eslint-config-fluid’s deps; switches root dependency to local link and adds pnpm override. |
| fluidBuild.config.cjs | Removes temporary policy-check exclusion for eslint-config-fluid. |
| common/build/eslint-config-fluid/package.json | Marks eslint-config-fluid as publishable again and bumps version to 9.0.0. |
| packages/utils/tool-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/utils/telemetry-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/utils/odsp-doclib-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/tools/replay-tool/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/tools/fluid-runner/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/tools/fetch-tool/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/tools/devtools/devtools/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/tools/devtools/devtools-view/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/tools/devtools/devtools-test-app/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/tools/devtools/devtools-core/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/tools/devtools/devtools-browser-extension/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/tools/changelog-generator-wrapper/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/test/test-version-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/test/test-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/test/test-service-load/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/test/test-pairwise-generator/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/test/test-end-to-end-tests/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/test/test-drivers/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/test/test-driver-definitions/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/test/stochastic-test-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/test/snapshots/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/test/mocha-test-setup/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/test/local-server-tests/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/test/local-server-stress-tests/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/test/functional-tests/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/service-clients/tinylicious-client/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/service-clients/odsp-client/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/service-clients/end-to-end-tests/odsp-client/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/service-clients/end-to-end-tests/azure-client/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/service-clients/azure-client/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/runtime/test-runtime-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/runtime/runtime-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/runtime/runtime-definitions/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/runtime/id-compressor/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/runtime/datastore/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/runtime/datastore-definitions/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/runtime/container-runtime/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/runtime/container-runtime-definitions/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/loader/test-loader-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/loader/driver-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/loader/container-loader/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/undo-redo/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/tree-agent/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/tree-agent-ses/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/tree-agent-langchain/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/synthesize/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/request-handler/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/react/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/presence/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/oldest-client-observer/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/fluid-static/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/fluid-framework/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/dds-interceptions/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/data-object-base/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/attributor/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/aqueduct/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/framework/agent-scheduler/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/drivers/tinylicious-driver/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/drivers/routerlicious-urlResolver/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/drivers/routerlicious-driver/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/drivers/replay-driver/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/drivers/odsp-urlResolver/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/drivers/odsp-driver/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/drivers/odsp-driver-definitions/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/drivers/local-driver/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/drivers/file-driver/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/drivers/driver-web-cache/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/drivers/driver-base/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/drivers/debugger/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/tree/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/test-dds-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/task-manager/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/shared-summary-block/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/shared-object-base/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/sequence/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/register-collection/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/pact-map/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/ordered-collection/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/merge-tree/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/matrix/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/map/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/legacy-dds/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/ink/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/counter/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/dds/cell/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/common/driver-definitions/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/common/core-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/common/core-interfaces/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/common/container-definitions/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| packages/common/client-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| experimental/framework/last-edited/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| experimental/framework/data-objects/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| experimental/dds/tree/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| experimental/dds/sequence-deprecated/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| experimental/dds/ot/sharejs/json1/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| experimental/dds/ot/ot/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/view-integration/view-framework-sampler/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/view-integration/external-views/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/view-integration/container-views/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/version-migration/tree-shim/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/version-migration/separate-container/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/version-migration/same-container/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/version-migration/live-schema-upgrade/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/utils/webpack-fluid-loader/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/utils/migration-tools/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/utils/import-testing/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/utils/example-webpack-integration/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/utils/example-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/utils/example-driver/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/utils/bundle-size-tests/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/service-clients/odsp-client/shared-tree-demo/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/service-clients/azure-client/todo-list/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/service-clients/azure-client/external-controller/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/external-data/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/webflow/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/todo/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/text-editor/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/table-tree/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/table-document/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/smde/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/prosemirror/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/multiview/triangle-view/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/multiview/slider-coordinate-view/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/multiview/plot-coordinate-view/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/multiview/interface/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/multiview/coordinate-model/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/multiview/container/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/multiview/constellation-view/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/multiview/constellation-model/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/monaco/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/inventory-app/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/codemirror/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/clicker/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/data-objects/canvas/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/client-logger/app-insights-logger/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/benchmarks/tablebench/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/benchmarks/odspsnapshotfetch-perftestapp/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/benchmarks/bubblebench/shared-tree/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/benchmarks/bubblebench/ot/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/benchmarks/bubblebench/experimental-tree/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/benchmarks/bubblebench/common/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/benchmarks/bubblebench/baseline/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/apps/tree-comparison/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/apps/tree-cli-app/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/apps/task-selection/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/apps/staging/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/apps/presence-tracker/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/apps/diceroller/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/apps/data-object-grid/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/apps/contact-collection/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/apps/collaborative-textarea/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| examples/apps/blobs/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| azure/packages/azure-service-utils/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| azure/packages/azure-local-service/package.json | Switches eslint-config-fluid dependency to ~9.0.0. |
| "@fluidframework/build-common", | ||
| "@fluidframework/build-tools", | ||
| "@fluidframework/common-utils", | ||
| // Temporarily disabled while eslint-config-fluid is part of the client release group | ||
| // "@fluidframework/eslint-config-fluid", | ||
| "@fluidframework/eslint-config-fluid", | ||
| "@fluidframework/protocol-definitions", |
There was a problem hiding this comment.
Re-enabling @fluidframework/eslint-config-fluid in this versionGroup will make syncpack list-mismatches enforce a single specifier for that dependency across the workspace. Since the root package currently uses a link: spec while most packages are ~9.0.0, this will fail until the root is aligned (or the dependency is excluded again).
| "generate:packageList:internal-test": "flub list client --no-private --feed internal-test --outFile feeds/internal-test.txt", | ||
| "generate:packageList:public": "flub list client --no-private --feed public --outFile feeds/public.txt", | ||
| "generate:packagesMd": "flub check layers --info layerInfo.json --md .", | ||
| "postinstall": "cd common/build/eslint-config-fluid && pnpm install", |
There was a problem hiding this comment.
The root postinstall runs pnpm install inside common/build/eslint-config-fluid without --frozen-lockfile. In CI, this can cause common/build/eslint-config-fluid/pnpm-lock.yaml to be updated (e.g., if pnpm version/metadata differs) and then fail the pipeline’s "Check for extraneous modified files" step. Update this to install with --frozen-lockfile (and optionally use pnpm install --dir ... / pnpm -C ... to avoid cd).
Summary
Reverses #25806 which temporarily moved
@fluidframework/eslint-config-fluidinto the client release group. The package is restored as an independently versioned workspace at v9.0.0, preparing it for its next published release with ESLint 9 flat config support.Changes
9.0.0, removedprivate: true, removedcleanscript andtypeValidationblock. All ESLint 9 work (flat config, typescript-eslint 8.54, etc.) is preserved.pnpm-workspace.yaml. Rootpackage.jsonnow useslink:protocol with a pnpm override to resolve~9.0.0references across the workspace, plus apostinstallscript to install transitive deps (same pattern asserver/routerliciousandbuild-tools).workspace:~to~9.0.0.npm-private-packagespolicy exclusion.taskPackfor publishing.