Skip to content

Conversation

@CraigMacomber
Copy link
Contributor

Description

Update client to ES2022.

ES2022 saves over 2% (7309 bytes) on bundle size (measured using SharedTree bundles which includes all of the runtime shared tree uses as well).

Also building targeting ES2022 provides a better debug experience for JS private properties by not polyfilling them to weak map lookups.

Note that Fluid Framework has no validation that our dependencies don't already have dependencies on newer things, and no compatibility testing for older or less supported runtimes.

Tracked by AB#34388.

Breaking Changes

See changeset

Reviewer Guidance

The review process is outlined on this wiki page.

This needs special review based on potential impact on customers and our current lack of process for how to handle such updates.

@github-actions github-actions bot added area: build Build related issues area: dds: propertydds changeset-present base: main PRs targeted against main branch labels Sep 4, 2025

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.
This change does not involve any change to what is officially supported.
It is possible this change could impact users of less up to date JavaScript runtimes:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'runtimes'?

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.
This change does not involve any change to what is officially supported.
It is possible this change could impact users of less up to date JavaScript runtimes:
such users can use a tool like [babel](https://babeljs.io/) to transpile out unsupported language features.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'transpile'?

This was referenced Sep 4, 2025
@jason-ha jason-ha linked an issue Oct 28, 2025 that may be closed by this pull request
@microsoft-github-policy-service
Copy link
Contributor

This PR has been automatically marked as stale because it has had no activity for 60 days. It will be closed if no further activity occurs within 8 days of this comment. Thank you for your contributions to Fluid Framework!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use of ES2022 target in v2.??

2 participants