diff --git a/features.js b/features.js index c45e5b0..7758895 100755 --- a/features.js +++ b/features.js @@ -710,6 +710,7 @@ var FeatureSetProto = { // Handle exclusive feature groups and aliases... var conflicts = {} var done = [] + var aliases = [] Object.keys(features) .forEach(function(f){ // alias... @@ -732,8 +733,10 @@ var FeatureSetProto = { // remove the alias... // NOTE: exclusive tag can match a feature tag, thus // we do not want to delete such tags... + // NOTE: we are not removing aliases here as they may + // get added/expanded back in by other features... if(!(f in that)){ - delete features[f] + aliases.push(f) } // replace dependencies... Object.keys(features) @@ -758,6 +761,11 @@ var FeatureSetProto = { } } }) + // XXX remove exclusive aliases... + aliases + .forEach(function(f){ + delete features[f] + }) // resolve any exclusivity conflicts found... var excluded = [] Object.keys(conflicts) diff --git a/package.json b/package.json index 2c7e3a6..121ba9d 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ig-features", - "version": "3.3.2", + "version": "3.3.3", "description": "", "main": "features.js", "scripts": {