mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-08 10:17:48 +00:00
Make pre-compile.js and post-compile.js support underscore.js.
Former-commit-id: 76d040f630faf03bd5a8eb168259814f5662ba50
This commit is contained in:
@@ -6,11 +6,15 @@
|
|||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
|
|
||||||
/** The minimal license/copyright template */
|
/** The minimal license/copyright template */
|
||||||
var licenseTemplate =
|
var licenseTemplate = {
|
||||||
'/*!\n' +
|
'lodash':
|
||||||
' Lo-Dash @VERSION lodash.com/license\n' +
|
'/*!\n' +
|
||||||
' Underscore.js 1.3.3 github.com/documentcloud/underscore/blob/master/LICENSE\n' +
|
' Lo-Dash @VERSION lodash.com/license\n' +
|
||||||
'*/';
|
' Underscore.js 1.3.3 github.com/documentcloud/underscore/blob/master/LICENSE\n' +
|
||||||
|
'*/',
|
||||||
|
'underscore':
|
||||||
|
'/*! Underscore.js @VERSION github.com/documentcloud/underscore/blob/master/LICENSE */'
|
||||||
|
};
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
@@ -29,7 +33,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// set the version
|
// set the version
|
||||||
var license = licenseTemplate.replace('@VERSION', snippet[2]);
|
var license = (
|
||||||
|
snippet ? licenseTemplate[/lodash/i.test(source) ? 'lodash' : 'underscore'] : ''
|
||||||
|
).replace('@VERSION', snippet[2]);
|
||||||
|
|
||||||
// move vars exposed by Closure Compiler into the IIFE
|
// move vars exposed by Closure Compiler into the IIFE
|
||||||
source = source.replace(/^([^(\n]+)\s*(\(function[^)]+\){)/, '$2$1');
|
source = source.replace(/^([^(\n]+)\s*(\(function[^)]+\){)/, '$2$1');
|
||||||
|
|||||||
@@ -231,7 +231,11 @@
|
|||||||
'where',
|
'where',
|
||||||
'without',
|
'without',
|
||||||
'wrap',
|
'wrap',
|
||||||
'zip'
|
'zip',
|
||||||
|
|
||||||
|
// properties used by underscore.js
|
||||||
|
'_chain',
|
||||||
|
'_wrapped'
|
||||||
];
|
];
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
@@ -272,6 +276,9 @@
|
|||||||
// remove brackets from `_.escape()` in `_.template`
|
// remove brackets from `_.escape()` in `_.template`
|
||||||
source = source.replace(/__e *= *_\['escape']/g, '__e=_.escape');
|
source = source.replace(/__e *= *_\['escape']/g, '__e=_.escape');
|
||||||
|
|
||||||
|
// remove brackets from `_.escape()` in underscore.js `_.template`
|
||||||
|
source = source.replace(/_\['escape'\]\(__t'/g, '_.escape(__t');
|
||||||
|
|
||||||
// remove brackets from `collection.indexOf` in `_.contains`
|
// remove brackets from `collection.indexOf` in `_.contains`
|
||||||
source = source.replace("collection['indexOf'](target)", 'collection.indexOf(target)');
|
source = source.replace("collection['indexOf'](target)", 'collection.indexOf(target)');
|
||||||
|
|
||||||
@@ -286,6 +293,9 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// add newline to `+"__p+='"` in underscore.js `_.template`
|
||||||
|
source = source.replace(/\+"__p\+='"/g, '+"\\n__p+=\'"');
|
||||||
|
|
||||||
// remove whitespace from `_.template` related regexes
|
// remove whitespace from `_.template` related regexes
|
||||||
source = source.replace(/(?:reDelimiterCode\w+|reEmptyString\w+|reInsertVariable) *=.+/g, function(match) {
|
source = source.replace(/(?:reDelimiterCode\w+|reEmptyString\w+|reInsertVariable) *=.+/g, function(match) {
|
||||||
return match.replace(/ |\\n/g, '');
|
return match.replace(/ |\\n/g, '');
|
||||||
|
|||||||
Reference in New Issue
Block a user