build(client): use build:esm|cjs for implementation builds instead of build:esnext and tsc - #28049
build(client): use build:esm|cjs for implementation builds instead of build:esnext and tsc#28049Jason Hartman (jason-ha) wants to merge 4 commits into
Conversation
|
Hi! Thank you for opening this PR. Want me to review it? Based on the diff (900 lines, 164 files), I've queued these reviewers:
How this works
|
instead of build:esnext and tsc Dependencies streamlined now that build:entrypoints and build:esm|cjs are are wholley used in client (root) workspace. build:esnext and tsc remain supported in fluidBuild.config.cjs for other workspaces. tsc:watch is now watch:cjs. - note that root watch scripts are commonly defective since addition of copyfiles and other multi-step builds.
274fb0f to
dbfcf04
Compare
by using standard "check:exports" over "check:release-tags".
simplify general build dependencies onto build:entrypoints:* even if they don't exist.
There was a problem hiding this comment.
Pull request overview
This PR standardizes client implementation builds on build:esm and build:cjs, while retaining legacy tasks for other workspaces.
Changes:
- Renames package build and watch scripts.
- Updates root orchestration and cross-package task references.
- Adds Fluid Build task dependencies.
Two critical blockers remain: entrypoint generation is disabled in fluidBuild.config.cjs, and the root build:cjs alias is not correctly scheduled.
Reviewed changes
Copilot reviewed 164 out of 164 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Status |
|---|---|
packages/utils/tool-utils/package.json |
Reviewed |
packages/utils/telemetry-utils/package.json |
Reviewed |
packages/utils/odsp-doclib-utils/package.json |
Reviewed |
packages/tools/replay-tool/package.json |
Reviewed |
packages/tools/fluid-runner/package.json |
Reviewed |
packages/tools/fetch-tool/package.json |
Reviewed |
packages/tools/devtools/devtools/package.json |
Reviewed |
packages/tools/devtools/devtools-view/package.json |
Reviewed |
packages/tools/devtools/devtools-test-app/package.json |
Reviewed |
packages/tools/devtools/devtools-core/package.json |
Reviewed |
packages/tools/devtools/devtools-browser-extension/package.json |
Reviewed |
packages/tools/changelog-generator-wrapper/package.json |
Reviewed |
packages/test/test-version-utils/package.json |
Reviewed |
packages/test/test-utils/package.json |
Reviewed |
packages/test/test-service-load/package.json |
Reviewed |
packages/test/test-pairwise-generator/package.json |
Reviewed |
packages/test/test-end-to-end-tests/package.json |
Reviewed |
packages/test/test-drivers/package.json |
Reviewed |
packages/test/test-driver-definitions/package.json |
Reviewed |
packages/test/stochastic-test-utils/package.json |
Reviewed |
packages/test/snapshots/package.json |
Reviewed |
packages/test/mocha-test-setup/package.json |
Reviewed |
packages/test/functional-tests/package.json |
Reviewed |
packages/service-clients/tinylicious-client/package.json |
Reviewed |
packages/service-clients/odsp-client/package.json |
Reviewed |
packages/service-clients/end-to-end-tests/odsp-client/package.json |
Reviewed |
packages/service-clients/end-to-end-tests/azure-client/package.json |
Reviewed |
packages/service-clients/azure-client/package.json |
Reviewed |
packages/runtime/test-runtime-utils/package.json |
Reviewed |
packages/runtime/runtime-utils/package.json |
Reviewed |
packages/runtime/runtime-definitions/package.json |
Reviewed |
packages/runtime/id-compressor/package.json |
Reviewed |
packages/runtime/datastore/package.json |
Reviewed |
packages/runtime/datastore-definitions/package.json |
Reviewed |
packages/runtime/container-runtime/package.json |
Reviewed |
packages/runtime/container-runtime-definitions/package.json |
Reviewed |
packages/loader/test-loader-utils/package.json |
Reviewed |
packages/loader/driver-utils/package.json |
Reviewed |
packages/loader/container-loader/package.json |
Reviewed |
packages/framework/undo-redo/package.json |
Reviewed |
packages/framework/type-factory/package.json |
Reviewed |
packages/framework/tree-agent/package.json |
Reviewed |
packages/framework/tree-agent-ses/package.json |
Reviewed |
packages/framework/tree-agent-langchain/package.json |
Reviewed |
packages/framework/synthesize/package.json |
Reviewed |
packages/framework/request-handler/package.json |
Reviewed |
packages/framework/react/package.json |
Reviewed |
packages/framework/quill-react/package.json |
Reviewed |
packages/framework/presence/package.json |
Reviewed |
packages/framework/presence-runtime/package.json |
Reviewed |
packages/framework/presence-definitions/package.json |
Reviewed |
packages/framework/oldest-client-observer/package.json |
Reviewed |
packages/framework/fluid-static/package.json |
Reviewed |
packages/framework/fluid-framework/package.json |
Reviewed |
packages/framework/dds-interceptions/package.json |
Reviewed |
packages/framework/client-logger/fluid-telemetry/package.json |
Reviewed |
packages/framework/client-logger/app-insights-logger/package.json |
Reviewed |
packages/framework/attributor/package.json |
Reviewed |
packages/framework/aqueduct/package.json |
Reviewed |
packages/framework/agent-scheduler/package.json |
Reviewed |
packages/drivers/tinylicious-driver/package.json |
Reviewed |
packages/drivers/routerlicious-urlResolver/package.json |
Reviewed |
packages/drivers/routerlicious-driver/package.json |
Reviewed |
packages/drivers/replay-driver/package.json |
Reviewed |
packages/drivers/odsp-urlResolver/package.json |
Reviewed |
packages/drivers/odsp-driver/package.json |
Reviewed |
packages/drivers/odsp-driver-definitions/package.json |
Reviewed |
packages/drivers/local-driver/package.json |
Reviewed |
packages/drivers/file-driver/package.json |
Reviewed |
packages/drivers/driver-web-cache/package.json |
Reviewed |
packages/drivers/driver-base/package.json |
Reviewed |
packages/drivers/debugger/package.json |
Reviewed |
packages/dds/tree/package.json |
Reviewed |
packages/dds/test-dds-utils/package.json |
Reviewed |
packages/dds/task-manager/package.json |
Reviewed |
packages/dds/shared-summary-block/package.json |
Reviewed |
packages/dds/shared-object-base/package.json |
Reviewed |
packages/dds/sequence/package.json |
Reviewed |
packages/dds/register-collection/package.json |
Reviewed |
packages/dds/pact-map/package.json |
Reviewed |
packages/dds/ordered-collection/package.json |
Reviewed |
packages/dds/merge-tree/package.json |
Reviewed |
packages/dds/matrix/package.json |
Reviewed |
packages/dds/map/package.json |
Reviewed |
packages/dds/legacy-dds/package.json |
Reviewed |
packages/dds/ink/package.json |
Reviewed |
packages/dds/counter/package.json |
Reviewed |
packages/dds/claims/package.json |
Reviewed |
packages/dds/cell/package.json |
Reviewed |
packages/common/driver-definitions/package.json |
Reviewed |
packages/common/core-utils/package.json |
Reviewed |
packages/common/core-interfaces/package.json |
Reviewed |
packages/common/container-definitions/package.json |
Reviewed |
packages/common/client-utils/package.json |
Reviewed |
package.json |
Critical changes required |
fluidBuild.config.cjs |
Critical changes required |
experimental/PropertyDDS/packages/property-properties/package.json |
Reviewed |
experimental/PropertyDDS/packages/property-dds/package.json |
Reviewed |
experimental/PropertyDDS/packages/property-common/package.json |
Reviewed |
experimental/PropertyDDS/packages/property-changeset/package.json |
Reviewed |
experimental/framework/last-edited/package.json |
Reviewed |
experimental/framework/data-objects/package.json |
Reviewed |
experimental/dds/tree/package.json |
Reviewed |
experimental/dds/sequence-deprecated/package.json |
Reviewed |
experimental/dds/ot/sharejs/json1/package.json |
Reviewed |
experimental/dds/ot/ot/package.json |
Reviewed |
examples/view-integration/view-framework-sampler/package.json |
Reviewed |
examples/view-integration/external-views/package.json |
Reviewed |
examples/view-integration/container-views/package.json |
Reviewed |
examples/version-migration/tree-shim/package.json |
Reviewed |
examples/version-migration/separate-container/package.json |
Reviewed |
examples/version-migration/same-container/package.json |
Reviewed |
examples/version-migration/live-schema-upgrade/package.json |
Reviewed |
examples/utils/webpack-fluid-loader/package.json |
Reviewed |
examples/utils/migration-tools/package.json |
Reviewed |
examples/utils/import-testing/package.json |
Reviewed |
examples/utils/example-webpack-integration/package.json |
Reviewed |
examples/utils/example-utils/package.json |
Reviewed |
examples/utils/example-driver/package.json |
Reviewed |
examples/utils/bundle-size-tests/package.json |
Reviewed |
examples/service-clients/odsp-client/shared-tree-demo/package.json |
Reviewed |
examples/service-clients/azure-client/todo-list/package.json |
Reviewed |
examples/service-clients/azure-client/external-controller/package.json |
Reviewed |
examples/external-data/package.json |
Reviewed |
examples/data-objects/webflow/package.json |
Reviewed |
examples/data-objects/todo/package.json |
Reviewed |
examples/data-objects/text-editor/package.json |
Reviewed |
examples/data-objects/table-tree/package.json |
Reviewed |
examples/data-objects/table-document/package.json |
Reviewed |
examples/data-objects/smde/package.json |
Reviewed |
examples/data-objects/prosemirror/package.json |
Reviewed |
examples/data-objects/multiview/triangle-view/package.json |
Reviewed |
examples/data-objects/multiview/slider-coordinate-view/package.json |
Reviewed |
examples/data-objects/multiview/plot-coordinate-view/package.json |
Reviewed |
examples/data-objects/multiview/interface/package.json |
Reviewed |
examples/data-objects/multiview/coordinate-model/package.json |
Reviewed |
examples/data-objects/multiview/container/package.json |
Reviewed |
examples/data-objects/multiview/constellation-view/package.json |
Reviewed |
examples/data-objects/multiview/constellation-model/package.json |
Reviewed |
examples/data-objects/monaco/package.json |
Reviewed |
examples/data-objects/inventory-app/package.json |
Reviewed |
examples/data-objects/codemirror/package.json |
Reviewed |
examples/data-objects/clicker/package.json |
Reviewed |
examples/data-objects/canvas/package.json |
Reviewed |
examples/client-logger/app-insights-logger/package.json |
Reviewed |
examples/benchmarks/tablebench/package.json |
Reviewed |
examples/benchmarks/bubblebench/shared-tree/package.json |
Reviewed |
examples/benchmarks/bubblebench/ot/package.json |
Reviewed |
examples/benchmarks/bubblebench/experimental-tree/package.json |
Reviewed |
examples/benchmarks/bubblebench/common/package.json |
Reviewed |
examples/benchmarks/bubblebench/baseline/package.json |
Reviewed |
examples/apps/tree-comparison/package.json |
Reviewed |
examples/apps/tree-cli-app/package.json |
Reviewed |
examples/apps/task-selection/package.json |
Reviewed |
examples/apps/staging/package.json |
Reviewed |
examples/apps/presence-tracker/package.json |
Reviewed |
examples/apps/diceroller/package.json |
Reviewed |
examples/apps/data-object-grid/package.json |
Reviewed |
examples/apps/contact-collection/package.json |
Reviewed |
examples/apps/collaborative-textarea/package.json |
Reviewed |
examples/apps/claims-example/package.json |
Reviewed |
examples/apps/blobs/package.json |
Reviewed |
azure/packages/azure-service-utils/package.json |
Reviewed |
.claude/skills/ci-readiness-check/tree-api-checks.md |
Reviewed |
Suppressed comments (3)
fluidBuild.config.cjs:162
- This dependency change leaves
build:entrypoints:cjsdefined withscript: false. Consequently the packagebuild:entrypoints:cjscommands that generatedistentrypoints are skipped, so the new CJS implementation builds do not produce thedistfiles referenced byrequireexports. Make this executable for packages that provide the script and keep the no-script implementation fallback separate.
packages/utils/tool-utils/package.json:49 - The ESM build script is now named
build:esm, but the repository policy still recognizes ESM builds only throughbuild:esnext/tsc:esnext(seebuild-tools/packages/build-cli/src/library/repoPolicyCheck/npmPackages.ts:1527-1531,1990-1995).flub check policywill therefore stop enforcing the ESMtype/modulerelationship andlibcleanup for packages migrated by this change. Update the policy heuristics as part of the rename.
packages/utils/tool-utils/package.json:42 - The CJS implementation is now exposed as
build:cjs, but the repository clean-script policy only treatsscripts.tscas producingdist(build-tools/packages/build-cli/src/library/repoPolicyCheck/npmPackages.ts:1986-1988). After this migration, the policy checker and resolver no longer require or adddistfor packages using this script. Includebuild:cjsin the CJS-output heuristic.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Tasks that may have script entries like `build:entrypoints:esm` can not be configured with `script: false` unless the script will exactly depend on the same tasks. Switch to introducing a `build:package*` alias set and use those instead of `build:entrypoints*` to represent the whole implementation build (or at least the ESM/CJS specified portion).
|
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output |
Bundle size comparisonBase commit: Pending — |
Dependencies streamlined now that
build:entrypointsandbuild:esm|cjsare wholly used in client (root) workspace.build:esnextandtscremain supported influidBuild.config.cjsfor other workspaces.tsc:watchis nowwatch:cjs.To simplify dependencies, introduces a
build:package*alias set and use those instead ofbuild:entrypoints*+build:*to represent the whole implementation build (or at least the ESM/CJS specified portion).Also removes no longer used
build:entrypoints:node10.AB#79049