This package is the officially supported mechanism for declaring and detecting the specific edition that a given application is using.
In order to declare which edition of Ember your application (or addon's test bed application) is compatible with
you would update your package.json
to include the following:
{
"name": "project-name",
// ...snip
"ember": {
"edition": "octane"
}
}
In order to detect if the currently running application is using at least a
specific edition, you would call has
. This will most commonly be used from
within various addon's to determine which blueprint code to run. For example:
const { has } = require('@ember/edition-utils');
if (has('octane', this.project.root)) {
// do octane stuff
} else {
// do classic mode stuff
}
The edition flag should only be used by addons to determine what blueprint output to generate and to provide helpful warnings (or errors) at build time.
This does not allow for an addon to detect the edition configuration and change its fundamental implementation. This is quite intentional!
Instead, addons should rely on feature detection techniques like the following to alter implementations:
gte
method (e.g. if (gte('ember-source', '3.14.0')) { }
)isFeatureEnabled
This project is licensed under the MIT License.