UNPKG

920 BJavaScriptView Raw
1'use strict';
2
3const requireEsm = require('esm')(module);
4function getFeatures() {
5 const { default: features } = requireEsm('@ember-data/canary-features/addon/default-features.js');
6
7 const FEATURE_OVERRIDES = process.env.EMBER_DATA_FEATURE_OVERRIDE;
8 if (FEATURE_OVERRIDES === 'ENABLE_ALL_OPTIONAL') {
9 // enable all features with a current value of `null`
10 for (let feature in features) {
11 let featureValue = features[feature];
12
13 if (featureValue === null) {
14 features[feature] = true;
15 }
16 }
17 } else if (FEATURE_OVERRIDES) {
18 // enable only the specific features listed in the environment
19 // variable (comma separated)
20 const forcedFeatures = FEATURE_OVERRIDES.split(',');
21 for (let i = 0; i < forcedFeatures.length; i++) {
22 let featureName = forcedFeatures[i];
23
24 features[featureName] = true;
25 }
26 }
27
28 return features;
29}
30
31module.exports = getFeatures();