Add setConfig and deprecate passing config via environment.js
#1020
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.
ember-basic-dropdown internally uses
getOwner(this).resolveRegistration('config:environment')to read configuration for itsdestinationsetting and the app’srootElement(useful for tests).However, using
resolveRegistrationinside a V2 addon is considered bad practice and doesn't play well with some vite setups today (likestoreConfigInMeta: false). This requirement was accidentally left out of the V2 addon RFC.If an addon needs configuration from the consuming app, the addon must expose an API such as
setConfig()instead of callingresolveRegistration.How to opt out of the deprecation warning
Add the following snippet to your
app.jsorapp.ts:If you have overridden the dropdown’s global destination
If your
config/environment.jscontains something like:then you must also pass this value to
setConfig:After using
setConfigyou can safely remove the settings inconfig/environment.js