Skip to content
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

feat: transition to useDefineForClassFields #5261

Open
EisenbergEffect opened this issue Oct 7, 2021 · 1 comment
Open

feat: transition to useDefineForClassFields #5261

EisenbergEffect opened this issue Oct 7, 2021 · 1 comment
Labels
area:fast-element Pertains to fast-element breaking-change A breaking change to a shipping package community:noteworthy An issue or PR of particular interest to the community or planned for an announcement. improvement A non-feature-adding improvement status:needs-investigation Needs additional investigation

Comments

@EisenbergEffect
Copy link
Contributor

🙋 Feature Request

Transition to useDefineForClassFields for TypeScript.

🤔 Expected Behavior

All core FASTElement and decorator behaviors should continue to work.

😯 Current Behavior

Unknown

💁 Possible Solution

🔦 Context

TypeScript added the option for useDefineForClassFields to enable transpilation of class fields to match the updated ES semantics. We don't know if turning this on will break FAST or not. We need to explore that and see if we will be able to enable this flag for the next version. It is possible that there are decorator incompatibility issues. If that's the case I'd recommend we hold off until the new decorators feature is available in TS and then make the transition to both at the same time.

@EisenbergEffect EisenbergEffect added improvement A non-feature-adding improvement status:needs-investigation Needs additional investigation area:fast-element Pertains to fast-element community:noteworthy An issue or PR of particular interest to the community or planned for an announcement. breaking-change A breaking change to a shipping package labels Oct 7, 2021
@EisenbergEffect EisenbergEffect added this to the FASTElement 2.0 milestone Oct 7, 2021
@EisenbergEffect
Copy link
Contributor Author

NOTE: If it's possible to turn this on, we still need to benchmark the impact of this change. See this comment tc39/proposal-class-fields#151 (comment) It may be that browsers have not optimized fields yet and switching prior to such optimization would hurt critical scenarios.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:fast-element Pertains to fast-element breaking-change A breaking change to a shipping package community:noteworthy An issue or PR of particular interest to the community or planned for an announcement. improvement A non-feature-adding improvement status:needs-investigation Needs additional investigation
Projects
Status: Backlog
Development

No branches or pull requests

1 participant