-
-
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
Advance RFC #1003 "Deprecate
import Ember from 'ember';"` to Stage Ready for Release
#1015
base: master
Are you sure you want to change the base?
Conversation
RFC: emberjs/rfcs#1003 Guide: ember-learn/deprecation-app#1381 Advancement: emberjs/rfcs#1015
Backed this out of FCP -- the deprecation guides haven't been accepted and there a few blockers to being able to enable the deprecation. |
Status Update: Done, probably (pending any required changes from
Outstanding
|
Is there a plan for (context: we access it to disable its functionality, so that we can use our own our own browser-native events implementation for classic components, and therefore have better support for mixing glimmer/classic components) |
EventDispatcher would still be accessible at: import { EventDispatcher } from '@ember/-internals/views'; It would be really good if you could upstream that more-compatible event dispatching. It could be behind an optional feature so it's non-breaking. Instead of paying for the whole old event dispatching system that you don't want to use anyway, the optional feature could make sure it's dropped from the build. I don't think it would be a controversial RFC, especially since you've already done the work to thoroughly test how compatible it is. |
Now is a good time to re-check whether we can get the stock blueprint running cleanly with no deprecation firing. We think everything is done but upgrades (like @glimmer/component) in the blueprint may need to land. The inspector issue can still get tracked as a blocker for Recommended, not Released. |
It would be good to implement the optional deprecation activation in #896 as a way to test this deprecation. |
enabling PR: emberjs/ember.js#20813 text: What are folks thoughts on enabling this? and then the deprecation messages would force us to work on improving the inspector experience? I have some ideas for how to bring back compatibility. Our setup would be something like this: const EMBER_INSPECTOR_SUPPORT = Symbol.for('__EMBER_INSPECTOR__');
globalThis[EMBER_INSPECTOR_SUPPORT] ||= {};
globalThis[EMBER_INSPECTOR_SUPPORT].init = async function loadEmberInspectorUtilities() {
// store things on the secret object 2 lines above
globalThis[EMBER_INSPECTOR_SUPPORT].tracking = await import(...);
/* ... etc ... */.container = await import(...);
// ensuring to set up an event listener pair for communicating via postMessage with the inspector
} This should probably wrap all of this code: https://github.com/emberjs/ember.js/pull/20775/files#diff-b2c569a1648b65b7314971b3bd201a82fda450a5cccc8c3d415b864166c98e27 And then on the app side, we only need to load the module, since everything the inspector needs is await-imported import '@ember/inspector-support'; And then on the inspector side, we access the globalThis // loading the inspector
await globalThis[EMBER_INSPECTOR_SUPPORT].init();
// we can now start building the UI / Panels in the ember-inspector project. @PatrickJS , @ef4 thoughts? |
Advance #1003 to the Ready For Release Stage
Rendered
Summary
This pull request is advancing the RFC to the Ready For Release Stage.
import Ember from 'ember'
#1003An FCP is required before merging this PR to advance.
Upon merging this PR, automation will open a draft PR for this RFC to move to the Released Stage.
Ready for Release Stage Description
This stage is complete when the implementation is complete according to plan outlined in the RFC, and is in harmony with any changes in Ember that have occurred since the RFC was first written. This includes any necessary learning materials. At this stage, features or deprecations may be available for use behind a feature flag, or with an optional package, etc.
For codebase changes, there are no open questions that are anticipated to require breaking changes; the Ember team is ready to commit to the stability of any interfaces exposed by the current implementation of the feature.
This stage should include a list of criteria for determining when the proposal can be considered Recommended after being Released.
An FCP is required to move into this stage.
Each Ember core team will be requested as a reviewer on the PR to move into this stage. A representative of each team adds a review. If a team does not respond to the request, and after the conclusion of the FCP, it is assumed that the release may proceed.
Checklist to move to Ready for Release
Final Comment Period
label has been added to start the FCPCriteria for moving to Recommended (required)
A set of criteria for moving this RFC to the Recommended Stage, following release:
import Ember from "ember"
Track Implementation
import Ember from 'ember'
ember.js#20686