-
Notifications
You must be signed in to change notification settings - Fork 556
Update client to ES2022 #25398
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Update client to ES2022 #25398
Conversation
Co-authored-by: jzaffiro <[email protected]>
|
||
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: |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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'?
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.