Skip to content

Commit 0edb59d

Browse files
committed
add .alias() helper
1 parent 5efd778 commit 0edb59d

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

lib/builder.js

+20-5
Original file line numberDiff line numberDiff line change
@@ -449,21 +449,19 @@ Builder.prototype.buildAliases = function(fn){
449449
var name = builder.conf.name;
450450

451451
var aliases = conf.scripts.map(function(script){
452-
// TODO: remove special-casing root
453452
var alias = self.root
454453
? self.conf.name + '/deps/' + name + '/' + script
455454
: self.basename + '/deps/' + name + '/' + script;
456455

457-
var js = 'require.alias("' + builder.basename + '/' + script + '", "' + alias + '");\n';
458-
return js;
456+
return builder.alias(alias, script);
459457
});
460458

461459
if (main) {
462460
var alias = self.root
463461
? self.conf.name + '/deps/' + name + '/index.js'
464462
: self.basename + '/deps/' + name + '/index.js';
465463

466-
aliases.push('require.alias("' + builder.basename + '/' + main + '", "' + alias + '");\n');
464+
aliases.push(builder.alias(alias, main));
467465
}
468466

469467
aliases = aliases.join('');
@@ -486,14 +484,31 @@ Builder.prototype.buildAliases = function(fn){
486484
: self.basename;
487485

488486
if (conf.main) {
489-
res.push('require.alias("' + name + '/' + conf.main + '", "' + name + '/index.js");\n');
487+
res.push(self.alias(name + '/index.js', conf.main));
490488
}
491489

492490
fn(null, res.join('\n'));
493491
});
494492
});
495493
};
496494

495+
/**
496+
* Return an alias from script `a` to `b`.
497+
*
498+
* @param {String} a
499+
* @param {String} b
500+
* @return {String}
501+
* @api private
502+
*/
503+
504+
Builder.prototype.alias = function(a, b){
505+
var name = this.root
506+
? this.conf.name
507+
: this.basename;
508+
509+
return 'require.alias("' + name + '/' + b + '", "' + a + '");\n';
510+
};
511+
497512
/**
498513
* Build `type` and invoke `fn`.
499514
*

0 commit comments

Comments
 (0)