mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-11 11:27:50 +00:00
Tweak free variable module detection so it will work with Component's polyfill. [closes #296]
Former-commit-id: bda6c962dc5e8299689e4c5cf003f6a6c9a4369d
This commit is contained in:
15
build.js
15
build.js
@@ -584,12 +584,19 @@
|
|||||||
|
|
||||||
var source = [
|
var source = [
|
||||||
';(function(window) {',
|
';(function(window) {',
|
||||||
" var freeExports = typeof exports == 'object' && typeof require == 'function' && exports;",
|
' var undefined;',
|
||||||
'',
|
'',
|
||||||
" var freeModule = typeof module == 'object' && module && module.exports == freeExports && module;",
|
' var objectTypes = {',
|
||||||
|
" 'function': true,",
|
||||||
|
" 'object': true",
|
||||||
|
' };',
|
||||||
'',
|
'',
|
||||||
" var freeGlobal = typeof global == 'object' && global;",
|
" var freeExports = objectTypes[typeof exports] && typeof require == 'function' && exports;",
|
||||||
' if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {',
|
'',
|
||||||
|
" var freeModule = objectTypes[typeof module] && module && module.exports == freeExports && module;",
|
||||||
|
'',
|
||||||
|
" var freeGlobal = objectTypes[typeof global] && global;",
|
||||||
|
' if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {',
|
||||||
' window = freeGlobal;',
|
' window = freeGlobal;',
|
||||||
' }',
|
' }',
|
||||||
'',
|
'',
|
||||||
|
|||||||
24
lodash.js
24
lodash.js
@@ -11,18 +11,6 @@
|
|||||||
/** Used as a safe reference for `undefined` in pre ES5 environments */
|
/** Used as a safe reference for `undefined` in pre ES5 environments */
|
||||||
var undefined;
|
var undefined;
|
||||||
|
|
||||||
/** Detect free variable `exports` */
|
|
||||||
var freeExports = typeof exports == 'object' && exports;
|
|
||||||
|
|
||||||
/** Detect free variable `module` */
|
|
||||||
var freeModule = typeof module == 'object' && module && module.exports == freeExports && module;
|
|
||||||
|
|
||||||
/** Detect free variable `global`, from Node.js or Browserified code, and use it as `window` */
|
|
||||||
var freeGlobal = typeof global == 'object' && global;
|
|
||||||
if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {
|
|
||||||
window = freeGlobal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Used to pool arrays and objects used internally */
|
/** Used to pool arrays and objects used internally */
|
||||||
var arrayPool = [],
|
var arrayPool = [],
|
||||||
objectPool = [];
|
objectPool = [];
|
||||||
@@ -146,6 +134,18 @@
|
|||||||
'\u2029': 'u2029'
|
'\u2029': 'u2029'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** Detect free variable `exports` */
|
||||||
|
var freeExports = objectTypes[typeof exports] && exports;
|
||||||
|
|
||||||
|
/** Detect free variable `module` */
|
||||||
|
var freeModule = objectTypes[typeof module] && module && module.exports == freeExports && module;
|
||||||
|
|
||||||
|
/** Detect free variable `global`, from Node.js or Browserified code, and use it as `window` */
|
||||||
|
var freeGlobal = objectTypes[typeof global] && global;
|
||||||
|
if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {
|
||||||
|
window = freeGlobal;
|
||||||
|
}
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user