From dc01a00e3fc47166529538a7348b167ca73e5db8 Mon Sep 17 00:00:00 2001 From: "Craig Macomber (Microsoft)" <42876482+CraigMacomber@users.noreply.github.com> Date: Thu, 10 Apr 2025 16:20:56 -0700 Subject: [PATCH 1/6] Update client to ES2022 --- common/build/build-common/tsconfig.base.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/build/build-common/tsconfig.base.json b/common/build/build-common/tsconfig.base.json index c252a63b1a15..b58a7d1aaab4 100644 --- a/common/build/build-common/tsconfig.base.json +++ b/common/build/build-common/tsconfig.base.json @@ -13,7 +13,7 @@ "pretty": true, "sourceMap": true, "strict": true, - "target": "ES2021", + "target": "ES2022", "types": [], // Enabling these compiler flags is necessary for typechecking compliance with semver as per https://www.semver-ts.org/ // See specifically https://www.semver-ts.org/formal-spec/5-compiler-considerations.html#strictness. From 1ce6d3a4ee9663b36d79349e2af6d55581c78c49 Mon Sep 17 00:00:00 2001 From: "Craig Macomber (Microsoft)" <42876482+CraigMacomber@users.noreply.github.com> Date: Fri, 18 Apr 2025 15:36:41 -0700 Subject: [PATCH 2/6] Avoid updating property DDS --- experimental/PropertyDDS/packages/property-dds/tsconfig.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/experimental/PropertyDDS/packages/property-dds/tsconfig.json b/experimental/PropertyDDS/packages/property-dds/tsconfig.json index 6c973ed5ddae..a0c4c858f1c9 100644 --- a/experimental/PropertyDDS/packages/property-dds/tsconfig.json +++ b/experimental/PropertyDDS/packages/property-dds/tsconfig.json @@ -11,6 +11,9 @@ "types": ["node"], "noUncheckedIndexedAccess": false, "exactOptionalPropertyTypes": false, + // Updating to ES 2022 causes to failing tests. + // Resolving these issues is not a priority right now. + "target": "ES2021", }, "include": ["src/**/*"], } From 227ba15b41c6e01a29c4ce9f793cca83ba3156d2 Mon Sep 17 00:00:00 2001 From: "Craig Macomber (Microsoft)" <42876482+CraigMacomber@users.noreply.github.com> Date: Mon, 21 Apr 2025 18:27:24 -0700 Subject: [PATCH 3/6] skip updating property-properties --- .../PropertyDDS/packages/property-properties/tsconfig.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/experimental/PropertyDDS/packages/property-properties/tsconfig.json b/experimental/PropertyDDS/packages/property-properties/tsconfig.json index a6ca3193b3dd..e4766dc370b7 100644 --- a/experimental/PropertyDDS/packages/property-properties/tsconfig.json +++ b/experimental/PropertyDDS/packages/property-properties/tsconfig.json @@ -8,6 +8,9 @@ "rootDir": "./src", "outDir": "./dist", "composite": true, + // Updating to ES 2022 causes to failing tests. + // Resolving these issues is not a priority right now. + "target": "ES2021", }, "include": ["src/**/*"], } From 0ead39199d23292b65e38c75837d9f186838c4c8 Mon Sep 17 00:00:00 2001 From: "Craig Macomber (Microsoft)" <42876482+CraigMacomber@users.noreply.github.com> Date: Wed, 23 Apr 2025 10:25:37 -0700 Subject: [PATCH 4/6] Fix tests --- .../PropertyDDS/packages/property-common/tsconfig.json | 3 +++ experimental/PropertyDDS/packages/property-dds/tsconfig.json | 2 +- .../PropertyDDS/packages/property-properties/tsconfig.json | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/experimental/PropertyDDS/packages/property-common/tsconfig.json b/experimental/PropertyDDS/packages/property-common/tsconfig.json index d5e5801fb758..bce74044f2f4 100644 --- a/experimental/PropertyDDS/packages/property-common/tsconfig.json +++ b/experimental/PropertyDDS/packages/property-common/tsconfig.json @@ -4,6 +4,9 @@ "composite": true, "rootDir": "./src", "outDir": "./dist", + // Updating to ES 2022 causes some failing tests. + // Resolving these issues is not a priority right now. + "target": "ES2021", }, "include": ["src/**/*"], "exclude": ["src/test/**/*"], diff --git a/experimental/PropertyDDS/packages/property-dds/tsconfig.json b/experimental/PropertyDDS/packages/property-dds/tsconfig.json index a0c4c858f1c9..4399e7479b9b 100644 --- a/experimental/PropertyDDS/packages/property-dds/tsconfig.json +++ b/experimental/PropertyDDS/packages/property-dds/tsconfig.json @@ -11,7 +11,7 @@ "types": ["node"], "noUncheckedIndexedAccess": false, "exactOptionalPropertyTypes": false, - // Updating to ES 2022 causes to failing tests. + // Updating to ES 2022 causes some failing tests. // Resolving these issues is not a priority right now. "target": "ES2021", }, diff --git a/experimental/PropertyDDS/packages/property-properties/tsconfig.json b/experimental/PropertyDDS/packages/property-properties/tsconfig.json index e4766dc370b7..562de704cb3b 100644 --- a/experimental/PropertyDDS/packages/property-properties/tsconfig.json +++ b/experimental/PropertyDDS/packages/property-properties/tsconfig.json @@ -8,7 +8,7 @@ "rootDir": "./src", "outDir": "./dist", "composite": true, - // Updating to ES 2022 causes to failing tests. + // Updating to ES 2022 causes some failing tests. // Resolving these issues is not a priority right now. "target": "ES2021", }, From 5e489d34f41443fc3be7d8e3f21bae6c17b8dba5 Mon Sep 17 00:00:00 2001 From: "Craig Macomber (Microsoft)" <42876482+CraigMacomber@users.noreply.github.com> Date: Tue, 10 Jun 2025 15:20:09 -0700 Subject: [PATCH 5/6] Add changeset --- .changeset/cyan-experts-nail.md | 98 +++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 .changeset/cyan-experts-nail.md diff --git a/.changeset/cyan-experts-nail.md b/.changeset/cyan-experts-nail.md new file mode 100644 index 000000000000..6dde0b361130 --- /dev/null +++ b/.changeset/cyan-experts-nail.md @@ -0,0 +1,98 @@ +--- +"@fluidframework/agent-scheduler": minor +"@fluidframework/ai-collab": minor +"@fluidframework/app-insights-logger": minor +"@fluidframework/aqueduct": minor +"@fluid-experimental/attributable-map": minor +"@fluid-experimental/attributor": minor +"@fluidframework/azure-client": minor +"@fluidframework/azure-end-to-end-tests": minor +"@fluidframework/azure-local-service": minor +"@fluidframework/azure-service-utils": minor +"@fluidframework/cell": minor +"@fluidframework/container-definitions": minor +"@fluidframework/container-loader": minor +"@fluidframework/container-runtime": minor +"@fluidframework/container-runtime-definitions": minor +"@fluidframework/core-interfaces": minor +"@fluidframework/core-utils": minor +"@fluidframework/counter": minor +"@fluid-experimental/data-object-base": minor +"@fluid-experimental/data-objects": minor +"@fluidframework/datastore": minor +"@fluidframework/datastore-definitions": minor +"@fluid-experimental/dds-interceptions": minor +"@fluidframework/debugger": minor +"@fluidframework/devtools": minor +"@fluidframework/devtools-core": minor +"@fluidframework/driver-base": minor +"@fluidframework/driver-definitions": minor +"@fluidframework/driver-utils": minor +"@fluidframework/driver-web-cache": minor +"@fluid-tools/fetch-tool": minor +"@fluidframework/file-driver": minor +"fluid-framework": minor +"@fluidframework/fluid-runner": minor +"@fluidframework/fluid-static": minor +"@fluidframework/fluid-telemetry": minor +"@fluidframework/id-compressor": minor +"@fluid-experimental/ink": minor +"@fluid-experimental/last-edited": minor +"@fluidframework/local-driver": minor +"@fluidframework/map": minor +"@fluidframework/matrix": minor +"@fluidframework/merge-tree": minor +"@fluidframework/odsp-client": minor +"@fluidframework/odsp-doclib-utils": minor +"@fluidframework/odsp-driver": minor +"@fluidframework/odsp-driver-definitions": minor +"@fluid-experimental/odsp-end-to-end-tests": minor +"@fluidframework/odsp-urlresolver": minor +"@fluid-experimental/oldest-client-observer": minor +"@fluidframework/ordered-collection": minor +"@fluid-experimental/ot": minor +"@fluid-experimental/pact-map": minor +"@fluidframework/presence": minor +"@fluid-experimental/property-changeset": minor +"@fluidframework/register-collection": minor +"@fluidframework/replay-driver": minor +"@fluidframework/request-handler": minor +"@fluidframework/routerlicious-driver": minor +"@fluidframework/routerlicious-urlresolver": minor +"@fluidframework/runtime-definitions": minor +"@fluidframework/runtime-utils": minor +"@fluidframework/sequence": minor +"@fluid-experimental/sequence-deprecated": minor +"@fluidframework/shared-object-base": minor +"@fluidframework/shared-summary-block": minor +"@fluid-experimental/sharejs-json1": minor +"@fluid-private/stochastic-test-utils": minor +"@fluidframework/synthesize": minor +"@fluidframework/task-manager": minor +"@fluidframework/telemetry-utils": minor +"@fluid-private/test-dds-utils": minor +"@fluid-private/test-drivers": minor +"@fluid-private/test-end-to-end-tests": minor +"@fluid-private/test-loader-utils": minor +"@fluid-private/test-pairwise-generator": minor +"@fluidframework/test-runtime-utils": minor +"@fluidframework/test-utils": minor +"@fluid-private/test-version-utils": minor +"@fluidframework/tinylicious-client": minor +"@fluidframework/tinylicious-driver": minor +"@fluidframework/tool-utils": minor +"@fluid-experimental/tree": minor +"@fluidframework/tree": minor +"@fluid-experimental/tree-react-api": minor +"@fluidframework/undo-redo": minor +"__section": other +--- +Build packages targeting ES2022 + +Packages are now build targeting ES2022. +This results in reduced bundle size (Measured at 2% for SharedTree) and improved developer experience in debuggers due to JavaScript private fields being visible. + +Fluid Framework has not officially supported targets older than ES2022 since before 2.0: this is documented in [ClientRequirements.md](https://github.com/microsoft/FluidFramework/blob/main/ClientRequirements.md) as well as the ReadMe for every client package. +Therefore this change does not involve any change to what is officially supported; +however it is possible this change could impact users of unsupported less up to date JavaScript runtimes: +such users can use a tool like [babel](https://babeljs.io/) to mitigate any issues. From 49d2e411fc5c6fb7f96fbbfeb9c13a08d254ccef Mon Sep 17 00:00:00 2001 From: "Craig Macomber (Microsoft)" <42876482+CraigMacomber@users.noreply.github.com> Date: Wed, 11 Jun 2025 10:08:42 -0700 Subject: [PATCH 6/6] Tweak phrasing --- .changeset/cyan-experts-nail.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.changeset/cyan-experts-nail.md b/.changeset/cyan-experts-nail.md index 6dde0b361130..c2d57822b116 100644 --- a/.changeset/cyan-experts-nail.md +++ b/.changeset/cyan-experts-nail.md @@ -90,9 +90,9 @@ Build packages targeting ES2022 Packages are now build targeting ES2022. -This results in reduced bundle size (Measured at 2% for SharedTree) and improved developer experience in debuggers due to JavaScript private fields being visible. +This results in reduces bundle size (Measured at 2% for SharedTree) and improves developer experience in debuggers due to JavaScript private fields being visible. Fluid Framework has not officially supported targets older than ES2022 since before 2.0: this is documented in [ClientRequirements.md](https://github.com/microsoft/FluidFramework/blob/main/ClientRequirements.md) as well as the ReadMe for every client package. -Therefore this change does not involve any change to what is officially supported; -however it is possible this change could impact users of unsupported less up to date JavaScript runtimes: -such users can use a tool like [babel](https://babeljs.io/) to mitigate any issues. +This change does not involve any change to what is officially supported. +It is possible this change could impact users less up to date JavaScript runtimes: +such users can use a tool like [babel](https://babeljs.io/) to transpile out unsupported language features.