|
13 | 13 | } |
14 | 14 |
|
15 | 15 | function createExternalModule (exports) { |
16 | | - var esModule; |
| 16 | + // a real ES module or SystemJS ES Module |
| 17 | + if (typeof System !== 'undefined' && System.isModule ? System.isModule(exports) : |
| 18 | + Object.prototype.toString.call(exports) === '[object Module]') { |
| 19 | + return exports; |
| 20 | + } |
| 21 | + |
| 22 | + var esModule = { default: exports, __useDefault: exports }; |
17 | 23 |
|
18 | 24 | // CJS es module -> lift into namespace |
19 | 25 | if (exports && exports.__esModule) { |
20 | | - esModule = {}; |
21 | 26 | for (var p in exports) { |
22 | 27 | if (Object.hasOwnProperty.call(exports, p)) |
23 | 28 | esModule[p] = exports[p]; |
24 | 29 | } |
25 | | - if (esModule.__useDefault) |
26 | | - delete esModule.__useDefault; |
27 | | - esModule.__esModule = true; |
28 | | - } |
29 | | - |
30 | | - // a real ES module or SystemJS ES Module |
31 | | - else if (Object.prototype.toString.call(exports) === '[object Module]' || |
32 | | - typeof System !== 'undefined' && System.isModule && System.isModule(exports)) { |
33 | | - return exports; |
34 | | - } |
35 | | - |
36 | | - // use default representation only |
37 | | - else { |
38 | | - esModule = { default: exports, __useDefault: true }; |
39 | 30 | } |
| 31 | + |
40 | 32 | return new Module(esModule); |
41 | 33 | } |
42 | 34 |
|
|
158 | 150 | }; |
159 | 151 |
|
160 | 152 | function registerDynamic (key, deps, executingRequire, execute) { |
| 153 | + var exports = {}; |
161 | 154 | return registry[key] = { |
162 | 155 | key: key, |
163 | 156 | module: undefined, |
|
169 | 162 | execute: execute, |
170 | 163 | executingRequire: executingRequire, |
171 | 164 | moduleObj: { |
172 | | - default: {}, |
173 | | - __useDefault: true |
| 165 | + default: exports, |
| 166 | + __useDefault: exports |
174 | 167 | }, |
175 | 168 | setters: undefined |
176 | 169 | } |
|
194 | 187 | else { |
195 | 188 | module = depLoad.module; |
196 | 189 | } |
197 | | - return module.__useDefault ? module.default : module; |
| 190 | + return module.__useDefault || module; |
198 | 191 | } |
199 | 192 | }; |
200 | 193 | } |
|
225 | 218 | Object.defineProperty(module, 'exports', { |
226 | 219 | configurable: true, |
227 | 220 | set: function (exports) { |
228 | | - moduleObj.default = exports; |
| 221 | + moduleObj.default = moduleObj.__useDefault = exports; |
229 | 222 | }, |
230 | 223 | get: function () { |
231 | | - return moduleObj.default; |
| 224 | + return moduleObj.__useDefault; |
232 | 225 | } |
233 | 226 | }); |
234 | 227 | var require = makeDynamicRequire(link.deps, link.depLoads, seen); |
|
238 | 231 | for (var i = 0; i < link.deps.length; i++) |
239 | 232 | require(link.deps[i]); |
240 | 233 |
|
241 | | - var output = link.execute.call(global, require, moduleObj.default, module); |
| 234 | + var output = link.execute.call(global, require, moduleObj.__useDefault, module); |
242 | 235 | if (output !== undefined) |
243 | | - moduleObj.default = output; |
244 | | - else if (module.exports !== moduleObj.default) |
245 | | - moduleObj.default = module.exports; |
| 236 | + moduleObj.default = moduleObj.__useDefault = output; |
| 237 | + |
| 238 | + var defaultExport = moduleObj.__useDefault; |
246 | 239 |
|
247 | 240 | // __esModule flag extension support |
248 | | - if (moduleObj.default && moduleObj.default.__esModule) |
249 | | - for (var p in moduleObj.default) |
250 | | - if (Object.hasOwnProperty.call(moduleObj.default, p) && p !== 'default') |
251 | | - moduleObj[p] = moduleObj.default[p]; |
| 241 | + if (defaultExports && defaultExports.__esModule) |
| 242 | + for (var p in defaultExport) |
| 243 | + if (Object.hasOwnProperty.call(defaultExport, p)) |
| 244 | + moduleObj[p] = defaultExport[p]; |
252 | 245 | } |
253 | 246 |
|
254 | 247 | var module = load.module = new Module(link.moduleObj); |
|
308 | 301 | load(mains[i]); |
309 | 302 |
|
310 | 303 | if (exportDefault) |
311 | | - return firstLoad.default; |
| 304 | + return firstLoad.__useDefault; |
312 | 305 |
|
313 | 306 | if (firstLoad instanceof Module) |
314 | 307 | Object.defineProperty(firstLoad, '__esModule', { |
|
0 commit comments