-
-
Notifications
You must be signed in to change notification settings - Fork 407
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
Thoughts on deprecating prototype extensions? #684
Comments
I looked into the state of these prototype extensions to provide some more context.
These have been deprecated and can be disabled by default for 4.0
These also have recently been deprecated (
This one is trickier. There is some discussion in the Array functions RFC. I think the work then is to advance the deprecation of the |
I don't understand:
we, in 3.x's default blueprint:
those were all by behind optional features, and changed as part of an edition. by "breaking change" do you mean, "would require edition-level efforts to introduce in the 3.x timeline? |
You basically answered yourself 😁 What flips the default values for the optional features is the presence of the of the |
Could we add |
At this point, we're pretty close to v4 and I think in v4 we'll be able to make a much better replacement story for arrays, custom enumerables, and removing array extensions. I actually think it would likely be better to wait until we have that rather than have users update to array functions. We still need to map out the path there, but I think essentially we'll want to deprecate using and observing the |
what's in scope for v4 vs v5? |
@NullVoxPopuli Just guessing here, but with Ember v4 [assuming IE11 support is dropped], we should be able to do native subclassing of arrays, or use the iterator symbol, for example. I'm guessing those two (and probably more things) are in the toolbox for Ember 4.x. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/iterator |
Right, native iterators + Proxy make it possible to ergonomically replace the entire custom enumerable system in Ember. |
I think we should get this to an RFC. |
@sandstrom it may well! |
I'm going to close this ticket to encourage further planning and discussion around #832. When that happens, we'll be sure to look back at discussion on this issue and incorporate relevant feedback. Thanks again for discussion here. It truly is helpful! |
Having primarily worked in addons for some time now, I'm surprised that prototype extensions are still default in apps.
https://guides.emberjs.com/v3.22.0/configuring-ember/disabling-prototype-extensions/
right at the top it says:
I'd like to have no native prototype touched by any Library / Framework -- it makes me think of the 2012 times, ya know?
What are people's thoughts on a to-be-written RFC to deprecate prototype extensions / making them an "Optional feature"?
The text was updated successfully, but these errors were encountered: