mirror of
https://github.com/shelljs/shelljs.git
synced 2026-01-18 16:03:37 +00:00
Breaking: Allow -- as args separators (fixes #188)
This commit is contained in:
parent
72e34fa881
commit
47d2f588b2
19
make.js
19
make.js
@ -3,9 +3,18 @@ require('./global');
|
||||
global.config.fatal = true;
|
||||
global.target = {};
|
||||
|
||||
var args = process.argv.slice(2),
|
||||
targetArgs,
|
||||
dashesLoc = args.indexOf('--');
|
||||
|
||||
// split args, everything after -- if only for targets
|
||||
if (dashesLoc > -1) {
|
||||
targetArgs = args.slice(dashesLoc + 1, args.length);
|
||||
args = args.slice(0, dashesLoc);
|
||||
}
|
||||
|
||||
// This ensures we only execute the script targets after the entire script has
|
||||
// been evaluated
|
||||
var args = process.argv.slice(2);
|
||||
setTimeout(function() {
|
||||
var t;
|
||||
|
||||
@ -21,8 +30,8 @@ setTimeout(function() {
|
||||
(function(t, oldTarget){
|
||||
|
||||
// Wrap it
|
||||
global.target[t] = function(force) {
|
||||
if (oldTarget.done && !force)
|
||||
global.target[t] = function() {
|
||||
if (oldTarget.done)
|
||||
return;
|
||||
oldTarget.done = true;
|
||||
return oldTarget.apply(oldTarget, arguments);
|
||||
@ -35,13 +44,13 @@ setTimeout(function() {
|
||||
if (args.length > 0) {
|
||||
args.forEach(function(arg) {
|
||||
if (arg in global.target)
|
||||
global.target[arg]();
|
||||
global.target[arg](targetArgs);
|
||||
else {
|
||||
console.log('no such target: ' + arg);
|
||||
}
|
||||
});
|
||||
} else if ('all' in global.target) {
|
||||
global.target.all();
|
||||
global.target.all(targetArgs);
|
||||
}
|
||||
|
||||
}, 0);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user