Skip to content

Commit a65c799

Browse files
committed
alias configs under options or 'require'/'external', can be also { name: alias, ... }, except ['name:alias', ...]
1 parent 67bdbb6 commit a65c799

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

index.js

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,31 @@ module.exports.workdir = function(workdir) {
1616
//////////////////////////////////////////////////////////////////////////////
1717
/**
1818
* alias can be configured at: options.alias > currConfig.alias > currConfig.include (later can override former)
19+
* NOTE: options.alias and currConfig.alias can be: { name1: alias1, ... } or ['name1:alias1', ...]
1920
**/
2021
function getAliasConfigs(options, currConfig) {
21-
var aliasConfigs = {};
22-
23-
_.forEach((options.alias || []).concat(currConfig.alias || []).concat(currConfig.include || []),
24-
function(rawname) {
22+
var aliasConfigs = {},
23+
optAlias = {}, confAlias = {}, incAlias = {};
24+
25+
if (_.isArray(options.alias)) {
26+
_.forEach(options.alias || [], function(rawname) {
27+
optAlias[rawname.split(':')[0]] = rawname.split(':')[1];
28+
});
29+
} else optAlias = options.alias;
30+
31+
if (_.isArray(currConfig.alias)) {
32+
_.forEach(currConfig.alias || [], function(rawname) {
33+
confAlias[rawname.split(':')[0]] = rawname.split(':')[1];
34+
});
35+
} else confAlias = currConfig.alias;
36+
37+
_.forEach(currConfig.include || [], function(rawname) {
2538
if (rawname.indexOf(':') > 0) {
26-
var name = rawname.split(':')[0],
27-
alias= rawname.split(':')[1];
28-
aliasConfigs[name] = alias;
39+
incAlias[rawname.split(':')[0]] = rawname.split(':')[1];
2940
}
3041
});
31-
32-
return aliasConfigs;
42+
43+
return _.extend(aliasConfigs, optAlias, confAlias, incAlias);
3344
}
3445

3546
function getWorkingLists(options) {

0 commit comments

Comments
 (0)