Tweak detection of the Node.js executable in command-line arguments.

Former-commit-id: 74047748237f8defe36aea2a27e54ac72a648c93
This commit is contained in:
John-David Dalton
2013-02-23 15:58:43 -08:00
parent f0322e6f2c
commit 37b69eddf2
4 changed files with 13 additions and 7 deletions

View File

@@ -18,6 +18,9 @@
/** Shortcut used to push arrays of values to an array */ /** Shortcut used to push arrays of values to an array */
var push = arrayRef.push; var push = arrayRef.push;
/** Used to detect the Node.js executable in command-line arguments */
var reNode = /(?:^|[\/\\])node(?:\.exe)?$/;
/** Shortcut used to convert array-like objects to arrays */ /** Shortcut used to convert array-like objects to arrays */
var slice = arrayRef.slice; var slice = arrayRef.slice;
@@ -431,7 +434,7 @@
function addCommandsToHeader(source, commands) { function addCommandsToHeader(source, commands) {
return source.replace(/(\/\**\n)( \*)( *@license[\s*]+)( *Lo-Dash [\w.-]+)(.*)/, function() { return source.replace(/(\/\**\n)( \*)( *@license[\s*]+)( *Lo-Dash [\w.-]+)(.*)/, function() {
// remove `node path/to/build.js` from `commands` // remove `node path/to/build.js` from `commands`
if (commands[0] == 'node') { if (reNode.test(commands[0])) {
commands.splice(0, 2); commands.splice(0, 2);
} }
// add quotes to commands with spaces or equals signs // add quotes to commands with spaces or equals signs
@@ -1369,7 +1372,7 @@
var sourceMapURL; var sourceMapURL;
// used to report invalid command-line arguments // used to report invalid command-line arguments
var invalidArgs = _.reject(options.slice(options[0] == 'node' ? 2 : 0), function(value, index, options) { var invalidArgs = _.reject(options.slice(reNode.test(options[0]) ? 2 : 0), function(value, index, options) {
if (/^(?:-o|--output)$/.test(options[index - 1]) || if (/^(?:-o|--output)$/.test(options[index - 1]) ||
/^(?:category|exclude|exports|iife|include|moduleId|minus|plus|settings|template)=.*$/.test(value)) { /^(?:category|exclude|exports|iife|include|moduleId|minus|plus|settings|template)=.*$/.test(value)) {
return true; return true;

View File

@@ -2,7 +2,7 @@
;(function() { ;(function() {
'use strict'; 'use strict';
/** Load Node modules */ /** Load modules */
var fs = require('fs'), var fs = require('fs'),
https = require('https'), https = require('https'),
path = require('path'), path = require('path'),
@@ -39,6 +39,9 @@
/** The media type for raw blob data */ /** The media type for raw blob data */
var mediaType = 'application/vnd.github.v3.raw'; var mediaType = 'application/vnd.github.v3.raw';
/** Used to detect the Node.js executable in command-line arguments */
var reNode = /(?:^|[\/\\])node(?:\.exe)?$/;
/** Used to reference parts of the blob href */ /** Used to reference parts of the blob href */
var location = (function() { var location = (function() {
var host = 'api.github.com', var host = 'api.github.com',
@@ -59,7 +62,7 @@
'advanced': 'ADVANCED_OPTIMIZATIONS' 'advanced': 'ADVANCED_OPTIMIZATIONS'
}; };
/** Reassign `existsSync` for older versions of Node */ /** Reassign `existsSync` for older versions of Node.js */
fs.existsSync || (fs.existsSync = path.existsSync); fs.existsSync || (fs.existsSync = path.existsSync);
/*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/
@@ -96,7 +99,7 @@
options = source; options = source;
// used to report invalid command-line arguments // used to report invalid command-line arguments
var invalidArgs = _.reject(options.slice(options[0] == 'node' ? 2 : 0), function(value, index, options) { var invalidArgs = _.reject(options.slice(reNode.test(options[0]) ? 2 : 0), function(value, index, options) {
if (/^(?:-o|--output)$/.test(options[index - 1]) || if (/^(?:-o|--output)$/.test(options[index - 1]) ||
/^modes=.*$/.test(value)) { /^modes=.*$/.test(value)) {
return true; return true;

View File

@@ -2,7 +2,7 @@
;(function() { ;(function() {
'use strict'; 'use strict';
/** The Node filesystem module */ /** The Node.js filesystem module */
var fs = require('fs'); var fs = require('fs');
/** The minimal license/copyright template */ /** The minimal license/copyright template */

View File

@@ -2,7 +2,7 @@
;(function() { ;(function() {
'use strict'; 'use strict';
/** The Node filesystem module */ /** The Node.js filesystem module */
var fs = require('fs'); var fs = require('fs');
/** Used to minify variables embedded in compiled strings */ /** Used to minify variables embedded in compiled strings */