Remove usage of registerPlugin / unregisterPlugin#661
Merged
Conversation
1774d0e to
9caee8f
Compare
These APIs force Ember to use global mutable state (the list of plugins) and require some pretty gnarly cache busting techniques to avoid having addons break each other (due to the global mutable state leaking from one addon to another). In order to discourage this mutable state issue, Ember has deprecated usage of `Ember.HTMLBars.registerPlugin` and `Ember.HTMLBars.unregisterPlugin` (as of Ember 3.27). This PR changes all invocations to pass the required AST transforms directly in to the compiler invocation (instead of calling `registerPlugin` before hand), and allows us to continue working properly while avoiding the deprecation (and that evil mutable state).
9caee8f to
1c813dc
Compare
This was referenced Feb 27, 2021
This was referenced Mar 7, 2021
This was referenced Mar 14, 2021
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
These APIs force Ember to use global mutable state (the list of plugins) and require some pretty gnarly cache busting techniques to avoid having addons break each other (due to the global mutable state leaking from one addon to another).
In order to discourage this mutable state issue, Ember has deprecated usage of
Ember.HTMLBars.registerPluginandEmber.HTMLBars.unregisterPlugin(as of Ember 3.27).This PR changes all invocations to pass the required AST transforms directly in to the compiler invocation (instead of calling
registerPluginbefore hand), and allows us to continue working properly while avoiding the deprecation (and that evil mutable state).References:
registerPlugin/unregisterPluginand legacy class based AST plugins emberjs/ember.js#19429