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

Remove Ember.Map, Ember.MapWithDefault and Ember.OrderedSet #237

Merged
merged 4 commits into from
Apr 6, 2018
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions text/0000-deprecation-ember-map.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
- Start Date: 2017-07-20
- RFC PR: (leave this empty)
- Ember Issue: (leave this empty)

# Summary

This RFC proposes the deprecation of the following classes:

- `Ember.OrderedSet`
- `Ember.Map`
- `Ember.MapWithDefault`

These classes need to be moved to an external addon given they are private classes and unused in Ember.js itself.

# Motivation

These classes have not been used in Ember itself for a while now. They have always been private but they are used in a few addons, and in particular Ember Data is using them.

# Transition Path

The classes will be extracted to an addon and the ones in Ember will be deprecated.
Copy link
Member

Choose a reason for hiding this comment

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

what are the details on how ember-data will work, and how we can be backwards compat with ED. It's possible, but that needs to be fleshed out in this RFV

Copy link
Contributor

@buschtoens buschtoens Jul 26, 2017

Choose a reason for hiding this comment

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

If that is in the scope of this RFC, it might be worthwhile to take a look at switching to the native ES6 Map. The MapWithDefault behavior can be easily achieved: Babel REPL PoC

I would be available for such a PR in Ember Data. 🙋‍♂️

Copy link
Contributor

Choose a reason for hiding this comment

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

@buschtoens I don't think it is. Switching to native Map seems like a big undertaking, especially if we are to support IE9 and family :P


# How We Teach This

These classes being private would make this simple than other deprecations. People were not supposed to be using a private API and the few that were, would just need to use a new addon.

This should not impact many codebases.

# Drawbacks

This requires cooperation with Ember Data, the main user of these classes. It would be nice to have moved Ember Data to using the addon before releasing Ember with the deprecation so the average user does not see any deprecation warning.

Choose a reason for hiding this comment

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

👍 for this option. I recall the last time something in heavy use in Ember Data was deprecated I was hit with a terrifying number of notices that I could do nothing about. While methods now exist to hep with this it should still be avoided if possible.


# Alternatives

Other option would be moving these classes to Ember Data itself or leaving things as they are now.

# Unresolved questions