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

Metadata Reflection API future #1299

Closed
zloirock opened this issue Oct 13, 2023 · 2 comments
Closed

Metadata Reflection API future #1299

zloirock opened this issue Oct 13, 2023 · 2 comments

Comments

@zloirock
Copy link
Owner

zloirock commented Oct 13, 2023

About 8 years ago, after many requests, Metadata Reflection API was added to core-js.

It was not an official JS proposal, but the authors wrote that they wanna present it TC39 IIRC when decorators get the stage 2.

Decorators are now on stage 3, but it was not presented and most likely will not be in the current form.

Now available a new decorators metadata proposal that already reached stage 2, but haven't such helpers.

However, the old Metadata Reflection API is still used in TypeScript output, and I regularly see that core-js helps someone who needs it. It's the reason why I didn't remove it at the previous major release.

core-js follows the old spec that, unlike reflect-metadata library, does not have Reflect.decorate method - that's used in TS-generated code.

Unlike reflect-metadata, in core-js it can be used without global namespace pollution and can be injected granularly.


It's time to think about the Metadata Reflection API future in the next major release, here I see only 2 options:

  • Drop this legacy out completely
  • Think about TS users and leave this legacy to one more major core-js release, add Reflect.decorate for compatibility and better optimize it for granular injection

I'm for the first option - but I'm ready to discuss it.

@zloirock
Copy link
Owner Author

@rbuckton

@zloirock
Copy link
Owner Author

It seems no one cares, so I'm closing it.

zloirock added a commit that referenced this issue Oct 20, 2023
zloirock added a commit that referenced this issue Oct 21, 2023
zloirock added a commit that referenced this issue Oct 21, 2023
zloirock added a commit that referenced this issue Oct 21, 2023
zloirock added a commit that referenced this issue Oct 23, 2023
zloirock added a commit that referenced this issue Oct 24, 2023
zloirock added a commit that referenced this issue Oct 25, 2023
zloirock added a commit that referenced this issue Oct 26, 2023
zloirock added a commit that referenced this issue Oct 26, 2023
zloirock added a commit that referenced this issue Oct 27, 2023
zloirock added a commit that referenced this issue Oct 29, 2023
zloirock added a commit that referenced this issue Oct 29, 2023
zloirock added a commit that referenced this issue Oct 30, 2023
zloirock added a commit that referenced this issue Oct 30, 2023
zloirock added a commit that referenced this issue Oct 31, 2023
zloirock added a commit that referenced this issue Nov 1, 2023
zloirock added a commit that referenced this issue Nov 1, 2023
zloirock added a commit that referenced this issue Nov 2, 2023
zloirock added a commit that referenced this issue Nov 2, 2023
zloirock added a commit that referenced this issue Nov 3, 2023
zloirock added a commit that referenced this issue Nov 4, 2023
zloirock added a commit that referenced this issue Nov 5, 2023
zloirock added a commit that referenced this issue Nov 17, 2023
zloirock added a commit that referenced this issue Nov 19, 2023
zloirock added a commit that referenced this issue Jun 1, 2024
zloirock added a commit that referenced this issue Jun 8, 2024
zloirock added a commit that referenced this issue Jun 21, 2024
zloirock added a commit that referenced this issue Jun 24, 2024
zloirock added a commit that referenced this issue Jun 25, 2024
zloirock added a commit that referenced this issue Jul 3, 2024
zloirock added a commit that referenced this issue Jul 19, 2024
zloirock added a commit that referenced this issue Jul 23, 2024
zloirock added a commit that referenced this issue Jul 29, 2024
zloirock added a commit that referenced this issue Jul 29, 2024
zloirock added a commit that referenced this issue Jul 31, 2024
zloirock added a commit that referenced this issue Aug 1, 2024
zloirock added a commit that referenced this issue Aug 1, 2024
zloirock added a commit that referenced this issue Aug 1, 2024
zloirock added a commit that referenced this issue Aug 5, 2024
zloirock added a commit that referenced this issue Aug 8, 2024
zloirock added a commit that referenced this issue Aug 8, 2024
zloirock added a commit that referenced this issue Aug 14, 2024
zloirock added a commit that referenced this issue Aug 29, 2024
zloirock added a commit that referenced this issue Aug 29, 2024
zloirock added a commit that referenced this issue Sep 4, 2024
zloirock added a commit that referenced this issue Sep 23, 2024
zloirock added a commit that referenced this issue Oct 7, 2024
zloirock added a commit that referenced this issue Oct 8, 2024
zloirock added a commit that referenced this issue Oct 8, 2024
zloirock added a commit that referenced this issue Oct 10, 2024
zloirock added a commit that referenced this issue Oct 30, 2024
zloirock added a commit that referenced this issue Oct 31, 2024
zloirock added a commit that referenced this issue Nov 24, 2024
zloirock added a commit that referenced this issue Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant