mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-08 02:17:48 +00:00
Move snippets and adjust code to make modularize work.
Former-commit-id: 9b0ebc2bca42777f8eab1026c93ece3fb2d8deb6
This commit is contained in:
113
build.js
113
build.js
@@ -2601,15 +2601,17 @@
|
|||||||
if (includeFuncs.length) {
|
if (includeFuncs.length) {
|
||||||
result = includeFuncs;
|
result = includeFuncs;
|
||||||
}
|
}
|
||||||
// add function names required by Backbone and Underscore builds
|
// add default function names
|
||||||
if (isBackbone && !result) {
|
if (!includeProps.length && !includeVars.length) {
|
||||||
result = backboneDependencies;
|
if (isBackbone && !result) {
|
||||||
}
|
result = backboneDependencies;
|
||||||
else if (isUnderscore && !result) {
|
}
|
||||||
result = underscoreFuncs;
|
else if (isUnderscore && !result) {
|
||||||
}
|
result = underscoreFuncs;
|
||||||
if (!result) {
|
}
|
||||||
result = lodashFuncs.slice();
|
if (!result) {
|
||||||
|
result = lodashFuncs.slice();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// remove special "none" entry
|
// remove special "none" entry
|
||||||
if (result == 'none') {
|
if (result == 'none') {
|
||||||
@@ -2627,12 +2629,31 @@
|
|||||||
: minusFuncs.concat(getDependants(minusFuncs))
|
: minusFuncs.concat(getDependants(minusFuncs))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
if (isModularize) {
|
||||||
|
result = _.difference(result, getNamesByCategory('Chaining'), 'runInContext');
|
||||||
|
}
|
||||||
if (!isNoDep) {
|
if (!isNoDep) {
|
||||||
result = getDependencies(result);
|
result = getDependencies(result);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}());
|
}());
|
||||||
|
|
||||||
|
if (!isNoDep) {
|
||||||
|
// additional variables to include in the build
|
||||||
|
includeProps = _.uniq(_.transform(propDependencyMap, function(result, propNames, funcName) {
|
||||||
|
if (_.contains(buildFuncs, funcName)) {
|
||||||
|
push.apply(result, propNames);
|
||||||
|
}
|
||||||
|
}, includeProps));
|
||||||
|
|
||||||
|
// additional properties to include in the build
|
||||||
|
includeVars = _.uniq(_.transform(varDependencyMap, function(result, varNames, funcName) {
|
||||||
|
if (_.contains(buildFuncs, funcName)) {
|
||||||
|
push.apply(result, varNames);
|
||||||
|
}
|
||||||
|
}, includeVars));
|
||||||
|
}
|
||||||
|
|
||||||
/*------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------*/
|
||||||
|
|
||||||
// load customized Lo-Dash module
|
// load customized Lo-Dash module
|
||||||
@@ -3763,49 +3784,20 @@
|
|||||||
.replace(/(?:\s*\/\/.*)*\n *lodash\.prototype.[\s\S]+?;/g, '');
|
.replace(/(?:\s*\/\/.*)*\n *lodash\.prototype.[\s\S]+?;/g, '');
|
||||||
}
|
}
|
||||||
if (isNoDep) {
|
if (isNoDep) {
|
||||||
|
source = removeAssignments(source);
|
||||||
source = removeFromCreateIterator(source, 'lodash');
|
source = removeFromCreateIterator(source, 'lodash');
|
||||||
source = removeGetIndexOf(source);
|
source = removeGetIndexOf(source);
|
||||||
|
source = removeLodashWrapper(source);
|
||||||
|
|
||||||
// convert the `lodash.templateSettings` property assignment to a variable assignment
|
if (isExcluded('lodash')) {
|
||||||
source = source.replace(/\b(lodash\.)(?=templateSettings *=)/, 'var ');
|
source = removeFunction(source, 'lodash');
|
||||||
|
}
|
||||||
// remove the `lodash` namespace from properties
|
|
||||||
source = source.replace(/\blodash\.(\w+)\b(?!\s*=)/g, '$1');
|
|
||||||
|
|
||||||
// remove all horizontal rule comment separators
|
|
||||||
source = source.replace(/^ *\/\*-+\*\/\n/gm, '');
|
|
||||||
|
|
||||||
// remove debug sourceURL use in `_.template`
|
|
||||||
source = source.replace(matchFunction(source, 'template'), function(match) {
|
|
||||||
return match.replace(/(?:\s*\/\/.*\n)* *var sourceURL[^;]+;|\+ *sourceURL/g, '');
|
|
||||||
});
|
|
||||||
|
|
||||||
// replace `_` use in `_.templateSettings.imports`
|
|
||||||
source = source.replace(matchVar(source, 'templateSettings'), function(match) {
|
|
||||||
return match.replace(/(:\s*)lodash\b/, "$1{ 'escape': escape }");
|
|
||||||
});
|
|
||||||
|
|
||||||
// remove function aliases
|
// remove function aliases
|
||||||
_.each(buildFuncs, function(funcName) {
|
_.each(buildFuncs, function(funcName) {
|
||||||
_.each(getAliases(funcName), function(alias) {
|
_.each(getAliases(funcName), function(alias) {
|
||||||
source = removeFunction(source, alias);
|
source = removeFunction(source, alias);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// remove function variable dependencies
|
|
||||||
_.each(varDependencies, function(varName) {
|
|
||||||
if (!_.contains(includeVars, varName)) {
|
|
||||||
source = removeVar(source, varName);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!isAMD && !isCommonJS && !isGlobal && !isNode) {
|
|
||||||
if (isExcluded('lodash')) {
|
|
||||||
source = removeFunction(source, 'lodash');
|
|
||||||
}
|
|
||||||
source = removeLodashWrapper(source);
|
|
||||||
source = removeAssignments(source);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (isExcluded('bind')) {
|
if (isExcluded('bind')) {
|
||||||
@@ -3903,6 +3895,20 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// remove unneeded function properties dependencies
|
||||||
|
_.each(propDependencies, function(propName) {
|
||||||
|
if (!_.contains(includeProps, propName)) {
|
||||||
|
source = removeProp(source, propName);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// remove unneeded function variable dependencies
|
||||||
|
_.each(varDependencies, function(varName) {
|
||||||
|
if (!_.contains(includeVars, varName)) {
|
||||||
|
source = removeVar(source, varName);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// remove unused variables
|
// remove unused variables
|
||||||
(function() {
|
(function() {
|
||||||
var isShallow = isExcluded('runInContext'),
|
var isShallow = isExcluded('runInContext'),
|
||||||
@@ -3929,6 +3935,27 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}());
|
}());
|
||||||
|
|
||||||
|
if (isNoDep) {
|
||||||
|
// convert the `lodash.templateSettings` property assignment to a variable assignment
|
||||||
|
source = source.replace(/\b(lodash\.)(?=templateSettings *=)/, 'var ');
|
||||||
|
|
||||||
|
// remove the `lodash` namespace from properties
|
||||||
|
source = source.replace(/\blodash\.(\w+)\b(?!\s*=)/g, '$1');
|
||||||
|
|
||||||
|
// remove all horizontal rule comment separators
|
||||||
|
source = source.replace(/^ *\/\*-+\*\/\n/gm, '');
|
||||||
|
|
||||||
|
// remove debug sourceURL use in `_.template`
|
||||||
|
source = source.replace(matchFunction(source, 'template'), function(match) {
|
||||||
|
return match.replace(/(?:\s*\/\/.*\n)* *var sourceURL[^;]+;|\+ *sourceURL/g, '');
|
||||||
|
});
|
||||||
|
|
||||||
|
// replace `_` use in `_.templateSettings.imports`
|
||||||
|
source = source.replace(matchVar(source, 'templateSettings'), function(match) {
|
||||||
|
return match.replace(/(:\s*)lodash\b/, "$1{ 'escape': escape }");
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (_.size(source.match(/\bfreeModule\b/g)) < 2) {
|
if (_.size(source.match(/\bfreeModule\b/g)) < 2) {
|
||||||
source = removeVar(source, 'freeModule');
|
source = removeVar(source, 'freeModule');
|
||||||
|
|||||||
Reference in New Issue
Block a user