This addon allows you to easily enable/disable optional features in ember-source. To clarify what we mean by optional, these are features that will be opt-in/opt-out and optional for the foreseeable future, not features that will be enabled by default. It is intended for use with apps only not addons.
ember install @ember/optional-features
Features will only be available in versions of ember-source that included them. To list all available features run:
ember feature:list
To enable a feature, run:
ember feature:enable some-feature
Similarly, if you want to disable a feature, you can run:
ember feature:disable some-feature
This addon exposes a build-time method called isFeatureEnabled
, which can be called from an addon's index.js
, e.g.:
included() {
let optionalFeatues = this.addons.find(a => a.name === '@ember/optional-features');
if (optionalFeatures.isFeatureEnabled('jquery-integration') {
// ...
}
}
It also exposes a method called isFeatureExplicitlySet
, which can be used to check whether or not the user has explictly set the value of the option instead of using the default.
WIP -- there does not yet exist a public API for accessing the state of optional features at runtime. This issue is tracking it.