|
21 | 21 | /** Detect free variable `exports` */
|
22 | 22 | var freeExports = objectTypes[typeof exports] && exports;
|
23 | 23 |
|
24 |
| - /** Detect free variable `global`, from Node.js or Browserified code, and use it as `root` */ |
25 |
| - var freeGlobal = objectTypes[typeof global] && global; |
26 |
| - if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) { |
| 24 | + /** Detect free variable `module` */ |
| 25 | + var freeModule = objectTypes[typeof module] && module && !module.nodeType && module; |
| 26 | + |
| 27 | + /** Detect free variable `global` from Node.js or Browserified code and use it as `root` */ |
| 28 | + var freeGlobal = freeExports && freeModule && objectTypes[typeof global] && global; |
| 29 | + if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) { |
27 | 30 | root = freeGlobal;
|
28 | 31 | }
|
29 | 32 |
|
|
450 | 453 | // http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx
|
451 | 454 | // http://web.archive.org/web/20081122053950/http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx
|
452 | 455 | data = {
|
453 |
| - '6.3': '8.1', |
| 456 | + '6.3': '8.1', |
454 | 457 | '6.2': '8',
|
455 | 458 | '6.1': 'Server 2008 R2 / 7',
|
456 | 459 | '6.0': 'Server 2008 / Vista',
|
|
1017 | 1020 | });
|
1018 | 1021 | }
|
1019 | 1022 | // check for `exports` after `define` in case a build optimizer adds an `exports` object
|
1020 |
| - else if (freeExports && !freeExports.nodeType) { |
1021 |
| - // in Narwhal, Node.js, or RingoJS |
| 1023 | + else if (freeExports && freeModule) { |
| 1024 | + // in Narwhal, Node.js, RingoJS, or Rhino -require |
1022 | 1025 | forOwn(parse(), function(value, key) {
|
1023 | 1026 | freeExports[key] = value;
|
1024 | 1027 | });
|
|
0 commit comments