@@ -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 **/
2021function 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
3546function getWorkingLists ( options ) {
0 commit comments