From 096f31c74d6a5c04f8ed432e3f02504e32a47437 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Wed, 25 Dec 2019 21:25:02 +0000 Subject: [PATCH 01/47] give Set an array --- src/utils/chunkColouring.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 3c8efadefb0..a3a323717f9 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -48,7 +48,7 @@ export function assignChunkColouringHashes( currentEntryHash = randomUint8Array(10); for (currentEntry of manualChunkModules[chunkName]) { - modulesVisitedForCurrentEntry = new Set(currentEntry.id); + modulesVisitedForCurrentEntry = new Set([currentEntry.id]); addCurrentEntryColourToModule(currentEntry); } } @@ -57,7 +57,7 @@ export function assignChunkColouringHashes( for (currentEntry of entryModules) { handledEntryPoints.add(currentEntry.id); currentEntryHash = randomUint8Array(10); - modulesVisitedForCurrentEntry = new Set(currentEntry.id); + modulesVisitedForCurrentEntry = new Set([currentEntry.id]); if (!currentEntry.manualChunkAlias) { addCurrentEntryColourToModule(currentEntry); } @@ -69,7 +69,7 @@ export function assignChunkColouringHashes( } handledEntryPoints.add(currentEntry.id); currentEntryHash = randomUint8Array(10); - modulesVisitedForCurrentEntry = new Set(currentEntry.id); + modulesVisitedForCurrentEntry = new Set([currentEntry.id]); addCurrentEntryColourToModule(currentEntry); } } From 4d5c88f2c583ce13eb069372512305e9551eea84 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Wed, 25 Dec 2019 21:26:04 +0000 Subject: [PATCH 02/47] update chunkColouring to support already loaded modules refs #3124 --- src/utils/chunkColouring.ts | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index a3a323717f9..19e349d5c47 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -10,6 +10,8 @@ export function assignChunkColouringHashes( let modulesVisitedForCurrentEntry: Set; const handledEntryPoints: Set = new Set(); const dynamicImports: Module[] = []; + const dependentEntryPointsByModule: Map> = new Map(); + const dynamicDependentEntryPointsByDynamicEntry: Map> = new Map(); const addCurrentEntryColourToModule = (module: Module) => { if (currentEntry.manualChunkAlias) { @@ -19,6 +21,10 @@ export function assignChunkColouringHashes( Uint8ArrayXor(module.entryPointsHash, currentEntryHash); } + const dependentEntryPoints = dependentEntryPointsByModule.get(module) || new Set(); + dependentEntryPointsByModule.set(module, dependentEntryPoints); + dependentEntryPoints.add(module); + for (const dependency of module.dependencies) { if ( dependency instanceof ExternalModule || @@ -26,18 +32,27 @@ export function assignChunkColouringHashes( ) { continue; } + dependentEntryPoints.add(dependency); modulesVisitedForCurrentEntry.add(dependency.id); if (!handledEntryPoints.has(dependency.id) && !dependency.manualChunkAlias) { addCurrentEntryColourToModule(dependency); } } + const dynamicDependentEntryPoints = + dynamicDependentEntryPointsByDynamicEntry.get(module) || new Set(); + dynamicDependentEntryPointsByDynamicEntry.set(module, dynamicDependentEntryPoints); for (const { resolution } of module.dynamicImports) { if ( resolution instanceof Module && resolution.dynamicallyImportedBy.length > 0 && !resolution.manualChunkAlias ) { + const dynamicImportDependentEntryPoints = + dependentEntryPointsByModule.get(resolution) || new Set(); + dynamicImportDependentEntryPoints.forEach(entryPoint => + dynamicDependentEntryPoints.add(entryPoint) + ); dynamicImports.push(resolution); } } @@ -67,7 +82,15 @@ export function assignChunkColouringHashes( if (handledEntryPoints.has(currentEntry.id)) { continue; } - handledEntryPoints.add(currentEntry.id); + const dynamicDependentEntryPoints = dynamicDependentEntryPointsByDynamicEntry.get(currentEntry); + const dependentEntryPoints = dependentEntryPointsByModule.get(currentEntry); + const inMemory = [...(dynamicDependentEntryPoints || [])].every( + dynamicDependentEntryPoint => + dependentEntryPoints && dependentEntryPoints.has(dynamicDependentEntryPoint) + ); + if (inMemory) { + continue; + } currentEntryHash = randomUint8Array(10); modulesVisitedForCurrentEntry = new Set([currentEntry.id]); addCurrentEntryColourToModule(currentEntry); From 0eff2dc50644e3919d807e718171eaaf3372e99a Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Wed, 25 Dec 2019 22:04:57 +0000 Subject: [PATCH 03/47] put back updating handledEntryPoints --- src/utils/chunkColouring.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 19e349d5c47..49b11e9161e 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -82,6 +82,7 @@ export function assignChunkColouringHashes( if (handledEntryPoints.has(currentEntry.id)) { continue; } + handledEntryPoints.add(currentEntry.id); const dynamicDependentEntryPoints = dynamicDependentEntryPointsByDynamicEntry.get(currentEntry); const dependentEntryPoints = dependentEntryPointsByModule.get(currentEntry); const inMemory = [...(dynamicDependentEntryPoints || [])].every( From 429366b26182a815db06005634687c05aee63d3a Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 14:09:15 +0000 Subject: [PATCH 04/47] update 'dynamic-import' test --- .../dynamic-import/_expected/amd/chunks/main.js | 14 ++++++++++++++ .../dynamic-import/_expected/amd/chunks/other.js | 4 ++-- .../_expected/amd/chunks/shared.js | 7 ------- .../samples/dynamic-import/_expected/amd/main.js | 8 ++------ .../dynamic-import/_expected/cjs/chunks/main.js | 12 ++++++++++++ .../dynamic-import/_expected/cjs/chunks/other.js | 4 ++-- .../_expected/cjs/chunks/shared.js | 5 ----- .../samples/dynamic-import/_expected/cjs/main.js | 8 ++------ .../dynamic-import/_expected/es/chunks/main.js | 9 +++++++++ .../dynamic-import/_expected/es/chunks/other.js | 2 +- .../dynamic-import/_expected/es/chunks/shared.js | 3 --- .../samples/dynamic-import/_expected/es/main.js | 10 +--------- .../_expected/system/chunks/main.js | 16 ++++++++++++++++ .../_expected/system/chunks/other.js | 2 +- .../_expected/system/chunks/shared.js | 10 ---------- .../dynamic-import/_expected/system/main.js | 9 ++------- 16 files changed, 64 insertions(+), 59 deletions(-) create mode 100644 test/chunking-form/samples/dynamic-import/_expected/amd/chunks/main.js delete mode 100644 test/chunking-form/samples/dynamic-import/_expected/amd/chunks/shared.js create mode 100644 test/chunking-form/samples/dynamic-import/_expected/cjs/chunks/main.js delete mode 100644 test/chunking-form/samples/dynamic-import/_expected/cjs/chunks/shared.js create mode 100644 test/chunking-form/samples/dynamic-import/_expected/es/chunks/main.js delete mode 100644 test/chunking-form/samples/dynamic-import/_expected/es/chunks/shared.js create mode 100644 test/chunking-form/samples/dynamic-import/_expected/system/chunks/main.js delete mode 100644 test/chunking-form/samples/dynamic-import/_expected/system/chunks/shared.js diff --git a/test/chunking-form/samples/dynamic-import/_expected/amd/chunks/main.js b/test/chunking-form/samples/dynamic-import/_expected/amd/chunks/main.js new file mode 100644 index 00000000000..ea3b3d8d9f1 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import/_expected/amd/chunks/main.js @@ -0,0 +1,14 @@ +define(['require', 'exports'], function (require, exports) { 'use strict'; + + const sharedValue = 'shared'; + + assert.equal(sharedValue, 'shared'); + + const promise = new Promise(function (resolve, reject) { require(['./other'], resolve, reject) }).then(result => + assert.deepEqual(result, { value: 'shared' }) + ); + + exports.promise = promise; + exports.sharedValue = sharedValue; + +}); diff --git a/test/chunking-form/samples/dynamic-import/_expected/amd/chunks/other.js b/test/chunking-form/samples/dynamic-import/_expected/amd/chunks/other.js index 9015a82be2e..c5536e87042 100644 --- a/test/chunking-form/samples/dynamic-import/_expected/amd/chunks/other.js +++ b/test/chunking-form/samples/dynamic-import/_expected/amd/chunks/other.js @@ -1,7 +1,7 @@ -define(['exports', './shared'], function (exports, shared) { 'use strict'; +define(['exports', './main'], function (exports, main) { 'use strict'; - exports.value = shared.sharedValue; + exports.value = main.sharedValue; }); diff --git a/test/chunking-form/samples/dynamic-import/_expected/amd/chunks/shared.js b/test/chunking-form/samples/dynamic-import/_expected/amd/chunks/shared.js deleted file mode 100644 index 65e59158953..00000000000 --- a/test/chunking-form/samples/dynamic-import/_expected/amd/chunks/shared.js +++ /dev/null @@ -1,7 +0,0 @@ -define(['exports'], function (exports) { 'use strict'; - - const sharedValue = 'shared'; - - exports.sharedValue = sharedValue; - -}); diff --git a/test/chunking-form/samples/dynamic-import/_expected/amd/main.js b/test/chunking-form/samples/dynamic-import/_expected/amd/main.js index c6b551a83c2..d7fa3f63973 100644 --- a/test/chunking-form/samples/dynamic-import/_expected/amd/main.js +++ b/test/chunking-form/samples/dynamic-import/_expected/amd/main.js @@ -1,12 +1,8 @@ -define(['require', 'exports', './chunks/shared'], function (require, exports, shared) { 'use strict'; +define(['exports', './chunks/main'], function (exports, main) { 'use strict'; - assert.equal(shared.sharedValue, 'shared'); - const promise = new Promise(function (resolve, reject) { require(['./chunks/other'], resolve, reject) }).then(result => - assert.deepEqual(result, { value: 'shared' }) - ); - exports.promise = promise; + exports.promise = main.promise; Object.defineProperty(exports, '__esModule', { value: true }); diff --git a/test/chunking-form/samples/dynamic-import/_expected/cjs/chunks/main.js b/test/chunking-form/samples/dynamic-import/_expected/cjs/chunks/main.js new file mode 100644 index 00000000000..fe43df39192 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import/_expected/cjs/chunks/main.js @@ -0,0 +1,12 @@ +'use strict'; + +const sharedValue = 'shared'; + +assert.equal(sharedValue, 'shared'); + +const promise = new Promise(function (resolve) { resolve(require('./other.js')); }).then(result => + assert.deepEqual(result, { value: 'shared' }) +); + +exports.promise = promise; +exports.sharedValue = sharedValue; diff --git a/test/chunking-form/samples/dynamic-import/_expected/cjs/chunks/other.js b/test/chunking-form/samples/dynamic-import/_expected/cjs/chunks/other.js index 90d22b547c6..5e903eb86e5 100644 --- a/test/chunking-form/samples/dynamic-import/_expected/cjs/chunks/other.js +++ b/test/chunking-form/samples/dynamic-import/_expected/cjs/chunks/other.js @@ -1,7 +1,7 @@ 'use strict'; -var shared = require('./shared.js'); +var main = require('./main.js'); -exports.value = shared.sharedValue; +exports.value = main.sharedValue; diff --git a/test/chunking-form/samples/dynamic-import/_expected/cjs/chunks/shared.js b/test/chunking-form/samples/dynamic-import/_expected/cjs/chunks/shared.js deleted file mode 100644 index 5a6d40af489..00000000000 --- a/test/chunking-form/samples/dynamic-import/_expected/cjs/chunks/shared.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -const sharedValue = 'shared'; - -exports.sharedValue = sharedValue; diff --git a/test/chunking-form/samples/dynamic-import/_expected/cjs/main.js b/test/chunking-form/samples/dynamic-import/_expected/cjs/main.js index d3c2764b413..4f5cbe2bc72 100644 --- a/test/chunking-form/samples/dynamic-import/_expected/cjs/main.js +++ b/test/chunking-form/samples/dynamic-import/_expected/cjs/main.js @@ -2,12 +2,8 @@ Object.defineProperty(exports, '__esModule', { value: true }); -var shared = require('./chunks/shared.js'); +var main = require('./chunks/main.js'); -assert.equal(shared.sharedValue, 'shared'); -const promise = new Promise(function (resolve) { resolve(require('./chunks/other.js')); }).then(result => - assert.deepEqual(result, { value: 'shared' }) -); -exports.promise = promise; +exports.promise = main.promise; diff --git a/test/chunking-form/samples/dynamic-import/_expected/es/chunks/main.js b/test/chunking-form/samples/dynamic-import/_expected/es/chunks/main.js new file mode 100644 index 00000000000..1d6d7916ddf --- /dev/null +++ b/test/chunking-form/samples/dynamic-import/_expected/es/chunks/main.js @@ -0,0 +1,9 @@ +const sharedValue = 'shared'; + +assert.equal(sharedValue, 'shared'); + +const promise = import('./other.js').then(result => + assert.deepEqual(result, { value: 'shared' }) +); + +export { promise as p, sharedValue as s }; diff --git a/test/chunking-form/samples/dynamic-import/_expected/es/chunks/other.js b/test/chunking-form/samples/dynamic-import/_expected/es/chunks/other.js index ff838bd038b..5750af52a03 100644 --- a/test/chunking-form/samples/dynamic-import/_expected/es/chunks/other.js +++ b/test/chunking-form/samples/dynamic-import/_expected/es/chunks/other.js @@ -1 +1 @@ -export { s as value } from './shared.js'; +export { s as value } from './main.js'; diff --git a/test/chunking-form/samples/dynamic-import/_expected/es/chunks/shared.js b/test/chunking-form/samples/dynamic-import/_expected/es/chunks/shared.js deleted file mode 100644 index d5f271b2232..00000000000 --- a/test/chunking-form/samples/dynamic-import/_expected/es/chunks/shared.js +++ /dev/null @@ -1,3 +0,0 @@ -const sharedValue = 'shared'; - -export { sharedValue as s }; diff --git a/test/chunking-form/samples/dynamic-import/_expected/es/main.js b/test/chunking-form/samples/dynamic-import/_expected/es/main.js index 4c4ca183a1e..32329dc6a75 100644 --- a/test/chunking-form/samples/dynamic-import/_expected/es/main.js +++ b/test/chunking-form/samples/dynamic-import/_expected/es/main.js @@ -1,9 +1 @@ -import { s as sharedValue } from './chunks/shared.js'; - -assert.equal(sharedValue, 'shared'); - -const promise = import('./chunks/other.js').then(result => - assert.deepEqual(result, { value: 'shared' }) -); - -export { promise }; +export { p as promise } from './chunks/main.js'; diff --git a/test/chunking-form/samples/dynamic-import/_expected/system/chunks/main.js b/test/chunking-form/samples/dynamic-import/_expected/system/chunks/main.js new file mode 100644 index 00000000000..5a2e6f0e106 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import/_expected/system/chunks/main.js @@ -0,0 +1,16 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + const sharedValue = exports('s', 'shared'); + + assert.equal(sharedValue, 'shared'); + + const promise = exports('p', module.import('./other.js').then(result => + assert.deepEqual(result, { value: 'shared' }) + )); + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import/_expected/system/chunks/other.js b/test/chunking-form/samples/dynamic-import/_expected/system/chunks/other.js index 201777a5cbe..51028be8b37 100644 --- a/test/chunking-form/samples/dynamic-import/_expected/system/chunks/other.js +++ b/test/chunking-form/samples/dynamic-import/_expected/system/chunks/other.js @@ -1,4 +1,4 @@ -System.register(['./shared.js'], function (exports) { +System.register(['./main.js'], function (exports) { 'use strict'; return { setters: [function (module) { diff --git a/test/chunking-form/samples/dynamic-import/_expected/system/chunks/shared.js b/test/chunking-form/samples/dynamic-import/_expected/system/chunks/shared.js deleted file mode 100644 index e50702721a5..00000000000 --- a/test/chunking-form/samples/dynamic-import/_expected/system/chunks/shared.js +++ /dev/null @@ -1,10 +0,0 @@ -System.register([], function (exports) { - 'use strict'; - return { - execute: function () { - - const sharedValue = exports('s', 'shared'); - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import/_expected/system/main.js b/test/chunking-form/samples/dynamic-import/_expected/system/main.js index a8d72ea45f1..bbae28dc22e 100644 --- a/test/chunking-form/samples/dynamic-import/_expected/system/main.js +++ b/test/chunking-form/samples/dynamic-import/_expected/system/main.js @@ -1,17 +1,12 @@ -System.register(['./chunks/shared.js'], function (exports, module) { +System.register(['./chunks/main.js'], function (exports) { 'use strict'; - var sharedValue; return { setters: [function (module) { - sharedValue = module.s; + exports('promise', module.p); }], execute: function () { - assert.equal(sharedValue, 'shared'); - const promise = exports('promise', module.import('./chunks/other.js').then(result => - assert.deepEqual(result, { value: 'shared' }) - )); } }; From 7b5886fd51243417e05bf3ce7226ce2e9aab3532 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 14:11:23 +0000 Subject: [PATCH 05/47] update 'dynamic-import-chained' test --- .../_expected/amd/generated-dep1.js | 10 ++++++++-- .../_expected/amd/generated-dep2.js | 5 ----- .../_expected/cjs/generated-dep1.js | 8 +++++++- .../_expected/cjs/generated-dep2.js | 3 --- .../_expected/es/generated-dep1.js | 8 +++++++- .../_expected/es/generated-dep2.js | 1 - .../_expected/system/generated-dep1.js | 10 ++++++++-- .../_expected/system/generated-dep2.js | 10 ---------- 8 files changed, 30 insertions(+), 25 deletions(-) delete mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep2.js delete mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep2.js delete mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep2.js delete mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep2.js diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep1.js b/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep1.js index 83e82a16985..50d17c68cb4 100644 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep1.js +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep1.js @@ -1,6 +1,12 @@ -define(['require'], function (require) { 'use strict'; +define(function () { 'use strict'; + + console.log('dep2'); + + var dep2 = /*#__PURE__*/Object.freeze({ + __proto__: null + }); console.log('dep1'); - new Promise(function (resolve, reject) { require(['./generated-dep2'], resolve, reject) }); + Promise.resolve().then(function () { return dep2; }); }); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep2.js b/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep2.js deleted file mode 100644 index af27f254599..00000000000 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep2.js +++ /dev/null @@ -1,5 +0,0 @@ -define(function () { 'use strict'; - - console.log('dep2'); - -}); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep1.js b/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep1.js index c575743511e..a9a29483ef8 100644 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep1.js +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep1.js @@ -1,4 +1,10 @@ 'use strict'; +console.log('dep2'); + +var dep2 = /*#__PURE__*/Object.freeze({ + __proto__: null +}); + console.log('dep1'); -new Promise(function (resolve) { resolve(require('./generated-dep2.js')); }); +Promise.resolve().then(function () { return dep2; }); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep2.js b/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep2.js deleted file mode 100644 index 132fb447b0c..00000000000 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep2.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -console.log('dep2'); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep1.js b/test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep1.js index a644729548a..9aea3df03ee 100644 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep1.js +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep1.js @@ -1,2 +1,8 @@ +console.log('dep2'); + +var dep2 = /*#__PURE__*/Object.freeze({ + __proto__: null +}); + console.log('dep1'); -import('./generated-dep2.js'); +Promise.resolve().then(function () { return dep2; }); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep2.js b/test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep2.js deleted file mode 100644 index f5325d80e8a..00000000000 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep2.js +++ /dev/null @@ -1 +0,0 @@ -console.log('dep2'); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep1.js b/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep1.js index 40c0c5a289e..7f4087ffcaf 100644 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep1.js +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep1.js @@ -1,10 +1,16 @@ -System.register([], function (exports, module) { +System.register([], function () { 'use strict'; return { execute: function () { + console.log('dep2'); + + var dep2 = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + console.log('dep1'); - module.import('./generated-dep2.js'); + Promise.resolve().then(function () { return dep2; }); } }; diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep2.js b/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep2.js deleted file mode 100644 index 535b40f550f..00000000000 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep2.js +++ /dev/null @@ -1,10 +0,0 @@ -System.register([], function () { - 'use strict'; - return { - execute: function () { - - console.log('dep2'); - - } - }; -}); From e607d28dcde8b5b56e177dd8ed117d26e908be56 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 14:13:35 +0000 Subject: [PATCH 06/47] update 'dynamic-import-chunking' test --- .../_expected/amd/generated-dep2.js | 4 +-- .../_expected/amd/generated-dep4.js | 7 ---- .../_expected/amd/generated-main.js | 28 +++++++++++++++ .../_expected/amd/main.js | 21 +---------- .../_expected/cjs/generated-dep2.js | 4 +-- .../_expected/cjs/generated-dep4.js | 5 --- .../_expected/cjs/generated-main.js | 26 ++++++++++++++ .../_expected/cjs/main.js | 22 +----------- .../_expected/es/generated-dep2.js | 2 +- .../_expected/es/generated-dep4.js | 3 -- .../_expected/es/generated-main.js | 24 +++++++++++++ .../_expected/es/main.js | 23 +----------- .../_expected/system/generated-dep2.js | 2 +- .../_expected/system/generated-dep4.js | 10 ------ .../_expected/system/generated-main.js | 31 ++++++++++++++++ .../_expected/system/main.js | 36 ++++--------------- 16 files changed, 125 insertions(+), 123 deletions(-) delete mode 100644 test/chunking-form/samples/dynamic-import-chunking/_expected/amd/generated-dep4.js create mode 100644 test/chunking-form/samples/dynamic-import-chunking/_expected/amd/generated-main.js delete mode 100644 test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/generated-dep4.js create mode 100644 test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/generated-main.js delete mode 100644 test/chunking-form/samples/dynamic-import-chunking/_expected/es/generated-dep4.js create mode 100644 test/chunking-form/samples/dynamic-import-chunking/_expected/es/generated-main.js delete mode 100644 test/chunking-form/samples/dynamic-import-chunking/_expected/system/generated-dep4.js create mode 100644 test/chunking-form/samples/dynamic-import-chunking/_expected/system/generated-main.js diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/amd/generated-dep2.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/amd/generated-dep2.js index d2c7c803984..2e2174a2c9b 100644 --- a/test/chunking-form/samples/dynamic-import-chunking/_expected/amd/generated-dep2.js +++ b/test/chunking-form/samples/dynamic-import-chunking/_expected/amd/generated-dep2.js @@ -1,7 +1,7 @@ -define(['exports', './generated-dep4'], function (exports, dep4) { 'use strict'; +define(['exports', './generated-main'], function (exports, main) { 'use strict'; function mult (num) { - return num + dep4.multiplier; + return num + main.multiplier; } exports.mult = mult; diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/amd/generated-dep4.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/amd/generated-dep4.js deleted file mode 100644 index 972a328006d..00000000000 --- a/test/chunking-form/samples/dynamic-import-chunking/_expected/amd/generated-dep4.js +++ /dev/null @@ -1,7 +0,0 @@ -define(['exports'], function (exports) { 'use strict'; - - var multiplier = 7; - - exports.multiplier = multiplier; - -}); diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/amd/generated-main.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/amd/generated-main.js new file mode 100644 index 00000000000..edcc94c0953 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-chunking/_expected/amd/generated-main.js @@ -0,0 +1,28 @@ +define(['require', 'exports'], function (require, exports) { 'use strict'; + + var multiplier = 7; + + function calc (num) { + return num * multiplier; + } + + function fn (num) { + return num * calc(num); + } + + function dynamic (num) { + return new Promise(function (resolve, reject) { require(['./generated-dep2'], resolve, reject) }) + .then(dep2 => { + return dep2.mult(num); + }); + } + + console.log(fn(5)); + + dynamic(10).then(num => { + console.log(num); + }); + + exports.multiplier = multiplier; + +}); diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/amd/main.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/amd/main.js index 5c0dffc9c3c..4cef940ab88 100644 --- a/test/chunking-form/samples/dynamic-import-chunking/_expected/amd/main.js +++ b/test/chunking-form/samples/dynamic-import-chunking/_expected/amd/main.js @@ -1,24 +1,5 @@ -define(['require', './generated-dep4'], function (require, dep4) { 'use strict'; +define(['./generated-main'], function (main) { 'use strict'; - function calc (num) { - return num * dep4.multiplier; - } - function fn (num) { - return num * calc(num); - } - - function dynamic (num) { - return new Promise(function (resolve, reject) { require(['./generated-dep2'], resolve, reject) }) - .then(dep2 => { - return dep2.mult(num); - }); - } - - console.log(fn(5)); - - dynamic(10).then(num => { - console.log(num); - }); }); diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/generated-dep2.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/generated-dep2.js index b163fd7ef4b..f45aa10d2bc 100644 --- a/test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/generated-dep2.js +++ b/test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/generated-dep2.js @@ -1,9 +1,9 @@ 'use strict'; -var dep4 = require('./generated-dep4.js'); +var main = require('./generated-main.js'); function mult (num) { - return num + dep4.multiplier; + return num + main.multiplier; } exports.mult = mult; diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/generated-dep4.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/generated-dep4.js deleted file mode 100644 index 6c19ba5bed9..00000000000 --- a/test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/generated-dep4.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -var multiplier = 7; - -exports.multiplier = multiplier; diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/generated-main.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/generated-main.js new file mode 100644 index 00000000000..8ab76d9efb1 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/generated-main.js @@ -0,0 +1,26 @@ +'use strict'; + +var multiplier = 7; + +function calc (num) { + return num * multiplier; +} + +function fn (num) { + return num * calc(num); +} + +function dynamic (num) { + return new Promise(function (resolve) { resolve(require('./generated-dep2.js')); }) + .then(dep2 => { + return dep2.mult(num); + }); +} + +console.log(fn(5)); + +dynamic(10).then(num => { + console.log(num); +}); + +exports.multiplier = multiplier; diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/main.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/main.js index 7cb456918e0..464b4ce8e34 100644 --- a/test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/main.js +++ b/test/chunking-form/samples/dynamic-import-chunking/_expected/cjs/main.js @@ -1,24 +1,4 @@ 'use strict'; -var dep4 = require('./generated-dep4.js'); +require('./generated-main.js'); -function calc (num) { - return num * dep4.multiplier; -} - -function fn (num) { - return num * calc(num); -} - -function dynamic (num) { - return new Promise(function (resolve) { resolve(require('./generated-dep2.js')); }) - .then(dep2 => { - return dep2.mult(num); - }); -} - -console.log(fn(5)); - -dynamic(10).then(num => { - console.log(num); -}); diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/es/generated-dep2.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/es/generated-dep2.js index fa5260712e6..e1de3c81fe3 100644 --- a/test/chunking-form/samples/dynamic-import-chunking/_expected/es/generated-dep2.js +++ b/test/chunking-form/samples/dynamic-import-chunking/_expected/es/generated-dep2.js @@ -1,4 +1,4 @@ -import { m as multiplier } from './generated-dep4.js'; +import { m as multiplier } from './generated-main.js'; function mult (num) { return num + multiplier; diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/es/generated-dep4.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/es/generated-dep4.js deleted file mode 100644 index d53493b9946..00000000000 --- a/test/chunking-form/samples/dynamic-import-chunking/_expected/es/generated-dep4.js +++ /dev/null @@ -1,3 +0,0 @@ -var multiplier = 7; - -export { multiplier as m }; diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/es/generated-main.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/es/generated-main.js new file mode 100644 index 00000000000..860e897d919 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-chunking/_expected/es/generated-main.js @@ -0,0 +1,24 @@ +var multiplier = 7; + +function calc (num) { + return num * multiplier; +} + +function fn (num) { + return num * calc(num); +} + +function dynamic (num) { + return import('./generated-dep2.js') + .then(dep2 => { + return dep2.mult(num); + }); +} + +console.log(fn(5)); + +dynamic(10).then(num => { + console.log(num); +}); + +export { multiplier as m }; diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/es/main.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/es/main.js index 8b874a64bb6..bc3090f4a30 100644 --- a/test/chunking-form/samples/dynamic-import-chunking/_expected/es/main.js +++ b/test/chunking-form/samples/dynamic-import-chunking/_expected/es/main.js @@ -1,22 +1 @@ -import { m as multiplier } from './generated-dep4.js'; - -function calc (num) { - return num * multiplier; -} - -function fn (num) { - return num * calc(num); -} - -function dynamic (num) { - return import('./generated-dep2.js') - .then(dep2 => { - return dep2.mult(num); - }); -} - -console.log(fn(5)); - -dynamic(10).then(num => { - console.log(num); -}); +import './generated-main.js'; diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/system/generated-dep2.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/system/generated-dep2.js index d7b8dfdb5f6..7172491c255 100644 --- a/test/chunking-form/samples/dynamic-import-chunking/_expected/system/generated-dep2.js +++ b/test/chunking-form/samples/dynamic-import-chunking/_expected/system/generated-dep2.js @@ -1,4 +1,4 @@ -System.register(['./generated-dep4.js'], function (exports) { +System.register(['./generated-main.js'], function (exports) { 'use strict'; var multiplier; return { diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/system/generated-dep4.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/system/generated-dep4.js deleted file mode 100644 index 63fbd7708bf..00000000000 --- a/test/chunking-form/samples/dynamic-import-chunking/_expected/system/generated-dep4.js +++ /dev/null @@ -1,10 +0,0 @@ -System.register([], function (exports) { - 'use strict'; - return { - execute: function () { - - var multiplier = exports('m', 7); - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/system/generated-main.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/system/generated-main.js new file mode 100644 index 00000000000..73b8ed1255c --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-chunking/_expected/system/generated-main.js @@ -0,0 +1,31 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + var multiplier = exports('m', 7); + + function calc (num) { + return num * multiplier; + } + + function fn (num) { + return num * calc(num); + } + + function dynamic (num) { + return module.import('./generated-dep2.js') + .then(dep2 => { + return dep2.mult(num); + }); + } + + console.log(fn(5)); + + dynamic(10).then(num => { + console.log(num); + }); + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-chunking/_expected/system/main.js b/test/chunking-form/samples/dynamic-import-chunking/_expected/system/main.js index 72783a72455..1312c7a3bd6 100644 --- a/test/chunking-form/samples/dynamic-import-chunking/_expected/system/main.js +++ b/test/chunking-form/samples/dynamic-import-chunking/_expected/system/main.js @@ -1,33 +1,11 @@ -System.register(['./generated-dep4.js'], function (exports, module) { - 'use strict'; - var multiplier; - return { - setters: [function (module) { - multiplier = module.m; - }], - execute: function () { +System.register(['./generated-main.js'], function () { + 'use strict'; + return { + setters: [function () {}], + execute: function () { - function calc (num) { - return num * multiplier; - } - function fn (num) { - return num * calc(num); - } - function dynamic (num) { - return module.import('./generated-dep2.js') - .then(dep2 => { - return dep2.mult(num); - }); - } - - console.log(fn(5)); - - dynamic(10).then(num => { - console.log(num); - }); - - } - }; + } + }; }); From 5c36759816e456fa3be3fdcf3541d6a10d7b76fa Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 14:16:27 +0000 Subject: [PATCH 07/47] update 'dynamic-import-facade' test --- .../_expected/amd/generated-dynamic.js | 3 ++- .../_expected/amd/generated-dynamic2.js | 7 ------- .../dynamic-import-facade/_expected/amd/main1.js | 2 +- .../dynamic-import-facade/_expected/amd/main2.js | 2 +- .../_expected/cjs/generated-dynamic.js | 3 ++- .../_expected/cjs/generated-dynamic2.js | 7 ------- .../dynamic-import-facade/_expected/cjs/main1.js | 2 +- .../dynamic-import-facade/_expected/cjs/main2.js | 3 +-- .../_expected/es/generated-dynamic.js | 4 +++- .../_expected/es/generated-dynamic2.js | 1 - .../dynamic-import-facade/_expected/es/main1.js | 2 +- .../dynamic-import-facade/_expected/es/main2.js | 4 +--- .../_expected/system/generated-dynamic.js | 6 ++++-- .../_expected/system/generated-dynamic2.js | 13 ------------- .../dynamic-import-facade/_expected/system/main1.js | 2 +- .../dynamic-import-facade/_expected/system/main2.js | 8 ++------ 16 files changed, 20 insertions(+), 49 deletions(-) delete mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic2.js delete mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic2.js delete mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic2.js delete mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic2.js diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic.js b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic.js index 7c2370c19a3..5a3c5481fab 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic.js @@ -7,7 +7,8 @@ define(['exports'], function (exports) { 'use strict'; console.log('dynamic', dep); const dynamic = 'dynamic'; - exports.dep = dep; + console.log('main2', dynamic, dep); + exports.dynamic = dynamic; }); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic2.js deleted file mode 100644 index 549cac73f1e..00000000000 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic2.js +++ /dev/null @@ -1,7 +0,0 @@ -define(['exports', './generated-dynamic'], function (exports, dynamic) { 'use strict'; - - - - exports.dynamic = dynamic.dynamic; - -}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main1.js b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main1.js index 0f84ec99a44..4dc4a80e97f 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main1.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main1.js @@ -1,5 +1,5 @@ define(['require'], function (require) { 'use strict'; - new Promise(function (resolve, reject) { require(['./generated-dynamic2'], resolve, reject) }).then(({dynamic}) => console.log('main1', dynamic)); + new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }).then(({dynamic}) => console.log('main1', dynamic)); }); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main2.js index 1974c7d9afd..74cc956808d 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main2.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main2.js @@ -1,5 +1,5 @@ define(['./generated-dynamic'], function (dynamic) { 'use strict'; - console.log('main2', dynamic.dynamic, dynamic.dep); + }); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic.js b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic.js index 210a1e1c5bc..74d96adeedd 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic.js @@ -7,5 +7,6 @@ const dep = 'dep'; console.log('dynamic', dep); const dynamic = 'dynamic'; -exports.dep = dep; +console.log('main2', dynamic, dep); + exports.dynamic = dynamic; diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic2.js deleted file mode 100644 index db9f8d3d094..00000000000 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic2.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var dynamic = require('./generated-dynamic.js'); - - - -exports.dynamic = dynamic.dynamic; diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main1.js b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main1.js index 0a1d6b0432e..94c55f49481 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main1.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main1.js @@ -1,3 +1,3 @@ 'use strict'; -new Promise(function (resolve) { resolve(require('./generated-dynamic2.js')); }).then(({dynamic}) => console.log('main1', dynamic)); +new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }).then(({dynamic}) => console.log('main1', dynamic)); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main2.js index 3276a034886..17f06c91436 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main2.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main2.js @@ -1,5 +1,4 @@ 'use strict'; -var dynamic = require('./generated-dynamic.js'); +require('./generated-dynamic.js'); -console.log('main2', dynamic.dynamic, dynamic.dep); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic.js b/test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic.js index a0ce15fe84a..0cd46cbad40 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic.js @@ -5,4 +5,6 @@ const dep = 'dep'; console.log('dynamic', dep); const dynamic = 'dynamic'; -export { dep as a, dynamic as d }; +console.log('main2', dynamic, dep); + +export { dynamic }; diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic2.js deleted file mode 100644 index ebf2d6f8467..00000000000 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic2.js +++ /dev/null @@ -1 +0,0 @@ -export { d as dynamic } from './generated-dynamic.js'; diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/es/main1.js b/test/chunking-form/samples/dynamic-import-facade/_expected/es/main1.js index cf5d3a31f7e..2fbb59a4af9 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/es/main1.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/es/main1.js @@ -1 +1 @@ -import('./generated-dynamic2.js').then(({dynamic}) => console.log('main1', dynamic)); +import('./generated-dynamic.js').then(({dynamic}) => console.log('main1', dynamic)); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/es/main2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/es/main2.js index 90795a3d8bd..f0a86500a2e 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/es/main2.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/es/main2.js @@ -1,3 +1 @@ -import { d as dynamic, a as dep } from './generated-dynamic.js'; - -console.log('main2', dynamic, dep); +import './generated-dynamic.js'; diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic.js b/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic.js index 0605f07ef7e..c618adf525b 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic.js @@ -5,10 +5,12 @@ System.register([], function (exports) { console.log('dep'); - const dep = exports('a', 'dep'); + const dep = 'dep'; console.log('dynamic', dep); - const dynamic = exports('d', 'dynamic'); + const dynamic = exports('dynamic', 'dynamic'); + + console.log('main2', dynamic, dep); } }; diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic2.js deleted file mode 100644 index 4d3438486d2..00000000000 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic2.js +++ /dev/null @@ -1,13 +0,0 @@ -System.register(['./generated-dynamic.js'], function (exports) { - 'use strict'; - return { - setters: [function (module) { - exports('dynamic', module.d); - }], - execute: function () { - - - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/system/main1.js b/test/chunking-form/samples/dynamic-import-facade/_expected/system/main1.js index 2cb9535c9b4..c49f55149f2 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/system/main1.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/system/main1.js @@ -3,7 +3,7 @@ System.register([], function (exports, module) { return { execute: function () { - module.import('./generated-dynamic2.js').then(({dynamic}) => console.log('main1', dynamic)); + module.import('./generated-dynamic.js').then(({dynamic}) => console.log('main1', dynamic)); } }; diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/system/main2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/system/main2.js index 48bd74f53c6..534a2439353 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/system/main2.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/system/main2.js @@ -1,14 +1,10 @@ System.register(['./generated-dynamic.js'], function () { 'use strict'; - var dynamic, dep; return { - setters: [function (module) { - dynamic = module.d; - dep = module.a; - }], + setters: [function () {}], execute: function () { - console.log('main2', dynamic, dep); + } }; From 8622aef3f642e824871378dd5af71052cea74ad6 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 14:20:46 +0000 Subject: [PATCH 08/47] update 'dynamic-import-inline-colouring' test --- .../_expected/amd/generated-inlined.js | 9 ------ .../_expected/amd/generated-main1.js | 29 +++++++++++++++++++ .../_expected/amd/generated-separate.js | 9 +++--- .../_expected/amd/main1.js | 9 +++--- .../_expected/cjs/generated-inlined.js | 7 ----- .../_expected/cjs/generated-main1.js | 27 +++++++++++++++++ .../_expected/cjs/generated-separate.js | 9 +++--- .../_expected/cjs/main1.js | 10 +++---- .../_expected/es/generated-inlined.js | 5 ---- .../_expected/es/generated-main1.js | 22 ++++++++++++++ .../_expected/es/generated-separate.js | 6 +--- .../_expected/es/main1.js | 8 +---- .../_expected/system/generated-inlined.js | 11 ------- .../_expected/system/generated-main1.js | 29 +++++++++++++++++++ .../_expected/system/generated-separate.js | 11 +++++-- .../_expected/system/main1.js | 12 +++++--- 16 files changed, 142 insertions(+), 71 deletions(-) delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-inlined.js create mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-main1.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-inlined.js create mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-main1.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-inlined.js create mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-main1.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-inlined.js create mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-main1.js diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-inlined.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-inlined.js deleted file mode 100644 index eeab6552e64..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-inlined.js +++ /dev/null @@ -1,9 +0,0 @@ -define(['exports'], function (exports) { 'use strict'; - - var inlined = 'inlined'; - const x = 1; - - exports.default = inlined; - exports.x = x; - -}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-main1.js new file mode 100644 index 00000000000..779671425f2 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-main1.js @@ -0,0 +1,29 @@ +define(['exports'], function (exports) { 'use strict'; + + var inlined = 'inlined'; + const x = 1; + + var inlined$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': inlined, + x: x + }); + + var separate = 'separate'; + const x$1 = 2; + + var separate$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': separate, + x: x$1 + }); + + const inlined$2 = Promise.resolve().then(function () { return inlined$1; }); + const separate$2 = Promise.resolve().then(function () { return separate$1; }); + + exports.inlined = inlined$2; + exports.separate = separate; + exports.separate$1 = separate$2; + exports.x = x$1; + +}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-separate.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-separate.js index c06b72922c5..db24df269a5 100644 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-separate.js +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-separate.js @@ -1,9 +1,8 @@ -define(['exports'], function (exports) { 'use strict'; +define(['exports', './generated-main1'], function (exports, separate) { 'use strict'; - var separate = 'separate'; - const x = 2; - exports.default = separate; - exports.x = x; + + exports.default = separate.separate; + exports.x = separate.x; }); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main1.js index ab477ff73b1..e6a781c88a2 100644 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main1.js +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main1.js @@ -1,10 +1,9 @@ -define(['require', 'exports', './generated-inlined', './generated-separate'], function (require, exports, inlined$1, separate$1) { 'use strict'; +define(['exports', './generated-main1'], function (exports, separate) { 'use strict'; - const inlined = new Promise(function (resolve, reject) { require(['./generated-inlined'], resolve, reject) }); - const separate = new Promise(function (resolve, reject) { require(['./generated-separate'], resolve, reject) }); - exports.inlined = inlined; - exports.separate = separate; + + exports.inlined = separate.inlined; + exports.separate = separate.separate$1; Object.defineProperty(exports, '__esModule', { value: true }); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-inlined.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-inlined.js deleted file mode 100644 index 42f7789b8cf..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-inlined.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var inlined = 'inlined'; -const x = 1; - -exports.default = inlined; -exports.x = x; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-main1.js new file mode 100644 index 00000000000..6560325e0b7 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-main1.js @@ -0,0 +1,27 @@ +'use strict'; + +var inlined = 'inlined'; +const x = 1; + +var inlined$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': inlined, + x: x +}); + +var separate = 'separate'; +const x$1 = 2; + +var separate$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': separate, + x: x$1 +}); + +const inlined$2 = Promise.resolve().then(function () { return inlined$1; }); +const separate$2 = Promise.resolve().then(function () { return separate$1; }); + +exports.inlined = inlined$2; +exports.separate = separate; +exports.separate$1 = separate$2; +exports.x = x$1; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-separate.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-separate.js index 6eb315e5cac..faa16d12ffd 100644 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-separate.js +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-separate.js @@ -1,7 +1,8 @@ 'use strict'; -var separate = 'separate'; -const x = 2; +var separate = require('./generated-main1.js'); -exports.default = separate; -exports.x = x; + + +exports.default = separate.separate; +exports.x = separate.x; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main1.js index 4b2bcc7fdd5..b05a01bb7d3 100644 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main1.js +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main1.js @@ -2,11 +2,9 @@ Object.defineProperty(exports, '__esModule', { value: true }); -require('./generated-inlined.js'); -require('./generated-separate.js'); +var separate = require('./generated-main1.js'); -const inlined = new Promise(function (resolve) { resolve(require('./generated-inlined.js')); }); -const separate = new Promise(function (resolve) { resolve(require('./generated-separate.js')); }); -exports.inlined = inlined; -exports.separate = separate; + +exports.inlined = separate.inlined; +exports.separate = separate.separate$1; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-inlined.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-inlined.js deleted file mode 100644 index d13cbecbfa4..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-inlined.js +++ /dev/null @@ -1,5 +0,0 @@ -var inlined = 'inlined'; -const x = 1; - -export default inlined; -export { x }; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-main1.js new file mode 100644 index 00000000000..bd8a95d2ddf --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-main1.js @@ -0,0 +1,22 @@ +var inlined = 'inlined'; +const x = 1; + +var inlined$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': inlined, + x: x +}); + +var separate = 'separate'; +const x$1 = 2; + +var separate$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': separate, + x: x$1 +}); + +const inlined$2 = Promise.resolve().then(function () { return inlined$1; }); +const separate$2 = Promise.resolve().then(function () { return separate$1; }); + +export { separate$2 as a, inlined$2 as i, separate as s, x$1 as x }; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-separate.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-separate.js index e7122e67004..78e2600dca9 100644 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-separate.js +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-separate.js @@ -1,5 +1 @@ -var separate = 'separate'; -const x = 2; - -export default separate; -export { x }; +export { s as default, x } from './generated-main1.js'; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/main1.js index 4a8004df29f..c4b4ede9c2a 100644 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/main1.js +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/main1.js @@ -1,7 +1 @@ -import './generated-inlined.js'; -import './generated-separate.js'; - -const inlined = import('./generated-inlined.js'); -const separate = import('./generated-separate.js'); - -export { inlined, separate }; +export { i as inlined, a as separate } from './generated-main1.js'; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-inlined.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-inlined.js deleted file mode 100644 index 1e8f4870e3d..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-inlined.js +++ /dev/null @@ -1,11 +0,0 @@ -System.register([], function (exports) { - 'use strict'; - return { - execute: function () { - - var inlined = exports('default', 'inlined'); - const x = exports('x', 1); - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-main1.js new file mode 100644 index 00000000000..3936858fc11 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-main1.js @@ -0,0 +1,29 @@ +System.register([], function (exports) { + 'use strict'; + return { + execute: function () { + + var inlined = 'inlined'; + const x = 1; + + var inlined$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': inlined, + x: x + }); + + var separate = exports('s', 'separate'); + const x$1 = exports('x', 2); + + var separate$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': separate, + x: x$1 + }); + + const inlined$2 = exports('i', Promise.resolve().then(function () { return inlined$1; })); + const separate$2 = exports('a', Promise.resolve().then(function () { return separate$1; })); + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-separate.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-separate.js index 09405c5602c..64bfdb57cfb 100644 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-separate.js +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-separate.js @@ -1,10 +1,15 @@ -System.register([], function (exports) { +System.register(['./generated-main1.js'], function (exports) { 'use strict'; return { + setters: [function (module) { + var _setter = {}; + _setter.default = module.s; + _setter.x = module.x; + exports(_setter); + }], execute: function () { - var separate = exports('default', 'separate'); - const x = exports('x', 2); + } }; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main1.js index 9523ff96e05..3cf71b03898 100644 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main1.js +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main1.js @@ -1,11 +1,15 @@ -System.register(['./generated-inlined.js', './generated-separate.js'], function (exports, module) { +System.register(['./generated-main1.js'], function (exports) { 'use strict'; return { - setters: [function () {}, function () {}], + setters: [function (module) { + var _setter = {}; + _setter.inlined = module.i; + _setter.separate = module.a; + exports(_setter); + }], execute: function () { - const inlined = exports('inlined', module.import('./generated-inlined.js')); - const separate = exports('separate', module.import('./generated-separate.js')); + } }; From 89079d2b69de3dbb5feb7ab54eb7aa6bc3b9620d Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 14:23:17 +0000 Subject: [PATCH 09/47] update 'dynamic-import-statically-imported' test --- .../_expected/amd/generated-dep1.js | 21 -------------- .../_expected/amd/main.js | 19 +++++++++++-- .../_expected/cjs/generated-dep1.js | 19 ------------- .../_expected/cjs/main.js | 17 +++++++++-- .../_expected/es/generated-dep1.js | 16 ----------- .../_expected/es/main.js | 15 +++++++++- .../_expected/system/generated-dep1.js | 28 ------------------- .../_expected/system/main.js | 22 +++++++++++---- 8 files changed, 62 insertions(+), 95 deletions(-) delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported/_expected/amd/generated-dep1.js delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported/_expected/cjs/generated-dep1.js delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported/_expected/es/generated-dep1.js delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported/_expected/system/generated-dep1.js diff --git a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/amd/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported/_expected/amd/generated-dep1.js deleted file mode 100644 index d1ed622ba34..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/amd/generated-dep1.js +++ /dev/null @@ -1,21 +0,0 @@ -define(['exports'], function (exports) { 'use strict'; - - function foo() { - return 'dep2'; - } - - Promise.resolve().then(function () { return dep1; }).then(({ bar }) => console.log(bar())); - - function bar() { - return foo(); - } - - var dep1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - bar: bar - }); - - exports.bar = bar; - exports.foo = foo; - -}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/amd/main.js b/test/chunking-form/samples/dynamic-import-statically-imported/_expected/amd/main.js index cac66392a39..5a7c901f9d8 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/amd/main.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported/_expected/amd/main.js @@ -1,5 +1,20 @@ -define(['./generated-dep1'], function (dep1) { 'use strict'; +define(function () { 'use strict'; - console.log(dep1.foo(), dep1.bar()); + function foo() { + return 'dep2'; + } + + Promise.resolve().then(function () { return dep1; }).then(({ bar }) => console.log(bar())); + + function bar() { + return foo(); + } + + var dep1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + bar: bar + }); + + console.log(foo(), bar()); }); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/cjs/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported/_expected/cjs/generated-dep1.js deleted file mode 100644 index 8404868bf0f..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/cjs/generated-dep1.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -function foo() { - return 'dep2'; -} - -Promise.resolve().then(function () { return dep1; }).then(({ bar }) => console.log(bar())); - -function bar() { - return foo(); -} - -var dep1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - bar: bar -}); - -exports.bar = bar; -exports.foo = foo; diff --git a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/cjs/main.js b/test/chunking-form/samples/dynamic-import-statically-imported/_expected/cjs/main.js index d054aa0a11c..097718c1f1e 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/cjs/main.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported/_expected/cjs/main.js @@ -1,5 +1,18 @@ 'use strict'; -var dep1 = require('./generated-dep1.js'); +function foo() { + return 'dep2'; +} -console.log(dep1.foo(), dep1.bar()); +Promise.resolve().then(function () { return dep1; }).then(({ bar }) => console.log(bar())); + +function bar() { + return foo(); +} + +var dep1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + bar: bar +}); + +console.log(foo(), bar()); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/es/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported/_expected/es/generated-dep1.js deleted file mode 100644 index 861a4f7b643..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/es/generated-dep1.js +++ /dev/null @@ -1,16 +0,0 @@ -function foo() { - return 'dep2'; -} - -Promise.resolve().then(function () { return dep1; }).then(({ bar }) => console.log(bar())); - -function bar() { - return foo(); -} - -var dep1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - bar: bar -}); - -export { bar as b, foo as f }; diff --git a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/es/main.js b/test/chunking-form/samples/dynamic-import-statically-imported/_expected/es/main.js index 793f396d0ba..860438239a2 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/es/main.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported/_expected/es/main.js @@ -1,3 +1,16 @@ -import { f as foo, b as bar } from './generated-dep1.js'; +function foo() { + return 'dep2'; +} + +Promise.resolve().then(function () { return dep1; }).then(({ bar }) => console.log(bar())); + +function bar() { + return foo(); +} + +var dep1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + bar: bar +}); console.log(foo(), bar()); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/system/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported/_expected/system/generated-dep1.js deleted file mode 100644 index f88ae2d042e..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/system/generated-dep1.js +++ /dev/null @@ -1,28 +0,0 @@ -System.register([], function (exports) { - 'use strict'; - return { - execute: function () { - - exports({ - b: bar, - f: foo - }); - - function foo() { - return 'dep2'; - } - - Promise.resolve().then(function () { return dep1; }).then(({ bar }) => console.log(bar())); - - function bar() { - return foo(); - } - - var dep1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - bar: bar - }); - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/system/main.js b/test/chunking-form/samples/dynamic-import-statically-imported/_expected/system/main.js index 1f0c72ea5a1..524ed74f1fd 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported/_expected/system/main.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported/_expected/system/main.js @@ -1,13 +1,23 @@ -System.register(['./generated-dep1.js'], function () { +System.register([], function () { 'use strict'; - var foo, bar; return { - setters: [function (module) { - foo = module.f; - bar = module.b; - }], execute: function () { + function foo() { + return 'dep2'; + } + + Promise.resolve().then(function () { return dep1; }).then(({ bar }) => console.log(bar())); + + function bar() { + return foo(); + } + + var dep1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + bar: bar + }); + console.log(foo(), bar()); } From 18647bee765b6bcc9b512ffb6ff6a613b6721409 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 14:24:37 +0000 Subject: [PATCH 10/47] update 'dynamic-import-statically-imported-2' test --- .../_expected/amd/generated-dep1.js | 3 ++- .../_expected/amd/generated-dep12.js | 7 ------- .../_expected/amd/main.js | 2 +- .../_expected/amd/main2.js | 2 +- .../_expected/cjs/generated-dep1.js | 3 ++- .../_expected/cjs/generated-dep12.js | 7 ------- .../_expected/cjs/main.js | 3 +-- .../_expected/cjs/main2.js | 2 +- .../_expected/es/generated-dep1.js | 4 +++- .../_expected/es/generated-dep12.js | 1 - .../_expected/es/main.js | 4 +--- .../_expected/es/main2.js | 2 +- .../_expected/system/generated-dep1.js | 7 +++---- .../_expected/system/generated-dep12.js | 13 ------------- .../_expected/system/main.js | 8 ++------ .../_expected/system/main2.js | 2 +- 16 files changed, 19 insertions(+), 51 deletions(-) delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep12.js delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep12.js delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep12.js delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep12.js diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep1.js index d1ed622ba34..e61c1a16633 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep1.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep1.js @@ -15,7 +15,8 @@ define(['exports'], function (exports) { 'use strict'; bar: bar }); + console.log(foo(), bar()); + exports.bar = bar; - exports.foo = foo; }); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep12.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep12.js deleted file mode 100644 index 4bd11b297c4..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep12.js +++ /dev/null @@ -1,7 +0,0 @@ -define(['exports', './generated-dep1'], function (exports, dep1) { 'use strict'; - - - - exports.bar = dep1.bar; - -}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main.js index cac66392a39..02a46daf2cd 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main.js @@ -1,5 +1,5 @@ define(['./generated-dep1'], function (dep1) { 'use strict'; - console.log(dep1.foo(), dep1.bar()); + }); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main2.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main2.js index 4fd363667ff..86ec013aaab 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main2.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main2.js @@ -1,5 +1,5 @@ define(['require'], function (require) { 'use strict'; - new Promise(function (resolve, reject) { require(['./generated-dep12'], resolve, reject) }).then(({ bar }) => console.log(bar())); + new Promise(function (resolve, reject) { require(['./generated-dep1'], resolve, reject) }).then(({ bar }) => console.log(bar())); }); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep1.js index 8404868bf0f..74d99c1bba9 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep1.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep1.js @@ -15,5 +15,6 @@ var dep1 = /*#__PURE__*/Object.freeze({ bar: bar }); +console.log(foo(), bar()); + exports.bar = bar; -exports.foo = foo; diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep12.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep12.js deleted file mode 100644 index cd30893ebe8..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep12.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var dep1 = require('./generated-dep1.js'); - - - -exports.bar = dep1.bar; diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main.js index d054aa0a11c..ccb8d98ce68 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main.js @@ -1,5 +1,4 @@ 'use strict'; -var dep1 = require('./generated-dep1.js'); +require('./generated-dep1.js'); -console.log(dep1.foo(), dep1.bar()); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main2.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main2.js index d87b8141b66..b910e11fb85 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main2.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main2.js @@ -1,3 +1,3 @@ 'use strict'; -new Promise(function (resolve) { resolve(require('./generated-dep12.js')); }).then(({ bar }) => console.log(bar())); +new Promise(function (resolve) { resolve(require('./generated-dep1.js')); }).then(({ bar }) => console.log(bar())); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep1.js index 861a4f7b643..a533de7db2d 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep1.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep1.js @@ -13,4 +13,6 @@ var dep1 = /*#__PURE__*/Object.freeze({ bar: bar }); -export { bar as b, foo as f }; +console.log(foo(), bar()); + +export { bar }; diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep12.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep12.js deleted file mode 100644 index d22ddbff25b..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep12.js +++ /dev/null @@ -1 +0,0 @@ -export { b as bar } from './generated-dep1.js'; diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main.js index 793f396d0ba..934a68ee7f1 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main.js @@ -1,3 +1 @@ -import { f as foo, b as bar } from './generated-dep1.js'; - -console.log(foo(), bar()); +import './generated-dep1.js'; diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main2.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main2.js index 970b0eb472e..00aba354edb 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main2.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main2.js @@ -1 +1 @@ -import('./generated-dep12.js').then(({ bar }) => console.log(bar())); +import('./generated-dep1.js').then(({ bar }) => console.log(bar())); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep1.js index f88ae2d042e..300981d1b31 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep1.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep1.js @@ -3,10 +3,7 @@ System.register([], function (exports) { return { execute: function () { - exports({ - b: bar, - f: foo - }); + exports('bar', bar); function foo() { return 'dep2'; @@ -23,6 +20,8 @@ System.register([], function (exports) { bar: bar }); + console.log(foo(), bar()); + } }; }); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep12.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep12.js deleted file mode 100644 index b9da72c55c7..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep12.js +++ /dev/null @@ -1,13 +0,0 @@ -System.register(['./generated-dep1.js'], function (exports) { - 'use strict'; - return { - setters: [function (module) { - exports('bar', module.b); - }], - execute: function () { - - - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main.js index 1f0c72ea5a1..5668bec5d4f 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main.js @@ -1,14 +1,10 @@ System.register(['./generated-dep1.js'], function () { 'use strict'; - var foo, bar; return { - setters: [function (module) { - foo = module.f; - bar = module.b; - }], + setters: [function () {}], execute: function () { - console.log(foo(), bar()); + } }; diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main2.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main2.js index 32925b05438..2f2c41db6e5 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main2.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main2.js @@ -3,7 +3,7 @@ System.register([], function (exports, module) { return { execute: function () { - module.import('./generated-dep12.js').then(({ bar }) => console.log(bar())); + module.import('./generated-dep1.js').then(({ bar }) => console.log(bar())); } }; From d8a8a104aa4253785daa3393541ddfce90ec7454 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 14:28:37 +0000 Subject: [PATCH 11/47] update 'resolve-dynamic-import' test --- .../_expected/amd/generated-existing.js | 7 ------- .../_expected/amd/main.js | 15 +++++++++++---- .../_expected/cjs/generated-existing.js | 5 ----- .../_expected/cjs/main.js | 14 ++++++++++---- .../_expected/es/generated-existing.js | 3 --- .../resolve-dynamic-import/_expected/es/main.js | 14 ++++++++++---- .../_expected/system/generated-existing.js | 10 ---------- .../_expected/system/main.js | 17 ++++++++++++----- 8 files changed, 43 insertions(+), 42 deletions(-) delete mode 100644 test/chunking-form/samples/resolve-dynamic-import/_expected/amd/generated-existing.js delete mode 100644 test/chunking-form/samples/resolve-dynamic-import/_expected/cjs/generated-existing.js delete mode 100644 test/chunking-form/samples/resolve-dynamic-import/_expected/es/generated-existing.js delete mode 100644 test/chunking-form/samples/resolve-dynamic-import/_expected/system/generated-existing.js diff --git a/test/chunking-form/samples/resolve-dynamic-import/_expected/amd/generated-existing.js b/test/chunking-form/samples/resolve-dynamic-import/_expected/amd/generated-existing.js deleted file mode 100644 index e4849575ab9..00000000000 --- a/test/chunking-form/samples/resolve-dynamic-import/_expected/amd/generated-existing.js +++ /dev/null @@ -1,7 +0,0 @@ -define(['exports'], function (exports) { 'use strict'; - - const value = 'existing'; - - exports.value = value; - -}); diff --git a/test/chunking-form/samples/resolve-dynamic-import/_expected/amd/main.js b/test/chunking-form/samples/resolve-dynamic-import/_expected/amd/main.js index 34df2e25813..354d7117d0f 100644 --- a/test/chunking-form/samples/resolve-dynamic-import/_expected/amd/main.js +++ b/test/chunking-form/samples/resolve-dynamic-import/_expected/amd/main.js @@ -1,4 +1,4 @@ -define(['require', './generated-existing', './direct-relative-external', 'to-indirect-relative-external', 'direct-absolute-external', 'to-indirect-absolute-external'], function (require, existing, directRelativeExternal, toIndirectRelativeExternal, directAbsoluteExternal, toIndirectAbsoluteExternal) { 'use strict'; +define(['require', './direct-relative-external', 'to-indirect-relative-external', 'direct-absolute-external', 'to-indirect-absolute-external'], function (require, directRelativeExternal, toIndirectRelativeExternal, directAbsoluteExternal, toIndirectAbsoluteExternal) { 'use strict'; function _interopNamespace(e) { if (e && e.__esModule) { return e; } else { @@ -20,14 +20,21 @@ define(['require', './generated-existing', './direct-relative-external', 'to-ind } // nested - new Promise(function (resolve, reject) { require(['./generated-existing'], resolve, reject) }); + Promise.resolve().then(function () { return existing; }); new Promise(function (resolve, reject) { require(['./direct-relative-external'], function (m) { resolve(_interopNamespace(m)); }, reject) }); new Promise(function (resolve, reject) { require(['to-indirect-relative-external'], function (m) { resolve(_interopNamespace(m)); }, reject) }); new Promise(function (resolve, reject) { require(['direct-absolute-external'], function (m) { resolve(_interopNamespace(m)); }, reject) }); new Promise(function (resolve, reject) { require(['to-indirect-absolute-external'], function (m) { resolve(_interopNamespace(m)); }, reject) }); + const value = 'existing'; + + var existing = /*#__PURE__*/Object.freeze({ + __proto__: null, + value: value + }); + //main - new Promise(function (resolve, reject) { require(['./generated-existing'], resolve, reject) }); + Promise.resolve().then(function () { return existing; }); new Promise(function (resolve, reject) { require(['./direct-relative-external'], function (m) { resolve(_interopNamespace(m)); }, reject) }); new Promise(function (resolve, reject) { require(['to-indirect-relative-external'], function (m) { resolve(_interopNamespace(m)); }, reject) }); new Promise(function (resolve, reject) { require(['direct-absolute-external'], function (m) { resolve(_interopNamespace(m)); }, reject) }); @@ -35,7 +42,7 @@ define(['require', './generated-existing', './direct-relative-external', 'to-ind new Promise(function (resolve, reject) { require(['dynamic-direct-external' + unknown], function (m) { resolve(_interopNamespace(m)); }, reject) }); new Promise(function (resolve, reject) { require(['to-dynamic-indirect-external'], function (m) { resolve(_interopNamespace(m)); }, reject) }); - new Promise(function (resolve, reject) { require(['./generated-existing'], resolve, reject) }); + Promise.resolve().then(function () { return existing; }); new Promise(function (resolve, reject) { require(['my' + 'replacement'], function (m) { resolve(_interopNamespace(m)); }, reject) }); }); diff --git a/test/chunking-form/samples/resolve-dynamic-import/_expected/cjs/generated-existing.js b/test/chunking-form/samples/resolve-dynamic-import/_expected/cjs/generated-existing.js deleted file mode 100644 index 561531ebe17..00000000000 --- a/test/chunking-form/samples/resolve-dynamic-import/_expected/cjs/generated-existing.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -const value = 'existing'; - -exports.value = value; diff --git a/test/chunking-form/samples/resolve-dynamic-import/_expected/cjs/main.js b/test/chunking-form/samples/resolve-dynamic-import/_expected/cjs/main.js index 9f7a3cdf69a..fae2ceae79a 100644 --- a/test/chunking-form/samples/resolve-dynamic-import/_expected/cjs/main.js +++ b/test/chunking-form/samples/resolve-dynamic-import/_expected/cjs/main.js @@ -19,21 +19,27 @@ function _interopNamespace(e) { } } -require('./generated-existing.js'); require('./direct-relative-external'); require('to-indirect-relative-external'); require('direct-absolute-external'); require('to-indirect-absolute-external'); // nested -new Promise(function (resolve) { resolve(require('./generated-existing.js')); }); +Promise.resolve().then(function () { return existing; }); new Promise(function (resolve) { resolve(_interopNamespace(require('./direct-relative-external'))); }); new Promise(function (resolve) { resolve(_interopNamespace(require('to-indirect-relative-external'))); }); new Promise(function (resolve) { resolve(_interopNamespace(require('direct-absolute-external'))); }); new Promise(function (resolve) { resolve(_interopNamespace(require('to-indirect-absolute-external'))); }); +const value = 'existing'; + +var existing = /*#__PURE__*/Object.freeze({ + __proto__: null, + value: value +}); + //main -new Promise(function (resolve) { resolve(require('./generated-existing.js')); }); +Promise.resolve().then(function () { return existing; }); new Promise(function (resolve) { resolve(_interopNamespace(require('./direct-relative-external'))); }); new Promise(function (resolve) { resolve(_interopNamespace(require('to-indirect-relative-external'))); }); new Promise(function (resolve) { resolve(_interopNamespace(require('direct-absolute-external'))); }); @@ -41,5 +47,5 @@ new Promise(function (resolve) { resolve(_interopNamespace(require('to-indirect- new Promise(function (resolve) { resolve(_interopNamespace(require('dynamic-direct-external' + unknown))); }); new Promise(function (resolve) { resolve(_interopNamespace(require('to-dynamic-indirect-external'))); }); -new Promise(function (resolve) { resolve(require('./generated-existing.js')); }); +Promise.resolve().then(function () { return existing; }); new Promise(function (resolve) { resolve(_interopNamespace(require('my' + 'replacement'))); }); diff --git a/test/chunking-form/samples/resolve-dynamic-import/_expected/es/generated-existing.js b/test/chunking-form/samples/resolve-dynamic-import/_expected/es/generated-existing.js deleted file mode 100644 index 4eca34c7282..00000000000 --- a/test/chunking-form/samples/resolve-dynamic-import/_expected/es/generated-existing.js +++ /dev/null @@ -1,3 +0,0 @@ -const value = 'existing'; - -export { value }; diff --git a/test/chunking-form/samples/resolve-dynamic-import/_expected/es/main.js b/test/chunking-form/samples/resolve-dynamic-import/_expected/es/main.js index 7dacf7a3eee..691f388d15d 100644 --- a/test/chunking-form/samples/resolve-dynamic-import/_expected/es/main.js +++ b/test/chunking-form/samples/resolve-dynamic-import/_expected/es/main.js @@ -1,18 +1,24 @@ -import './generated-existing.js'; import './direct-relative-external'; import 'to-indirect-relative-external'; import 'direct-absolute-external'; import 'to-indirect-absolute-external'; // nested -import('./generated-existing.js'); +Promise.resolve().then(function () { return existing; }); import('./direct-relative-external'); import('to-indirect-relative-external'); import('direct-absolute-external'); import('to-indirect-absolute-external'); +const value = 'existing'; + +var existing = /*#__PURE__*/Object.freeze({ + __proto__: null, + value: value +}); + //main -import('./generated-existing.js'); +Promise.resolve().then(function () { return existing; }); import('./direct-relative-external'); import('to-indirect-relative-external'); import('direct-absolute-external'); @@ -20,5 +26,5 @@ import('to-indirect-absolute-external'); import('dynamic-direct-external' + unknown); import('to-dynamic-indirect-external'); -import('./generated-existing.js'); +Promise.resolve().then(function () { return existing; }); import('my' + 'replacement'); diff --git a/test/chunking-form/samples/resolve-dynamic-import/_expected/system/generated-existing.js b/test/chunking-form/samples/resolve-dynamic-import/_expected/system/generated-existing.js deleted file mode 100644 index 48b2a1a9823..00000000000 --- a/test/chunking-form/samples/resolve-dynamic-import/_expected/system/generated-existing.js +++ /dev/null @@ -1,10 +0,0 @@ -System.register([], function (exports) { - 'use strict'; - return { - execute: function () { - - const value = exports('value', 'existing'); - - } - }; -}); diff --git a/test/chunking-form/samples/resolve-dynamic-import/_expected/system/main.js b/test/chunking-form/samples/resolve-dynamic-import/_expected/system/main.js index ea036d03331..7d417f56ec1 100644 --- a/test/chunking-form/samples/resolve-dynamic-import/_expected/system/main.js +++ b/test/chunking-form/samples/resolve-dynamic-import/_expected/system/main.js @@ -1,18 +1,25 @@ -System.register(['./generated-existing.js', './direct-relative-external', 'to-indirect-relative-external', 'direct-absolute-external', 'to-indirect-absolute-external'], function (exports, module) { +System.register(['./direct-relative-external', 'to-indirect-relative-external', 'direct-absolute-external', 'to-indirect-absolute-external'], function (exports, module) { 'use strict'; return { - setters: [function () {}, function () {}, function () {}, function () {}, function () {}], + setters: [function () {}, function () {}, function () {}, function () {}], execute: function () { // nested - module.import('./generated-existing.js'); + Promise.resolve().then(function () { return existing; }); module.import('./direct-relative-external'); module.import('to-indirect-relative-external'); module.import('direct-absolute-external'); module.import('to-indirect-absolute-external'); + const value = 'existing'; + + var existing = /*#__PURE__*/Object.freeze({ + __proto__: null, + value: value + }); + //main - module.import('./generated-existing.js'); + Promise.resolve().then(function () { return existing; }); module.import('./direct-relative-external'); module.import('to-indirect-relative-external'); module.import('direct-absolute-external'); @@ -20,7 +27,7 @@ System.register(['./generated-existing.js', './direct-relative-external', 'to-in module.import('dynamic-direct-external' + unknown); module.import('to-dynamic-indirect-external'); - module.import('./generated-existing.js'); + Promise.resolve().then(function () { return existing; }); module.import('my' + 'replacement'); } From 80bcec9f786b05409aa1afef6513beaa8a61dde9 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 14:38:38 +0000 Subject: [PATCH 12/47] update 'nested-dynamic-imports' test --- .../_expected/amd/generated-dynamic1.js | 31 +++++++++++++++++-- .../_expected/amd/generated-dynamic2.js | 6 ---- .../_expected/amd/generated-dynamic3.js | 6 ---- .../_expected/amd/generated-dynamic4.js | 6 ---- .../_expected/amd/generated-dynamic5.js | 5 --- .../_expected/cjs/generated-dynamic1.js | 29 ++++++++++++++++- .../_expected/cjs/generated-dynamic2.js | 4 --- .../_expected/cjs/generated-dynamic3.js | 4 --- .../_expected/cjs/generated-dynamic4.js | 4 --- .../_expected/cjs/generated-dynamic5.js | 3 -- .../_expected/es/generated-dynamic1.js | 29 ++++++++++++++++- .../_expected/es/generated-dynamic2.js | 2 -- .../_expected/es/generated-dynamic3.js | 2 -- .../_expected/es/generated-dynamic4.js | 2 -- .../_expected/es/generated-dynamic5.js | 1 - .../_expected/system/generated-dynamic1.js | 31 +++++++++++++++++-- .../_expected/system/generated-dynamic2.js | 11 ------- .../_expected/system/generated-dynamic3.js | 11 ------- .../_expected/system/generated-dynamic4.js | 11 ------- .../_expected/system/generated-dynamic5.js | 10 ------ 20 files changed, 114 insertions(+), 94 deletions(-) delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic2.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic3.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic4.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic5.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic2.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic3.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic4.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic5.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic2.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic3.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic4.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic5.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic2.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic3.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic4.js delete mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic5.js diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic1.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic1.js index be41dd73ba2..90f7318cc94 100644 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic1.js +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic1.js @@ -1,6 +1,33 @@ -define(['require'], function (require) { 'use strict'; +define(function () { 'use strict'; - new Promise(function (resolve, reject) { require(['./generated-dynamic2'], resolve, reject) }); + Promise.resolve().then(function () { return dynamic2; }); console.log('dynamic1'); + Promise.resolve().then(function () { return dynamic3; }); + console.log('dynamic2'); + + var dynamic2 = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + + Promise.resolve().then(function () { return dynamic4; }); + console.log('dynamic3'); + + var dynamic3 = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + + Promise.resolve().then(function () { return dynamic5; }); + console.log('dynamic4'); + + var dynamic4 = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + + console.log('dynamic5'); + + var dynamic5 = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + }); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic2.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic2.js deleted file mode 100644 index 109eafa86de..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic2.js +++ /dev/null @@ -1,6 +0,0 @@ -define(['require'], function (require) { 'use strict'; - - new Promise(function (resolve, reject) { require(['./generated-dynamic3'], resolve, reject) }); - console.log('dynamic2'); - -}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic3.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic3.js deleted file mode 100644 index 87c99b617b8..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic3.js +++ /dev/null @@ -1,6 +0,0 @@ -define(['require'], function (require) { 'use strict'; - - new Promise(function (resolve, reject) { require(['./generated-dynamic4'], resolve, reject) }); - console.log('dynamic3'); - -}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic4.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic4.js deleted file mode 100644 index eed6272d3aa..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic4.js +++ /dev/null @@ -1,6 +0,0 @@ -define(['require'], function (require) { 'use strict'; - - new Promise(function (resolve, reject) { require(['./generated-dynamic5'], resolve, reject) }); - console.log('dynamic4'); - -}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic5.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic5.js deleted file mode 100644 index 3bbcbbb8a61..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic5.js +++ /dev/null @@ -1,5 +0,0 @@ -define(function () { 'use strict'; - - console.log('dynamic5'); - -}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic1.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic1.js index 988a64fd35e..f3f3e253b39 100644 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic1.js +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic1.js @@ -1,4 +1,31 @@ 'use strict'; -new Promise(function (resolve) { resolve(require('./generated-dynamic2.js')); }); +Promise.resolve().then(function () { return dynamic2; }); console.log('dynamic1'); + +Promise.resolve().then(function () { return dynamic3; }); +console.log('dynamic2'); + +var dynamic2 = /*#__PURE__*/Object.freeze({ + __proto__: null +}); + +Promise.resolve().then(function () { return dynamic4; }); +console.log('dynamic3'); + +var dynamic3 = /*#__PURE__*/Object.freeze({ + __proto__: null +}); + +Promise.resolve().then(function () { return dynamic5; }); +console.log('dynamic4'); + +var dynamic4 = /*#__PURE__*/Object.freeze({ + __proto__: null +}); + +console.log('dynamic5'); + +var dynamic5 = /*#__PURE__*/Object.freeze({ + __proto__: null +}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic2.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic2.js deleted file mode 100644 index 41b004168ba..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic2.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; - -new Promise(function (resolve) { resolve(require('./generated-dynamic3.js')); }); -console.log('dynamic2'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic3.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic3.js deleted file mode 100644 index 05760968f6b..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic3.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; - -new Promise(function (resolve) { resolve(require('./generated-dynamic4.js')); }); -console.log('dynamic3'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic4.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic4.js deleted file mode 100644 index 4b8cb60ad35..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic4.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; - -new Promise(function (resolve) { resolve(require('./generated-dynamic5.js')); }); -console.log('dynamic4'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic5.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic5.js deleted file mode 100644 index 49db69799ac..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic5.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -console.log('dynamic5'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic1.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic1.js index 2db19197d94..e69f5665fa8 100644 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic1.js +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic1.js @@ -1,2 +1,29 @@ -import('./generated-dynamic2.js'); +Promise.resolve().then(function () { return dynamic2; }); console.log('dynamic1'); + +Promise.resolve().then(function () { return dynamic3; }); +console.log('dynamic2'); + +var dynamic2 = /*#__PURE__*/Object.freeze({ + __proto__: null +}); + +Promise.resolve().then(function () { return dynamic4; }); +console.log('dynamic3'); + +var dynamic3 = /*#__PURE__*/Object.freeze({ + __proto__: null +}); + +Promise.resolve().then(function () { return dynamic5; }); +console.log('dynamic4'); + +var dynamic4 = /*#__PURE__*/Object.freeze({ + __proto__: null +}); + +console.log('dynamic5'); + +var dynamic5 = /*#__PURE__*/Object.freeze({ + __proto__: null +}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic2.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic2.js deleted file mode 100644 index 544cfec1ef5..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic2.js +++ /dev/null @@ -1,2 +0,0 @@ -import('./generated-dynamic3.js'); -console.log('dynamic2'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic3.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic3.js deleted file mode 100644 index 53e4eba921e..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic3.js +++ /dev/null @@ -1,2 +0,0 @@ -import('./generated-dynamic4.js'); -console.log('dynamic3'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic4.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic4.js deleted file mode 100644 index db04880a96f..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic4.js +++ /dev/null @@ -1,2 +0,0 @@ -import('./generated-dynamic5.js'); -console.log('dynamic4'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic5.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic5.js deleted file mode 100644 index 926214e0879..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic5.js +++ /dev/null @@ -1 +0,0 @@ -console.log('dynamic5'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic1.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic1.js index 4885888ccf8..c28c38ce863 100644 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic1.js +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic1.js @@ -1,11 +1,38 @@ -System.register([], function (exports, module) { +System.register([], function () { 'use strict'; return { execute: function () { - module.import('./generated-dynamic2.js'); + Promise.resolve().then(function () { return dynamic2; }); console.log('dynamic1'); + Promise.resolve().then(function () { return dynamic3; }); + console.log('dynamic2'); + + var dynamic2 = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + + Promise.resolve().then(function () { return dynamic4; }); + console.log('dynamic3'); + + var dynamic3 = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + + Promise.resolve().then(function () { return dynamic5; }); + console.log('dynamic4'); + + var dynamic4 = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + + console.log('dynamic5'); + + var dynamic5 = /*#__PURE__*/Object.freeze({ + __proto__: null + }); + } }; }); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic2.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic2.js deleted file mode 100644 index 186a6116c10..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic2.js +++ /dev/null @@ -1,11 +0,0 @@ -System.register([], function (exports, module) { - 'use strict'; - return { - execute: function () { - - module.import('./generated-dynamic3.js'); - console.log('dynamic2'); - - } - }; -}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic3.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic3.js deleted file mode 100644 index 96e85221924..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic3.js +++ /dev/null @@ -1,11 +0,0 @@ -System.register([], function (exports, module) { - 'use strict'; - return { - execute: function () { - - module.import('./generated-dynamic4.js'); - console.log('dynamic3'); - - } - }; -}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic4.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic4.js deleted file mode 100644 index d2859ce1ff5..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic4.js +++ /dev/null @@ -1,11 +0,0 @@ -System.register([], function (exports, module) { - 'use strict'; - return { - execute: function () { - - module.import('./generated-dynamic5.js'); - console.log('dynamic4'); - - } - }; -}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic5.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic5.js deleted file mode 100644 index 17bd51f9265..00000000000 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic5.js +++ /dev/null @@ -1,10 +0,0 @@ -System.register([], function () { - 'use strict'; - return { - execute: function () { - - console.log('dynamic5'); - - } - }; -}); From 5dc21c72e0eba016abc97891d8b54f6847744691 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 14:39:12 +0000 Subject: [PATCH 13/47] update 'sanitize-internal-imports' test --- .../_expected/amd/generated-constants.js | 549 ------------ .../_expected/amd/generated-lazy.js | 4 +- .../_expected/amd/main.js | 819 +++++++++++------ .../_expected/cjs/generated-constants.js | 547 ------------ .../_expected/cjs/generated-lazy.js | 4 +- .../_expected/cjs/main.js | 817 +++++++++++------ .../_expected/es/generated-constants.js | 274 ------ .../_expected/es/generated-lazy.js | 2 +- .../_expected/es/main.js | 275 +++++- .../_expected/system/generated-constants.js | 556 ------------ .../_expected/system/generated-lazy.js | 4 +- .../_expected/system/main.js | 826 ++++++++++++------ 12 files changed, 1919 insertions(+), 2758 deletions(-) delete mode 100644 test/chunking-form/samples/sanitize-internal-exports/_expected/amd/generated-constants.js delete mode 100644 test/chunking-form/samples/sanitize-internal-exports/_expected/cjs/generated-constants.js delete mode 100644 test/chunking-form/samples/sanitize-internal-exports/_expected/es/generated-constants.js delete mode 100644 test/chunking-form/samples/sanitize-internal-exports/_expected/system/generated-constants.js diff --git a/test/chunking-form/samples/sanitize-internal-exports/_expected/amd/generated-constants.js b/test/chunking-form/samples/sanitize-internal-exports/_expected/amd/generated-constants.js deleted file mode 100644 index 418773e8d02..00000000000 --- a/test/chunking-form/samples/sanitize-internal-exports/_expected/amd/generated-constants.js +++ /dev/null @@ -1,549 +0,0 @@ -define(['exports'], function (exports) { 'use strict'; - - var v1, - v2, - v3, - v4, - v5, - v6, - v7, - v8, - v9, - v10, - v11, - v12, - v13, - v14, - v15, - v16, - v17, - v18, - v19, - v20, - v21, - v22, - v23, - v24, - v25, - v26, - v27, - v28, - v29, - v30, - v31, - v32, - v33, - v34, - v35, - v36, - v37, - v38, - v39, - v40, - v41, - v42, - v43, - v44, - v45, - v46, - v47, - v48, - v49, - v50, - v51, - v52, - v53, - v54, - v55, - v56, - v57, - v58, - v59, - v60, - v61, - v62, - v63, - v64, - v65, - v66, - v67, - v68, - v69, - v70, - v71, - v72, - v73, - v74, - v75, - v76, - v77, - v78, - v79, - v80, - v81, - v82, - v83, - v84, - v85, - v86, - v87, - v88, - v89, - v90, - v91, - v92, - v93, - v94, - v95, - v96, - v97, - v98, - v99, - v100, - v101, - v102, - v103, - v104, - v105, - v106, - v107, - v108, - v109, - v110, - v111, - v112, - v113, - v114, - v115, - v116, - v117, - v118, - v119, - v120, - v121, - v122, - v123, - v124, - v125, - v126, - v127, - v128, - v129, - v130, - v131, - v132, - v133, - v134, - v135, - v136, - v137, - v138, - v139, - v140, - v141, - v142, - v143, - v144, - v145, - v146, - v147, - v148, - v149, - v150, - v151, - v152, - v153, - v154, - v155, - v156, - v157, - v158, - v159, - v160, - v161, - v162, - v163, - v164, - v165, - v166, - v167, - v168, - v169, - v170, - v171, - v172, - v173, - v174, - v175, - v176, - v177, - v178, - v179, - v180, - v181, - v182, - v183, - v184, - v185, - v186, - v187, - v188, - v189, - v190, - v191, - v192, - v193, - v194, - v195, - v196, - v197, - v198, - v199, - v200, - v201, - v202, - v203, - v204, - v205, - v206, - v207, - v208, - v209, - v210, - v211, - v212, - v213, - v214, - v215, - v216, - v217, - v218, - v219, - v220, - v221, - v222, - v223, - v224, - v225, - v226, - v227, - v228, - v229, - v230, - v231, - v232, - v233, - v234, - v235, - v236, - v237, - v238, - v239, - v240, - v241, - v242, - v243, - v244, - v245, - v246, - v247, - v248, - v249, - v250, - v251, - v252, - v253, - v254, - v255, - v256, - v257, - v258, - v259, - v260, - v261, - v262, - v263, - v264, - v265, - v266, - v267, - v268, - v269, - v270, - v271, - v272; - - exports.v1 = v1; - exports.v10 = v10; - exports.v100 = v100; - exports.v101 = v101; - exports.v102 = v102; - exports.v103 = v103; - exports.v104 = v104; - exports.v105 = v105; - exports.v106 = v106; - exports.v107 = v107; - exports.v108 = v108; - exports.v109 = v109; - exports.v11 = v11; - exports.v110 = v110; - exports.v111 = v111; - exports.v112 = v112; - exports.v113 = v113; - exports.v114 = v114; - exports.v115 = v115; - exports.v116 = v116; - exports.v117 = v117; - exports.v118 = v118; - exports.v119 = v119; - exports.v12 = v12; - exports.v120 = v120; - exports.v121 = v121; - exports.v122 = v122; - exports.v123 = v123; - exports.v124 = v124; - exports.v125 = v125; - exports.v126 = v126; - exports.v127 = v127; - exports.v128 = v128; - exports.v129 = v129; - exports.v13 = v13; - exports.v130 = v130; - exports.v131 = v131; - exports.v132 = v132; - exports.v133 = v133; - exports.v134 = v134; - exports.v135 = v135; - exports.v136 = v136; - exports.v137 = v137; - exports.v138 = v138; - exports.v139 = v139; - exports.v14 = v14; - exports.v140 = v140; - exports.v141 = v141; - exports.v142 = v142; - exports.v143 = v143; - exports.v144 = v144; - exports.v145 = v145; - exports.v146 = v146; - exports.v147 = v147; - exports.v148 = v148; - exports.v149 = v149; - exports.v15 = v15; - exports.v150 = v150; - exports.v151 = v151; - exports.v152 = v152; - exports.v153 = v153; - exports.v154 = v154; - exports.v155 = v155; - exports.v156 = v156; - exports.v157 = v157; - exports.v158 = v158; - exports.v159 = v159; - exports.v16 = v16; - exports.v160 = v160; - exports.v161 = v161; - exports.v162 = v162; - exports.v163 = v163; - exports.v164 = v164; - exports.v165 = v165; - exports.v166 = v166; - exports.v167 = v167; - exports.v168 = v168; - exports.v169 = v169; - exports.v17 = v17; - exports.v170 = v170; - exports.v171 = v171; - exports.v172 = v172; - exports.v173 = v173; - exports.v174 = v174; - exports.v175 = v175; - exports.v176 = v176; - exports.v177 = v177; - exports.v178 = v178; - exports.v179 = v179; - exports.v18 = v18; - exports.v180 = v180; - exports.v181 = v181; - exports.v182 = v182; - exports.v183 = v183; - exports.v184 = v184; - exports.v185 = v185; - exports.v186 = v186; - exports.v187 = v187; - exports.v188 = v188; - exports.v189 = v189; - exports.v19 = v19; - exports.v190 = v190; - exports.v191 = v191; - exports.v192 = v192; - exports.v193 = v193; - exports.v194 = v194; - exports.v195 = v195; - exports.v196 = v196; - exports.v197 = v197; - exports.v198 = v198; - exports.v199 = v199; - exports.v2 = v2; - exports.v20 = v20; - exports.v200 = v200; - exports.v201 = v201; - exports.v202 = v202; - exports.v203 = v203; - exports.v204 = v204; - exports.v205 = v205; - exports.v206 = v206; - exports.v207 = v207; - exports.v208 = v208; - exports.v209 = v209; - exports.v21 = v21; - exports.v210 = v210; - exports.v211 = v211; - exports.v212 = v212; - exports.v213 = v213; - exports.v214 = v214; - exports.v215 = v215; - exports.v216 = v216; - exports.v217 = v217; - exports.v218 = v218; - exports.v219 = v219; - exports.v22 = v22; - exports.v220 = v220; - exports.v221 = v221; - exports.v222 = v222; - exports.v223 = v223; - exports.v224 = v224; - exports.v225 = v225; - exports.v226 = v226; - exports.v227 = v227; - exports.v228 = v228; - exports.v229 = v229; - exports.v23 = v23; - exports.v230 = v230; - exports.v231 = v231; - exports.v232 = v232; - exports.v233 = v233; - exports.v234 = v234; - exports.v235 = v235; - exports.v236 = v236; - exports.v237 = v237; - exports.v238 = v238; - exports.v239 = v239; - exports.v24 = v24; - exports.v240 = v240; - exports.v241 = v241; - exports.v242 = v242; - exports.v243 = v243; - exports.v244 = v244; - exports.v245 = v245; - exports.v246 = v246; - exports.v247 = v247; - exports.v248 = v248; - exports.v249 = v249; - exports.v25 = v25; - exports.v250 = v250; - exports.v251 = v251; - exports.v252 = v252; - exports.v253 = v253; - exports.v254 = v254; - exports.v255 = v255; - exports.v256 = v256; - exports.v257 = v257; - exports.v258 = v258; - exports.v259 = v259; - exports.v26 = v26; - exports.v260 = v260; - exports.v261 = v261; - exports.v262 = v262; - exports.v263 = v263; - exports.v264 = v264; - exports.v265 = v265; - exports.v266 = v266; - exports.v267 = v267; - exports.v268 = v268; - exports.v269 = v269; - exports.v27 = v27; - exports.v270 = v270; - exports.v271 = v271; - exports.v272 = v272; - exports.v28 = v28; - exports.v29 = v29; - exports.v3 = v3; - exports.v30 = v30; - exports.v31 = v31; - exports.v32 = v32; - exports.v33 = v33; - exports.v34 = v34; - exports.v35 = v35; - exports.v36 = v36; - exports.v37 = v37; - exports.v38 = v38; - exports.v39 = v39; - exports.v4 = v4; - exports.v40 = v40; - exports.v41 = v41; - exports.v42 = v42; - exports.v43 = v43; - exports.v44 = v44; - exports.v45 = v45; - exports.v46 = v46; - exports.v47 = v47; - exports.v48 = v48; - exports.v49 = v49; - exports.v5 = v5; - exports.v50 = v50; - exports.v51 = v51; - exports.v52 = v52; - exports.v53 = v53; - exports.v54 = v54; - exports.v55 = v55; - exports.v56 = v56; - exports.v57 = v57; - exports.v58 = v58; - exports.v59 = v59; - exports.v6 = v6; - exports.v60 = v60; - exports.v61 = v61; - exports.v62 = v62; - exports.v63 = v63; - exports.v64 = v64; - exports.v65 = v65; - exports.v66 = v66; - exports.v67 = v67; - exports.v68 = v68; - exports.v69 = v69; - exports.v7 = v7; - exports.v70 = v70; - exports.v71 = v71; - exports.v72 = v72; - exports.v73 = v73; - exports.v74 = v74; - exports.v75 = v75; - exports.v76 = v76; - exports.v77 = v77; - exports.v78 = v78; - exports.v79 = v79; - exports.v8 = v8; - exports.v80 = v80; - exports.v81 = v81; - exports.v82 = v82; - exports.v83 = v83; - exports.v84 = v84; - exports.v85 = v85; - exports.v86 = v86; - exports.v87 = v87; - exports.v88 = v88; - exports.v89 = v89; - exports.v9 = v9; - exports.v90 = v90; - exports.v91 = v91; - exports.v92 = v92; - exports.v93 = v93; - exports.v94 = v94; - exports.v95 = v95; - exports.v96 = v96; - exports.v97 = v97; - exports.v98 = v98; - exports.v99 = v99; - -}); diff --git a/test/chunking-form/samples/sanitize-internal-exports/_expected/amd/generated-lazy.js b/test/chunking-form/samples/sanitize-internal-exports/_expected/amd/generated-lazy.js index 0f399e25ebf..2a891f78402 100644 --- a/test/chunking-form/samples/sanitize-internal-exports/_expected/amd/generated-lazy.js +++ b/test/chunking-form/samples/sanitize-internal-exports/_expected/amd/generated-lazy.js @@ -1,6 +1,6 @@ -define(['exports', './generated-constants'], function (exports, constants) { 'use strict'; +define(['exports', './main'], function (exports, main) { 'use strict'; - var lazy = () => constants.v1; + var lazy = () => main.v1; exports.default = lazy; diff --git a/test/chunking-form/samples/sanitize-internal-exports/_expected/amd/main.js b/test/chunking-form/samples/sanitize-internal-exports/_expected/amd/main.js index b301e43cc8a..8e5567e744a 100644 --- a/test/chunking-form/samples/sanitize-internal-exports/_expected/amd/main.js +++ b/test/chunking-form/samples/sanitize-internal-exports/_expected/amd/main.js @@ -1,280 +1,553 @@ -define(['require', 'exports', './generated-constants'], function (require, exports, constants) { 'use strict'; +define(['require', 'exports'], function (require, exports) { 'use strict'; + + var v1, + v2, + v3, + v4, + v5, + v6, + v7, + v8, + v9, + v10, + v11, + v12, + v13, + v14, + v15, + v16, + v17, + v18, + v19, + v20, + v21, + v22, + v23, + v24, + v25, + v26, + v27, + v28, + v29, + v30, + v31, + v32, + v33, + v34, + v35, + v36, + v37, + v38, + v39, + v40, + v41, + v42, + v43, + v44, + v45, + v46, + v47, + v48, + v49, + v50, + v51, + v52, + v53, + v54, + v55, + v56, + v57, + v58, + v59, + v60, + v61, + v62, + v63, + v64, + v65, + v66, + v67, + v68, + v69, + v70, + v71, + v72, + v73, + v74, + v75, + v76, + v77, + v78, + v79, + v80, + v81, + v82, + v83, + v84, + v85, + v86, + v87, + v88, + v89, + v90, + v91, + v92, + v93, + v94, + v95, + v96, + v97, + v98, + v99, + v100, + v101, + v102, + v103, + v104, + v105, + v106, + v107, + v108, + v109, + v110, + v111, + v112, + v113, + v114, + v115, + v116, + v117, + v118, + v119, + v120, + v121, + v122, + v123, + v124, + v125, + v126, + v127, + v128, + v129, + v130, + v131, + v132, + v133, + v134, + v135, + v136, + v137, + v138, + v139, + v140, + v141, + v142, + v143, + v144, + v145, + v146, + v147, + v148, + v149, + v150, + v151, + v152, + v153, + v154, + v155, + v156, + v157, + v158, + v159, + v160, + v161, + v162, + v163, + v164, + v165, + v166, + v167, + v168, + v169, + v170, + v171, + v172, + v173, + v174, + v175, + v176, + v177, + v178, + v179, + v180, + v181, + v182, + v183, + v184, + v185, + v186, + v187, + v188, + v189, + v190, + v191, + v192, + v193, + v194, + v195, + v196, + v197, + v198, + v199, + v200, + v201, + v202, + v203, + v204, + v205, + v206, + v207, + v208, + v209, + v210, + v211, + v212, + v213, + v214, + v215, + v216, + v217, + v218, + v219, + v220, + v221, + v222, + v223, + v224, + v225, + v226, + v227, + v228, + v229, + v230, + v231, + v232, + v233, + v234, + v235, + v236, + v237, + v238, + v239, + v240, + v241, + v242, + v243, + v244, + v245, + v246, + v247, + v248, + v249, + v250, + v251, + v252, + v253, + v254, + v255, + v256, + v257, + v258, + v259, + v260, + v261, + v262, + v263, + v264, + v265, + v266, + v267, + v268, + v269, + v270, + v271, + v272; const lazy = new Promise(function (resolve, reject) { require(['./generated-lazy'], resolve, reject) }); - exports.v1 = constants.v1; - exports.v10 = constants.v10; - exports.v100 = constants.v100; - exports.v101 = constants.v101; - exports.v102 = constants.v102; - exports.v103 = constants.v103; - exports.v104 = constants.v104; - exports.v105 = constants.v105; - exports.v106 = constants.v106; - exports.v107 = constants.v107; - exports.v108 = constants.v108; - exports.v109 = constants.v109; - exports.v11 = constants.v11; - exports.v110 = constants.v110; - exports.v111 = constants.v111; - exports.v112 = constants.v112; - exports.v113 = constants.v113; - exports.v114 = constants.v114; - exports.v115 = constants.v115; - exports.v116 = constants.v116; - exports.v117 = constants.v117; - exports.v118 = constants.v118; - exports.v119 = constants.v119; - exports.v12 = constants.v12; - exports.v120 = constants.v120; - exports.v121 = constants.v121; - exports.v122 = constants.v122; - exports.v123 = constants.v123; - exports.v124 = constants.v124; - exports.v125 = constants.v125; - exports.v126 = constants.v126; - exports.v127 = constants.v127; - exports.v128 = constants.v128; - exports.v129 = constants.v129; - exports.v13 = constants.v13; - exports.v130 = constants.v130; - exports.v131 = constants.v131; - exports.v132 = constants.v132; - exports.v133 = constants.v133; - exports.v134 = constants.v134; - exports.v135 = constants.v135; - exports.v136 = constants.v136; - exports.v137 = constants.v137; - exports.v138 = constants.v138; - exports.v139 = constants.v139; - exports.v14 = constants.v14; - exports.v140 = constants.v140; - exports.v141 = constants.v141; - exports.v142 = constants.v142; - exports.v143 = constants.v143; - exports.v144 = constants.v144; - exports.v145 = constants.v145; - exports.v146 = constants.v146; - exports.v147 = constants.v147; - exports.v148 = constants.v148; - exports.v149 = constants.v149; - exports.v15 = constants.v15; - exports.v150 = constants.v150; - exports.v151 = constants.v151; - exports.v152 = constants.v152; - exports.v153 = constants.v153; - exports.v154 = constants.v154; - exports.v155 = constants.v155; - exports.v156 = constants.v156; - exports.v157 = constants.v157; - exports.v158 = constants.v158; - exports.v159 = constants.v159; - exports.v16 = constants.v16; - exports.v160 = constants.v160; - exports.v161 = constants.v161; - exports.v162 = constants.v162; - exports.v163 = constants.v163; - exports.v164 = constants.v164; - exports.v165 = constants.v165; - exports.v166 = constants.v166; - exports.v167 = constants.v167; - exports.v168 = constants.v168; - exports.v169 = constants.v169; - exports.v17 = constants.v17; - exports.v170 = constants.v170; - exports.v171 = constants.v171; - exports.v172 = constants.v172; - exports.v173 = constants.v173; - exports.v174 = constants.v174; - exports.v175 = constants.v175; - exports.v176 = constants.v176; - exports.v177 = constants.v177; - exports.v178 = constants.v178; - exports.v179 = constants.v179; - exports.v18 = constants.v18; - exports.v180 = constants.v180; - exports.v181 = constants.v181; - exports.v182 = constants.v182; - exports.v183 = constants.v183; - exports.v184 = constants.v184; - exports.v185 = constants.v185; - exports.v186 = constants.v186; - exports.v187 = constants.v187; - exports.v188 = constants.v188; - exports.v189 = constants.v189; - exports.v19 = constants.v19; - exports.v190 = constants.v190; - exports.v191 = constants.v191; - exports.v192 = constants.v192; - exports.v193 = constants.v193; - exports.v194 = constants.v194; - exports.v195 = constants.v195; - exports.v196 = constants.v196; - exports.v197 = constants.v197; - exports.v198 = constants.v198; - exports.v199 = constants.v199; - exports.v2 = constants.v2; - exports.v20 = constants.v20; - exports.v200 = constants.v200; - exports.v201 = constants.v201; - exports.v202 = constants.v202; - exports.v203 = constants.v203; - exports.v204 = constants.v204; - exports.v205 = constants.v205; - exports.v206 = constants.v206; - exports.v207 = constants.v207; - exports.v208 = constants.v208; - exports.v209 = constants.v209; - exports.v21 = constants.v21; - exports.v210 = constants.v210; - exports.v211 = constants.v211; - exports.v212 = constants.v212; - exports.v213 = constants.v213; - exports.v214 = constants.v214; - exports.v215 = constants.v215; - exports.v216 = constants.v216; - exports.v217 = constants.v217; - exports.v218 = constants.v218; - exports.v219 = constants.v219; - exports.v22 = constants.v22; - exports.v220 = constants.v220; - exports.v221 = constants.v221; - exports.v222 = constants.v222; - exports.v223 = constants.v223; - exports.v224 = constants.v224; - exports.v225 = constants.v225; - exports.v226 = constants.v226; - exports.v227 = constants.v227; - exports.v228 = constants.v228; - exports.v229 = constants.v229; - exports.v23 = constants.v23; - exports.v230 = constants.v230; - exports.v231 = constants.v231; - exports.v232 = constants.v232; - exports.v233 = constants.v233; - exports.v234 = constants.v234; - exports.v235 = constants.v235; - exports.v236 = constants.v236; - exports.v237 = constants.v237; - exports.v238 = constants.v238; - exports.v239 = constants.v239; - exports.v24 = constants.v24; - exports.v240 = constants.v240; - exports.v241 = constants.v241; - exports.v242 = constants.v242; - exports.v243 = constants.v243; - exports.v244 = constants.v244; - exports.v245 = constants.v245; - exports.v246 = constants.v246; - exports.v247 = constants.v247; - exports.v248 = constants.v248; - exports.v249 = constants.v249; - exports.v25 = constants.v25; - exports.v250 = constants.v250; - exports.v251 = constants.v251; - exports.v252 = constants.v252; - exports.v253 = constants.v253; - exports.v254 = constants.v254; - exports.v255 = constants.v255; - exports.v256 = constants.v256; - exports.v257 = constants.v257; - exports.v258 = constants.v258; - exports.v259 = constants.v259; - exports.v26 = constants.v26; - exports.v260 = constants.v260; - exports.v261 = constants.v261; - exports.v262 = constants.v262; - exports.v263 = constants.v263; - exports.v264 = constants.v264; - exports.v265 = constants.v265; - exports.v266 = constants.v266; - exports.v267 = constants.v267; - exports.v268 = constants.v268; - exports.v269 = constants.v269; - exports.v27 = constants.v27; - exports.v270 = constants.v270; - exports.v271 = constants.v271; - exports.v272 = constants.v272; - exports.v28 = constants.v28; - exports.v29 = constants.v29; - exports.v3 = constants.v3; - exports.v30 = constants.v30; - exports.v31 = constants.v31; - exports.v32 = constants.v32; - exports.v33 = constants.v33; - exports.v34 = constants.v34; - exports.v35 = constants.v35; - exports.v36 = constants.v36; - exports.v37 = constants.v37; - exports.v38 = constants.v38; - exports.v39 = constants.v39; - exports.v4 = constants.v4; - exports.v40 = constants.v40; - exports.v41 = constants.v41; - exports.v42 = constants.v42; - exports.v43 = constants.v43; - exports.v44 = constants.v44; - exports.v45 = constants.v45; - exports.v46 = constants.v46; - exports.v47 = constants.v47; - exports.v48 = constants.v48; - exports.v49 = constants.v49; - exports.v5 = constants.v5; - exports.v50 = constants.v50; - exports.v51 = constants.v51; - exports.v52 = constants.v52; - exports.v53 = constants.v53; - exports.v54 = constants.v54; - exports.v55 = constants.v55; - exports.v56 = constants.v56; - exports.v57 = constants.v57; - exports.v58 = constants.v58; - exports.v59 = constants.v59; - exports.v6 = constants.v6; - exports.v60 = constants.v60; - exports.v61 = constants.v61; - exports.v62 = constants.v62; - exports.v63 = constants.v63; - exports.v64 = constants.v64; - exports.v65 = constants.v65; - exports.v66 = constants.v66; - exports.v67 = constants.v67; - exports.v68 = constants.v68; - exports.v69 = constants.v69; - exports.v7 = constants.v7; - exports.v70 = constants.v70; - exports.v71 = constants.v71; - exports.v72 = constants.v72; - exports.v73 = constants.v73; - exports.v74 = constants.v74; - exports.v75 = constants.v75; - exports.v76 = constants.v76; - exports.v77 = constants.v77; - exports.v78 = constants.v78; - exports.v79 = constants.v79; - exports.v8 = constants.v8; - exports.v80 = constants.v80; - exports.v81 = constants.v81; - exports.v82 = constants.v82; - exports.v83 = constants.v83; - exports.v84 = constants.v84; - exports.v85 = constants.v85; - exports.v86 = constants.v86; - exports.v87 = constants.v87; - exports.v88 = constants.v88; - exports.v89 = constants.v89; - exports.v9 = constants.v9; - exports.v90 = constants.v90; - exports.v91 = constants.v91; - exports.v92 = constants.v92; - exports.v93 = constants.v93; - exports.v94 = constants.v94; - exports.v95 = constants.v95; - exports.v96 = constants.v96; - exports.v97 = constants.v97; - exports.v98 = constants.v98; - exports.v99 = constants.v99; exports.lazy = lazy; + exports.v1 = v1; + exports.v10 = v10; + exports.v100 = v100; + exports.v101 = v101; + exports.v102 = v102; + exports.v103 = v103; + exports.v104 = v104; + exports.v105 = v105; + exports.v106 = v106; + exports.v107 = v107; + exports.v108 = v108; + exports.v109 = v109; + exports.v11 = v11; + exports.v110 = v110; + exports.v111 = v111; + exports.v112 = v112; + exports.v113 = v113; + exports.v114 = v114; + exports.v115 = v115; + exports.v116 = v116; + exports.v117 = v117; + exports.v118 = v118; + exports.v119 = v119; + exports.v12 = v12; + exports.v120 = v120; + exports.v121 = v121; + exports.v122 = v122; + exports.v123 = v123; + exports.v124 = v124; + exports.v125 = v125; + exports.v126 = v126; + exports.v127 = v127; + exports.v128 = v128; + exports.v129 = v129; + exports.v13 = v13; + exports.v130 = v130; + exports.v131 = v131; + exports.v132 = v132; + exports.v133 = v133; + exports.v134 = v134; + exports.v135 = v135; + exports.v136 = v136; + exports.v137 = v137; + exports.v138 = v138; + exports.v139 = v139; + exports.v14 = v14; + exports.v140 = v140; + exports.v141 = v141; + exports.v142 = v142; + exports.v143 = v143; + exports.v144 = v144; + exports.v145 = v145; + exports.v146 = v146; + exports.v147 = v147; + exports.v148 = v148; + exports.v149 = v149; + exports.v15 = v15; + exports.v150 = v150; + exports.v151 = v151; + exports.v152 = v152; + exports.v153 = v153; + exports.v154 = v154; + exports.v155 = v155; + exports.v156 = v156; + exports.v157 = v157; + exports.v158 = v158; + exports.v159 = v159; + exports.v16 = v16; + exports.v160 = v160; + exports.v161 = v161; + exports.v162 = v162; + exports.v163 = v163; + exports.v164 = v164; + exports.v165 = v165; + exports.v166 = v166; + exports.v167 = v167; + exports.v168 = v168; + exports.v169 = v169; + exports.v17 = v17; + exports.v170 = v170; + exports.v171 = v171; + exports.v172 = v172; + exports.v173 = v173; + exports.v174 = v174; + exports.v175 = v175; + exports.v176 = v176; + exports.v177 = v177; + exports.v178 = v178; + exports.v179 = v179; + exports.v18 = v18; + exports.v180 = v180; + exports.v181 = v181; + exports.v182 = v182; + exports.v183 = v183; + exports.v184 = v184; + exports.v185 = v185; + exports.v186 = v186; + exports.v187 = v187; + exports.v188 = v188; + exports.v189 = v189; + exports.v19 = v19; + exports.v190 = v190; + exports.v191 = v191; + exports.v192 = v192; + exports.v193 = v193; + exports.v194 = v194; + exports.v195 = v195; + exports.v196 = v196; + exports.v197 = v197; + exports.v198 = v198; + exports.v199 = v199; + exports.v2 = v2; + exports.v20 = v20; + exports.v200 = v200; + exports.v201 = v201; + exports.v202 = v202; + exports.v203 = v203; + exports.v204 = v204; + exports.v205 = v205; + exports.v206 = v206; + exports.v207 = v207; + exports.v208 = v208; + exports.v209 = v209; + exports.v21 = v21; + exports.v210 = v210; + exports.v211 = v211; + exports.v212 = v212; + exports.v213 = v213; + exports.v214 = v214; + exports.v215 = v215; + exports.v216 = v216; + exports.v217 = v217; + exports.v218 = v218; + exports.v219 = v219; + exports.v22 = v22; + exports.v220 = v220; + exports.v221 = v221; + exports.v222 = v222; + exports.v223 = v223; + exports.v224 = v224; + exports.v225 = v225; + exports.v226 = v226; + exports.v227 = v227; + exports.v228 = v228; + exports.v229 = v229; + exports.v23 = v23; + exports.v230 = v230; + exports.v231 = v231; + exports.v232 = v232; + exports.v233 = v233; + exports.v234 = v234; + exports.v235 = v235; + exports.v236 = v236; + exports.v237 = v237; + exports.v238 = v238; + exports.v239 = v239; + exports.v24 = v24; + exports.v240 = v240; + exports.v241 = v241; + exports.v242 = v242; + exports.v243 = v243; + exports.v244 = v244; + exports.v245 = v245; + exports.v246 = v246; + exports.v247 = v247; + exports.v248 = v248; + exports.v249 = v249; + exports.v25 = v25; + exports.v250 = v250; + exports.v251 = v251; + exports.v252 = v252; + exports.v253 = v253; + exports.v254 = v254; + exports.v255 = v255; + exports.v256 = v256; + exports.v257 = v257; + exports.v258 = v258; + exports.v259 = v259; + exports.v26 = v26; + exports.v260 = v260; + exports.v261 = v261; + exports.v262 = v262; + exports.v263 = v263; + exports.v264 = v264; + exports.v265 = v265; + exports.v266 = v266; + exports.v267 = v267; + exports.v268 = v268; + exports.v269 = v269; + exports.v27 = v27; + exports.v270 = v270; + exports.v271 = v271; + exports.v272 = v272; + exports.v28 = v28; + exports.v29 = v29; + exports.v3 = v3; + exports.v30 = v30; + exports.v31 = v31; + exports.v32 = v32; + exports.v33 = v33; + exports.v34 = v34; + exports.v35 = v35; + exports.v36 = v36; + exports.v37 = v37; + exports.v38 = v38; + exports.v39 = v39; + exports.v4 = v4; + exports.v40 = v40; + exports.v41 = v41; + exports.v42 = v42; + exports.v43 = v43; + exports.v44 = v44; + exports.v45 = v45; + exports.v46 = v46; + exports.v47 = v47; + exports.v48 = v48; + exports.v49 = v49; + exports.v5 = v5; + exports.v50 = v50; + exports.v51 = v51; + exports.v52 = v52; + exports.v53 = v53; + exports.v54 = v54; + exports.v55 = v55; + exports.v56 = v56; + exports.v57 = v57; + exports.v58 = v58; + exports.v59 = v59; + exports.v6 = v6; + exports.v60 = v60; + exports.v61 = v61; + exports.v62 = v62; + exports.v63 = v63; + exports.v64 = v64; + exports.v65 = v65; + exports.v66 = v66; + exports.v67 = v67; + exports.v68 = v68; + exports.v69 = v69; + exports.v7 = v7; + exports.v70 = v70; + exports.v71 = v71; + exports.v72 = v72; + exports.v73 = v73; + exports.v74 = v74; + exports.v75 = v75; + exports.v76 = v76; + exports.v77 = v77; + exports.v78 = v78; + exports.v79 = v79; + exports.v8 = v8; + exports.v80 = v80; + exports.v81 = v81; + exports.v82 = v82; + exports.v83 = v83; + exports.v84 = v84; + exports.v85 = v85; + exports.v86 = v86; + exports.v87 = v87; + exports.v88 = v88; + exports.v89 = v89; + exports.v9 = v9; + exports.v90 = v90; + exports.v91 = v91; + exports.v92 = v92; + exports.v93 = v93; + exports.v94 = v94; + exports.v95 = v95; + exports.v96 = v96; + exports.v97 = v97; + exports.v98 = v98; + exports.v99 = v99; Object.defineProperty(exports, '__esModule', { value: true }); diff --git a/test/chunking-form/samples/sanitize-internal-exports/_expected/cjs/generated-constants.js b/test/chunking-form/samples/sanitize-internal-exports/_expected/cjs/generated-constants.js deleted file mode 100644 index 605ce9b90ec..00000000000 --- a/test/chunking-form/samples/sanitize-internal-exports/_expected/cjs/generated-constants.js +++ /dev/null @@ -1,547 +0,0 @@ -'use strict'; - -var v1, - v2, - v3, - v4, - v5, - v6, - v7, - v8, - v9, - v10, - v11, - v12, - v13, - v14, - v15, - v16, - v17, - v18, - v19, - v20, - v21, - v22, - v23, - v24, - v25, - v26, - v27, - v28, - v29, - v30, - v31, - v32, - v33, - v34, - v35, - v36, - v37, - v38, - v39, - v40, - v41, - v42, - v43, - v44, - v45, - v46, - v47, - v48, - v49, - v50, - v51, - v52, - v53, - v54, - v55, - v56, - v57, - v58, - v59, - v60, - v61, - v62, - v63, - v64, - v65, - v66, - v67, - v68, - v69, - v70, - v71, - v72, - v73, - v74, - v75, - v76, - v77, - v78, - v79, - v80, - v81, - v82, - v83, - v84, - v85, - v86, - v87, - v88, - v89, - v90, - v91, - v92, - v93, - v94, - v95, - v96, - v97, - v98, - v99, - v100, - v101, - v102, - v103, - v104, - v105, - v106, - v107, - v108, - v109, - v110, - v111, - v112, - v113, - v114, - v115, - v116, - v117, - v118, - v119, - v120, - v121, - v122, - v123, - v124, - v125, - v126, - v127, - v128, - v129, - v130, - v131, - v132, - v133, - v134, - v135, - v136, - v137, - v138, - v139, - v140, - v141, - v142, - v143, - v144, - v145, - v146, - v147, - v148, - v149, - v150, - v151, - v152, - v153, - v154, - v155, - v156, - v157, - v158, - v159, - v160, - v161, - v162, - v163, - v164, - v165, - v166, - v167, - v168, - v169, - v170, - v171, - v172, - v173, - v174, - v175, - v176, - v177, - v178, - v179, - v180, - v181, - v182, - v183, - v184, - v185, - v186, - v187, - v188, - v189, - v190, - v191, - v192, - v193, - v194, - v195, - v196, - v197, - v198, - v199, - v200, - v201, - v202, - v203, - v204, - v205, - v206, - v207, - v208, - v209, - v210, - v211, - v212, - v213, - v214, - v215, - v216, - v217, - v218, - v219, - v220, - v221, - v222, - v223, - v224, - v225, - v226, - v227, - v228, - v229, - v230, - v231, - v232, - v233, - v234, - v235, - v236, - v237, - v238, - v239, - v240, - v241, - v242, - v243, - v244, - v245, - v246, - v247, - v248, - v249, - v250, - v251, - v252, - v253, - v254, - v255, - v256, - v257, - v258, - v259, - v260, - v261, - v262, - v263, - v264, - v265, - v266, - v267, - v268, - v269, - v270, - v271, - v272; - -exports.v1 = v1; -exports.v10 = v10; -exports.v100 = v100; -exports.v101 = v101; -exports.v102 = v102; -exports.v103 = v103; -exports.v104 = v104; -exports.v105 = v105; -exports.v106 = v106; -exports.v107 = v107; -exports.v108 = v108; -exports.v109 = v109; -exports.v11 = v11; -exports.v110 = v110; -exports.v111 = v111; -exports.v112 = v112; -exports.v113 = v113; -exports.v114 = v114; -exports.v115 = v115; -exports.v116 = v116; -exports.v117 = v117; -exports.v118 = v118; -exports.v119 = v119; -exports.v12 = v12; -exports.v120 = v120; -exports.v121 = v121; -exports.v122 = v122; -exports.v123 = v123; -exports.v124 = v124; -exports.v125 = v125; -exports.v126 = v126; -exports.v127 = v127; -exports.v128 = v128; -exports.v129 = v129; -exports.v13 = v13; -exports.v130 = v130; -exports.v131 = v131; -exports.v132 = v132; -exports.v133 = v133; -exports.v134 = v134; -exports.v135 = v135; -exports.v136 = v136; -exports.v137 = v137; -exports.v138 = v138; -exports.v139 = v139; -exports.v14 = v14; -exports.v140 = v140; -exports.v141 = v141; -exports.v142 = v142; -exports.v143 = v143; -exports.v144 = v144; -exports.v145 = v145; -exports.v146 = v146; -exports.v147 = v147; -exports.v148 = v148; -exports.v149 = v149; -exports.v15 = v15; -exports.v150 = v150; -exports.v151 = v151; -exports.v152 = v152; -exports.v153 = v153; -exports.v154 = v154; -exports.v155 = v155; -exports.v156 = v156; -exports.v157 = v157; -exports.v158 = v158; -exports.v159 = v159; -exports.v16 = v16; -exports.v160 = v160; -exports.v161 = v161; -exports.v162 = v162; -exports.v163 = v163; -exports.v164 = v164; -exports.v165 = v165; -exports.v166 = v166; -exports.v167 = v167; -exports.v168 = v168; -exports.v169 = v169; -exports.v17 = v17; -exports.v170 = v170; -exports.v171 = v171; -exports.v172 = v172; -exports.v173 = v173; -exports.v174 = v174; -exports.v175 = v175; -exports.v176 = v176; -exports.v177 = v177; -exports.v178 = v178; -exports.v179 = v179; -exports.v18 = v18; -exports.v180 = v180; -exports.v181 = v181; -exports.v182 = v182; -exports.v183 = v183; -exports.v184 = v184; -exports.v185 = v185; -exports.v186 = v186; -exports.v187 = v187; -exports.v188 = v188; -exports.v189 = v189; -exports.v19 = v19; -exports.v190 = v190; -exports.v191 = v191; -exports.v192 = v192; -exports.v193 = v193; -exports.v194 = v194; -exports.v195 = v195; -exports.v196 = v196; -exports.v197 = v197; -exports.v198 = v198; -exports.v199 = v199; -exports.v2 = v2; -exports.v20 = v20; -exports.v200 = v200; -exports.v201 = v201; -exports.v202 = v202; -exports.v203 = v203; -exports.v204 = v204; -exports.v205 = v205; -exports.v206 = v206; -exports.v207 = v207; -exports.v208 = v208; -exports.v209 = v209; -exports.v21 = v21; -exports.v210 = v210; -exports.v211 = v211; -exports.v212 = v212; -exports.v213 = v213; -exports.v214 = v214; -exports.v215 = v215; -exports.v216 = v216; -exports.v217 = v217; -exports.v218 = v218; -exports.v219 = v219; -exports.v22 = v22; -exports.v220 = v220; -exports.v221 = v221; -exports.v222 = v222; -exports.v223 = v223; -exports.v224 = v224; -exports.v225 = v225; -exports.v226 = v226; -exports.v227 = v227; -exports.v228 = v228; -exports.v229 = v229; -exports.v23 = v23; -exports.v230 = v230; -exports.v231 = v231; -exports.v232 = v232; -exports.v233 = v233; -exports.v234 = v234; -exports.v235 = v235; -exports.v236 = v236; -exports.v237 = v237; -exports.v238 = v238; -exports.v239 = v239; -exports.v24 = v24; -exports.v240 = v240; -exports.v241 = v241; -exports.v242 = v242; -exports.v243 = v243; -exports.v244 = v244; -exports.v245 = v245; -exports.v246 = v246; -exports.v247 = v247; -exports.v248 = v248; -exports.v249 = v249; -exports.v25 = v25; -exports.v250 = v250; -exports.v251 = v251; -exports.v252 = v252; -exports.v253 = v253; -exports.v254 = v254; -exports.v255 = v255; -exports.v256 = v256; -exports.v257 = v257; -exports.v258 = v258; -exports.v259 = v259; -exports.v26 = v26; -exports.v260 = v260; -exports.v261 = v261; -exports.v262 = v262; -exports.v263 = v263; -exports.v264 = v264; -exports.v265 = v265; -exports.v266 = v266; -exports.v267 = v267; -exports.v268 = v268; -exports.v269 = v269; -exports.v27 = v27; -exports.v270 = v270; -exports.v271 = v271; -exports.v272 = v272; -exports.v28 = v28; -exports.v29 = v29; -exports.v3 = v3; -exports.v30 = v30; -exports.v31 = v31; -exports.v32 = v32; -exports.v33 = v33; -exports.v34 = v34; -exports.v35 = v35; -exports.v36 = v36; -exports.v37 = v37; -exports.v38 = v38; -exports.v39 = v39; -exports.v4 = v4; -exports.v40 = v40; -exports.v41 = v41; -exports.v42 = v42; -exports.v43 = v43; -exports.v44 = v44; -exports.v45 = v45; -exports.v46 = v46; -exports.v47 = v47; -exports.v48 = v48; -exports.v49 = v49; -exports.v5 = v5; -exports.v50 = v50; -exports.v51 = v51; -exports.v52 = v52; -exports.v53 = v53; -exports.v54 = v54; -exports.v55 = v55; -exports.v56 = v56; -exports.v57 = v57; -exports.v58 = v58; -exports.v59 = v59; -exports.v6 = v6; -exports.v60 = v60; -exports.v61 = v61; -exports.v62 = v62; -exports.v63 = v63; -exports.v64 = v64; -exports.v65 = v65; -exports.v66 = v66; -exports.v67 = v67; -exports.v68 = v68; -exports.v69 = v69; -exports.v7 = v7; -exports.v70 = v70; -exports.v71 = v71; -exports.v72 = v72; -exports.v73 = v73; -exports.v74 = v74; -exports.v75 = v75; -exports.v76 = v76; -exports.v77 = v77; -exports.v78 = v78; -exports.v79 = v79; -exports.v8 = v8; -exports.v80 = v80; -exports.v81 = v81; -exports.v82 = v82; -exports.v83 = v83; -exports.v84 = v84; -exports.v85 = v85; -exports.v86 = v86; -exports.v87 = v87; -exports.v88 = v88; -exports.v89 = v89; -exports.v9 = v9; -exports.v90 = v90; -exports.v91 = v91; -exports.v92 = v92; -exports.v93 = v93; -exports.v94 = v94; -exports.v95 = v95; -exports.v96 = v96; -exports.v97 = v97; -exports.v98 = v98; -exports.v99 = v99; diff --git a/test/chunking-form/samples/sanitize-internal-exports/_expected/cjs/generated-lazy.js b/test/chunking-form/samples/sanitize-internal-exports/_expected/cjs/generated-lazy.js index 39df6fd6001..fdaab011450 100644 --- a/test/chunking-form/samples/sanitize-internal-exports/_expected/cjs/generated-lazy.js +++ b/test/chunking-form/samples/sanitize-internal-exports/_expected/cjs/generated-lazy.js @@ -1,7 +1,7 @@ 'use strict'; -var constants = require('./generated-constants.js'); +var main = require('./main.js'); -var lazy = () => constants.v1; +var lazy = () => main.v1; exports.default = lazy; diff --git a/test/chunking-form/samples/sanitize-internal-exports/_expected/cjs/main.js b/test/chunking-form/samples/sanitize-internal-exports/_expected/cjs/main.js index 45d50ce8b88..419204a47ac 100644 --- a/test/chunking-form/samples/sanitize-internal-exports/_expected/cjs/main.js +++ b/test/chunking-form/samples/sanitize-internal-exports/_expected/cjs/main.js @@ -2,280 +2,551 @@ Object.defineProperty(exports, '__esModule', { value: true }); -var constants = require('./generated-constants.js'); +var v1, + v2, + v3, + v4, + v5, + v6, + v7, + v8, + v9, + v10, + v11, + v12, + v13, + v14, + v15, + v16, + v17, + v18, + v19, + v20, + v21, + v22, + v23, + v24, + v25, + v26, + v27, + v28, + v29, + v30, + v31, + v32, + v33, + v34, + v35, + v36, + v37, + v38, + v39, + v40, + v41, + v42, + v43, + v44, + v45, + v46, + v47, + v48, + v49, + v50, + v51, + v52, + v53, + v54, + v55, + v56, + v57, + v58, + v59, + v60, + v61, + v62, + v63, + v64, + v65, + v66, + v67, + v68, + v69, + v70, + v71, + v72, + v73, + v74, + v75, + v76, + v77, + v78, + v79, + v80, + v81, + v82, + v83, + v84, + v85, + v86, + v87, + v88, + v89, + v90, + v91, + v92, + v93, + v94, + v95, + v96, + v97, + v98, + v99, + v100, + v101, + v102, + v103, + v104, + v105, + v106, + v107, + v108, + v109, + v110, + v111, + v112, + v113, + v114, + v115, + v116, + v117, + v118, + v119, + v120, + v121, + v122, + v123, + v124, + v125, + v126, + v127, + v128, + v129, + v130, + v131, + v132, + v133, + v134, + v135, + v136, + v137, + v138, + v139, + v140, + v141, + v142, + v143, + v144, + v145, + v146, + v147, + v148, + v149, + v150, + v151, + v152, + v153, + v154, + v155, + v156, + v157, + v158, + v159, + v160, + v161, + v162, + v163, + v164, + v165, + v166, + v167, + v168, + v169, + v170, + v171, + v172, + v173, + v174, + v175, + v176, + v177, + v178, + v179, + v180, + v181, + v182, + v183, + v184, + v185, + v186, + v187, + v188, + v189, + v190, + v191, + v192, + v193, + v194, + v195, + v196, + v197, + v198, + v199, + v200, + v201, + v202, + v203, + v204, + v205, + v206, + v207, + v208, + v209, + v210, + v211, + v212, + v213, + v214, + v215, + v216, + v217, + v218, + v219, + v220, + v221, + v222, + v223, + v224, + v225, + v226, + v227, + v228, + v229, + v230, + v231, + v232, + v233, + v234, + v235, + v236, + v237, + v238, + v239, + v240, + v241, + v242, + v243, + v244, + v245, + v246, + v247, + v248, + v249, + v250, + v251, + v252, + v253, + v254, + v255, + v256, + v257, + v258, + v259, + v260, + v261, + v262, + v263, + v264, + v265, + v266, + v267, + v268, + v269, + v270, + v271, + v272; const lazy = new Promise(function (resolve) { resolve(require('./generated-lazy.js')); }); -exports.v1 = constants.v1; -exports.v10 = constants.v10; -exports.v100 = constants.v100; -exports.v101 = constants.v101; -exports.v102 = constants.v102; -exports.v103 = constants.v103; -exports.v104 = constants.v104; -exports.v105 = constants.v105; -exports.v106 = constants.v106; -exports.v107 = constants.v107; -exports.v108 = constants.v108; -exports.v109 = constants.v109; -exports.v11 = constants.v11; -exports.v110 = constants.v110; -exports.v111 = constants.v111; -exports.v112 = constants.v112; -exports.v113 = constants.v113; -exports.v114 = constants.v114; -exports.v115 = constants.v115; -exports.v116 = constants.v116; -exports.v117 = constants.v117; -exports.v118 = constants.v118; -exports.v119 = constants.v119; -exports.v12 = constants.v12; -exports.v120 = constants.v120; -exports.v121 = constants.v121; -exports.v122 = constants.v122; -exports.v123 = constants.v123; -exports.v124 = constants.v124; -exports.v125 = constants.v125; -exports.v126 = constants.v126; -exports.v127 = constants.v127; -exports.v128 = constants.v128; -exports.v129 = constants.v129; -exports.v13 = constants.v13; -exports.v130 = constants.v130; -exports.v131 = constants.v131; -exports.v132 = constants.v132; -exports.v133 = constants.v133; -exports.v134 = constants.v134; -exports.v135 = constants.v135; -exports.v136 = constants.v136; -exports.v137 = constants.v137; -exports.v138 = constants.v138; -exports.v139 = constants.v139; -exports.v14 = constants.v14; -exports.v140 = constants.v140; -exports.v141 = constants.v141; -exports.v142 = constants.v142; -exports.v143 = constants.v143; -exports.v144 = constants.v144; -exports.v145 = constants.v145; -exports.v146 = constants.v146; -exports.v147 = constants.v147; -exports.v148 = constants.v148; -exports.v149 = constants.v149; -exports.v15 = constants.v15; -exports.v150 = constants.v150; -exports.v151 = constants.v151; -exports.v152 = constants.v152; -exports.v153 = constants.v153; -exports.v154 = constants.v154; -exports.v155 = constants.v155; -exports.v156 = constants.v156; -exports.v157 = constants.v157; -exports.v158 = constants.v158; -exports.v159 = constants.v159; -exports.v16 = constants.v16; -exports.v160 = constants.v160; -exports.v161 = constants.v161; -exports.v162 = constants.v162; -exports.v163 = constants.v163; -exports.v164 = constants.v164; -exports.v165 = constants.v165; -exports.v166 = constants.v166; -exports.v167 = constants.v167; -exports.v168 = constants.v168; -exports.v169 = constants.v169; -exports.v17 = constants.v17; -exports.v170 = constants.v170; -exports.v171 = constants.v171; -exports.v172 = constants.v172; -exports.v173 = constants.v173; -exports.v174 = constants.v174; -exports.v175 = constants.v175; -exports.v176 = constants.v176; -exports.v177 = constants.v177; -exports.v178 = constants.v178; -exports.v179 = constants.v179; -exports.v18 = constants.v18; -exports.v180 = constants.v180; -exports.v181 = constants.v181; -exports.v182 = constants.v182; -exports.v183 = constants.v183; -exports.v184 = constants.v184; -exports.v185 = constants.v185; -exports.v186 = constants.v186; -exports.v187 = constants.v187; -exports.v188 = constants.v188; -exports.v189 = constants.v189; -exports.v19 = constants.v19; -exports.v190 = constants.v190; -exports.v191 = constants.v191; -exports.v192 = constants.v192; -exports.v193 = constants.v193; -exports.v194 = constants.v194; -exports.v195 = constants.v195; -exports.v196 = constants.v196; -exports.v197 = constants.v197; -exports.v198 = constants.v198; -exports.v199 = constants.v199; -exports.v2 = constants.v2; -exports.v20 = constants.v20; -exports.v200 = constants.v200; -exports.v201 = constants.v201; -exports.v202 = constants.v202; -exports.v203 = constants.v203; -exports.v204 = constants.v204; -exports.v205 = constants.v205; -exports.v206 = constants.v206; -exports.v207 = constants.v207; -exports.v208 = constants.v208; -exports.v209 = constants.v209; -exports.v21 = constants.v21; -exports.v210 = constants.v210; -exports.v211 = constants.v211; -exports.v212 = constants.v212; -exports.v213 = constants.v213; -exports.v214 = constants.v214; -exports.v215 = constants.v215; -exports.v216 = constants.v216; -exports.v217 = constants.v217; -exports.v218 = constants.v218; -exports.v219 = constants.v219; -exports.v22 = constants.v22; -exports.v220 = constants.v220; -exports.v221 = constants.v221; -exports.v222 = constants.v222; -exports.v223 = constants.v223; -exports.v224 = constants.v224; -exports.v225 = constants.v225; -exports.v226 = constants.v226; -exports.v227 = constants.v227; -exports.v228 = constants.v228; -exports.v229 = constants.v229; -exports.v23 = constants.v23; -exports.v230 = constants.v230; -exports.v231 = constants.v231; -exports.v232 = constants.v232; -exports.v233 = constants.v233; -exports.v234 = constants.v234; -exports.v235 = constants.v235; -exports.v236 = constants.v236; -exports.v237 = constants.v237; -exports.v238 = constants.v238; -exports.v239 = constants.v239; -exports.v24 = constants.v24; -exports.v240 = constants.v240; -exports.v241 = constants.v241; -exports.v242 = constants.v242; -exports.v243 = constants.v243; -exports.v244 = constants.v244; -exports.v245 = constants.v245; -exports.v246 = constants.v246; -exports.v247 = constants.v247; -exports.v248 = constants.v248; -exports.v249 = constants.v249; -exports.v25 = constants.v25; -exports.v250 = constants.v250; -exports.v251 = constants.v251; -exports.v252 = constants.v252; -exports.v253 = constants.v253; -exports.v254 = constants.v254; -exports.v255 = constants.v255; -exports.v256 = constants.v256; -exports.v257 = constants.v257; -exports.v258 = constants.v258; -exports.v259 = constants.v259; -exports.v26 = constants.v26; -exports.v260 = constants.v260; -exports.v261 = constants.v261; -exports.v262 = constants.v262; -exports.v263 = constants.v263; -exports.v264 = constants.v264; -exports.v265 = constants.v265; -exports.v266 = constants.v266; -exports.v267 = constants.v267; -exports.v268 = constants.v268; -exports.v269 = constants.v269; -exports.v27 = constants.v27; -exports.v270 = constants.v270; -exports.v271 = constants.v271; -exports.v272 = constants.v272; -exports.v28 = constants.v28; -exports.v29 = constants.v29; -exports.v3 = constants.v3; -exports.v30 = constants.v30; -exports.v31 = constants.v31; -exports.v32 = constants.v32; -exports.v33 = constants.v33; -exports.v34 = constants.v34; -exports.v35 = constants.v35; -exports.v36 = constants.v36; -exports.v37 = constants.v37; -exports.v38 = constants.v38; -exports.v39 = constants.v39; -exports.v4 = constants.v4; -exports.v40 = constants.v40; -exports.v41 = constants.v41; -exports.v42 = constants.v42; -exports.v43 = constants.v43; -exports.v44 = constants.v44; -exports.v45 = constants.v45; -exports.v46 = constants.v46; -exports.v47 = constants.v47; -exports.v48 = constants.v48; -exports.v49 = constants.v49; -exports.v5 = constants.v5; -exports.v50 = constants.v50; -exports.v51 = constants.v51; -exports.v52 = constants.v52; -exports.v53 = constants.v53; -exports.v54 = constants.v54; -exports.v55 = constants.v55; -exports.v56 = constants.v56; -exports.v57 = constants.v57; -exports.v58 = constants.v58; -exports.v59 = constants.v59; -exports.v6 = constants.v6; -exports.v60 = constants.v60; -exports.v61 = constants.v61; -exports.v62 = constants.v62; -exports.v63 = constants.v63; -exports.v64 = constants.v64; -exports.v65 = constants.v65; -exports.v66 = constants.v66; -exports.v67 = constants.v67; -exports.v68 = constants.v68; -exports.v69 = constants.v69; -exports.v7 = constants.v7; -exports.v70 = constants.v70; -exports.v71 = constants.v71; -exports.v72 = constants.v72; -exports.v73 = constants.v73; -exports.v74 = constants.v74; -exports.v75 = constants.v75; -exports.v76 = constants.v76; -exports.v77 = constants.v77; -exports.v78 = constants.v78; -exports.v79 = constants.v79; -exports.v8 = constants.v8; -exports.v80 = constants.v80; -exports.v81 = constants.v81; -exports.v82 = constants.v82; -exports.v83 = constants.v83; -exports.v84 = constants.v84; -exports.v85 = constants.v85; -exports.v86 = constants.v86; -exports.v87 = constants.v87; -exports.v88 = constants.v88; -exports.v89 = constants.v89; -exports.v9 = constants.v9; -exports.v90 = constants.v90; -exports.v91 = constants.v91; -exports.v92 = constants.v92; -exports.v93 = constants.v93; -exports.v94 = constants.v94; -exports.v95 = constants.v95; -exports.v96 = constants.v96; -exports.v97 = constants.v97; -exports.v98 = constants.v98; -exports.v99 = constants.v99; exports.lazy = lazy; +exports.v1 = v1; +exports.v10 = v10; +exports.v100 = v100; +exports.v101 = v101; +exports.v102 = v102; +exports.v103 = v103; +exports.v104 = v104; +exports.v105 = v105; +exports.v106 = v106; +exports.v107 = v107; +exports.v108 = v108; +exports.v109 = v109; +exports.v11 = v11; +exports.v110 = v110; +exports.v111 = v111; +exports.v112 = v112; +exports.v113 = v113; +exports.v114 = v114; +exports.v115 = v115; +exports.v116 = v116; +exports.v117 = v117; +exports.v118 = v118; +exports.v119 = v119; +exports.v12 = v12; +exports.v120 = v120; +exports.v121 = v121; +exports.v122 = v122; +exports.v123 = v123; +exports.v124 = v124; +exports.v125 = v125; +exports.v126 = v126; +exports.v127 = v127; +exports.v128 = v128; +exports.v129 = v129; +exports.v13 = v13; +exports.v130 = v130; +exports.v131 = v131; +exports.v132 = v132; +exports.v133 = v133; +exports.v134 = v134; +exports.v135 = v135; +exports.v136 = v136; +exports.v137 = v137; +exports.v138 = v138; +exports.v139 = v139; +exports.v14 = v14; +exports.v140 = v140; +exports.v141 = v141; +exports.v142 = v142; +exports.v143 = v143; +exports.v144 = v144; +exports.v145 = v145; +exports.v146 = v146; +exports.v147 = v147; +exports.v148 = v148; +exports.v149 = v149; +exports.v15 = v15; +exports.v150 = v150; +exports.v151 = v151; +exports.v152 = v152; +exports.v153 = v153; +exports.v154 = v154; +exports.v155 = v155; +exports.v156 = v156; +exports.v157 = v157; +exports.v158 = v158; +exports.v159 = v159; +exports.v16 = v16; +exports.v160 = v160; +exports.v161 = v161; +exports.v162 = v162; +exports.v163 = v163; +exports.v164 = v164; +exports.v165 = v165; +exports.v166 = v166; +exports.v167 = v167; +exports.v168 = v168; +exports.v169 = v169; +exports.v17 = v17; +exports.v170 = v170; +exports.v171 = v171; +exports.v172 = v172; +exports.v173 = v173; +exports.v174 = v174; +exports.v175 = v175; +exports.v176 = v176; +exports.v177 = v177; +exports.v178 = v178; +exports.v179 = v179; +exports.v18 = v18; +exports.v180 = v180; +exports.v181 = v181; +exports.v182 = v182; +exports.v183 = v183; +exports.v184 = v184; +exports.v185 = v185; +exports.v186 = v186; +exports.v187 = v187; +exports.v188 = v188; +exports.v189 = v189; +exports.v19 = v19; +exports.v190 = v190; +exports.v191 = v191; +exports.v192 = v192; +exports.v193 = v193; +exports.v194 = v194; +exports.v195 = v195; +exports.v196 = v196; +exports.v197 = v197; +exports.v198 = v198; +exports.v199 = v199; +exports.v2 = v2; +exports.v20 = v20; +exports.v200 = v200; +exports.v201 = v201; +exports.v202 = v202; +exports.v203 = v203; +exports.v204 = v204; +exports.v205 = v205; +exports.v206 = v206; +exports.v207 = v207; +exports.v208 = v208; +exports.v209 = v209; +exports.v21 = v21; +exports.v210 = v210; +exports.v211 = v211; +exports.v212 = v212; +exports.v213 = v213; +exports.v214 = v214; +exports.v215 = v215; +exports.v216 = v216; +exports.v217 = v217; +exports.v218 = v218; +exports.v219 = v219; +exports.v22 = v22; +exports.v220 = v220; +exports.v221 = v221; +exports.v222 = v222; +exports.v223 = v223; +exports.v224 = v224; +exports.v225 = v225; +exports.v226 = v226; +exports.v227 = v227; +exports.v228 = v228; +exports.v229 = v229; +exports.v23 = v23; +exports.v230 = v230; +exports.v231 = v231; +exports.v232 = v232; +exports.v233 = v233; +exports.v234 = v234; +exports.v235 = v235; +exports.v236 = v236; +exports.v237 = v237; +exports.v238 = v238; +exports.v239 = v239; +exports.v24 = v24; +exports.v240 = v240; +exports.v241 = v241; +exports.v242 = v242; +exports.v243 = v243; +exports.v244 = v244; +exports.v245 = v245; +exports.v246 = v246; +exports.v247 = v247; +exports.v248 = v248; +exports.v249 = v249; +exports.v25 = v25; +exports.v250 = v250; +exports.v251 = v251; +exports.v252 = v252; +exports.v253 = v253; +exports.v254 = v254; +exports.v255 = v255; +exports.v256 = v256; +exports.v257 = v257; +exports.v258 = v258; +exports.v259 = v259; +exports.v26 = v26; +exports.v260 = v260; +exports.v261 = v261; +exports.v262 = v262; +exports.v263 = v263; +exports.v264 = v264; +exports.v265 = v265; +exports.v266 = v266; +exports.v267 = v267; +exports.v268 = v268; +exports.v269 = v269; +exports.v27 = v27; +exports.v270 = v270; +exports.v271 = v271; +exports.v272 = v272; +exports.v28 = v28; +exports.v29 = v29; +exports.v3 = v3; +exports.v30 = v30; +exports.v31 = v31; +exports.v32 = v32; +exports.v33 = v33; +exports.v34 = v34; +exports.v35 = v35; +exports.v36 = v36; +exports.v37 = v37; +exports.v38 = v38; +exports.v39 = v39; +exports.v4 = v4; +exports.v40 = v40; +exports.v41 = v41; +exports.v42 = v42; +exports.v43 = v43; +exports.v44 = v44; +exports.v45 = v45; +exports.v46 = v46; +exports.v47 = v47; +exports.v48 = v48; +exports.v49 = v49; +exports.v5 = v5; +exports.v50 = v50; +exports.v51 = v51; +exports.v52 = v52; +exports.v53 = v53; +exports.v54 = v54; +exports.v55 = v55; +exports.v56 = v56; +exports.v57 = v57; +exports.v58 = v58; +exports.v59 = v59; +exports.v6 = v6; +exports.v60 = v60; +exports.v61 = v61; +exports.v62 = v62; +exports.v63 = v63; +exports.v64 = v64; +exports.v65 = v65; +exports.v66 = v66; +exports.v67 = v67; +exports.v68 = v68; +exports.v69 = v69; +exports.v7 = v7; +exports.v70 = v70; +exports.v71 = v71; +exports.v72 = v72; +exports.v73 = v73; +exports.v74 = v74; +exports.v75 = v75; +exports.v76 = v76; +exports.v77 = v77; +exports.v78 = v78; +exports.v79 = v79; +exports.v8 = v8; +exports.v80 = v80; +exports.v81 = v81; +exports.v82 = v82; +exports.v83 = v83; +exports.v84 = v84; +exports.v85 = v85; +exports.v86 = v86; +exports.v87 = v87; +exports.v88 = v88; +exports.v89 = v89; +exports.v9 = v9; +exports.v90 = v90; +exports.v91 = v91; +exports.v92 = v92; +exports.v93 = v93; +exports.v94 = v94; +exports.v95 = v95; +exports.v96 = v96; +exports.v97 = v97; +exports.v98 = v98; +exports.v99 = v99; diff --git a/test/chunking-form/samples/sanitize-internal-exports/_expected/es/generated-constants.js b/test/chunking-form/samples/sanitize-internal-exports/_expected/es/generated-constants.js deleted file mode 100644 index f38d0101d46..00000000000 --- a/test/chunking-form/samples/sanitize-internal-exports/_expected/es/generated-constants.js +++ /dev/null @@ -1,274 +0,0 @@ -var v1, - v2, - v3, - v4, - v5, - v6, - v7, - v8, - v9, - v10, - v11, - v12, - v13, - v14, - v15, - v16, - v17, - v18, - v19, - v20, - v21, - v22, - v23, - v24, - v25, - v26, - v27, - v28, - v29, - v30, - v31, - v32, - v33, - v34, - v35, - v36, - v37, - v38, - v39, - v40, - v41, - v42, - v43, - v44, - v45, - v46, - v47, - v48, - v49, - v50, - v51, - v52, - v53, - v54, - v55, - v56, - v57, - v58, - v59, - v60, - v61, - v62, - v63, - v64, - v65, - v66, - v67, - v68, - v69, - v70, - v71, - v72, - v73, - v74, - v75, - v76, - v77, - v78, - v79, - v80, - v81, - v82, - v83, - v84, - v85, - v86, - v87, - v88, - v89, - v90, - v91, - v92, - v93, - v94, - v95, - v96, - v97, - v98, - v99, - v100, - v101, - v102, - v103, - v104, - v105, - v106, - v107, - v108, - v109, - v110, - v111, - v112, - v113, - v114, - v115, - v116, - v117, - v118, - v119, - v120, - v121, - v122, - v123, - v124, - v125, - v126, - v127, - v128, - v129, - v130, - v131, - v132, - v133, - v134, - v135, - v136, - v137, - v138, - v139, - v140, - v141, - v142, - v143, - v144, - v145, - v146, - v147, - v148, - v149, - v150, - v151, - v152, - v153, - v154, - v155, - v156, - v157, - v158, - v159, - v160, - v161, - v162, - v163, - v164, - v165, - v166, - v167, - v168, - v169, - v170, - v171, - v172, - v173, - v174, - v175, - v176, - v177, - v178, - v179, - v180, - v181, - v182, - v183, - v184, - v185, - v186, - v187, - v188, - v189, - v190, - v191, - v192, - v193, - v194, - v195, - v196, - v197, - v198, - v199, - v200, - v201, - v202, - v203, - v204, - v205, - v206, - v207, - v208, - v209, - v210, - v211, - v212, - v213, - v214, - v215, - v216, - v217, - v218, - v219, - v220, - v221, - v222, - v223, - v224, - v225, - v226, - v227, - v228, - v229, - v230, - v231, - v232, - v233, - v234, - v235, - v236, - v237, - v238, - v239, - v240, - v241, - v242, - v243, - v244, - v245, - v246, - v247, - v248, - v249, - v250, - v251, - v252, - v253, - v254, - v255, - v256, - v257, - v258, - v259, - v260, - v261, - v262, - v263, - v264, - v265, - v266, - v267, - v268, - v269, - v270, - v271, - v272; - -export { v54 as $, v27 as A, v28 as B, v29 as C, v30 as D, v31 as E, v32 as F, v33 as G, v34 as H, v35 as I, v36 as J, v37 as K, v38 as L, v39 as M, v40 as N, v41 as O, v42 as P, v43 as Q, v44 as R, v45 as S, v46 as T, v47 as U, v48 as V, v49 as W, v50 as X, v51 as Y, v52 as Z, v53 as _, v2 as a, v118 as a$, v55 as a0, v56 as a1, v57 as a2, v58 as a3, v59 as a4, v60 as a5, v61 as a6, v62 as a7, v63 as a8, v64 as a9, v91 as aA, v92 as aB, v93 as aC, v94 as aD, v95 as aE, v96 as aF, v97 as aG, v98 as aH, v99 as aI, v100 as aJ, v101 as aK, v102 as aL, v103 as aM, v104 as aN, v105 as aO, v106 as aP, v107 as aQ, v108 as aR, v109 as aS, v110 as aT, v111 as aU, v112 as aV, v113 as aW, v114 as aX, v115 as aY, v116 as aZ, v117 as a_, v65 as aa, v66 as ab, v67 as ac, v68 as ad, v69 as ae, v70 as af, v71 as ag, v72 as ah, v73 as ai, v74 as aj, v75 as ak, v76 as al, v77 as am, v78 as an, v79 as ao, v80 as ap, v81 as aq, v82 as ar, v83 as as, v84 as at, v85 as au, v86 as av, v87 as aw, v88 as ax, v89 as ay, v90 as az, v3 as b, v182 as b$, v119 as b0, v120 as b1, v121 as b2, v122 as b3, v123 as b4, v124 as b5, v125 as b6, v126 as b7, v127 as b8, v128 as b9, v155 as bA, v156 as bB, v157 as bC, v158 as bD, v159 as bE, v160 as bF, v161 as bG, v162 as bH, v163 as bI, v164 as bJ, v165 as bK, v166 as bL, v167 as bM, v168 as bN, v169 as bO, v170 as bP, v171 as bQ, v172 as bR, v173 as bS, v174 as bT, v175 as bU, v176 as bV, v177 as bW, v178 as bX, v179 as bY, v180 as bZ, v181 as b_, v129 as ba, v130 as bb, v131 as bc, v132 as bd, v133 as be, v134 as bf, v135 as bg, v136 as bh, v137 as bi, v138 as bj, v139 as bk, v140 as bl, v141 as bm, v142 as bn, v143 as bo, v144 as bp, v145 as bq, v146 as br, v147 as bs, v148 as bt, v149 as bu, v150 as bv, v151 as bw, v152 as bx, v153 as by, v154 as bz, v4 as c, v246 as c$, v183 as c0, v184 as c1, v185 as c2, v186 as c3, v187 as c4, v188 as c5, v189 as c6, v190 as c7, v191 as c8, v192 as c9, v219 as cA, v220 as cB, v221 as cC, v222 as cD, v223 as cE, v224 as cF, v225 as cG, v226 as cH, v227 as cI, v228 as cJ, v229 as cK, v230 as cL, v231 as cM, v232 as cN, v233 as cO, v234 as cP, v235 as cQ, v236 as cR, v237 as cS, v238 as cT, v239 as cU, v240 as cV, v241 as cW, v242 as cX, v243 as cY, v244 as cZ, v245 as c_, v193 as ca, v194 as cb, v195 as cc, v196 as cd, v197 as ce, v198 as cf, v199 as cg, v200 as ch, v201 as ci, v202 as cj, v203 as ck, v204 as cl, v205 as cm, v206 as cn, v207 as co, v208 as cp, v209 as cq, v210 as cr, v211 as cs, v212 as ct, v213 as cu, v214 as cv, v215 as cw, v216 as cx, v217 as cy, v218 as cz, v5 as d, v247 as d0, v248 as d1, v249 as d2, v250 as d3, v251 as d4, v252 as d5, v253 as d6, v254 as d7, v255 as d8, v256 as d9, v257 as da, v258 as db, v259 as dc, v260 as dd, v261 as de, v262 as df, v263 as dg, v264 as dh, v265 as di, v266 as dj, v267 as dk, v268 as dl, v269 as dm, v270 as dn, v271 as dp, v272 as dq, v6 as e, v7 as f, v8 as g, v9 as h, v10 as i, v11 as j, v12 as k, v13 as l, v14 as m, v15 as n, v16 as o, v17 as p, v18 as q, v19 as r, v20 as s, v21 as t, v22 as u, v1 as v, v23 as w, v24 as x, v25 as y, v26 as z }; diff --git a/test/chunking-form/samples/sanitize-internal-exports/_expected/es/generated-lazy.js b/test/chunking-form/samples/sanitize-internal-exports/_expected/es/generated-lazy.js index 0ed413ad194..b2a43ed12d5 100644 --- a/test/chunking-form/samples/sanitize-internal-exports/_expected/es/generated-lazy.js +++ b/test/chunking-form/samples/sanitize-internal-exports/_expected/es/generated-lazy.js @@ -1,4 +1,4 @@ -import { v as v1 } from './generated-constants.js'; +import { v1 } from './main.js'; var lazy = () => v1; diff --git a/test/chunking-form/samples/sanitize-internal-exports/_expected/es/main.js b/test/chunking-form/samples/sanitize-internal-exports/_expected/es/main.js index 9f6233b1f85..f4bfd3f396f 100644 --- a/test/chunking-form/samples/sanitize-internal-exports/_expected/es/main.js +++ b/test/chunking-form/samples/sanitize-internal-exports/_expected/es/main.js @@ -1,5 +1,276 @@ -export { v as v1, i as v10, aJ as v100, aK as v101, aL as v102, aM as v103, aN as v104, aO as v105, aP as v106, aQ as v107, aR as v108, aS as v109, j as v11, aT as v110, aU as v111, aV as v112, aW as v113, aX as v114, aY as v115, aZ as v116, a_ as v117, a$ as v118, b0 as v119, k as v12, b1 as v120, b2 as v121, b3 as v122, b4 as v123, b5 as v124, b6 as v125, b7 as v126, b8 as v127, b9 as v128, ba as v129, l as v13, bb as v130, bc as v131, bd as v132, be as v133, bf as v134, bg as v135, bh as v136, bi as v137, bj as v138, bk as v139, m as v14, bl as v140, bm as v141, bn as v142, bo as v143, bp as v144, bq as v145, br as v146, bs as v147, bt as v148, bu as v149, n as v15, bv as v150, bw as v151, bx as v152, by as v153, bz as v154, bA as v155, bB as v156, bC as v157, bD as v158, bE as v159, o as v16, bF as v160, bG as v161, bH as v162, bI as v163, bJ as v164, bK as v165, bL as v166, bM as v167, bN as v168, bO as v169, p as v17, bP as v170, bQ as v171, bR as v172, bS as v173, bT as v174, bU as v175, bV as v176, bW as v177, bX as v178, bY as v179, q as v18, bZ as v180, b_ as v181, b$ as v182, c0 as v183, c1 as v184, c2 as v185, c3 as v186, c4 as v187, c5 as v188, c6 as v189, r as v19, c7 as v190, c8 as v191, c9 as v192, ca as v193, cb as v194, cc as v195, cd as v196, ce as v197, cf as v198, cg as v199, a as v2, s as v20, ch as v200, ci as v201, cj as v202, ck as v203, cl as v204, cm as v205, cn as v206, co as v207, cp as v208, cq as v209, t as v21, cr as v210, cs as v211, ct as v212, cu as v213, cv as v214, cw as v215, cx as v216, cy as v217, cz as v218, cA as v219, u as v22, cB as v220, cC as v221, cD as v222, cE as v223, cF as v224, cG as v225, cH as v226, cI as v227, cJ as v228, cK as v229, w as v23, cL as v230, cM as v231, cN as v232, cO as v233, cP as v234, cQ as v235, cR as v236, cS as v237, cT as v238, cU as v239, x as v24, cV as v240, cW as v241, cX as v242, cY as v243, cZ as v244, c_ as v245, c$ as v246, d0 as v247, d1 as v248, d2 as v249, y as v25, d3 as v250, d4 as v251, d5 as v252, d6 as v253, d7 as v254, d8 as v255, d9 as v256, da as v257, db as v258, dc as v259, z as v26, dd as v260, de as v261, df as v262, dg as v263, dh as v264, di as v265, dj as v266, dk as v267, dl as v268, dm as v269, A as v27, dn as v270, dp as v271, dq as v272, B as v28, C as v29, b as v3, D as v30, E as v31, F as v32, G as v33, H as v34, I as v35, J as v36, K as v37, L as v38, M as v39, c as v4, N as v40, O as v41, P as v42, Q as v43, R as v44, S as v45, T as v46, U as v47, V as v48, W as v49, d as v5, X as v50, Y as v51, Z as v52, _ as v53, $ as v54, a0 as v55, a1 as v56, a2 as v57, a3 as v58, a4 as v59, e as v6, a5 as v60, a6 as v61, a7 as v62, a8 as v63, a9 as v64, aa as v65, ab as v66, ac as v67, ad as v68, ae as v69, f as v7, af as v70, ag as v71, ah as v72, ai as v73, aj as v74, ak as v75, al as v76, am as v77, an as v78, ao as v79, g as v8, ap as v80, aq as v81, ar as v82, as as v83, at as v84, au as v85, av as v86, aw as v87, ax as v88, ay as v89, h as v9, az as v90, aA as v91, aB as v92, aC as v93, aD as v94, aE as v95, aF as v96, aG as v97, aH as v98, aI as v99 } from './generated-constants.js'; +var v1, + v2, + v3, + v4, + v5, + v6, + v7, + v8, + v9, + v10, + v11, + v12, + v13, + v14, + v15, + v16, + v17, + v18, + v19, + v20, + v21, + v22, + v23, + v24, + v25, + v26, + v27, + v28, + v29, + v30, + v31, + v32, + v33, + v34, + v35, + v36, + v37, + v38, + v39, + v40, + v41, + v42, + v43, + v44, + v45, + v46, + v47, + v48, + v49, + v50, + v51, + v52, + v53, + v54, + v55, + v56, + v57, + v58, + v59, + v60, + v61, + v62, + v63, + v64, + v65, + v66, + v67, + v68, + v69, + v70, + v71, + v72, + v73, + v74, + v75, + v76, + v77, + v78, + v79, + v80, + v81, + v82, + v83, + v84, + v85, + v86, + v87, + v88, + v89, + v90, + v91, + v92, + v93, + v94, + v95, + v96, + v97, + v98, + v99, + v100, + v101, + v102, + v103, + v104, + v105, + v106, + v107, + v108, + v109, + v110, + v111, + v112, + v113, + v114, + v115, + v116, + v117, + v118, + v119, + v120, + v121, + v122, + v123, + v124, + v125, + v126, + v127, + v128, + v129, + v130, + v131, + v132, + v133, + v134, + v135, + v136, + v137, + v138, + v139, + v140, + v141, + v142, + v143, + v144, + v145, + v146, + v147, + v148, + v149, + v150, + v151, + v152, + v153, + v154, + v155, + v156, + v157, + v158, + v159, + v160, + v161, + v162, + v163, + v164, + v165, + v166, + v167, + v168, + v169, + v170, + v171, + v172, + v173, + v174, + v175, + v176, + v177, + v178, + v179, + v180, + v181, + v182, + v183, + v184, + v185, + v186, + v187, + v188, + v189, + v190, + v191, + v192, + v193, + v194, + v195, + v196, + v197, + v198, + v199, + v200, + v201, + v202, + v203, + v204, + v205, + v206, + v207, + v208, + v209, + v210, + v211, + v212, + v213, + v214, + v215, + v216, + v217, + v218, + v219, + v220, + v221, + v222, + v223, + v224, + v225, + v226, + v227, + v228, + v229, + v230, + v231, + v232, + v233, + v234, + v235, + v236, + v237, + v238, + v239, + v240, + v241, + v242, + v243, + v244, + v245, + v246, + v247, + v248, + v249, + v250, + v251, + v252, + v253, + v254, + v255, + v256, + v257, + v258, + v259, + v260, + v261, + v262, + v263, + v264, + v265, + v266, + v267, + v268, + v269, + v270, + v271, + v272; const lazy = import('./generated-lazy.js'); -export { lazy }; +export { lazy, v1, v10, v100, v101, v102, v103, v104, v105, v106, v107, v108, v109, v11, v110, v111, v112, v113, v114, v115, v116, v117, v118, v119, v12, v120, v121, v122, v123, v124, v125, v126, v127, v128, v129, v13, v130, v131, v132, v133, v134, v135, v136, v137, v138, v139, v14, v140, v141, v142, v143, v144, v145, v146, v147, v148, v149, v15, v150, v151, v152, v153, v154, v155, v156, v157, v158, v159, v16, v160, v161, v162, v163, v164, v165, v166, v167, v168, v169, v17, v170, v171, v172, v173, v174, v175, v176, v177, v178, v179, v18, v180, v181, v182, v183, v184, v185, v186, v187, v188, v189, v19, v190, v191, v192, v193, v194, v195, v196, v197, v198, v199, v2, v20, v200, v201, v202, v203, v204, v205, v206, v207, v208, v209, v21, v210, v211, v212, v213, v214, v215, v216, v217, v218, v219, v22, v220, v221, v222, v223, v224, v225, v226, v227, v228, v229, v23, v230, v231, v232, v233, v234, v235, v236, v237, v238, v239, v24, v240, v241, v242, v243, v244, v245, v246, v247, v248, v249, v25, v250, v251, v252, v253, v254, v255, v256, v257, v258, v259, v26, v260, v261, v262, v263, v264, v265, v266, v267, v268, v269, v27, v270, v271, v272, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v4, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v5, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v6, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69, v7, v70, v71, v72, v73, v74, v75, v76, v77, v78, v79, v8, v80, v81, v82, v83, v84, v85, v86, v87, v88, v89, v9, v90, v91, v92, v93, v94, v95, v96, v97, v98, v99 }; diff --git a/test/chunking-form/samples/sanitize-internal-exports/_expected/system/generated-constants.js b/test/chunking-form/samples/sanitize-internal-exports/_expected/system/generated-constants.js deleted file mode 100644 index e6ef61fd6c9..00000000000 --- a/test/chunking-form/samples/sanitize-internal-exports/_expected/system/generated-constants.js +++ /dev/null @@ -1,556 +0,0 @@ -System.register([], function (exports) { - 'use strict'; - return { - execute: function () { - - exports({ - $: void 0, - A: void 0, - B: void 0, - C: void 0, - D: void 0, - E: void 0, - F: void 0, - G: void 0, - H: void 0, - I: void 0, - J: void 0, - K: void 0, - L: void 0, - M: void 0, - N: void 0, - O: void 0, - P: void 0, - Q: void 0, - R: void 0, - S: void 0, - T: void 0, - U: void 0, - V: void 0, - W: void 0, - X: void 0, - Y: void 0, - Z: void 0, - _: void 0, - a: void 0, - a$: void 0, - a0: void 0, - a1: void 0, - a2: void 0, - a3: void 0, - a4: void 0, - a5: void 0, - a6: void 0, - a7: void 0, - a8: void 0, - a9: void 0, - aA: void 0, - aB: void 0, - aC: void 0, - aD: void 0, - aE: void 0, - aF: void 0, - aG: void 0, - aH: void 0, - aI: void 0, - aJ: void 0, - aK: void 0, - aL: void 0, - aM: void 0, - aN: void 0, - aO: void 0, - aP: void 0, - aQ: void 0, - aR: void 0, - aS: void 0, - aT: void 0, - aU: void 0, - aV: void 0, - aW: void 0, - aX: void 0, - aY: void 0, - aZ: void 0, - a_: void 0, - aa: void 0, - ab: void 0, - ac: void 0, - ad: void 0, - ae: void 0, - af: void 0, - ag: void 0, - ah: void 0, - ai: void 0, - aj: void 0, - ak: void 0, - al: void 0, - am: void 0, - an: void 0, - ao: void 0, - ap: void 0, - aq: void 0, - ar: void 0, - as: void 0, - at: void 0, - au: void 0, - av: void 0, - aw: void 0, - ax: void 0, - ay: void 0, - az: void 0, - b: void 0, - b$: void 0, - b0: void 0, - b1: void 0, - b2: void 0, - b3: void 0, - b4: void 0, - b5: void 0, - b6: void 0, - b7: void 0, - b8: void 0, - b9: void 0, - bA: void 0, - bB: void 0, - bC: void 0, - bD: void 0, - bE: void 0, - bF: void 0, - bG: void 0, - bH: void 0, - bI: void 0, - bJ: void 0, - bK: void 0, - bL: void 0, - bM: void 0, - bN: void 0, - bO: void 0, - bP: void 0, - bQ: void 0, - bR: void 0, - bS: void 0, - bT: void 0, - bU: void 0, - bV: void 0, - bW: void 0, - bX: void 0, - bY: void 0, - bZ: void 0, - b_: void 0, - ba: void 0, - bb: void 0, - bc: void 0, - bd: void 0, - be: void 0, - bf: void 0, - bg: void 0, - bh: void 0, - bi: void 0, - bj: void 0, - bk: void 0, - bl: void 0, - bm: void 0, - bn: void 0, - bo: void 0, - bp: void 0, - bq: void 0, - br: void 0, - bs: void 0, - bt: void 0, - bu: void 0, - bv: void 0, - bw: void 0, - bx: void 0, - by: void 0, - bz: void 0, - c: void 0, - c$: void 0, - c0: void 0, - c1: void 0, - c2: void 0, - c3: void 0, - c4: void 0, - c5: void 0, - c6: void 0, - c7: void 0, - c8: void 0, - c9: void 0, - cA: void 0, - cB: void 0, - cC: void 0, - cD: void 0, - cE: void 0, - cF: void 0, - cG: void 0, - cH: void 0, - cI: void 0, - cJ: void 0, - cK: void 0, - cL: void 0, - cM: void 0, - cN: void 0, - cO: void 0, - cP: void 0, - cQ: void 0, - cR: void 0, - cS: void 0, - cT: void 0, - cU: void 0, - cV: void 0, - cW: void 0, - cX: void 0, - cY: void 0, - cZ: void 0, - c_: void 0, - ca: void 0, - cb: void 0, - cc: void 0, - cd: void 0, - ce: void 0, - cf: void 0, - cg: void 0, - ch: void 0, - ci: void 0, - cj: void 0, - ck: void 0, - cl: void 0, - cm: void 0, - cn: void 0, - co: void 0, - cp: void 0, - cq: void 0, - cr: void 0, - cs: void 0, - ct: void 0, - cu: void 0, - cv: void 0, - cw: void 0, - cx: void 0, - cy: void 0, - cz: void 0, - d: void 0, - d0: void 0, - d1: void 0, - d2: void 0, - d3: void 0, - d4: void 0, - d5: void 0, - d6: void 0, - d7: void 0, - d8: void 0, - d9: void 0, - da: void 0, - db: void 0, - dc: void 0, - dd: void 0, - de: void 0, - df: void 0, - dg: void 0, - dh: void 0, - di: void 0, - dj: void 0, - dk: void 0, - dl: void 0, - dm: void 0, - dn: void 0, - dp: void 0, - dq: void 0, - e: void 0, - f: void 0, - g: void 0, - h: void 0, - i: void 0, - j: void 0, - k: void 0, - l: void 0, - m: void 0, - n: void 0, - o: void 0, - p: void 0, - q: void 0, - r: void 0, - s: void 0, - t: void 0, - u: void 0, - v: void 0, - w: void 0, - x: void 0, - y: void 0, - z: void 0 - }); - - var v1, - v2, - v3, - v4, - v5, - v6, - v7, - v8, - v9, - v10, - v11, - v12, - v13, - v14, - v15, - v16, - v17, - v18, - v19, - v20, - v21, - v22, - v23, - v24, - v25, - v26, - v27, - v28, - v29, - v30, - v31, - v32, - v33, - v34, - v35, - v36, - v37, - v38, - v39, - v40, - v41, - v42, - v43, - v44, - v45, - v46, - v47, - v48, - v49, - v50, - v51, - v52, - v53, - v54, - v55, - v56, - v57, - v58, - v59, - v60, - v61, - v62, - v63, - v64, - v65, - v66, - v67, - v68, - v69, - v70, - v71, - v72, - v73, - v74, - v75, - v76, - v77, - v78, - v79, - v80, - v81, - v82, - v83, - v84, - v85, - v86, - v87, - v88, - v89, - v90, - v91, - v92, - v93, - v94, - v95, - v96, - v97, - v98, - v99, - v100, - v101, - v102, - v103, - v104, - v105, - v106, - v107, - v108, - v109, - v110, - v111, - v112, - v113, - v114, - v115, - v116, - v117, - v118, - v119, - v120, - v121, - v122, - v123, - v124, - v125, - v126, - v127, - v128, - v129, - v130, - v131, - v132, - v133, - v134, - v135, - v136, - v137, - v138, - v139, - v140, - v141, - v142, - v143, - v144, - v145, - v146, - v147, - v148, - v149, - v150, - v151, - v152, - v153, - v154, - v155, - v156, - v157, - v158, - v159, - v160, - v161, - v162, - v163, - v164, - v165, - v166, - v167, - v168, - v169, - v170, - v171, - v172, - v173, - v174, - v175, - v176, - v177, - v178, - v179, - v180, - v181, - v182, - v183, - v184, - v185, - v186, - v187, - v188, - v189, - v190, - v191, - v192, - v193, - v194, - v195, - v196, - v197, - v198, - v199, - v200, - v201, - v202, - v203, - v204, - v205, - v206, - v207, - v208, - v209, - v210, - v211, - v212, - v213, - v214, - v215, - v216, - v217, - v218, - v219, - v220, - v221, - v222, - v223, - v224, - v225, - v226, - v227, - v228, - v229, - v230, - v231, - v232, - v233, - v234, - v235, - v236, - v237, - v238, - v239, - v240, - v241, - v242, - v243, - v244, - v245, - v246, - v247, - v248, - v249, - v250, - v251, - v252, - v253, - v254, - v255, - v256, - v257, - v258, - v259, - v260, - v261, - v262, - v263, - v264, - v265, - v266, - v267, - v268, - v269, - v270, - v271, - v272; - - } - }; -}); diff --git a/test/chunking-form/samples/sanitize-internal-exports/_expected/system/generated-lazy.js b/test/chunking-form/samples/sanitize-internal-exports/_expected/system/generated-lazy.js index c3492d0d8b7..c74475324d0 100644 --- a/test/chunking-form/samples/sanitize-internal-exports/_expected/system/generated-lazy.js +++ b/test/chunking-form/samples/sanitize-internal-exports/_expected/system/generated-lazy.js @@ -1,9 +1,9 @@ -System.register(['./generated-constants.js'], function (exports) { +System.register(['./main.js'], function (exports) { 'use strict'; var v1; return { setters: [function (module) { - v1 = module.v; + v1 = module.v1; }], execute: function () { diff --git a/test/chunking-form/samples/sanitize-internal-exports/_expected/system/main.js b/test/chunking-form/samples/sanitize-internal-exports/_expected/system/main.js index 2a78e71a87d..8cd65e22484 100644 --- a/test/chunking-form/samples/sanitize-internal-exports/_expected/system/main.js +++ b/test/chunking-form/samples/sanitize-internal-exports/_expected/system/main.js @@ -1,284 +1,556 @@ -System.register(['./generated-constants.js'], function (exports, module) { +System.register([], function (exports, module) { 'use strict'; return { - setters: [function (module) { - var _setter = {}; - _setter.v1 = module.v; - _setter.v10 = module.i; - _setter.v100 = module.aJ; - _setter.v101 = module.aK; - _setter.v102 = module.aL; - _setter.v103 = module.aM; - _setter.v104 = module.aN; - _setter.v105 = module.aO; - _setter.v106 = module.aP; - _setter.v107 = module.aQ; - _setter.v108 = module.aR; - _setter.v109 = module.aS; - _setter.v11 = module.j; - _setter.v110 = module.aT; - _setter.v111 = module.aU; - _setter.v112 = module.aV; - _setter.v113 = module.aW; - _setter.v114 = module.aX; - _setter.v115 = module.aY; - _setter.v116 = module.aZ; - _setter.v117 = module.a_; - _setter.v118 = module.a$; - _setter.v119 = module.b0; - _setter.v12 = module.k; - _setter.v120 = module.b1; - _setter.v121 = module.b2; - _setter.v122 = module.b3; - _setter.v123 = module.b4; - _setter.v124 = module.b5; - _setter.v125 = module.b6; - _setter.v126 = module.b7; - _setter.v127 = module.b8; - _setter.v128 = module.b9; - _setter.v129 = module.ba; - _setter.v13 = module.l; - _setter.v130 = module.bb; - _setter.v131 = module.bc; - _setter.v132 = module.bd; - _setter.v133 = module.be; - _setter.v134 = module.bf; - _setter.v135 = module.bg; - _setter.v136 = module.bh; - _setter.v137 = module.bi; - _setter.v138 = module.bj; - _setter.v139 = module.bk; - _setter.v14 = module.m; - _setter.v140 = module.bl; - _setter.v141 = module.bm; - _setter.v142 = module.bn; - _setter.v143 = module.bo; - _setter.v144 = module.bp; - _setter.v145 = module.bq; - _setter.v146 = module.br; - _setter.v147 = module.bs; - _setter.v148 = module.bt; - _setter.v149 = module.bu; - _setter.v15 = module.n; - _setter.v150 = module.bv; - _setter.v151 = module.bw; - _setter.v152 = module.bx; - _setter.v153 = module.by; - _setter.v154 = module.bz; - _setter.v155 = module.bA; - _setter.v156 = module.bB; - _setter.v157 = module.bC; - _setter.v158 = module.bD; - _setter.v159 = module.bE; - _setter.v16 = module.o; - _setter.v160 = module.bF; - _setter.v161 = module.bG; - _setter.v162 = module.bH; - _setter.v163 = module.bI; - _setter.v164 = module.bJ; - _setter.v165 = module.bK; - _setter.v166 = module.bL; - _setter.v167 = module.bM; - _setter.v168 = module.bN; - _setter.v169 = module.bO; - _setter.v17 = module.p; - _setter.v170 = module.bP; - _setter.v171 = module.bQ; - _setter.v172 = module.bR; - _setter.v173 = module.bS; - _setter.v174 = module.bT; - _setter.v175 = module.bU; - _setter.v176 = module.bV; - _setter.v177 = module.bW; - _setter.v178 = module.bX; - _setter.v179 = module.bY; - _setter.v18 = module.q; - _setter.v180 = module.bZ; - _setter.v181 = module.b_; - _setter.v182 = module.b$; - _setter.v183 = module.c0; - _setter.v184 = module.c1; - _setter.v185 = module.c2; - _setter.v186 = module.c3; - _setter.v187 = module.c4; - _setter.v188 = module.c5; - _setter.v189 = module.c6; - _setter.v19 = module.r; - _setter.v190 = module.c7; - _setter.v191 = module.c8; - _setter.v192 = module.c9; - _setter.v193 = module.ca; - _setter.v194 = module.cb; - _setter.v195 = module.cc; - _setter.v196 = module.cd; - _setter.v197 = module.ce; - _setter.v198 = module.cf; - _setter.v199 = module.cg; - _setter.v2 = module.a; - _setter.v20 = module.s; - _setter.v200 = module.ch; - _setter.v201 = module.ci; - _setter.v202 = module.cj; - _setter.v203 = module.ck; - _setter.v204 = module.cl; - _setter.v205 = module.cm; - _setter.v206 = module.cn; - _setter.v207 = module.co; - _setter.v208 = module.cp; - _setter.v209 = module.cq; - _setter.v21 = module.t; - _setter.v210 = module.cr; - _setter.v211 = module.cs; - _setter.v212 = module.ct; - _setter.v213 = module.cu; - _setter.v214 = module.cv; - _setter.v215 = module.cw; - _setter.v216 = module.cx; - _setter.v217 = module.cy; - _setter.v218 = module.cz; - _setter.v219 = module.cA; - _setter.v22 = module.u; - _setter.v220 = module.cB; - _setter.v221 = module.cC; - _setter.v222 = module.cD; - _setter.v223 = module.cE; - _setter.v224 = module.cF; - _setter.v225 = module.cG; - _setter.v226 = module.cH; - _setter.v227 = module.cI; - _setter.v228 = module.cJ; - _setter.v229 = module.cK; - _setter.v23 = module.w; - _setter.v230 = module.cL; - _setter.v231 = module.cM; - _setter.v232 = module.cN; - _setter.v233 = module.cO; - _setter.v234 = module.cP; - _setter.v235 = module.cQ; - _setter.v236 = module.cR; - _setter.v237 = module.cS; - _setter.v238 = module.cT; - _setter.v239 = module.cU; - _setter.v24 = module.x; - _setter.v240 = module.cV; - _setter.v241 = module.cW; - _setter.v242 = module.cX; - _setter.v243 = module.cY; - _setter.v244 = module.cZ; - _setter.v245 = module.c_; - _setter.v246 = module.c$; - _setter.v247 = module.d0; - _setter.v248 = module.d1; - _setter.v249 = module.d2; - _setter.v25 = module.y; - _setter.v250 = module.d3; - _setter.v251 = module.d4; - _setter.v252 = module.d5; - _setter.v253 = module.d6; - _setter.v254 = module.d7; - _setter.v255 = module.d8; - _setter.v256 = module.d9; - _setter.v257 = module.da; - _setter.v258 = module.db; - _setter.v259 = module.dc; - _setter.v26 = module.z; - _setter.v260 = module.dd; - _setter.v261 = module.de; - _setter.v262 = module.df; - _setter.v263 = module.dg; - _setter.v264 = module.dh; - _setter.v265 = module.di; - _setter.v266 = module.dj; - _setter.v267 = module.dk; - _setter.v268 = module.dl; - _setter.v269 = module.dm; - _setter.v27 = module.A; - _setter.v270 = module.dn; - _setter.v271 = module.dp; - _setter.v272 = module.dq; - _setter.v28 = module.B; - _setter.v29 = module.C; - _setter.v3 = module.b; - _setter.v30 = module.D; - _setter.v31 = module.E; - _setter.v32 = module.F; - _setter.v33 = module.G; - _setter.v34 = module.H; - _setter.v35 = module.I; - _setter.v36 = module.J; - _setter.v37 = module.K; - _setter.v38 = module.L; - _setter.v39 = module.M; - _setter.v4 = module.c; - _setter.v40 = module.N; - _setter.v41 = module.O; - _setter.v42 = module.P; - _setter.v43 = module.Q; - _setter.v44 = module.R; - _setter.v45 = module.S; - _setter.v46 = module.T; - _setter.v47 = module.U; - _setter.v48 = module.V; - _setter.v49 = module.W; - _setter.v5 = module.d; - _setter.v50 = module.X; - _setter.v51 = module.Y; - _setter.v52 = module.Z; - _setter.v53 = module._; - _setter.v54 = module.$; - _setter.v55 = module.a0; - _setter.v56 = module.a1; - _setter.v57 = module.a2; - _setter.v58 = module.a3; - _setter.v59 = module.a4; - _setter.v6 = module.e; - _setter.v60 = module.a5; - _setter.v61 = module.a6; - _setter.v62 = module.a7; - _setter.v63 = module.a8; - _setter.v64 = module.a9; - _setter.v65 = module.aa; - _setter.v66 = module.ab; - _setter.v67 = module.ac; - _setter.v68 = module.ad; - _setter.v69 = module.ae; - _setter.v7 = module.f; - _setter.v70 = module.af; - _setter.v71 = module.ag; - _setter.v72 = module.ah; - _setter.v73 = module.ai; - _setter.v74 = module.aj; - _setter.v75 = module.ak; - _setter.v76 = module.al; - _setter.v77 = module.am; - _setter.v78 = module.an; - _setter.v79 = module.ao; - _setter.v8 = module.g; - _setter.v80 = module.ap; - _setter.v81 = module.aq; - _setter.v82 = module.ar; - _setter.v83 = module.as; - _setter.v84 = module.at; - _setter.v85 = module.au; - _setter.v86 = module.av; - _setter.v87 = module.aw; - _setter.v88 = module.ax; - _setter.v89 = module.ay; - _setter.v9 = module.h; - _setter.v90 = module.az; - _setter.v91 = module.aA; - _setter.v92 = module.aB; - _setter.v93 = module.aC; - _setter.v94 = module.aD; - _setter.v95 = module.aE; - _setter.v96 = module.aF; - _setter.v97 = module.aG; - _setter.v98 = module.aH; - _setter.v99 = module.aI; - exports(_setter); - }], execute: function () { + exports({ + v1: void 0, + v10: void 0, + v100: void 0, + v101: void 0, + v102: void 0, + v103: void 0, + v104: void 0, + v105: void 0, + v106: void 0, + v107: void 0, + v108: void 0, + v109: void 0, + v11: void 0, + v110: void 0, + v111: void 0, + v112: void 0, + v113: void 0, + v114: void 0, + v115: void 0, + v116: void 0, + v117: void 0, + v118: void 0, + v119: void 0, + v12: void 0, + v120: void 0, + v121: void 0, + v122: void 0, + v123: void 0, + v124: void 0, + v125: void 0, + v126: void 0, + v127: void 0, + v128: void 0, + v129: void 0, + v13: void 0, + v130: void 0, + v131: void 0, + v132: void 0, + v133: void 0, + v134: void 0, + v135: void 0, + v136: void 0, + v137: void 0, + v138: void 0, + v139: void 0, + v14: void 0, + v140: void 0, + v141: void 0, + v142: void 0, + v143: void 0, + v144: void 0, + v145: void 0, + v146: void 0, + v147: void 0, + v148: void 0, + v149: void 0, + v15: void 0, + v150: void 0, + v151: void 0, + v152: void 0, + v153: void 0, + v154: void 0, + v155: void 0, + v156: void 0, + v157: void 0, + v158: void 0, + v159: void 0, + v16: void 0, + v160: void 0, + v161: void 0, + v162: void 0, + v163: void 0, + v164: void 0, + v165: void 0, + v166: void 0, + v167: void 0, + v168: void 0, + v169: void 0, + v17: void 0, + v170: void 0, + v171: void 0, + v172: void 0, + v173: void 0, + v174: void 0, + v175: void 0, + v176: void 0, + v177: void 0, + v178: void 0, + v179: void 0, + v18: void 0, + v180: void 0, + v181: void 0, + v182: void 0, + v183: void 0, + v184: void 0, + v185: void 0, + v186: void 0, + v187: void 0, + v188: void 0, + v189: void 0, + v19: void 0, + v190: void 0, + v191: void 0, + v192: void 0, + v193: void 0, + v194: void 0, + v195: void 0, + v196: void 0, + v197: void 0, + v198: void 0, + v199: void 0, + v2: void 0, + v20: void 0, + v200: void 0, + v201: void 0, + v202: void 0, + v203: void 0, + v204: void 0, + v205: void 0, + v206: void 0, + v207: void 0, + v208: void 0, + v209: void 0, + v21: void 0, + v210: void 0, + v211: void 0, + v212: void 0, + v213: void 0, + v214: void 0, + v215: void 0, + v216: void 0, + v217: void 0, + v218: void 0, + v219: void 0, + v22: void 0, + v220: void 0, + v221: void 0, + v222: void 0, + v223: void 0, + v224: void 0, + v225: void 0, + v226: void 0, + v227: void 0, + v228: void 0, + v229: void 0, + v23: void 0, + v230: void 0, + v231: void 0, + v232: void 0, + v233: void 0, + v234: void 0, + v235: void 0, + v236: void 0, + v237: void 0, + v238: void 0, + v239: void 0, + v24: void 0, + v240: void 0, + v241: void 0, + v242: void 0, + v243: void 0, + v244: void 0, + v245: void 0, + v246: void 0, + v247: void 0, + v248: void 0, + v249: void 0, + v25: void 0, + v250: void 0, + v251: void 0, + v252: void 0, + v253: void 0, + v254: void 0, + v255: void 0, + v256: void 0, + v257: void 0, + v258: void 0, + v259: void 0, + v26: void 0, + v260: void 0, + v261: void 0, + v262: void 0, + v263: void 0, + v264: void 0, + v265: void 0, + v266: void 0, + v267: void 0, + v268: void 0, + v269: void 0, + v27: void 0, + v270: void 0, + v271: void 0, + v272: void 0, + v28: void 0, + v29: void 0, + v3: void 0, + v30: void 0, + v31: void 0, + v32: void 0, + v33: void 0, + v34: void 0, + v35: void 0, + v36: void 0, + v37: void 0, + v38: void 0, + v39: void 0, + v4: void 0, + v40: void 0, + v41: void 0, + v42: void 0, + v43: void 0, + v44: void 0, + v45: void 0, + v46: void 0, + v47: void 0, + v48: void 0, + v49: void 0, + v5: void 0, + v50: void 0, + v51: void 0, + v52: void 0, + v53: void 0, + v54: void 0, + v55: void 0, + v56: void 0, + v57: void 0, + v58: void 0, + v59: void 0, + v6: void 0, + v60: void 0, + v61: void 0, + v62: void 0, + v63: void 0, + v64: void 0, + v65: void 0, + v66: void 0, + v67: void 0, + v68: void 0, + v69: void 0, + v7: void 0, + v70: void 0, + v71: void 0, + v72: void 0, + v73: void 0, + v74: void 0, + v75: void 0, + v76: void 0, + v77: void 0, + v78: void 0, + v79: void 0, + v8: void 0, + v80: void 0, + v81: void 0, + v82: void 0, + v83: void 0, + v84: void 0, + v85: void 0, + v86: void 0, + v87: void 0, + v88: void 0, + v89: void 0, + v9: void 0, + v90: void 0, + v91: void 0, + v92: void 0, + v93: void 0, + v94: void 0, + v95: void 0, + v96: void 0, + v97: void 0, + v98: void 0, + v99: void 0 + }); + + var v1, + v2, + v3, + v4, + v5, + v6, + v7, + v8, + v9, + v10, + v11, + v12, + v13, + v14, + v15, + v16, + v17, + v18, + v19, + v20, + v21, + v22, + v23, + v24, + v25, + v26, + v27, + v28, + v29, + v30, + v31, + v32, + v33, + v34, + v35, + v36, + v37, + v38, + v39, + v40, + v41, + v42, + v43, + v44, + v45, + v46, + v47, + v48, + v49, + v50, + v51, + v52, + v53, + v54, + v55, + v56, + v57, + v58, + v59, + v60, + v61, + v62, + v63, + v64, + v65, + v66, + v67, + v68, + v69, + v70, + v71, + v72, + v73, + v74, + v75, + v76, + v77, + v78, + v79, + v80, + v81, + v82, + v83, + v84, + v85, + v86, + v87, + v88, + v89, + v90, + v91, + v92, + v93, + v94, + v95, + v96, + v97, + v98, + v99, + v100, + v101, + v102, + v103, + v104, + v105, + v106, + v107, + v108, + v109, + v110, + v111, + v112, + v113, + v114, + v115, + v116, + v117, + v118, + v119, + v120, + v121, + v122, + v123, + v124, + v125, + v126, + v127, + v128, + v129, + v130, + v131, + v132, + v133, + v134, + v135, + v136, + v137, + v138, + v139, + v140, + v141, + v142, + v143, + v144, + v145, + v146, + v147, + v148, + v149, + v150, + v151, + v152, + v153, + v154, + v155, + v156, + v157, + v158, + v159, + v160, + v161, + v162, + v163, + v164, + v165, + v166, + v167, + v168, + v169, + v170, + v171, + v172, + v173, + v174, + v175, + v176, + v177, + v178, + v179, + v180, + v181, + v182, + v183, + v184, + v185, + v186, + v187, + v188, + v189, + v190, + v191, + v192, + v193, + v194, + v195, + v196, + v197, + v198, + v199, + v200, + v201, + v202, + v203, + v204, + v205, + v206, + v207, + v208, + v209, + v210, + v211, + v212, + v213, + v214, + v215, + v216, + v217, + v218, + v219, + v220, + v221, + v222, + v223, + v224, + v225, + v226, + v227, + v228, + v229, + v230, + v231, + v232, + v233, + v234, + v235, + v236, + v237, + v238, + v239, + v240, + v241, + v242, + v243, + v244, + v245, + v246, + v247, + v248, + v249, + v250, + v251, + v252, + v253, + v254, + v255, + v256, + v257, + v258, + v259, + v260, + v261, + v262, + v263, + v264, + v265, + v266, + v267, + v268, + v269, + v270, + v271, + v272; + const lazy = exports('lazy', module.import('./generated-lazy.js')); } From 9ea97d6e28789e200af64a65644c6083732e6367 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 14:41:54 +0000 Subject: [PATCH 14/47] update 'import-meta-url' test --- .../samples/import-meta-url/_expected/amd/main.js | 5 ++--- .../import-meta-url/_expected/amd/nested/chunk.js | 5 ++++- .../import-meta-url/_expected/amd/nested/chunk2.js | 4 ++-- .../samples/import-meta-url/_expected/cjs/main.js | 4 +--- .../import-meta-url/_expected/cjs/nested/chunk.js | 3 +++ .../import-meta-url/_expected/cjs/nested/chunk2.js | 4 ++-- .../samples/import-meta-url/_expected/es/main.js | 5 +---- .../import-meta-url/_expected/es/nested/chunk.js | 3 +++ .../samples/import-meta-url/_expected/system/main.js | 10 +++------- .../import-meta-url/_expected/system/nested/chunk.js | 5 ++++- 10 files changed, 25 insertions(+), 23 deletions(-) diff --git a/test/chunking-form/samples/import-meta-url/_expected/amd/main.js b/test/chunking-form/samples/import-meta-url/_expected/amd/main.js index b7f5a800c4a..428b2853e86 100644 --- a/test/chunking-form/samples/import-meta-url/_expected/amd/main.js +++ b/test/chunking-form/samples/import-meta-url/_expected/amd/main.js @@ -1,6 +1,5 @@ -define(['module', 'require', './nested/chunk'], function (module, require, log) { 'use strict'; +define(['./nested/chunk'], function (main) { 'use strict'; + - log.log('main: ' + new URL(module.uri, document.baseURI).href); - new Promise(function (resolve, reject) { require(['./nested/chunk2'], resolve, reject) }); }); diff --git a/test/chunking-form/samples/import-meta-url/_expected/amd/nested/chunk.js b/test/chunking-form/samples/import-meta-url/_expected/amd/nested/chunk.js index 8df72136505..584f1b73864 100644 --- a/test/chunking-form/samples/import-meta-url/_expected/amd/nested/chunk.js +++ b/test/chunking-form/samples/import-meta-url/_expected/amd/nested/chunk.js @@ -1,4 +1,4 @@ -define(['exports'], function (exports) { 'use strict'; +define(['module', 'require', 'exports'], function (module, require, exports) { 'use strict'; function log(url) { if (typeof document === 'undefined') { @@ -8,6 +8,9 @@ define(['exports'], function (exports) { 'use strict'; } } + log('main: ' + new URL(module.uri, document.baseURI).href); + new Promise(function (resolve, reject) { require(['./chunk2'], resolve, reject) }); + exports.log = log; }); diff --git a/test/chunking-form/samples/import-meta-url/_expected/amd/nested/chunk2.js b/test/chunking-form/samples/import-meta-url/_expected/amd/nested/chunk2.js index 468fd8cd396..7c723b30362 100644 --- a/test/chunking-form/samples/import-meta-url/_expected/amd/nested/chunk2.js +++ b/test/chunking-form/samples/import-meta-url/_expected/amd/nested/chunk2.js @@ -1,5 +1,5 @@ -define(['module', './chunk'], function (module, log) { 'use strict'; +define(['module', './chunk'], function (module, main) { 'use strict'; - log.log('nested: ' + new URL(module.uri, document.baseURI).href); + main.log('nested: ' + new URL(module.uri, document.baseURI).href); }); diff --git a/test/chunking-form/samples/import-meta-url/_expected/cjs/main.js b/test/chunking-form/samples/import-meta-url/_expected/cjs/main.js index bb1f021a939..9cfd3ef8efe 100644 --- a/test/chunking-form/samples/import-meta-url/_expected/cjs/main.js +++ b/test/chunking-form/samples/import-meta-url/_expected/cjs/main.js @@ -1,6 +1,4 @@ 'use strict'; -var log = require('./nested/chunk.js'); +require('./nested/chunk.js'); -log.log('main: ' + (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('main.js', document.baseURI).href))); -new Promise(function (resolve) { resolve(require('./nested/chunk2.js')); }); diff --git a/test/chunking-form/samples/import-meta-url/_expected/cjs/nested/chunk.js b/test/chunking-form/samples/import-meta-url/_expected/cjs/nested/chunk.js index b1d04a7cdab..261a18db9ba 100644 --- a/test/chunking-form/samples/import-meta-url/_expected/cjs/nested/chunk.js +++ b/test/chunking-form/samples/import-meta-url/_expected/cjs/nested/chunk.js @@ -8,4 +8,7 @@ function log(url) { } } +log('main: ' + (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('nested/chunk.js', document.baseURI).href))); +new Promise(function (resolve) { resolve(require('./chunk2.js')); }); + exports.log = log; diff --git a/test/chunking-form/samples/import-meta-url/_expected/cjs/nested/chunk2.js b/test/chunking-form/samples/import-meta-url/_expected/cjs/nested/chunk2.js index a674059fbab..a28996d5f27 100644 --- a/test/chunking-form/samples/import-meta-url/_expected/cjs/nested/chunk2.js +++ b/test/chunking-form/samples/import-meta-url/_expected/cjs/nested/chunk2.js @@ -1,5 +1,5 @@ 'use strict'; -var log = require('./chunk.js'); +var main = require('./chunk.js'); -log.log('nested: ' + (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('nested/chunk2.js', document.baseURI).href))); +main.log('nested: ' + (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('nested/chunk2.js', document.baseURI).href))); diff --git a/test/chunking-form/samples/import-meta-url/_expected/es/main.js b/test/chunking-form/samples/import-meta-url/_expected/es/main.js index ccb88a0c197..a941d5953ff 100644 --- a/test/chunking-form/samples/import-meta-url/_expected/es/main.js +++ b/test/chunking-form/samples/import-meta-url/_expected/es/main.js @@ -1,4 +1 @@ -import { l as log } from './nested/chunk.js'; - -log('main: ' + import.meta.url); -import('./nested/chunk2.js'); +import './nested/chunk.js'; diff --git a/test/chunking-form/samples/import-meta-url/_expected/es/nested/chunk.js b/test/chunking-form/samples/import-meta-url/_expected/es/nested/chunk.js index 9563d2b0194..e75794fdcab 100644 --- a/test/chunking-form/samples/import-meta-url/_expected/es/nested/chunk.js +++ b/test/chunking-form/samples/import-meta-url/_expected/es/nested/chunk.js @@ -6,4 +6,7 @@ function log(url) { } } +log('main: ' + import.meta.url); +import('./chunk2.js'); + export { log as l }; diff --git a/test/chunking-form/samples/import-meta-url/_expected/system/main.js b/test/chunking-form/samples/import-meta-url/_expected/system/main.js index 17ede17b3f6..8a6c6cc2c9f 100644 --- a/test/chunking-form/samples/import-meta-url/_expected/system/main.js +++ b/test/chunking-form/samples/import-meta-url/_expected/system/main.js @@ -1,14 +1,10 @@ -System.register(['./nested/chunk.js'], function (exports, module) { +System.register(['./nested/chunk.js'], function () { 'use strict'; - var log; return { - setters: [function (module) { - log = module.l; - }], + setters: [function () {}], execute: function () { - log('main: ' + module.meta.url); - module.import('./nested/chunk2.js'); + } }; diff --git a/test/chunking-form/samples/import-meta-url/_expected/system/nested/chunk.js b/test/chunking-form/samples/import-meta-url/_expected/system/nested/chunk.js index a7b1c64c015..32501851dec 100644 --- a/test/chunking-form/samples/import-meta-url/_expected/system/nested/chunk.js +++ b/test/chunking-form/samples/import-meta-url/_expected/system/nested/chunk.js @@ -1,4 +1,4 @@ -System.register([], function (exports) { +System.register([], function (exports, module) { 'use strict'; return { execute: function () { @@ -13,6 +13,9 @@ System.register([], function (exports) { } } + log('main: ' + module.meta.url); + module.import('./chunk2.js'); + } }; }); From b78e1e4db48b559daeb8c132715bc4e32a3d306c Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 14:43:21 +0000 Subject: [PATCH 15/47] update 'reference-files' test --- .../emit-file/reference-files/_expected/amd/main.js | 5 +---- .../reference-files/_expected/amd/nested/chunk.js | 7 ++++++- .../reference-files/_expected/amd/nested/chunk2.js | 4 ++-- .../emit-file/reference-files/_expected/cjs/main.js | 6 +----- .../reference-files/_expected/cjs/nested/chunk.js | 5 +++++ .../reference-files/_expected/cjs/nested/chunk2.js | 4 ++-- .../emit-file/reference-files/_expected/es/main.js | 7 +------ .../reference-files/_expected/es/nested/chunk.js | 5 +++++ .../emit-file/reference-files/_expected/system/main.js | 10 ++-------- .../reference-files/_expected/system/nested/chunk.js | 7 ++++++- 10 files changed, 31 insertions(+), 29 deletions(-) diff --git a/test/chunking-form/samples/emit-file/reference-files/_expected/amd/main.js b/test/chunking-form/samples/emit-file/reference-files/_expected/amd/main.js index 337791a6921..428b2853e86 100644 --- a/test/chunking-form/samples/emit-file/reference-files/_expected/amd/main.js +++ b/test/chunking-form/samples/emit-file/reference-files/_expected/amd/main.js @@ -1,8 +1,5 @@ -define(['require', './nested/chunk'], function (require, showImage) { 'use strict'; +define(['./nested/chunk'], function (main) { 'use strict'; - var logo = new URL(require.toUrl('./assets/logo1-a5ec488b.svg'), document.baseURI).href; - showImage.showImage(logo); - new Promise(function (resolve, reject) { require(['./nested/chunk2'], resolve, reject) }); }); diff --git a/test/chunking-form/samples/emit-file/reference-files/_expected/amd/nested/chunk.js b/test/chunking-form/samples/emit-file/reference-files/_expected/amd/nested/chunk.js index 37057bda9a9..1922edf1019 100644 --- a/test/chunking-form/samples/emit-file/reference-files/_expected/amd/nested/chunk.js +++ b/test/chunking-form/samples/emit-file/reference-files/_expected/amd/nested/chunk.js @@ -1,4 +1,6 @@ -define(['exports'], function (exports) { 'use strict'; +define(['require', 'exports'], function (require, exports) { 'use strict'; + + var logo = new URL(require.toUrl('../assets/logo1-a5ec488b.svg'), document.baseURI).href; function showImage(url) { console.log(url); @@ -9,6 +11,9 @@ define(['exports'], function (exports) { 'use strict'; } } + showImage(logo); + new Promise(function (resolve, reject) { require(['./chunk2'], resolve, reject) }); + exports.showImage = showImage; }); diff --git a/test/chunking-form/samples/emit-file/reference-files/_expected/amd/nested/chunk2.js b/test/chunking-form/samples/emit-file/reference-files/_expected/amd/nested/chunk2.js index 92ac9ba4db0..42f6b4c01d9 100644 --- a/test/chunking-form/samples/emit-file/reference-files/_expected/amd/nested/chunk2.js +++ b/test/chunking-form/samples/emit-file/reference-files/_expected/amd/nested/chunk2.js @@ -1,7 +1,7 @@ -define(['require', './chunk'], function (require, showImage) { 'use strict'; +define(['require', './chunk'], function (require, main) { 'use strict'; var logo = new URL(require.toUrl('../assets/logo2-6d5979e4.svg'), document.baseURI).href; - showImage.showImage(logo); + main.showImage(logo); }); diff --git a/test/chunking-form/samples/emit-file/reference-files/_expected/cjs/main.js b/test/chunking-form/samples/emit-file/reference-files/_expected/cjs/main.js index 5078a894cce..9cfd3ef8efe 100644 --- a/test/chunking-form/samples/emit-file/reference-files/_expected/cjs/main.js +++ b/test/chunking-form/samples/emit-file/reference-files/_expected/cjs/main.js @@ -1,8 +1,4 @@ 'use strict'; -var showImage = require('./nested/chunk.js'); +require('./nested/chunk.js'); -var logo = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __dirname + '/assets/logo1-a5ec488b.svg').href : new URL('assets/logo1-a5ec488b.svg', document.currentScript && document.currentScript.src || document.baseURI).href); - -showImage.showImage(logo); -new Promise(function (resolve) { resolve(require('./nested/chunk2.js')); }); diff --git a/test/chunking-form/samples/emit-file/reference-files/_expected/cjs/nested/chunk.js b/test/chunking-form/samples/emit-file/reference-files/_expected/cjs/nested/chunk.js index ddb8d67c1f2..15b31289674 100644 --- a/test/chunking-form/samples/emit-file/reference-files/_expected/cjs/nested/chunk.js +++ b/test/chunking-form/samples/emit-file/reference-files/_expected/cjs/nested/chunk.js @@ -1,5 +1,7 @@ 'use strict'; +var logo = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __dirname + '/../assets/logo1-a5ec488b.svg').href : new URL('../assets/logo1-a5ec488b.svg', document.currentScript && document.currentScript.src || document.baseURI).href); + function showImage(url) { console.log(url); if (typeof document !== 'undefined') { @@ -9,4 +11,7 @@ function showImage(url) { } } +showImage(logo); +new Promise(function (resolve) { resolve(require('./chunk2.js')); }); + exports.showImage = showImage; diff --git a/test/chunking-form/samples/emit-file/reference-files/_expected/cjs/nested/chunk2.js b/test/chunking-form/samples/emit-file/reference-files/_expected/cjs/nested/chunk2.js index 510d2678d19..2202346b0af 100644 --- a/test/chunking-form/samples/emit-file/reference-files/_expected/cjs/nested/chunk2.js +++ b/test/chunking-form/samples/emit-file/reference-files/_expected/cjs/nested/chunk2.js @@ -1,7 +1,7 @@ 'use strict'; -var showImage = require('./chunk.js'); +var main = require('./chunk.js'); var logo = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __dirname + '/../assets/logo2-6d5979e4.svg').href : new URL('../assets/logo2-6d5979e4.svg', document.currentScript && document.currentScript.src || document.baseURI).href); -showImage.showImage(logo); +main.showImage(logo); diff --git a/test/chunking-form/samples/emit-file/reference-files/_expected/es/main.js b/test/chunking-form/samples/emit-file/reference-files/_expected/es/main.js index 6145c907395..a941d5953ff 100644 --- a/test/chunking-form/samples/emit-file/reference-files/_expected/es/main.js +++ b/test/chunking-form/samples/emit-file/reference-files/_expected/es/main.js @@ -1,6 +1 @@ -import { s as showImage } from './nested/chunk.js'; - -var logo = new URL('assets/logo1-a5ec488b.svg', import.meta.url).href; - -showImage(logo); -import('./nested/chunk2.js'); +import './nested/chunk.js'; diff --git a/test/chunking-form/samples/emit-file/reference-files/_expected/es/nested/chunk.js b/test/chunking-form/samples/emit-file/reference-files/_expected/es/nested/chunk.js index cf266147e36..6f40accccb2 100644 --- a/test/chunking-form/samples/emit-file/reference-files/_expected/es/nested/chunk.js +++ b/test/chunking-form/samples/emit-file/reference-files/_expected/es/nested/chunk.js @@ -1,3 +1,5 @@ +var logo = new URL('../assets/logo1-a5ec488b.svg', import.meta.url).href; + function showImage(url) { console.log(url); if (typeof document !== 'undefined') { @@ -7,4 +9,7 @@ function showImage(url) { } } +showImage(logo); +import('./chunk2.js'); + export { showImage as s }; diff --git a/test/chunking-form/samples/emit-file/reference-files/_expected/system/main.js b/test/chunking-form/samples/emit-file/reference-files/_expected/system/main.js index 3cef21c3600..8a6c6cc2c9f 100644 --- a/test/chunking-form/samples/emit-file/reference-files/_expected/system/main.js +++ b/test/chunking-form/samples/emit-file/reference-files/_expected/system/main.js @@ -1,16 +1,10 @@ -System.register(['./nested/chunk.js'], function (exports, module) { +System.register(['./nested/chunk.js'], function () { 'use strict'; - var showImage; return { - setters: [function (module) { - showImage = module.s; - }], + setters: [function () {}], execute: function () { - var logo = new URL('assets/logo1-a5ec488b.svg', module.meta.url).href; - showImage(logo); - module.import('./nested/chunk2.js'); } }; diff --git a/test/chunking-form/samples/emit-file/reference-files/_expected/system/nested/chunk.js b/test/chunking-form/samples/emit-file/reference-files/_expected/system/nested/chunk.js index 11e47945a7d..39386dc6991 100644 --- a/test/chunking-form/samples/emit-file/reference-files/_expected/system/nested/chunk.js +++ b/test/chunking-form/samples/emit-file/reference-files/_expected/system/nested/chunk.js @@ -1,10 +1,12 @@ -System.register([], function (exports) { +System.register([], function (exports, module) { 'use strict'; return { execute: function () { exports('s', showImage); + var logo = new URL('../assets/logo1-a5ec488b.svg', module.meta.url).href; + function showImage(url) { console.log(url); if (typeof document !== 'undefined') { @@ -14,6 +16,9 @@ System.register([], function (exports) { } } + showImage(logo); + module.import('./chunk2.js'); + } }; }); From 5dd7bcb8ddeed9a9435554ee74082c4e6b8c06fd Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 14:45:39 +0000 Subject: [PATCH 16/47] update 'emit-asset' test --- .../deprecated/emit-asset/_expected/amd/main.js | 5 +---- .../emit-asset/_expected/amd/nested/chunk.js | 7 ++++++- .../emit-asset/_expected/amd/nested/chunk2.js | 4 ++-- .../deprecated/emit-asset/_expected/cjs/main.js | 6 +----- .../emit-asset/_expected/cjs/nested/chunk.js | 5 +++++ .../emit-asset/_expected/cjs/nested/chunk2.js | 4 ++-- .../samples/deprecated/emit-asset/_expected/es/main.js | 7 +------ .../deprecated/emit-asset/_expected/es/nested/chunk.js | 5 +++++ .../deprecated/emit-asset/_expected/system/main.js | 10 ++-------- .../emit-asset/_expected/system/nested/chunk.js | 7 ++++++- 10 files changed, 31 insertions(+), 29 deletions(-) diff --git a/test/chunking-form/samples/deprecated/emit-asset/_expected/amd/main.js b/test/chunking-form/samples/deprecated/emit-asset/_expected/amd/main.js index 337791a6921..428b2853e86 100644 --- a/test/chunking-form/samples/deprecated/emit-asset/_expected/amd/main.js +++ b/test/chunking-form/samples/deprecated/emit-asset/_expected/amd/main.js @@ -1,8 +1,5 @@ -define(['require', './nested/chunk'], function (require, showImage) { 'use strict'; +define(['./nested/chunk'], function (main) { 'use strict'; - var logo = new URL(require.toUrl('./assets/logo1-a5ec488b.svg'), document.baseURI).href; - showImage.showImage(logo); - new Promise(function (resolve, reject) { require(['./nested/chunk2'], resolve, reject) }); }); diff --git a/test/chunking-form/samples/deprecated/emit-asset/_expected/amd/nested/chunk.js b/test/chunking-form/samples/deprecated/emit-asset/_expected/amd/nested/chunk.js index 37057bda9a9..1922edf1019 100644 --- a/test/chunking-form/samples/deprecated/emit-asset/_expected/amd/nested/chunk.js +++ b/test/chunking-form/samples/deprecated/emit-asset/_expected/amd/nested/chunk.js @@ -1,4 +1,6 @@ -define(['exports'], function (exports) { 'use strict'; +define(['require', 'exports'], function (require, exports) { 'use strict'; + + var logo = new URL(require.toUrl('../assets/logo1-a5ec488b.svg'), document.baseURI).href; function showImage(url) { console.log(url); @@ -9,6 +11,9 @@ define(['exports'], function (exports) { 'use strict'; } } + showImage(logo); + new Promise(function (resolve, reject) { require(['./chunk2'], resolve, reject) }); + exports.showImage = showImage; }); diff --git a/test/chunking-form/samples/deprecated/emit-asset/_expected/amd/nested/chunk2.js b/test/chunking-form/samples/deprecated/emit-asset/_expected/amd/nested/chunk2.js index 92ac9ba4db0..42f6b4c01d9 100644 --- a/test/chunking-form/samples/deprecated/emit-asset/_expected/amd/nested/chunk2.js +++ b/test/chunking-form/samples/deprecated/emit-asset/_expected/amd/nested/chunk2.js @@ -1,7 +1,7 @@ -define(['require', './chunk'], function (require, showImage) { 'use strict'; +define(['require', './chunk'], function (require, main) { 'use strict'; var logo = new URL(require.toUrl('../assets/logo2-6d5979e4.svg'), document.baseURI).href; - showImage.showImage(logo); + main.showImage(logo); }); diff --git a/test/chunking-form/samples/deprecated/emit-asset/_expected/cjs/main.js b/test/chunking-form/samples/deprecated/emit-asset/_expected/cjs/main.js index 5078a894cce..9cfd3ef8efe 100644 --- a/test/chunking-form/samples/deprecated/emit-asset/_expected/cjs/main.js +++ b/test/chunking-form/samples/deprecated/emit-asset/_expected/cjs/main.js @@ -1,8 +1,4 @@ 'use strict'; -var showImage = require('./nested/chunk.js'); +require('./nested/chunk.js'); -var logo = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __dirname + '/assets/logo1-a5ec488b.svg').href : new URL('assets/logo1-a5ec488b.svg', document.currentScript && document.currentScript.src || document.baseURI).href); - -showImage.showImage(logo); -new Promise(function (resolve) { resolve(require('./nested/chunk2.js')); }); diff --git a/test/chunking-form/samples/deprecated/emit-asset/_expected/cjs/nested/chunk.js b/test/chunking-form/samples/deprecated/emit-asset/_expected/cjs/nested/chunk.js index ddb8d67c1f2..15b31289674 100644 --- a/test/chunking-form/samples/deprecated/emit-asset/_expected/cjs/nested/chunk.js +++ b/test/chunking-form/samples/deprecated/emit-asset/_expected/cjs/nested/chunk.js @@ -1,5 +1,7 @@ 'use strict'; +var logo = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __dirname + '/../assets/logo1-a5ec488b.svg').href : new URL('../assets/logo1-a5ec488b.svg', document.currentScript && document.currentScript.src || document.baseURI).href); + function showImage(url) { console.log(url); if (typeof document !== 'undefined') { @@ -9,4 +11,7 @@ function showImage(url) { } } +showImage(logo); +new Promise(function (resolve) { resolve(require('./chunk2.js')); }); + exports.showImage = showImage; diff --git a/test/chunking-form/samples/deprecated/emit-asset/_expected/cjs/nested/chunk2.js b/test/chunking-form/samples/deprecated/emit-asset/_expected/cjs/nested/chunk2.js index 510d2678d19..2202346b0af 100644 --- a/test/chunking-form/samples/deprecated/emit-asset/_expected/cjs/nested/chunk2.js +++ b/test/chunking-form/samples/deprecated/emit-asset/_expected/cjs/nested/chunk2.js @@ -1,7 +1,7 @@ 'use strict'; -var showImage = require('./chunk.js'); +var main = require('./chunk.js'); var logo = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __dirname + '/../assets/logo2-6d5979e4.svg').href : new URL('../assets/logo2-6d5979e4.svg', document.currentScript && document.currentScript.src || document.baseURI).href); -showImage.showImage(logo); +main.showImage(logo); diff --git a/test/chunking-form/samples/deprecated/emit-asset/_expected/es/main.js b/test/chunking-form/samples/deprecated/emit-asset/_expected/es/main.js index 6145c907395..a941d5953ff 100644 --- a/test/chunking-form/samples/deprecated/emit-asset/_expected/es/main.js +++ b/test/chunking-form/samples/deprecated/emit-asset/_expected/es/main.js @@ -1,6 +1 @@ -import { s as showImage } from './nested/chunk.js'; - -var logo = new URL('assets/logo1-a5ec488b.svg', import.meta.url).href; - -showImage(logo); -import('./nested/chunk2.js'); +import './nested/chunk.js'; diff --git a/test/chunking-form/samples/deprecated/emit-asset/_expected/es/nested/chunk.js b/test/chunking-form/samples/deprecated/emit-asset/_expected/es/nested/chunk.js index cf266147e36..6f40accccb2 100644 --- a/test/chunking-form/samples/deprecated/emit-asset/_expected/es/nested/chunk.js +++ b/test/chunking-form/samples/deprecated/emit-asset/_expected/es/nested/chunk.js @@ -1,3 +1,5 @@ +var logo = new URL('../assets/logo1-a5ec488b.svg', import.meta.url).href; + function showImage(url) { console.log(url); if (typeof document !== 'undefined') { @@ -7,4 +9,7 @@ function showImage(url) { } } +showImage(logo); +import('./chunk2.js'); + export { showImage as s }; diff --git a/test/chunking-form/samples/deprecated/emit-asset/_expected/system/main.js b/test/chunking-form/samples/deprecated/emit-asset/_expected/system/main.js index 3cef21c3600..8a6c6cc2c9f 100644 --- a/test/chunking-form/samples/deprecated/emit-asset/_expected/system/main.js +++ b/test/chunking-form/samples/deprecated/emit-asset/_expected/system/main.js @@ -1,16 +1,10 @@ -System.register(['./nested/chunk.js'], function (exports, module) { +System.register(['./nested/chunk.js'], function () { 'use strict'; - var showImage; return { - setters: [function (module) { - showImage = module.s; - }], + setters: [function () {}], execute: function () { - var logo = new URL('assets/logo1-a5ec488b.svg', module.meta.url).href; - showImage(logo); - module.import('./nested/chunk2.js'); } }; diff --git a/test/chunking-form/samples/deprecated/emit-asset/_expected/system/nested/chunk.js b/test/chunking-form/samples/deprecated/emit-asset/_expected/system/nested/chunk.js index 11e47945a7d..39386dc6991 100644 --- a/test/chunking-form/samples/deprecated/emit-asset/_expected/system/nested/chunk.js +++ b/test/chunking-form/samples/deprecated/emit-asset/_expected/system/nested/chunk.js @@ -1,10 +1,12 @@ -System.register([], function (exports) { +System.register([], function (exports, module) { 'use strict'; return { execute: function () { exports('s', showImage); + var logo = new URL('../assets/logo1-a5ec488b.svg', module.meta.url).href; + function showImage(url) { console.log(url); if (typeof document !== 'undefined') { @@ -14,6 +16,9 @@ System.register([], function (exports) { } } + showImage(logo); + module.import('./chunk2.js'); + } }; }); From f6f84a7756e893d08bc5b3e2be8a47a8b6f5662a Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 14:46:05 +0000 Subject: [PATCH 17/47] update 'aliasing-extensions' test --- .../_expected/amd/generated-main4.dynamic.js | 2 ++ .../aliasing-extensions/_expected/amd/generated-main5.js | 4 ++-- .../_expected/cjs/generated-main4.dynamic.js | 2 ++ .../aliasing-extensions/_expected/cjs/generated-main5.js | 3 ++- .../_expected/es/generated-main4.dynamic.js | 2 ++ .../aliasing-extensions/_expected/es/generated-main5.js | 2 +- .../_expected/system/generated-main4.dynamic.js | 2 ++ .../aliasing-extensions/_expected/system/generated-main5.js | 5 +++-- 8 files changed, 16 insertions(+), 6 deletions(-) diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main4.dynamic.js b/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main4.dynamic.js index ed41892cfe1..014236fffe4 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main4.dynamic.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main4.dynamic.js @@ -2,4 +2,6 @@ define(function () { 'use strict'; console.log('main4'); + console.log('main5'); + }); diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main5.js b/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main5.js index db3f430c9aa..1720556866e 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main5.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main5.js @@ -1,5 +1,5 @@ -define(function () { 'use strict'; +define(['./generated-main4.dynamic'], function (main4_dynamic) { 'use strict'; + - console.log('main5'); }); diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main4.dynamic.js b/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main4.dynamic.js index d27ed956b79..128a2766eca 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main4.dynamic.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main4.dynamic.js @@ -1,3 +1,5 @@ 'use strict'; console.log('main4'); + +console.log('main5'); diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main5.js b/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main5.js index e7b2d35b4e8..674dc3e4cfb 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main5.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main5.js @@ -1,3 +1,4 @@ 'use strict'; -console.log('main5'); +require('./generated-main4.dynamic.js'); + diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main4.dynamic.js b/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main4.dynamic.js index f517bece900..53414702211 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main4.dynamic.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main4.dynamic.js @@ -1 +1,3 @@ console.log('main4'); + +console.log('main5'); diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main5.js b/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main5.js index 1807e01f88e..f46d5e0524e 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main5.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main5.js @@ -1 +1 @@ -console.log('main5'); +import './generated-main4.dynamic.js'; diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main4.dynamic.js b/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main4.dynamic.js index 1fd85fc4363..91984a525a4 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main4.dynamic.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main4.dynamic.js @@ -5,6 +5,8 @@ System.register([], function () { console.log('main4'); + console.log('main5'); + } }; }); diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main5.js b/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main5.js index e71255e3ef3..4e61ab39964 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main5.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main5.js @@ -1,9 +1,10 @@ -System.register([], function () { +System.register(['./generated-main4.dynamic.js'], function () { 'use strict'; return { + setters: [function () {}], execute: function () { - console.log('main5'); + } }; From 07f86a5aaeab9d97b119bcb54ec1fe5339cd3ac5 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 15:20:33 +0000 Subject: [PATCH 18/47] update bundle-information test --- test/misc/bundle-information.js | 79 ++++++++++++++++++++++++++------- 1 file changed, 62 insertions(+), 17 deletions(-) diff --git a/test/misc/bundle-information.js b/test/misc/bundle-information.js index eb1a13f8e21..c8e39486636 100644 --- a/test/misc/bundle-information.js +++ b/test/misc/bundle-information.js @@ -38,9 +38,21 @@ describe('The bundle object', () => { ], 'code' ); - assert.deepEqual(output.map(chunk => chunk.map), [null, null, null], 'map'); - assert.deepEqual(output.map(chunk => chunk.isEntry), [true, true, false], 'isEntry'); - assert.deepEqual(output.map(chunk => chunk.name), ['input1', 'input2', 'shared'], 'name'); + assert.deepEqual( + output.map(chunk => chunk.map), + [null, null, null], + 'map' + ); + assert.deepEqual( + output.map(chunk => chunk.isEntry), + [true, true, false], + 'isEntry' + ); + assert.deepEqual( + output.map(chunk => chunk.name), + ['input1', 'input2', 'shared'], + 'name' + ); assert.deepEqual( output.map(chunk => chunk.facadeModuleId), ['input1', 'input2', null], @@ -51,8 +63,16 @@ describe('The bundle object', () => { [['generated-shared-f6027271.js'], ['generated-shared-f6027271.js'], []], 'imports' ); - assert.deepEqual(output.map(chunk => chunk.dynamicImports), [[], [], []], 'dynamicImports'); - assert.deepEqual(output.map(chunk => chunk.exports), [['out'], ['default'], []], 'exports'); + assert.deepEqual( + output.map(chunk => chunk.dynamicImports), + [[], [], []], + 'dynamicImports' + ); + assert.deepEqual( + output.map(chunk => chunk.exports), + [['out'], ['default'], []], + 'exports' + ); assert.deepEqual( output.map(chunk => chunk.modules), [ @@ -117,7 +137,11 @@ describe('The bundle object', () => { [['input1'], [], ['shared', 'input2']], 'modules' ); - assert.deepEqual(output.map(chunk => chunk.isEntry), [true, true, false], 'isEntry'); + assert.deepEqual( + output.map(chunk => chunk.isEntry), + [true, true, false], + 'isEntry' + ); assert.deepEqual( output.map(chunk => chunk.facadeModuleId), ['input1', 'input2', null], @@ -187,7 +211,11 @@ describe('The bundle object', () => { ['input.js', 'dynamic1.js', 'generated-dynamic2.js'], 'fileName' ); - assert.deepEqual(output.map(chunk => chunk.isEntry), [true, true, false], 'isEntry'); + assert.deepEqual( + output.map(chunk => chunk.isEntry), + [true, true, false], + 'isEntry' + ); assert.deepEqual( output.map(chunk => chunk.code), [ @@ -239,27 +267,27 @@ describe('The bundle object', () => { .then(({ output }) => { assert.deepEqual( output.map(chunk => chunk.fileName), - ['input1.js', 'input2.js', 'generated-dynamic.js', 'generated-dynamic2.js'], + ['input1.js', 'input2.js', 'generated-dynamic.js'], 'fileName' ); assert.deepEqual( output.map(chunk => Object.keys(chunk.modules)), - [['input1'], ['input2'], ['dep', 'dynamic'], []], + [['input1'], [], ['dep', 'dynamic', 'input2']], 'modules' ); assert.deepEqual( output.map(chunk => chunk.isDynamicEntry), - [false, false, false, true], + [false, false, true], 'isDynamicEntry' ); assert.deepEqual( output.map(chunk => chunk.facadeModuleId), - ['input1', 'input2', null, 'dynamic'], + ['input1', 'input2', 'dynamic'], 'facadeModuleId' ); assert.deepEqual( output.map(chunk => chunk.dynamicImports), - [['generated-dynamic.js'], [], [], []], + [['generated-dynamic.js'], [], []], 'dynamicImports' ); }); @@ -285,9 +313,21 @@ describe('The bundle object', () => { }) ) .then(({ output }) => { - assert.deepEqual(output.map(chunk => chunk.fileName), ['input.js'], 'fileName'); - assert.deepEqual(output.map(chunk => chunk.imports), [[]], 'imports'); - assert.deepEqual(output.map(chunk => chunk.dynamicImports), [[]], 'dynamicImports'); + assert.deepEqual( + output.map(chunk => chunk.fileName), + ['input.js'], + 'fileName' + ); + assert.deepEqual( + output.map(chunk => chunk.imports), + [[]], + 'imports' + ); + assert.deepEqual( + output.map(chunk => chunk.dynamicImports), + [[]], + 'dynamicImports' + ); assert.deepEqual( output.map(chunk => chunk.modules), [ @@ -333,7 +373,11 @@ describe('The bundle object', () => { ['_virtual/input', '_virtual/dynamic1', '_virtual/other', '_virtual/dynamic2'], 'fileName' ); - assert.deepEqual(output.map(chunk => chunk.isEntry), [true, true, false, false], 'isEntry'); + assert.deepEqual( + output.map(chunk => chunk.isEntry), + [true, true, false, false], + 'isEntry' + ); assert.deepEqual( output.map(chunk => chunk.code), [ @@ -423,7 +467,8 @@ console.log(other);Promise.all([import('./dynamic1'), import('./dynamic2')]).the input: ['input'], plugins: [ loader({ - input: '/* removed header */ export { renderedFn, renderedClass, renderedConst } from "code"', + input: + '/* removed header */ export { renderedFn, renderedClass, renderedConst } from "code"', code: 'export function renderedFn() {}\nexport function removedFn() {}\n' + 'export class renderedClass {}\nexport class removedClass {}\n' + From a01c14511d0d1c88c4ecd98c45c413c9ed7f1ed7 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 15:27:48 +0000 Subject: [PATCH 19/47] update hooks test --- test/hooks/index.js | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/test/hooks/index.js b/test/hooks/index.js index c8e083a3b2a..cf7faefd37a 100644 --- a/test/hooks/index.js +++ b/test/hooks/index.js @@ -1037,19 +1037,19 @@ describe('hooks', () => { modules: ['input'] }, { - fileName: 'generated-a.js', - imports: ['generated-c.js'], - modules: ['d', 'a'] + fileName: 'generated-b.js', + imports: [], + modules: ['d', 'c', 'a', 'b'] }, { - fileName: 'generated-c.js', - imports: [], - modules: ['c'] + fileName: 'generated-a.js', + imports: ['generated-b.js'], + modules: [] }, { - fileName: 'generated-b.js', - imports: ['generated-c.js'], - modules: ['b'] + fileName: 'generated-b2.js', + imports: ['generated-b.js'], + modules: [] } ]); }); @@ -1192,7 +1192,10 @@ describe('hooks', () => { }) ) .then(() => { - assert.deepEqual(result, [{ a: file, format: 'cjs' }, { b: file, format: 'cjs' }]); + assert.deepEqual(result, [ + { a: file, format: 'cjs' }, + { b: file, format: 'cjs' } + ]); return sander.rimraf(TEMP_DIR); }); }); From 8a94ab9d6906a66fb73552ff3c29a6e5d270ee05 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 15:28:41 +0000 Subject: [PATCH 20/47] disable 'updates the right hashes on dependency changes' test for now --- test/watch/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/watch/index.js b/test/watch/index.js index a1042679488..334a6f61a92 100644 --- a/test/watch/index.js +++ b/test/watch/index.js @@ -816,7 +816,8 @@ describe('rollup.watch', () => { }); }); - it('updates the right hashes on dependency changes', () => { + // TODO + xit('updates the right hashes on dependency changes', () => { let dynamicName; let staticName; let chunkName; From d841a517167615b7bcc7938621699889f9116bb6 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Tue, 31 Dec 2019 15:44:33 +0000 Subject: [PATCH 21/47] update 'updates the right hashes on dependency changes' test to update dynamic module instead because the dynamic chunk now contains the contents of 'main-static.js' --- test/watch/index.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/test/watch/index.js b/test/watch/index.js index 334a6f61a92..0509a332eab 100644 --- a/test/watch/index.js +++ b/test/watch/index.js @@ -816,8 +816,7 @@ describe('rollup.watch', () => { }); }); - // TODO - xit('updates the right hashes on dependency changes', () => { + it('updates the right hashes on dependency changes', () => { let dynamicName; let staticName; let chunkName; @@ -848,8 +847,8 @@ describe('rollup.watch', () => { // this should only update the hash of that particular entry point sander.writeFileSync( - 'test/_tmp/input/main-static.js', - "import {value} from './shared';\nexport default 2 * value;" + 'test/_tmp/input/main-dynamic.js', + "export default import('./shared')\nconsole.log('main-dynamic')" ); }, 'START', @@ -861,8 +860,8 @@ describe('rollup.watch', () => { .readdirSync('test/_tmp/output') .sort(); sander.rimrafSync('test/_tmp/output'); - assert.notEqual(newStaticName, staticName); - assert.strictEqual(newDynamicName, dynamicName); + assert.strictEqual(newStaticName, staticName); + assert.notEqual(newDynamicName, dynamicName); assert.strictEqual(newChunkName, chunkName); staticName = newStaticName; From 55ca3321d6d50975fc2d1bab2c356eed83f68259 Mon Sep 17 00:00:00 2001 From: Lukas Taegert-Atkinson Date: Fri, 10 Jan 2020 17:03:32 +0100 Subject: [PATCH 22/47] Add some first specific tests --- .../_config.js | 7 +++++++ .../_expected/amd/generated-dep2.js | 7 +++++++ .../_expected/amd/generated-dynamic.js | 8 ++++++++ .../_expected/amd/main1.js | 13 +++++++++++++ .../_expected/amd/main2.js | 10 ++++++++++ .../_expected/cjs/generated-dep2.js | 5 +++++ .../_expected/cjs/generated-dynamic.js | 9 +++++++++ .../_expected/cjs/main1.js | 13 +++++++++++++ .../_expected/cjs/main2.js | 10 ++++++++++ .../_expected/es/generated-dep2.js | 3 +++ .../_expected/es/generated-dynamic.js | 6 ++++++ .../_expected/es/main1.js | 9 +++++++++ .../_expected/es/main2.js | 5 +++++ .../_expected/system/generated-dep2.js | 10 ++++++++++ .../_expected/system/generated-dynamic.js | 18 ++++++++++++++++++ .../_expected/system/main1.js | 18 ++++++++++++++++++ .../_expected/system/main2.js | 16 ++++++++++++++++ .../multi-entry-different-dependencies/dep1.js | 1 + .../multi-entry-different-dependencies/dep2.js | 1 + .../dynamic.js | 4 ++++ .../main1.js | 5 +++++ .../main2.js | 4 ++++ .../single-dynamic/_config.js | 4 ++++ .../_expected/amd/generated-dynamic.js | 7 +++++++ .../single-dynamic/_expected/amd/main.js | 12 ++++++++++++ .../_expected/cjs/generated-dynamic.js | 7 +++++++ .../single-dynamic/_expected/cjs/main.js | 10 ++++++++++ .../_expected/es/generated-dynamic.js | 4 ++++ .../single-dynamic/_expected/es/main.js | 6 ++++++ .../_expected/system/generated-dynamic.js | 15 +++++++++++++++ .../single-dynamic/_expected/system/main.js | 13 +++++++++++++ .../single-dynamic/dep.js | 1 + .../single-dynamic/dynamic.js | 3 +++ .../single-dynamic/main.js | 4 ++++ 34 files changed, 268 insertions(+) create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dep2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dep2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dep2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/dep1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/dep2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/es/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/es/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/dep.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/main.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js new file mode 100644 index 00000000000..fd9e687a29a --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js @@ -0,0 +1,7 @@ +module.exports = { + description: + 'avoids chunks for always loaded dependencies if multiple entry points with different dependencies have dynamic imports', + options: { + input: ['main1', 'main2'] + } +}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dep2.js new file mode 100644 index 00000000000..b728fc2ba24 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dep2.js @@ -0,0 +1,7 @@ +define(['exports'], function (exports) { 'use strict'; + + const value2 = 'shared2'; + + exports.value2 = value2; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dynamic.js new file mode 100644 index 00000000000..8e94e46fd09 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dynamic.js @@ -0,0 +1,8 @@ +define(['exports', './main1', './generated-dep2'], function (exports, main1, dep2) { 'use strict'; + + console.log('dynamic1', main1.value1, dep2.value2); + + exports.value1 = main1.value1; + exports.value2 = dep2.value2; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main1.js new file mode 100644 index 00000000000..72cc958297d --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main1.js @@ -0,0 +1,13 @@ +define(['require', 'exports', './generated-dep2'], function (require, exports, dep2) { 'use strict'; + + const value1 = 'shared1'; + + console.log('main1', value1, dep2.value2); + new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); + + exports.value2 = dep2.value2; + exports.value1 = value1; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js new file mode 100644 index 00000000000..5411a5236e1 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js @@ -0,0 +1,10 @@ +define(['require', 'exports', './generated-dep2'], function (require, exports, dep2) { 'use strict'; + + console.log('main2', dep2.value2); + new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); + + exports.value2 = dep2.value2; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep2.js new file mode 100644 index 00000000000..6cb88b6e527 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep2.js @@ -0,0 +1,5 @@ +'use strict'; + +const value2 = 'shared2'; + +exports.value2 = value2; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dynamic.js new file mode 100644 index 00000000000..d890619c17a --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dynamic.js @@ -0,0 +1,9 @@ +'use strict'; + +var main1 = require('./main1.js'); +var dep2 = require('./generated-dep2.js'); + +console.log('dynamic1', main1.value1, dep2.value2); + +exports.value1 = main1.value1; +exports.value2 = dep2.value2; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main1.js new file mode 100644 index 00000000000..59fcb5a3668 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main1.js @@ -0,0 +1,13 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var dep2 = require('./generated-dep2.js'); + +const value1 = 'shared1'; + +console.log('main1', value1, dep2.value2); +new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); + +exports.value2 = dep2.value2; +exports.value1 = value1; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js new file mode 100644 index 00000000000..0d4c779ab91 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js @@ -0,0 +1,10 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var dep2 = require('./generated-dep2.js'); + +console.log('main2', dep2.value2); +new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); + +exports.value2 = dep2.value2; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dep2.js new file mode 100644 index 00000000000..a4c763f7bf6 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dep2.js @@ -0,0 +1,3 @@ +const value2 = 'shared2'; + +export { value2 as v }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dynamic.js new file mode 100644 index 00000000000..889bcfa827b --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dynamic.js @@ -0,0 +1,6 @@ +import { value1 } from './main1.js'; +export { value1 } from './main1.js'; +import { v as value2 } from './generated-dep2.js'; +export { v as value2 } from './generated-dep2.js'; + +console.log('dynamic1', value1, value2); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main1.js new file mode 100644 index 00000000000..c14f6b437e7 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main1.js @@ -0,0 +1,9 @@ +import { v as value2 } from './generated-dep2.js'; +export { v as value2 } from './generated-dep2.js'; + +const value1 = 'shared1'; + +console.log('main1', value1, value2); +import('./generated-dynamic.js'); + +export { value1 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main2.js new file mode 100644 index 00000000000..eac967da533 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main2.js @@ -0,0 +1,5 @@ +import { v as value2 } from './generated-dep2.js'; +export { v as value2 } from './generated-dep2.js'; + +console.log('main2', value2); +import('./generated-dynamic.js'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dep2.js new file mode 100644 index 00000000000..af5ad2b9e6d --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dep2.js @@ -0,0 +1,10 @@ +System.register([], function (exports) { + 'use strict'; + return { + execute: function () { + + const value2 = exports('v', 'shared2'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dynamic.js new file mode 100644 index 00000000000..39298902944 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dynamic.js @@ -0,0 +1,18 @@ +System.register(['./main1.js', './generated-dep2.js'], function (exports) { + 'use strict'; + var value1, value2; + return { + setters: [function (module) { + value1 = module.value1; + exports('value1', module.value1); + }, function (module) { + value2 = module.v; + exports('value2', module.v); + }], + execute: function () { + + console.log('dynamic1', value1, value2); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main1.js new file mode 100644 index 00000000000..b0eccfb1175 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main1.js @@ -0,0 +1,18 @@ +System.register(['./generated-dep2.js'], function (exports, module) { + 'use strict'; + var value2; + return { + setters: [function (module) { + value2 = module.v; + exports('value2', module.v); + }], + execute: function () { + + const value1 = exports('value1', 'shared1'); + + console.log('main1', value1, value2); + module.import('./generated-dynamic.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js new file mode 100644 index 00000000000..528d214357c --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js @@ -0,0 +1,16 @@ +System.register(['./generated-dep2.js'], function (exports, module) { + 'use strict'; + var value2; + return { + setters: [function (module) { + value2 = module.v; + exports('value2', module.v); + }], + execute: function () { + + console.log('main2', value2); + module.import('./generated-dynamic.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/dep1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/dep1.js new file mode 100644 index 00000000000..4223625bb2a --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/dep1.js @@ -0,0 +1 @@ +export const value1 = 'shared1'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/dep2.js new file mode 100644 index 00000000000..0899a373210 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/dep2.js @@ -0,0 +1 @@ +export const value2 = 'shared2'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/dynamic.js new file mode 100644 index 00000000000..f708b2904e6 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/dynamic.js @@ -0,0 +1,4 @@ +import { value1 } from './dep1.js'; +import { value2 } from './dep2.js'; +console.log('dynamic1', value1, value2); +export { value1, value2 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main1.js new file mode 100644 index 00000000000..991bb391bfa --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main1.js @@ -0,0 +1,5 @@ +import { value1 } from './dep1.js'; +import { value2 } from './dep2.js'; +console.log('main1', value1, value2); +import('./dynamic.js'); +export { value1, value2 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main2.js new file mode 100644 index 00000000000..6f69e7f7fde --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main2.js @@ -0,0 +1,4 @@ +import { value2 } from './dep2.js'; +console.log('main2', value2); +import('./dynamic.js'); +export { value2 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js new file mode 100644 index 00000000000..4ca923a9bb0 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js @@ -0,0 +1,4 @@ +module.exports = { + description: + 'does not create a separate chunk if a dynamically imported chunk shares a dependency with its importer' +}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/generated-dynamic.js new file mode 100644 index 00000000000..1b7cd9e3d6d --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/generated-dynamic.js @@ -0,0 +1,7 @@ +define(['exports', './main'], function (exports, main) { 'use strict'; + + console.log('dynamic', main.value); + + exports.value = main.value; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/main.js new file mode 100644 index 00000000000..714a305c85f --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/main.js @@ -0,0 +1,12 @@ +define(['require', 'exports'], function (require, exports) { 'use strict'; + + const value = 'shared'; + + console.log('main', value); + new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); + + exports.value = value; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/generated-dynamic.js new file mode 100644 index 00000000000..13cb57f7224 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/generated-dynamic.js @@ -0,0 +1,7 @@ +'use strict'; + +var main = require('./main.js'); + +console.log('dynamic', main.value); + +exports.value = main.value; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/main.js new file mode 100644 index 00000000000..b87c736b8fc --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/main.js @@ -0,0 +1,10 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const value = 'shared'; + +console.log('main', value); +new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); + +exports.value = value; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/es/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/es/generated-dynamic.js new file mode 100644 index 00000000000..5726f3b9c9f --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/es/generated-dynamic.js @@ -0,0 +1,4 @@ +import { value } from './main.js'; +export { value } from './main.js'; + +console.log('dynamic', value); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/es/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/es/main.js new file mode 100644 index 00000000000..45c58dd8e67 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/es/main.js @@ -0,0 +1,6 @@ +const value = 'shared'; + +console.log('main', value); +import('./generated-dynamic.js'); + +export { value }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/generated-dynamic.js new file mode 100644 index 00000000000..d709dd7477a --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/generated-dynamic.js @@ -0,0 +1,15 @@ +System.register(['./main.js'], function (exports) { + 'use strict'; + var value; + return { + setters: [function (module) { + value = module.value; + exports('value', module.value); + }], + execute: function () { + + console.log('dynamic', value); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/main.js new file mode 100644 index 00000000000..b49c63ff160 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/main.js @@ -0,0 +1,13 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + const value = exports('value', 'shared'); + + console.log('main', value); + module.import('./generated-dynamic.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/dep.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/dep.js new file mode 100644 index 00000000000..1d4be9c15d0 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/dep.js @@ -0,0 +1 @@ +export const value = 'shared'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/dynamic.js new file mode 100644 index 00000000000..6962353973b --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/dynamic.js @@ -0,0 +1,3 @@ +import { value } from './dep.js'; +console.log('dynamic', value); +export { value }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/main.js new file mode 100644 index 00000000000..0d5b8fec28f --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/main.js @@ -0,0 +1,4 @@ +import { value } from './dep.js'; +console.log('main', value); +import('./dynamic.js'); +export { value }; From fa7dfa3272534ff7a5a3945d01ac76552648d227 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Fri, 10 Jan 2020 22:22:49 +0100 Subject: [PATCH 23/47] use correct key for dynamicDependentEntryPointsByDynamicEntry --- src/utils/chunkColouring.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 49b11e9161e..1da987af356 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -39,9 +39,6 @@ export function assignChunkColouringHashes( } } - const dynamicDependentEntryPoints = - dynamicDependentEntryPointsByDynamicEntry.get(module) || new Set(); - dynamicDependentEntryPointsByDynamicEntry.set(module, dynamicDependentEntryPoints); for (const { resolution } of module.dynamicImports) { if ( resolution instanceof Module && @@ -50,6 +47,11 @@ export function assignChunkColouringHashes( ) { const dynamicImportDependentEntryPoints = dependentEntryPointsByModule.get(resolution) || new Set(); + + const dynamicDependentEntryPoints = + dynamicDependentEntryPointsByDynamicEntry.get(resolution) || new Set(); + dynamicDependentEntryPointsByDynamicEntry.set(resolution, dynamicDependentEntryPoints); + dynamicImportDependentEntryPoints.forEach(entryPoint => dynamicDependentEntryPoints.add(entryPoint) ); From 14375fb2f16fe99e6885e8686c4208e770d4eb0e Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sat, 11 Jan 2020 19:45:37 +0100 Subject: [PATCH 24/47] try a different approach --- src/utils/chunkColouring.ts | 151 +++++++++--------- src/utils/entryHashing.ts | 6 + test/chunking-form/index.js | 3 +- .../_config.js | 1 + .../_expected/amd/generated-dep2.js | 7 - .../_expected/amd/generated-dynamic.js | 8 - .../_expected/amd/main1.js | 13 -- .../_expected/amd/main2.js | 10 -- .../_expected/cjs/generated-dep2.js | 5 - .../_expected/cjs/generated-dynamic.js | 9 -- .../_expected/cjs/main1.js | 13 -- .../_expected/cjs/main2.js | 10 -- .../_expected/es/generated-dep1.js | 3 + .../_expected/es/generated-dynamic.js | 4 +- .../_expected/es/main1.js | 8 +- .../_expected/es/main2.js | 1 + .../_expected/system/generated-dep2.js | 10 -- .../_expected/system/generated-dynamic.js | 18 --- .../_expected/system/main1.js | 18 --- .../_expected/system/main2.js | 16 -- .../main1.js | 3 +- .../main2.js | 1 + .../only-from-main-1.js | 1 + .../_config.js | 8 + .../_expected/es/generated-dep2.js | 3 + .../_expected/es/generated-dynamic1.js | 5 + .../_expected/es/generated-dynamic2.js | 4 + .../_expected/es/main1.js | 9 ++ .../_expected/es/main2.js | 5 + .../dep1.js | 1 + .../dep2.js | 1 + .../dynamic1.js | 3 + .../dynamic2.js | 3 + .../main1.js | 5 + .../main2.js | 4 + .../_config.js | 11 ++ .../_expected/es/generated-dynamic.js | 3 + .../_expected/es/generated-shared.js | 6 + .../_expected/es/main1.js | 3 + .../_expected/es/main2.js | 3 + .../dep.js | 1 + .../dynamic.js | 2 + .../main1.js | 3 + .../main2.js | 3 + .../main3.js | 3 + .../shared.js | 3 + .../_config.js | 8 + .../_expected/es/generated-dynamic.js | 3 + .../_expected/es/generated-shared.js | 6 + .../_expected/es/main1.js | 3 + .../_expected/es/main2.js | 3 + .../dep.js | 1 + .../dynamic.js | 2 + .../main1.js | 3 + .../main2.js | 3 + .../shared.js | 3 + .../_config.js | 5 + .../_expected/es/generated-dynamic.js | 4 + .../_expected/es/main.js | 9 ++ .../single-dynamic-multiple-imports/a.js | 3 + .../single-dynamic-multiple-imports/dep.js | 1 + .../dynamic.js | 3 + .../single-dynamic-multiple-imports/main.js | 5 + .../single-dynamic/_config.js | 1 + .../_expected/amd/generated-dynamic.js | 7 - .../single-dynamic/_expected/amd/main.js | 12 -- .../_expected/cjs/generated-dynamic.js | 7 - .../single-dynamic/_expected/cjs/main.js | 10 -- .../_expected/system/generated-dynamic.js | 15 -- .../single-dynamic/_expected/system/main.js | 13 -- 70 files changed, 258 insertions(+), 283 deletions(-) delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dep2.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dynamic.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main1.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep2.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dynamic.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main1.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dep1.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dep2.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dynamic.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main1.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/only-from-main-1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_config.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/generated-dep2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dep1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dep2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_config.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-shared.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/dep.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main3.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/shared.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_config.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/generated-shared.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/dep.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/shared.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_config.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/es/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/es/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/a.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/dep.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/main.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/generated-dynamic.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/main.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/generated-dynamic.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/main.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/generated-dynamic.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/main.js diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 1da987af356..988d288a2b8 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -1,101 +1,104 @@ -import ExternalModule from '../ExternalModule'; import Module from '../Module'; -import { randomUint8Array, Uint8ArrayXor } from './entryHashing'; +import { cloneUint8Array, randomUint8Array, Uint8ArrayEqual, Uint8ArrayXor } from './entryHashing'; + +function getOrCreateSetInMap(map: Map>, key: TKey): Set { + const set = map.get(key) || new Set(); + map.set(key, set); + return set; +} export function assignChunkColouringHashes( entryModules: Module[], manualChunkModules: Record ) { - let currentEntry: Module, currentEntryHash: Uint8Array; - let modulesVisitedForCurrentEntry: Set; - const handledEntryPoints: Set = new Set(); - const dynamicImports: Module[] = []; - const dependentEntryPointsByModule: Map> = new Map(); - const dynamicDependentEntryPointsByDynamicEntry: Map> = new Map(); + const colouredModules: Set = new Set(); + const moduleImportersByModule: Map> = new Map(); - const addCurrentEntryColourToModule = (module: Module) => { - if (currentEntry.manualChunkAlias) { - module.manualChunkAlias = currentEntry.manualChunkAlias; - module.entryPointsHash = currentEntryHash; - } else { - Uint8ArrayXor(module.entryPointsHash, currentEntryHash); + function allImportersHaveColour(module: Module, colour: Uint8Array): boolean { + const importers = moduleImportersByModule.get(module); + console.log('checking', module.id.split('/').pop(), importers && importers.size); + if (!importers) { + return false; } + return [...importers].every(importer => { + console.log('importer', importer.id.split('/').pop(), importer.entryPointsHash, colour); + return ( + Uint8ArrayEqual(importer.entryPointsHash, colour) || + allImportersHaveColour(importer, colour) + ); + }); + } - const dependentEntryPoints = dependentEntryPointsByModule.get(module) || new Set(); - dependentEntryPointsByModule.set(module, dependentEntryPoints); - dependentEntryPoints.add(module); + function colourModule( + rootModule: Module, + colour: Uint8Array, + rootImporterColour?: Uint8Array + ): void { + const visitedModules: Set = new Set(); - for (const dependency of module.dependencies) { - if ( - dependency instanceof ExternalModule || - modulesVisitedForCurrentEntry.has(dependency.id) - ) { - continue; - } - dependentEntryPoints.add(dependency); - modulesVisitedForCurrentEntry.add(dependency.id); - if (!handledEntryPoints.has(dependency.id) && !dependency.manualChunkAlias) { - addCurrentEntryColourToModule(dependency); + function process(module: Module): void { + if (visitedModules.has(module)) { + // TODO what if it's from a different import? + return; } - } + visitedModules.add(module); - for (const { resolution } of module.dynamicImports) { - if ( - resolution instanceof Module && - resolution.dynamicallyImportedBy.length > 0 && - !resolution.manualChunkAlias - ) { - const dynamicImportDependentEntryPoints = - dependentEntryPointsByModule.get(resolution) || new Set(); + if (rootModule.manualChunkAlias) { + // TODO what if module already has another alias? + module.manualChunkAlias = rootModule.manualChunkAlias; + module.entryPointsHash = cloneUint8Array(colour); + } else { + if (!colouredModules.has(module)) { + module.entryPointsHash = cloneUint8Array(colour); + } else if (module === rootModule) { + // force new colour + Uint8ArrayXor(module.entryPointsHash, colour); + } else { + if (!rootImporterColour || !allImportersHaveColour(module, rootImporterColour)) { + Uint8ArrayXor(module.entryPointsHash, colour); + } // else colour can remain the same, because it's always coming from the colour that imported the rootModule + } + } + console.log('!! ', module.id.split('/').pop(), module.entryPointsHash); + colouredModules.add(module); - const dynamicDependentEntryPoints = - dynamicDependentEntryPointsByDynamicEntry.get(resolution) || new Set(); - dynamicDependentEntryPointsByDynamicEntry.set(resolution, dynamicDependentEntryPoints); + for (const dependency of module.dependencies) { + if (dependency instanceof Module) { + getOrCreateSetInMap(moduleImportersByModule, dependency).add(module); + process(dependency); + } + } - dynamicImportDependentEntryPoints.forEach(entryPoint => - dynamicDependentEntryPoints.add(entryPoint) - ); - dynamicImports.push(resolution); + for (const { resolution } of module.dynamicImports) { + if ( + resolution instanceof Module && + resolution.dynamicallyImportedBy.length > 0 && + !resolution.manualChunkAlias // TODO + ) { + getOrCreateSetInMap(moduleImportersByModule, resolution).add(module); + colourModule(resolution, randomUint8Array(10), module.entryPointsHash); + } } } - }; + + process(rootModule); + } if (manualChunkModules) { for (const chunkName of Object.keys(manualChunkModules)) { - currentEntryHash = randomUint8Array(10); + const colour = randomUint8Array(10); - for (currentEntry of manualChunkModules[chunkName]) { - modulesVisitedForCurrentEntry = new Set([currentEntry.id]); - addCurrentEntryColourToModule(currentEntry); + for (const module of manualChunkModules[chunkName]) { + colourModule(module, colour); } } } - for (currentEntry of entryModules) { - handledEntryPoints.add(currentEntry.id); - currentEntryHash = randomUint8Array(10); - modulesVisitedForCurrentEntry = new Set([currentEntry.id]); - if (!currentEntry.manualChunkAlias) { - addCurrentEntryColourToModule(currentEntry); - } - } - - for (currentEntry of dynamicImports) { - if (handledEntryPoints.has(currentEntry.id)) { - continue; - } - handledEntryPoints.add(currentEntry.id); - const dynamicDependentEntryPoints = dynamicDependentEntryPointsByDynamicEntry.get(currentEntry); - const dependentEntryPoints = dependentEntryPointsByModule.get(currentEntry); - const inMemory = [...(dynamicDependentEntryPoints || [])].every( - dynamicDependentEntryPoint => - dependentEntryPoints && dependentEntryPoints.has(dynamicDependentEntryPoint) - ); - if (inMemory) { - continue; + for (const module of entryModules) { + const colour = randomUint8Array(10); + if (!module.manualChunkAlias) { + // TODO + colourModule(module, colour); } - currentEntryHash = randomUint8Array(10); - modulesVisitedForCurrentEntry = new Set([currentEntry.id]); - addCurrentEntryColourToModule(currentEntry); } } diff --git a/src/utils/entryHashing.ts b/src/utils/entryHashing.ts index ae19ff8a6ae..784ebc339fe 100644 --- a/src/utils/entryHashing.ts +++ b/src/utils/entryHashing.ts @@ -29,6 +29,12 @@ export function randomUint8Array(len: number) { return buffer; } +export function cloneUint8Array(input: Uint8Array): Uint8Array { + const output = new Uint8Array(input.length); + for (let i = 0; i < output.length; i++) output[i] = input[i]; + return output; +} + export function Uint8ArrayEqual(bufferA: Uint8Array, bufferB: Uint8Array) { for (let i = 0; i < bufferA.length; i++) { if (bufferA[i] !== bufferB[i]) return false; diff --git a/test/chunking-form/index.js b/test/chunking-form/index.js index d9fdab1a593..62ee710d5d2 100644 --- a/test/chunking-form/index.js +++ b/test/chunking-form/index.js @@ -2,7 +2,8 @@ const path = require('path'); const rollup = require('../../dist/rollup'); const { extend, runTestSuiteWithSamples, assertDirectoriesAreEqual } = require('../utils.js'); -const FORMATS = ['es', 'cjs', 'amd', 'system']; +// const FORMATS = ['es', 'cjs', 'amd', 'system']; +const FORMATS = ['es']; runTestSuiteWithSamples('chunking form', path.resolve(__dirname, 'samples'), (dir, config) => { (config.skip ? describe.skip : config.solo ? describe.only : describe)( diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js index fd9e687a29a..841dd0fe414 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js @@ -1,4 +1,5 @@ module.exports = { + solo: true, description: 'avoids chunks for always loaded dependencies if multiple entry points with different dependencies have dynamic imports', options: { diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dep2.js deleted file mode 100644 index b728fc2ba24..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dep2.js +++ /dev/null @@ -1,7 +0,0 @@ -define(['exports'], function (exports) { 'use strict'; - - const value2 = 'shared2'; - - exports.value2 = value2; - -}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dynamic.js deleted file mode 100644 index 8e94e46fd09..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dynamic.js +++ /dev/null @@ -1,8 +0,0 @@ -define(['exports', './main1', './generated-dep2'], function (exports, main1, dep2) { 'use strict'; - - console.log('dynamic1', main1.value1, dep2.value2); - - exports.value1 = main1.value1; - exports.value2 = dep2.value2; - -}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main1.js deleted file mode 100644 index 72cc958297d..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main1.js +++ /dev/null @@ -1,13 +0,0 @@ -define(['require', 'exports', './generated-dep2'], function (require, exports, dep2) { 'use strict'; - - const value1 = 'shared1'; - - console.log('main1', value1, dep2.value2); - new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); - - exports.value2 = dep2.value2; - exports.value1 = value1; - - Object.defineProperty(exports, '__esModule', { value: true }); - -}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js deleted file mode 100644 index 5411a5236e1..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js +++ /dev/null @@ -1,10 +0,0 @@ -define(['require', 'exports', './generated-dep2'], function (require, exports, dep2) { 'use strict'; - - console.log('main2', dep2.value2); - new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); - - exports.value2 = dep2.value2; - - Object.defineProperty(exports, '__esModule', { value: true }); - -}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep2.js deleted file mode 100644 index 6cb88b6e527..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep2.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -const value2 = 'shared2'; - -exports.value2 = value2; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dynamic.js deleted file mode 100644 index d890619c17a..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dynamic.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -var main1 = require('./main1.js'); -var dep2 = require('./generated-dep2.js'); - -console.log('dynamic1', main1.value1, dep2.value2); - -exports.value1 = main1.value1; -exports.value2 = dep2.value2; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main1.js deleted file mode 100644 index 59fcb5a3668..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main1.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var dep2 = require('./generated-dep2.js'); - -const value1 = 'shared1'; - -console.log('main1', value1, dep2.value2); -new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); - -exports.value2 = dep2.value2; -exports.value1 = value1; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js deleted file mode 100644 index 0d4c779ab91..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var dep2 = require('./generated-dep2.js'); - -console.log('main2', dep2.value2); -new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); - -exports.value2 = dep2.value2; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dep1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dep1.js new file mode 100644 index 00000000000..ddf8e1f8c97 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dep1.js @@ -0,0 +1,3 @@ +const value1 = 'shared1'; + +export { value1 as v }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dynamic.js index 889bcfa827b..f4548c7c3ac 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dynamic.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/generated-dynamic.js @@ -1,5 +1,5 @@ -import { value1 } from './main1.js'; -export { value1 } from './main1.js'; +import { v as value1 } from './generated-dep1.js'; +export { v as value1 } from './generated-dep1.js'; import { v as value2 } from './generated-dep2.js'; export { v as value2 } from './generated-dep2.js'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main1.js index c14f6b437e7..fa5963a970a 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main1.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main1.js @@ -1,9 +1,9 @@ +import { v as value1 } from './generated-dep1.js'; +export { v as value1 } from './generated-dep1.js'; import { v as value2 } from './generated-dep2.js'; export { v as value2 } from './generated-dep2.js'; -const value1 = 'shared1'; +const something = 'something'; -console.log('main1', value1, value2); +console.log('main1', value1, value2, something); import('./generated-dynamic.js'); - -export { value1 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main2.js index eac967da533..2049a1a3caf 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main2.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main2.js @@ -1,5 +1,6 @@ import { v as value2 } from './generated-dep2.js'; export { v as value2 } from './generated-dep2.js'; +// doesn't import value1, so we can't have also loaded value1? console.log('main2', value2); import('./generated-dynamic.js'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dep2.js deleted file mode 100644 index af5ad2b9e6d..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dep2.js +++ /dev/null @@ -1,10 +0,0 @@ -System.register([], function (exports) { - 'use strict'; - return { - execute: function () { - - const value2 = exports('v', 'shared2'); - - } - }; -}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dynamic.js deleted file mode 100644 index 39298902944..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dynamic.js +++ /dev/null @@ -1,18 +0,0 @@ -System.register(['./main1.js', './generated-dep2.js'], function (exports) { - 'use strict'; - var value1, value2; - return { - setters: [function (module) { - value1 = module.value1; - exports('value1', module.value1); - }, function (module) { - value2 = module.v; - exports('value2', module.v); - }], - execute: function () { - - console.log('dynamic1', value1, value2); - - } - }; -}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main1.js deleted file mode 100644 index b0eccfb1175..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main1.js +++ /dev/null @@ -1,18 +0,0 @@ -System.register(['./generated-dep2.js'], function (exports, module) { - 'use strict'; - var value2; - return { - setters: [function (module) { - value2 = module.v; - exports('value2', module.v); - }], - execute: function () { - - const value1 = exports('value1', 'shared1'); - - console.log('main1', value1, value2); - module.import('./generated-dynamic.js'); - - } - }; -}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js deleted file mode 100644 index 528d214357c..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js +++ /dev/null @@ -1,16 +0,0 @@ -System.register(['./generated-dep2.js'], function (exports, module) { - 'use strict'; - var value2; - return { - setters: [function (module) { - value2 = module.v; - exports('value2', module.v); - }], - execute: function () { - - console.log('main2', value2); - module.import('./generated-dynamic.js'); - - } - }; -}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main1.js index 991bb391bfa..baa848be54f 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main1.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main1.js @@ -1,5 +1,6 @@ import { value1 } from './dep1.js'; import { value2 } from './dep2.js'; -console.log('main1', value1, value2); +import { something } from './only-from-main-1.js'; +console.log('main1', value1, value2, something); import('./dynamic.js'); export { value1, value2 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main2.js index 6f69e7f7fde..05bf0800418 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main2.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main2.js @@ -1,4 +1,5 @@ import { value2 } from './dep2.js'; +// doesn't import value1, so we can't have also loaded value1? console.log('main2', value2); import('./dynamic.js'); export { value2 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/only-from-main-1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/only-from-main-1.js new file mode 100644 index 00000000000..908a02317f6 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/only-from-main-1.js @@ -0,0 +1 @@ +export const something = 'something'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_config.js new file mode 100644 index 00000000000..841dd0fe414 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_config.js @@ -0,0 +1,8 @@ +module.exports = { + solo: true, + description: + 'avoids chunks for always loaded dependencies if multiple entry points with different dependencies have dynamic imports', + options: { + input: ['main1', 'main2'] + } +}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/generated-dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/generated-dep2.js new file mode 100644 index 00000000000..a4c763f7bf6 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/generated-dep2.js @@ -0,0 +1,3 @@ +const value2 = 'shared2'; + +export { value2 as v }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/generated-dynamic1.js new file mode 100644 index 00000000000..eec2d5323f1 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/generated-dynamic1.js @@ -0,0 +1,5 @@ +import { value1 } from './main1.js'; +export { value1 } from './main1.js'; +import './generated-dep2.js'; + +console.log('dynamic1', value1); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/generated-dynamic2.js new file mode 100644 index 00000000000..ce16c9af379 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/generated-dynamic2.js @@ -0,0 +1,4 @@ +import { v as value2 } from './generated-dep2.js'; +export { v as value2 } from './generated-dep2.js'; + +console.log('dynamic2', value2); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/main1.js new file mode 100644 index 00000000000..090f16af526 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/main1.js @@ -0,0 +1,9 @@ +import { v as value2 } from './generated-dep2.js'; +export { v as value2 } from './generated-dep2.js'; + +const value1 = 'shared1'; + +console.log('main1', value1, value2); +import('./generated-dynamic1.js'); + +export { value1 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/main2.js new file mode 100644 index 00000000000..7837ea7eca3 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/es/main2.js @@ -0,0 +1,5 @@ +import { v as value2 } from './generated-dep2.js'; +export { v as value2 } from './generated-dep2.js'; + +console.log('main2', value2); +import('./generated-dynamic2.js'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dep1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dep1.js new file mode 100644 index 00000000000..4223625bb2a --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dep1.js @@ -0,0 +1 @@ +export const value1 = 'shared1'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dep2.js new file mode 100644 index 00000000000..0899a373210 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dep2.js @@ -0,0 +1 @@ +export const value2 = 'shared2'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dynamic1.js new file mode 100644 index 00000000000..864435c1f0d --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dynamic1.js @@ -0,0 +1,3 @@ +import { value1 } from './dep1.js'; +console.log('dynamic1', value1); +export { value1 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dynamic2.js new file mode 100644 index 00000000000..501a8d3a77b --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/dynamic2.js @@ -0,0 +1,3 @@ +import { value2 } from './dep2.js'; +console.log('dynamic2', value2); +export { value2 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/main1.js new file mode 100644 index 00000000000..7fd9712e07a --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/main1.js @@ -0,0 +1,5 @@ +import { value1 } from './dep1.js'; +import { value2 } from './dep2.js'; +console.log('main1', value1, value2); +import('./dynamic1.js'); +export { value1, value2 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/main2.js new file mode 100644 index 00000000000..d15c0b3e153 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/main2.js @@ -0,0 +1,4 @@ +import { value2 } from './dep2.js'; +console.log('main2', value2); +import('./dynamic2.js'); +export { value2 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_config.js new file mode 100644 index 00000000000..223816dcf8b --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_config.js @@ -0,0 +1,11 @@ +// TODO the result from this one doesn't seem right +// why `import './generated-dep.js';`? + +module.exports = { + solo: true, + description: + 'avoids chunks for always loaded dependencies if multiple entry points with different dependencies have dynamic imports', + options: { + input: ['main1', 'main2', 'main3'] + } +}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dynamic.js new file mode 100644 index 00000000000..b537e444935 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dynamic.js @@ -0,0 +1,3 @@ +import { v as value1 } from './generated-shared.js'; + +console.log('dynamic', value1); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-shared.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-shared.js new file mode 100644 index 00000000000..21e157a3941 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-shared.js @@ -0,0 +1,6 @@ +const value1 = 'dep'; + +import('./generated-dynamic.js'); +console.log('shared', value1); + +export { value1 as v }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main1.js new file mode 100644 index 00000000000..28b73c45f94 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main1.js @@ -0,0 +1,3 @@ +import './generated-shared.js'; + +console.log('main1'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main2.js new file mode 100644 index 00000000000..eda69ef1b0f --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main2.js @@ -0,0 +1,3 @@ +import './generated-shared.js'; + +console.log('main2'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/dep.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/dep.js new file mode 100644 index 00000000000..1a46c066b1e --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/dep.js @@ -0,0 +1 @@ +export const value1 = 'dep'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/dynamic.js new file mode 100644 index 00000000000..bb6e27e9a67 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/dynamic.js @@ -0,0 +1,2 @@ +import { value1 } from './dep.js'; +console.log('dynamic', value1); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main1.js new file mode 100644 index 00000000000..565a0a181c7 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main1.js @@ -0,0 +1,3 @@ +import './shared.js'; + +console.log('main1'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main2.js new file mode 100644 index 00000000000..a5e344325c9 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main2.js @@ -0,0 +1,3 @@ +import './shared.js'; + +console.log('main2'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main3.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main3.js new file mode 100644 index 00000000000..93c89d4aa1f --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main3.js @@ -0,0 +1,3 @@ +import('./dynamic.js'); + +console.log('main3'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/shared.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/shared.js new file mode 100644 index 00000000000..97404c4e5d4 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/shared.js @@ -0,0 +1,3 @@ +import { value1 } from './dep.js'; +import('./dynamic.js'); +console.log('shared', value1); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_config.js new file mode 100644 index 00000000000..841dd0fe414 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_config.js @@ -0,0 +1,8 @@ +module.exports = { + solo: true, + description: + 'avoids chunks for always loaded dependencies if multiple entry points with different dependencies have dynamic imports', + options: { + input: ['main1', 'main2'] + } +}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/generated-dynamic.js new file mode 100644 index 00000000000..b537e444935 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/generated-dynamic.js @@ -0,0 +1,3 @@ +import { v as value1 } from './generated-shared.js'; + +console.log('dynamic', value1); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/generated-shared.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/generated-shared.js new file mode 100644 index 00000000000..21e157a3941 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/generated-shared.js @@ -0,0 +1,6 @@ +const value1 = 'dep'; + +import('./generated-dynamic.js'); +console.log('shared', value1); + +export { value1 as v }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/main1.js new file mode 100644 index 00000000000..28b73c45f94 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/main1.js @@ -0,0 +1,3 @@ +import './generated-shared.js'; + +console.log('main1'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/main2.js new file mode 100644 index 00000000000..eda69ef1b0f --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/es/main2.js @@ -0,0 +1,3 @@ +import './generated-shared.js'; + +console.log('main2'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/dep.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/dep.js new file mode 100644 index 00000000000..1a46c066b1e --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/dep.js @@ -0,0 +1 @@ +export const value1 = 'dep'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/dynamic.js new file mode 100644 index 00000000000..bb6e27e9a67 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/dynamic.js @@ -0,0 +1,2 @@ +import { value1 } from './dep.js'; +console.log('dynamic', value1); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/main1.js new file mode 100644 index 00000000000..565a0a181c7 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/main1.js @@ -0,0 +1,3 @@ +import './shared.js'; + +console.log('main1'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/main2.js new file mode 100644 index 00000000000..a5e344325c9 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/main2.js @@ -0,0 +1,3 @@ +import './shared.js'; + +console.log('main2'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/shared.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/shared.js new file mode 100644 index 00000000000..97404c4e5d4 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/shared.js @@ -0,0 +1,3 @@ +import { value1 } from './dep.js'; +import('./dynamic.js'); +console.log('shared', value1); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_config.js new file mode 100644 index 00000000000..a68e043948e --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_config.js @@ -0,0 +1,5 @@ +module.exports = { + solo: true, + description: + 'does not create a separate chunk if a dynamically imported chunk shares a dependency with its importer, and dynamic chunk imported from multiple places' +}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/es/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/es/generated-dynamic.js new file mode 100644 index 00000000000..5726f3b9c9f --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/es/generated-dynamic.js @@ -0,0 +1,4 @@ +import { value } from './main.js'; +export { value } from './main.js'; + +console.log('dynamic', value); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/es/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/es/main.js new file mode 100644 index 00000000000..723eb2d9d1a --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/es/main.js @@ -0,0 +1,9 @@ +const value = 'shared'; + +console.log('a', value); +import('./generated-dynamic.js'); + +console.log('main', value); +import('./generated-dynamic.js'); + +export { value }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/a.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/a.js new file mode 100644 index 00000000000..82a2d8d39de --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/a.js @@ -0,0 +1,3 @@ +import { value } from './dep.js'; +console.log('a', value); +import('./dynamic.js'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/dep.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/dep.js new file mode 100644 index 00000000000..1d4be9c15d0 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/dep.js @@ -0,0 +1 @@ +export const value = 'shared'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/dynamic.js new file mode 100644 index 00000000000..6962353973b --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/dynamic.js @@ -0,0 +1,3 @@ +import { value } from './dep.js'; +console.log('dynamic', value); +export { value }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/main.js new file mode 100644 index 00000000000..f2b38ee0b7d --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/main.js @@ -0,0 +1,5 @@ +import { value } from './dep.js'; +import './a.js'; +console.log('main', value); +import('./dynamic.js'); +export { value }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js index 4ca923a9bb0..e263ead3de7 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js @@ -1,4 +1,5 @@ module.exports = { + solo: true, description: 'does not create a separate chunk if a dynamically imported chunk shares a dependency with its importer' }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/generated-dynamic.js deleted file mode 100644 index 1b7cd9e3d6d..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/generated-dynamic.js +++ /dev/null @@ -1,7 +0,0 @@ -define(['exports', './main'], function (exports, main) { 'use strict'; - - console.log('dynamic', main.value); - - exports.value = main.value; - -}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/main.js deleted file mode 100644 index 714a305c85f..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/main.js +++ /dev/null @@ -1,12 +0,0 @@ -define(['require', 'exports'], function (require, exports) { 'use strict'; - - const value = 'shared'; - - console.log('main', value); - new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); - - exports.value = value; - - Object.defineProperty(exports, '__esModule', { value: true }); - -}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/generated-dynamic.js deleted file mode 100644 index 13cb57f7224..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/generated-dynamic.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var main = require('./main.js'); - -console.log('dynamic', main.value); - -exports.value = main.value; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/main.js deleted file mode 100644 index b87c736b8fc..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/main.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -const value = 'shared'; - -console.log('main', value); -new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); - -exports.value = value; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/generated-dynamic.js deleted file mode 100644 index d709dd7477a..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/generated-dynamic.js +++ /dev/null @@ -1,15 +0,0 @@ -System.register(['./main.js'], function (exports) { - 'use strict'; - var value; - return { - setters: [function (module) { - value = module.value; - exports('value', module.value); - }], - execute: function () { - - console.log('dynamic', value); - - } - }; -}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/main.js deleted file mode 100644 index b49c63ff160..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/main.js +++ /dev/null @@ -1,13 +0,0 @@ -System.register([], function (exports, module) { - 'use strict'; - return { - execute: function () { - - const value = exports('value', 'shared'); - - console.log('main', value); - module.import('./generated-dynamic.js'); - - } - }; -}); From 18561498ace8a970ff1dc3275abf6a7a5c9fc31d Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 12 Jan 2020 12:54:03 +0000 Subject: [PATCH 25/47] coloursToRoot --- src/utils/chunkColouring.ts | 42 +++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 988d288a2b8..f4d095c8233 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -7,6 +7,10 @@ function getOrCreateSetInMap(map: Map>, key: TKey): return set; } +function randomColour(): Uint8Array { + return randomUint8Array(10); +} + export function assignChunkColouringHashes( entryModules: Module[], manualChunkModules: Record @@ -14,31 +18,30 @@ export function assignChunkColouringHashes( const colouredModules: Set = new Set(); const moduleImportersByModule: Map> = new Map(); - function allImportersHaveColour(module: Module, colour: Uint8Array): boolean { + function allImportersHaveColour(module: Module, colours: Set): boolean { const importers = moduleImportersByModule.get(module); - console.log('checking', module.id.split('/').pop(), importers && importers.size); + // console.log('checking', module.id.split('/').pop(), importers && importers.size); if (!importers) { return false; } return [...importers].every(importer => { - console.log('importer', importer.id.split('/').pop(), importer.entryPointsHash, colour); + // console.log('importer', importer.id.split('/').pop(), importer.entryPointsHash, colours); return ( - Uint8ArrayEqual(importer.entryPointsHash, colour) || - allImportersHaveColour(importer, colour) + [...colours].some(colour => Uint8ArrayEqual(importer.entryPointsHash, colour)) || + allImportersHaveColour(importer, colours) ); }); } function colourModule( rootModule: Module, - colour: Uint8Array, - rootImporterColour?: Uint8Array + coloursToRoot: Set, + colour: Uint8Array ): void { const visitedModules: Set = new Set(); function process(module: Module): void { if (visitedModules.has(module)) { - // TODO what if it's from a different import? return; } visitedModules.add(module); @@ -53,13 +56,14 @@ export function assignChunkColouringHashes( } else if (module === rootModule) { // force new colour Uint8ArrayXor(module.entryPointsHash, colour); + } else if (!coloursToRoot.size || !allImportersHaveColour(module, coloursToRoot)) { + Uint8ArrayXor(module.entryPointsHash, colour); } else { - if (!rootImporterColour || !allImportersHaveColour(module, rootImporterColour)) { - Uint8ArrayXor(module.entryPointsHash, colour); - } // else colour can remain the same, because it's always coming from the colour that imported the rootModule + // colour can remain the same, because every route into this point + // comes from a colour that has already been loaded } } - console.log('!! ', module.id.split('/').pop(), module.entryPointsHash); + // console.log('!! ', module.id.split('/').pop(), module.entryPointsHash); colouredModules.add(module); for (const dependency of module.dependencies) { @@ -76,7 +80,9 @@ export function assignChunkColouringHashes( !resolution.manualChunkAlias // TODO ) { getOrCreateSetInMap(moduleImportersByModule, resolution).add(module); - colourModule(resolution, randomUint8Array(10), module.entryPointsHash); + const coloursToNewRoot = new Set(coloursToRoot); + coloursToNewRoot.add(module.entryPointsHash); + colourModule(resolution, coloursToNewRoot, randomColour()); } } } @@ -86,19 +92,19 @@ export function assignChunkColouringHashes( if (manualChunkModules) { for (const chunkName of Object.keys(manualChunkModules)) { - const colour = randomUint8Array(10); + const colour = randomColour(); for (const module of manualChunkModules[chunkName]) { - colourModule(module, colour); + colourModule(module, new Set(), colour); } } } for (const module of entryModules) { - const colour = randomUint8Array(10); + const colour = randomColour(); + // TODO what is this check? if (!module.manualChunkAlias) { - // TODO - colourModule(module, colour); + colourModule(module, new Set(), colour); } } } From fb33f27828ec20a88cd3bbada596b1a74d78f905 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 12 Jan 2020 14:47:04 +0000 Subject: [PATCH 26/47] sequential colouring --- src/utils/chunkColouring.ts | 28 +++++++++++++----- .../samples/circular-entry-points/_config.js | 1 + .../samples/dynamic-import-chained/_config.js | 1 + .../_expected/amd/generated-dep1.js | 12 -------- .../_expected/amd/main.js | 6 ---- .../_expected/cjs/generated-dep1.js | 10 ------- .../_expected/cjs/main.js | 4 --- .../_expected/es/generated-dep1.js | 8 +---- .../_expected/es/generated-dep2.js | 1 + .../_expected/system/generated-dep1.js | 17 ----------- .../_expected/system/main.js | 11 ------- .../_config.js | 1 + .../_expected/amd/generated-main1.js | 29 ------------------- .../_expected/amd/generated-separate.js | 8 ----- .../_expected/amd/main1.js | 10 ------- .../_expected/amd/main2.js | 9 ------ .../_expected/cjs/generated-main1.js | 27 ----------------- .../_expected/cjs/generated-separate.js | 8 ----- .../_expected/cjs/main1.js | 10 ------- .../_expected/cjs/main2.js | 7 ----- .../_expected/es/generated-main1.js | 22 -------------- .../_expected/es/generated-separate.js | 6 +++- .../_expected/es/main1.js | 16 +++++++++- .../_expected/system/generated-main1.js | 29 ------------------- .../_expected/system/generated-separate.js | 16 ---------- .../_expected/system/main1.js | 16 ---------- .../_expected/system/main2.js | 10 ------- .../_config.js | 1 + .../_config.js | 1 + .../_config.js | 2 +- .../_config.js | 2 +- .../_config.js | 2 +- .../_expected/es/generated-dep.js | 3 ++ .../_expected/es/generated-dynamic.js | 2 +- .../_expected/es/generated-shared.js | 4 +-- .../_expected/es/main1.js | 1 + .../_expected/es/main2.js | 1 + .../_expected/es/main3.js | 3 ++ .../_config.js | 2 +- .../_config.js | 2 +- .../single-dynamic/_config.js | 2 +- 41 files changed, 63 insertions(+), 288 deletions(-) delete mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep1.js delete mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/amd/main.js delete mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep1.js delete mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/cjs/main.js create mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep2.js delete mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep1.js delete mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/system/main.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-main1.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-separate.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main1.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main2.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-main1.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-separate.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main1.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main2.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-main1.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-main1.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-separate.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main1.js delete mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dep.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main3.js diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index f4d095c8233..550e3a1487a 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -17,6 +17,11 @@ export function assignChunkColouringHashes( ) { const colouredModules: Set = new Set(); const moduleImportersByModule: Map> = new Map(); + const dynamicEntryModules: Array<{ + coloursToModule: Set; + importer: Module; + module: Module; + }> = []; function allImportersHaveColour(module: Module, colours: Set): boolean { const importers = moduleImportersByModule.get(module); @@ -53,14 +58,12 @@ export function assignChunkColouringHashes( } else { if (!colouredModules.has(module)) { module.entryPointsHash = cloneUint8Array(colour); - } else if (module === rootModule) { - // force new colour - Uint8ArrayXor(module.entryPointsHash, colour); } else if (!coloursToRoot.size || !allImportersHaveColour(module, coloursToRoot)) { Uint8ArrayXor(module.entryPointsHash, colour); } else { // colour can remain the same, because every route into this point // comes from a colour that has already been loaded + // TODO can also skip processing any further? } } // console.log('!! ', module.id.split('/').pop(), module.entryPointsHash); @@ -80,9 +83,14 @@ export function assignChunkColouringHashes( !resolution.manualChunkAlias // TODO ) { getOrCreateSetInMap(moduleImportersByModule, resolution).add(module); - const coloursToNewRoot = new Set(coloursToRoot); - coloursToNewRoot.add(module.entryPointsHash); - colourModule(resolution, coloursToNewRoot, randomColour()); + const coloursToModule = new Set(coloursToRoot); + coloursToModule.add(module.entryPointsHash); + const alreadySeen = dynamicEntryModules.some( + entry => entry.module === resolution && entry.importer === module + ); + if (!alreadySeen) { + dynamicEntryModules.push({ module: resolution, importer: module, coloursToModule }); + } } } } @@ -101,10 +109,14 @@ export function assignChunkColouringHashes( } for (const module of entryModules) { - const colour = randomColour(); // TODO what is this check? if (!module.manualChunkAlias) { - colourModule(module, new Set(), colour); + colourModule(module, new Set(), randomColour()); } } + + for (let i = 0; i < dynamicEntryModules.length /* note this updates */; i++) { + const { module, coloursToModule } = dynamicEntryModules[i]; + colourModule(module, coloursToModule, randomColour()); + } } diff --git a/test/chunking-form/samples/circular-entry-points/_config.js b/test/chunking-form/samples/circular-entry-points/_config.js index c594e1ff53b..d15f28d061d 100644 --- a/test/chunking-form/samples/circular-entry-points/_config.js +++ b/test/chunking-form/samples/circular-entry-points/_config.js @@ -1,4 +1,5 @@ module.exports = { + // solo: true, // broken but ok? description: 'chunking circular entry points', expectedWarnings: ['CIRCULAR_DEPENDENCY'], options: { diff --git a/test/chunking-form/samples/dynamic-import-chained/_config.js b/test/chunking-form/samples/dynamic-import-chained/_config.js index 31a03c704ee..976c2e6d920 100644 --- a/test/chunking-form/samples/dynamic-import-chained/_config.js +++ b/test/chunking-form/samples/dynamic-import-chained/_config.js @@ -1,4 +1,5 @@ module.exports = { + // solo: true, description: 'includes chained dynamic imports', options: { input: 'main.js' diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep1.js b/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep1.js deleted file mode 100644 index 50d17c68cb4..00000000000 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep1.js +++ /dev/null @@ -1,12 +0,0 @@ -define(function () { 'use strict'; - - console.log('dep2'); - - var dep2 = /*#__PURE__*/Object.freeze({ - __proto__: null - }); - - console.log('dep1'); - Promise.resolve().then(function () { return dep2; }); - -}); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/amd/main.js b/test/chunking-form/samples/dynamic-import-chained/_expected/amd/main.js deleted file mode 100644 index a337561f677..00000000000 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/amd/main.js +++ /dev/null @@ -1,6 +0,0 @@ -define(['require'], function (require) { 'use strict'; - - console.log('main'); - new Promise(function (resolve, reject) { require(['./generated-dep1'], resolve, reject) }); - -}); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep1.js b/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep1.js deleted file mode 100644 index a9a29483ef8..00000000000 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep1.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -console.log('dep2'); - -var dep2 = /*#__PURE__*/Object.freeze({ - __proto__: null -}); - -console.log('dep1'); -Promise.resolve().then(function () { return dep2; }); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/main.js b/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/main.js deleted file mode 100644 index 1ed868a97b7..00000000000 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/main.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; - -console.log('main'); -new Promise(function (resolve) { resolve(require('./generated-dep1.js')); }); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep1.js b/test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep1.js index 9aea3df03ee..a644729548a 100644 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep1.js +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep1.js @@ -1,8 +1,2 @@ -console.log('dep2'); - -var dep2 = /*#__PURE__*/Object.freeze({ - __proto__: null -}); - console.log('dep1'); -Promise.resolve().then(function () { return dep2; }); +import('./generated-dep2.js'); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep2.js b/test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep2.js new file mode 100644 index 00000000000..f5325d80e8a --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/es/generated-dep2.js @@ -0,0 +1 @@ +console.log('dep2'); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep1.js b/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep1.js deleted file mode 100644 index 7f4087ffcaf..00000000000 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep1.js +++ /dev/null @@ -1,17 +0,0 @@ -System.register([], function () { - 'use strict'; - return { - execute: function () { - - console.log('dep2'); - - var dep2 = /*#__PURE__*/Object.freeze({ - __proto__: null - }); - - console.log('dep1'); - Promise.resolve().then(function () { return dep2; }); - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/system/main.js b/test/chunking-form/samples/dynamic-import-chained/_expected/system/main.js deleted file mode 100644 index 818a9966643..00000000000 --- a/test/chunking-form/samples/dynamic-import-chained/_expected/system/main.js +++ /dev/null @@ -1,11 +0,0 @@ -System.register([], function (exports, module) { - 'use strict'; - return { - execute: function () { - - console.log('main'); - module.import('./generated-dep1.js'); - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_config.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_config.js index b5769882caf..2ea2a0138b9 100644 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_config.js +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_config.js @@ -1,4 +1,5 @@ module.exports = { + // solo: true, description: 'Handle dynamic imports that are part of a static graph', options: { input: ['main1.js', 'main2.js'] diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-main1.js deleted file mode 100644 index 779671425f2..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-main1.js +++ /dev/null @@ -1,29 +0,0 @@ -define(['exports'], function (exports) { 'use strict'; - - var inlined = 'inlined'; - const x = 1; - - var inlined$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - 'default': inlined, - x: x - }); - - var separate = 'separate'; - const x$1 = 2; - - var separate$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - 'default': separate, - x: x$1 - }); - - const inlined$2 = Promise.resolve().then(function () { return inlined$1; }); - const separate$2 = Promise.resolve().then(function () { return separate$1; }); - - exports.inlined = inlined$2; - exports.separate = separate; - exports.separate$1 = separate$2; - exports.x = x$1; - -}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-separate.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-separate.js deleted file mode 100644 index db24df269a5..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-separate.js +++ /dev/null @@ -1,8 +0,0 @@ -define(['exports', './generated-main1'], function (exports, separate) { 'use strict'; - - - - exports.default = separate.separate; - exports.x = separate.x; - -}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main1.js deleted file mode 100644 index e6a781c88a2..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main1.js +++ /dev/null @@ -1,10 +0,0 @@ -define(['exports', './generated-main1'], function (exports, separate) { 'use strict'; - - - - exports.inlined = separate.inlined; - exports.separate = separate.separate$1; - - Object.defineProperty(exports, '__esModule', { value: true }); - -}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main2.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main2.js deleted file mode 100644 index 0be3fee1ac0..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main2.js +++ /dev/null @@ -1,9 +0,0 @@ -define(['require', 'exports'], function (require, exports) { 'use strict'; - - const separate = new Promise(function (resolve, reject) { require(['./generated-separate'], resolve, reject) }); - - exports.separate = separate; - - Object.defineProperty(exports, '__esModule', { value: true }); - -}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-main1.js deleted file mode 100644 index 6560325e0b7..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-main1.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -var inlined = 'inlined'; -const x = 1; - -var inlined$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - 'default': inlined, - x: x -}); - -var separate = 'separate'; -const x$1 = 2; - -var separate$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - 'default': separate, - x: x$1 -}); - -const inlined$2 = Promise.resolve().then(function () { return inlined$1; }); -const separate$2 = Promise.resolve().then(function () { return separate$1; }); - -exports.inlined = inlined$2; -exports.separate = separate; -exports.separate$1 = separate$2; -exports.x = x$1; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-separate.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-separate.js deleted file mode 100644 index faa16d12ffd..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-separate.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict'; - -var separate = require('./generated-main1.js'); - - - -exports.default = separate.separate; -exports.x = separate.x; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main1.js deleted file mode 100644 index b05a01bb7d3..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main1.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var separate = require('./generated-main1.js'); - - - -exports.inlined = separate.inlined; -exports.separate = separate.separate$1; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main2.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main2.js deleted file mode 100644 index b4bce63256b..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main2.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -const separate = new Promise(function (resolve) { resolve(require('./generated-separate.js')); }); - -exports.separate = separate; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-main1.js deleted file mode 100644 index bd8a95d2ddf..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-main1.js +++ /dev/null @@ -1,22 +0,0 @@ -var inlined = 'inlined'; -const x = 1; - -var inlined$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - 'default': inlined, - x: x -}); - -var separate = 'separate'; -const x$1 = 2; - -var separate$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - 'default': separate, - x: x$1 -}); - -const inlined$2 = Promise.resolve().then(function () { return inlined$1; }); -const separate$2 = Promise.resolve().then(function () { return separate$1; }); - -export { separate$2 as a, inlined$2 as i, separate as s, x$1 as x }; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-separate.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-separate.js index 78e2600dca9..e7122e67004 100644 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-separate.js +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/generated-separate.js @@ -1 +1,5 @@ -export { s as default, x } from './generated-main1.js'; +var separate = 'separate'; +const x = 2; + +export default separate; +export { x }; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/main1.js index c4b4ede9c2a..36f87038dd8 100644 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/main1.js +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/es/main1.js @@ -1 +1,15 @@ -export { i as inlined, a as separate } from './generated-main1.js'; +import './generated-separate.js'; + +var inlined = 'inlined'; +const x = 1; + +var inlined$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': inlined, + x: x +}); + +const inlined$2 = Promise.resolve().then(function () { return inlined$1; }); +const separate = import('./generated-separate.js'); + +export { inlined$2 as inlined, separate }; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-main1.js deleted file mode 100644 index 3936858fc11..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-main1.js +++ /dev/null @@ -1,29 +0,0 @@ -System.register([], function (exports) { - 'use strict'; - return { - execute: function () { - - var inlined = 'inlined'; - const x = 1; - - var inlined$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - 'default': inlined, - x: x - }); - - var separate = exports('s', 'separate'); - const x$1 = exports('x', 2); - - var separate$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - 'default': separate, - x: x$1 - }); - - const inlined$2 = exports('i', Promise.resolve().then(function () { return inlined$1; })); - const separate$2 = exports('a', Promise.resolve().then(function () { return separate$1; })); - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-separate.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-separate.js deleted file mode 100644 index 64bfdb57cfb..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-separate.js +++ /dev/null @@ -1,16 +0,0 @@ -System.register(['./generated-main1.js'], function (exports) { - 'use strict'; - return { - setters: [function (module) { - var _setter = {}; - _setter.default = module.s; - _setter.x = module.x; - exports(_setter); - }], - execute: function () { - - - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main1.js deleted file mode 100644 index 3cf71b03898..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main1.js +++ /dev/null @@ -1,16 +0,0 @@ -System.register(['./generated-main1.js'], function (exports) { - 'use strict'; - return { - setters: [function (module) { - var _setter = {}; - _setter.inlined = module.i; - _setter.separate = module.a; - exports(_setter); - }], - execute: function () { - - - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main2.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main2.js deleted file mode 100644 index f54417af5a0..00000000000 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main2.js +++ /dev/null @@ -1,10 +0,0 @@ -System.register([], function (exports, module) { - 'use strict'; - return { - execute: function () { - - const separate = exports('separate', module.import('./generated-separate.js')); - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js index 2da1b771499..7b9cee9238a 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js @@ -1,4 +1,5 @@ module.exports = { + // solo: true, description: 'handles dynamic imports of previously statically imported chunks that are also dynamically imported by other chunks', options: { diff --git a/test/chunking-form/samples/dynamic-import-statically-imported/_config.js b/test/chunking-form/samples/dynamic-import-statically-imported/_config.js index 4fd6f721ac4..e0b6691e83e 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported/_config.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported/_config.js @@ -1,4 +1,5 @@ module.exports = { + // solo: true, description: 'handles dynamic imports of previously statically imported chunks', options: { input: ['main.js'] diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js index 841dd0fe414..fc14f46c39a 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js @@ -1,5 +1,5 @@ module.exports = { - solo: true, + // solo: true, description: 'avoids chunks for always loaded dependencies if multiple entry points with different dependencies have dynamic imports', options: { diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_config.js index 841dd0fe414..fc14f46c39a 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_config.js @@ -1,5 +1,5 @@ module.exports = { - solo: true, + // solo: true, description: 'avoids chunks for always loaded dependencies if multiple entry points with different dependencies have dynamic imports', options: { diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_config.js index 223816dcf8b..d9932f584b0 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_config.js @@ -2,7 +2,7 @@ // why `import './generated-dep.js';`? module.exports = { - solo: true, + // solo: true, description: 'avoids chunks for always loaded dependencies if multiple entry points with different dependencies have dynamic imports', options: { diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dep.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dep.js new file mode 100644 index 00000000000..a8604cb90b1 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dep.js @@ -0,0 +1,3 @@ +const value1 = 'dep'; + +export { value1 as v }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dynamic.js index b537e444935..7aeff95b3d1 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dynamic.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dynamic.js @@ -1,3 +1,3 @@ -import { v as value1 } from './generated-shared.js'; +import { v as value1 } from './generated-dep.js'; console.log('dynamic', value1); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-shared.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-shared.js index 21e157a3941..9d415aaf7fd 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-shared.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-shared.js @@ -1,6 +1,4 @@ -const value1 = 'dep'; +import { v as value1 } from './generated-dep.js'; import('./generated-dynamic.js'); console.log('shared', value1); - -export { value1 as v }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main1.js index 28b73c45f94..16fe8ba2630 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main1.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main1.js @@ -1,3 +1,4 @@ +import './generated-dep.js'; import './generated-shared.js'; console.log('main1'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main2.js index eda69ef1b0f..728f3a05eca 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main2.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main2.js @@ -1,3 +1,4 @@ +import './generated-dep.js'; import './generated-shared.js'; console.log('main2'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main3.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main3.js new file mode 100644 index 00000000000..0d01aff3a9b --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main3.js @@ -0,0 +1,3 @@ +import('./generated-dynamic.js'); + +console.log('main3'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_config.js index 841dd0fe414..fc14f46c39a 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_config.js @@ -1,5 +1,5 @@ module.exports = { - solo: true, + // solo: true, description: 'avoids chunks for always loaded dependencies if multiple entry points with different dependencies have dynamic imports', options: { diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_config.js index a68e043948e..5ac2f518153 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_config.js @@ -1,5 +1,5 @@ module.exports = { - solo: true, + // solo: true, description: 'does not create a separate chunk if a dynamically imported chunk shares a dependency with its importer, and dynamic chunk imported from multiple places' }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js index e263ead3de7..9dac3adf360 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js @@ -1,5 +1,5 @@ module.exports = { - solo: true, + // solo: true, description: 'does not create a separate chunk if a dynamically imported chunk shares a dependency with its importer' }; From 3fd60a84fb983749b937171c923310ead37d68c3 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 12 Jan 2020 17:27:01 +0000 Subject: [PATCH 27/47] just check if colour is already loaded --- src/utils/chunkColouring.ts | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 550e3a1487a..18761f3eeab 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -23,19 +23,8 @@ export function assignChunkColouringHashes( module: Module; }> = []; - function allImportersHaveColour(module: Module, colours: Set): boolean { - const importers = moduleImportersByModule.get(module); - // console.log('checking', module.id.split('/').pop(), importers && importers.size); - if (!importers) { - return false; - } - return [...importers].every(importer => { - // console.log('importer', importer.id.split('/').pop(), importer.entryPointsHash, colours); - return ( - [...colours].some(colour => Uint8ArrayEqual(importer.entryPointsHash, colour)) || - allImportersHaveColour(importer, colours) - ); - }); + function containsColour(colours: Set, colour: Uint8Array): boolean { + return !!colours.size && [...colours].some(c => Uint8ArrayEqual(colour, c)); } function colourModule( @@ -58,11 +47,11 @@ export function assignChunkColouringHashes( } else { if (!colouredModules.has(module)) { module.entryPointsHash = cloneUint8Array(colour); - } else if (!coloursToRoot.size || !allImportersHaveColour(module, coloursToRoot)) { + } else if (!containsColour(coloursToRoot, module.entryPointsHash)) { Uint8ArrayXor(module.entryPointsHash, colour); } else { - // colour can remain the same, because every route into this point - // comes from a colour that has already been loaded + // colour can remain the same, because every route to this module + // passes through a colour that has already been loaded // TODO can also skip processing any further? } } From eb881286a13bb266fa4f49dd4f06b148512d4409 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 12 Jan 2020 19:30:02 +0000 Subject: [PATCH 28/47] refactor --- src/utils/chunkColouring.ts | 135 +++++++++++++++++++----------------- src/utils/entryHashing.ts | 5 -- 2 files changed, 71 insertions(+), 69 deletions(-) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 18761f3eeab..d55b45499cf 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -1,98 +1,110 @@ import Module from '../Module'; -import { cloneUint8Array, randomUint8Array, Uint8ArrayEqual, Uint8ArrayXor } from './entryHashing'; - -function getOrCreateSetInMap(map: Map>, key: TKey): Set { - const set = map.get(key) || new Set(); - map.set(key, set); - return set; -} +import { cloneUint8Array, randomUint8Array, Uint8ArrayEqual } from './entryHashing'; function randomColour(): Uint8Array { return randomUint8Array(10); } -export function assignChunkColouringHashes( - entryModules: Module[], - manualChunkModules: Record -) { - const colouredModules: Set = new Set(); - const moduleImportersByModule: Map> = new Map(); - const dynamicEntryModules: Array<{ +function recolourModule( + rootModule: Module, + coloursToRootModule: Set, + importer: Module | null, + colour: Uint8Array +): void { + const newEntryModules: Array<{ coloursToModule: Set; importer: Module; module: Module; }> = []; - function containsColour(colours: Set, colour: Uint8Array): boolean { - return !!colours.size && [...colours].some(c => Uint8ArrayEqual(colour, c)); + function registerNewEntryPoint( + module: Module, + importer: Module, + coloursToModule: Set + ): void { + const alreadySeen = newEntryModules.some( + entry => entry.module === module && entry.importer === importer + ); + if (!alreadySeen) { + newEntryModules.push({ + coloursToModule, + importer, + module + }); + } } - function colourModule( + function _recolourModule( rootModule: Module, - coloursToRoot: Set, + coloursToRootModule: Set, + importer: Module | null, colour: Uint8Array ): void { const visitedModules: Set = new Set(); + const sourceColour = cloneUint8Array(rootModule.entryPointsHash); - function process(module: Module): void { + function process(module: Module, importer: Module | null): void { if (visitedModules.has(module)) { return; } visitedModules.add(module); - if (rootModule.manualChunkAlias) { - // TODO what if module already has another alias? - module.manualChunkAlias = rootModule.manualChunkAlias; + if (containsColour(coloursToRootModule, module.entryPointsHash)) { + // colour can remain the same, because every route to this module + // passes through a colour that has already been loaded + } else if ( + !importer /* if there's no importer module === rootModule so it must be equal */ || + Uint8ArrayEqual(module.entryPointsHash, sourceColour) + ) { module.entryPointsHash = cloneUint8Array(colour); - } else { - if (!colouredModules.has(module)) { - module.entryPointsHash = cloneUint8Array(colour); - } else if (!containsColour(coloursToRoot, module.entryPointsHash)) { - Uint8ArrayXor(module.entryPointsHash, colour); - } else { - // colour can remain the same, because every route to this module - // passes through a colour that has already been loaded - // TODO can also skip processing any further? - } - } - // console.log('!! ', module.id.split('/').pop(), module.entryPointsHash); - colouredModules.add(module); - - for (const dependency of module.dependencies) { - if (dependency instanceof Module) { - getOrCreateSetInMap(moduleImportersByModule, dependency).add(module); - process(dependency); + for (const dependency of module.dependencies) { + if (dependency instanceof Module) { + process(dependency, module); + } } - } - - for (const { resolution } of module.dynamicImports) { - if ( - resolution instanceof Module && - resolution.dynamicallyImportedBy.length > 0 && - !resolution.manualChunkAlias // TODO - ) { - getOrCreateSetInMap(moduleImportersByModule, resolution).add(module); - const coloursToModule = new Set(coloursToRoot); - coloursToModule.add(module.entryPointsHash); - const alreadySeen = dynamicEntryModules.some( - entry => entry.module === resolution && entry.importer === module - ); - if (!alreadySeen) { - dynamicEntryModules.push({ module: resolution, importer: module, coloursToModule }); + for (const { resolution } of module.dynamicImports) { + if ( + resolution instanceof Module && + resolution.dynamicallyImportedBy.length > 0 && + !resolution.manualChunkAlias // TODO + ) { + const coloursToModule = new Set(coloursToRootModule); + coloursToModule.add(module.entryPointsHash); + registerNewEntryPoint(resolution, module, coloursToModule); } } + } else { + const coloursToModule = new Set(coloursToRootModule); + coloursToModule.add(importer.entryPointsHash); + registerNewEntryPoint(module, importer, coloursToModule); } } - process(rootModule); + process(rootModule, importer); } + _recolourModule(rootModule, coloursToRootModule, importer, colour); + + for (let i = 0; i < newEntryModules.length /* note this updates */; i++) { + const { module, importer, coloursToModule } = newEntryModules[i]; + _recolourModule(module, coloursToModule, importer, randomColour()); + } +} + +function containsColour(colours: Set, colour: Uint8Array): boolean { + return !!colours.size && [...colours].some(c => Uint8ArrayEqual(colour, c)); +} + +export function assignChunkColouringHashes( + entryModules: Module[], + manualChunkModules: Record +) { if (manualChunkModules) { for (const chunkName of Object.keys(manualChunkModules)) { const colour = randomColour(); for (const module of manualChunkModules[chunkName]) { - colourModule(module, new Set(), colour); + recolourModule(module, new Set(), null, colour); } } } @@ -100,12 +112,7 @@ export function assignChunkColouringHashes( for (const module of entryModules) { // TODO what is this check? if (!module.manualChunkAlias) { - colourModule(module, new Set(), randomColour()); + recolourModule(module, new Set(), null, randomColour()); } } - - for (let i = 0; i < dynamicEntryModules.length /* note this updates */; i++) { - const { module, coloursToModule } = dynamicEntryModules[i]; - colourModule(module, coloursToModule, randomColour()); - } } diff --git a/src/utils/entryHashing.ts b/src/utils/entryHashing.ts index 784ebc339fe..64895c9a222 100644 --- a/src/utils/entryHashing.ts +++ b/src/utils/entryHashing.ts @@ -18,11 +18,6 @@ export function Uint8ArrayToHexString(buffer: Uint8Array) { return str; } -export function Uint8ArrayXor(to: Uint8Array, from: Uint8Array) { - for (let i = 0; i < to.length; i++) to[i] = to[i] ^ from[i]; - return to; -} - export function randomUint8Array(len: number) { const buffer = new Uint8Array(len); for (let i = 0; i < buffer.length; i++) buffer[i] = Math.random() * (2 << 8); From a94daf8827da16d93c7bb36190c414164a960b8a Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 12 Jan 2020 19:34:50 +0000 Subject: [PATCH 29/47] going through tests --- .../_config.js | 2 +- .../_expected/amd/generated-dep1.js | 22 --------------- .../_expected/amd/main.js | 5 ---- .../_expected/amd/main2.js | 5 ---- .../_expected/cjs/generated-dep1.js | 20 -------------- .../_expected/cjs/main.js | 4 --- .../_expected/cjs/main2.js | 3 --- .../_expected/es/generated-dep1.js | 4 +-- .../_expected/es/generated-dep12.js | 1 + .../_expected/es/main.js | 4 ++- .../_expected/es/main2.js | 2 +- .../_expected/system/generated-dep1.js | 27 ------------------- .../_expected/system/main.js | 11 -------- .../_expected/system/main2.js | 10 ------- 14 files changed, 7 insertions(+), 113 deletions(-) delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep1.js delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main.js delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main2.js delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep1.js delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main.js delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main2.js create mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep12.js delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep1.js delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main.js delete mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main2.js diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js index 7b9cee9238a..f58f2e5dea7 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js @@ -1,5 +1,5 @@ module.exports = { - // solo: true, + solo: true, // TODO broken description: 'handles dynamic imports of previously statically imported chunks that are also dynamically imported by other chunks', options: { diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep1.js deleted file mode 100644 index e61c1a16633..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep1.js +++ /dev/null @@ -1,22 +0,0 @@ -define(['exports'], function (exports) { 'use strict'; - - function foo() { - return 'dep2'; - } - - Promise.resolve().then(function () { return dep1; }).then(({ bar }) => console.log(bar())); - - function bar() { - return foo(); - } - - var dep1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - bar: bar - }); - - console.log(foo(), bar()); - - exports.bar = bar; - -}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main.js deleted file mode 100644 index 02a46daf2cd..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main.js +++ /dev/null @@ -1,5 +0,0 @@ -define(['./generated-dep1'], function (dep1) { 'use strict'; - - - -}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main2.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main2.js deleted file mode 100644 index 86ec013aaab..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main2.js +++ /dev/null @@ -1,5 +0,0 @@ -define(['require'], function (require) { 'use strict'; - - new Promise(function (resolve, reject) { require(['./generated-dep1'], resolve, reject) }).then(({ bar }) => console.log(bar())); - -}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep1.js deleted file mode 100644 index 74d99c1bba9..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep1.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict'; - -function foo() { - return 'dep2'; -} - -Promise.resolve().then(function () { return dep1; }).then(({ bar }) => console.log(bar())); - -function bar() { - return foo(); -} - -var dep1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - bar: bar -}); - -console.log(foo(), bar()); - -exports.bar = bar; diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main.js deleted file mode 100644 index ccb8d98ce68..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; - -require('./generated-dep1.js'); - diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main2.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main2.js deleted file mode 100644 index b910e11fb85..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main2.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -new Promise(function (resolve) { resolve(require('./generated-dep1.js')); }).then(({ bar }) => console.log(bar())); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep1.js index a533de7db2d..861a4f7b643 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep1.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep1.js @@ -13,6 +13,4 @@ var dep1 = /*#__PURE__*/Object.freeze({ bar: bar }); -console.log(foo(), bar()); - -export { bar }; +export { bar as b, foo as f }; diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep12.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep12.js new file mode 100644 index 00000000000..d22ddbff25b --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/generated-dep12.js @@ -0,0 +1 @@ +export { b as bar } from './generated-dep1.js'; diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main.js index 934a68ee7f1..793f396d0ba 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main.js @@ -1 +1,3 @@ -import './generated-dep1.js'; +import { f as foo, b as bar } from './generated-dep1.js'; + +console.log(foo(), bar()); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main2.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main2.js index 00aba354edb..970b0eb472e 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main2.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/es/main2.js @@ -1 +1 @@ -import('./generated-dep1.js').then(({ bar }) => console.log(bar())); +import('./generated-dep12.js').then(({ bar }) => console.log(bar())); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep1.js deleted file mode 100644 index 300981d1b31..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep1.js +++ /dev/null @@ -1,27 +0,0 @@ -System.register([], function (exports) { - 'use strict'; - return { - execute: function () { - - exports('bar', bar); - - function foo() { - return 'dep2'; - } - - Promise.resolve().then(function () { return dep1; }).then(({ bar }) => console.log(bar())); - - function bar() { - return foo(); - } - - var dep1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - bar: bar - }); - - console.log(foo(), bar()); - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main.js deleted file mode 100644 index 5668bec5d4f..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main.js +++ /dev/null @@ -1,11 +0,0 @@ -System.register(['./generated-dep1.js'], function () { - 'use strict'; - return { - setters: [function () {}], - execute: function () { - - - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main2.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main2.js deleted file mode 100644 index 2f2c41db6e5..00000000000 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main2.js +++ /dev/null @@ -1,10 +0,0 @@ -System.register([], function (exports, module) { - 'use strict'; - return { - execute: function () { - - module.import('./generated-dep1.js').then(({ bar }) => console.log(bar())); - - } - }; -}); From b464d2cad0bfe1e1cf8038105a10c0dc31c25eee Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 12 Jan 2020 21:34:21 +0000 Subject: [PATCH 30/47] manual chunks --- src/utils/chunkColouring.ts | 167 +++++++++++++++++++----------------- 1 file changed, 88 insertions(+), 79 deletions(-) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index d55b45499cf..250ae898db2 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -5,114 +5,123 @@ function randomColour(): Uint8Array { return randomUint8Array(10); } -function recolourModule( - rootModule: Module, - coloursToRootModule: Set, - importer: Module | null, - colour: Uint8Array -): void { - const newEntryModules: Array<{ - coloursToModule: Set; - importer: Module; - module: Module; - }> = []; +function containsColour(colours: Set, colour: Uint8Array): boolean { + return !!colours.size && [...colours].some(c => Uint8ArrayEqual(colour, c)); +} - function registerNewEntryPoint( - module: Module, - importer: Module, - coloursToModule: Set - ): void { - const alreadySeen = newEntryModules.some( - entry => entry.module === module && entry.importer === importer - ); - if (!alreadySeen) { - newEntryModules.push({ - coloursToModule, - importer, - module - }); - } - } +export function assignChunkColouringHashes( + entryModules: Module[], + manualChunkModules: Record +) { + const colouredModules: Set = new Set(); - function _recolourModule( + function recolourModule( rootModule: Module, coloursToRootModule: Set, importer: Module | null, colour: Uint8Array ): void { - const visitedModules: Set = new Set(); - const sourceColour = cloneUint8Array(rootModule.entryPointsHash); + const newEntryModules: Array<{ + coloursToModule: Set; + importer: Module; + module: Module; + }> = []; - function process(module: Module, importer: Module | null): void { - if (visitedModules.has(module)) { - return; + function registerNewEntryPoint( + module: Module, + importer: Module, + coloursToModule: Set + ): void { + const alreadySeen = newEntryModules.some( + entry => entry.module === module && entry.importer === importer + ); + if (!alreadySeen) { + newEntryModules.push({ + coloursToModule, + importer, + module + }); } - visitedModules.add(module); + } - if (containsColour(coloursToRootModule, module.entryPointsHash)) { - // colour can remain the same, because every route to this module - // passes through a colour that has already been loaded - } else if ( - !importer /* if there's no importer module === rootModule so it must be equal */ || - Uint8ArrayEqual(module.entryPointsHash, sourceColour) - ) { - module.entryPointsHash = cloneUint8Array(colour); - for (const dependency of module.dependencies) { - if (dependency instanceof Module) { - process(dependency, module); - } + function _recolourModule( + rootModule: Module, + coloursToRootModule: Set, + importer: Module | null, + colour: Uint8Array + ): void { + const visitedModules: Set = new Set(); + const sourceColour = cloneUint8Array(rootModule.entryPointsHash); + + function process(module: Module, importer: Module | null): void { + if (visitedModules.has(module)) { + return; } - for (const { resolution } of module.dynamicImports) { - if ( - resolution instanceof Module && - resolution.dynamicallyImportedBy.length > 0 && - !resolution.manualChunkAlias // TODO - ) { - const coloursToModule = new Set(coloursToRootModule); - coloursToModule.add(module.entryPointsHash); - registerNewEntryPoint(resolution, module, coloursToModule); + visitedModules.add(module); + + if ( + !module.manualChunkAlias && + containsColour(coloursToRootModule, module.entryPointsHash) + ) { + // colour can remain the same, because every route to this module + // passes through a colour that has already been loaded + } else if (module.manualChunkAlias && colouredModules.has(module)) { + // this module has already been coloured as part of another manual chunk + } else if ( + module.manualChunkAlias || + !importer /* if there's no importer module === rootModule so it must be equal */ || + Uint8ArrayEqual(module.entryPointsHash, sourceColour) + ) { + module.entryPointsHash = cloneUint8Array(colour); + colouredModules.add(module); + for (const dependency of module.dependencies) { + if (dependency instanceof Module) { + process(dependency, module); + } + } + for (const { resolution } of module.dynamicImports) { + if ( + resolution instanceof Module && + resolution.dynamicallyImportedBy.length > 0 && + !resolution.manualChunkAlias // TODO + ) { + const coloursToModule = new Set(coloursToRootModule); + coloursToModule.add(module.entryPointsHash); + registerNewEntryPoint(resolution, module, coloursToModule); + } } + } else { + const coloursToModule = new Set(coloursToRootModule); + coloursToModule.add(importer.entryPointsHash); + registerNewEntryPoint(module, importer, coloursToModule); } - } else { - const coloursToModule = new Set(coloursToRootModule); - coloursToModule.add(importer.entryPointsHash); - registerNewEntryPoint(module, importer, coloursToModule); } - } - process(rootModule, importer); - } + process(rootModule, importer); + } - _recolourModule(rootModule, coloursToRootModule, importer, colour); + _recolourModule(rootModule, coloursToRootModule, importer, colour); - for (let i = 0; i < newEntryModules.length /* note this updates */; i++) { - const { module, importer, coloursToModule } = newEntryModules[i]; - _recolourModule(module, coloursToModule, importer, randomColour()); + for (let i = 0; i < newEntryModules.length /* note this updates */; i++) { + const { module, importer, coloursToModule } = newEntryModules[i]; + _recolourModule(module, coloursToModule, importer, randomColour()); + } } -} -function containsColour(colours: Set, colour: Uint8Array): boolean { - return !!colours.size && [...colours].some(c => Uint8ArrayEqual(colour, c)); -} - -export function assignChunkColouringHashes( - entryModules: Module[], - manualChunkModules: Record -) { if (manualChunkModules) { for (const chunkName of Object.keys(manualChunkModules)) { const colour = randomColour(); for (const module of manualChunkModules[chunkName]) { + if (!module.manualChunkAlias) { + throw new Error('Missing moduleChunkAlias'); + } recolourModule(module, new Set(), null, colour); } } } for (const module of entryModules) { - // TODO what is this check? - if (!module.manualChunkAlias) { - recolourModule(module, new Set(), null, randomColour()); - } + recolourModule(module, new Set(), null, randomColour()); } } From 3cf8458b600e425e80098acb244051cb7f1ebece Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 12 Jan 2020 22:09:45 +0000 Subject: [PATCH 31/47] propogate manualChunkAlias --- src/utils/chunkColouring.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 250ae898db2..9146b7e8ef8 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -76,7 +76,12 @@ export function assignChunkColouringHashes( colouredModules.add(module); for (const dependency of module.dependencies) { if (dependency instanceof Module) { - process(dependency, module); + if (!module.manualChunkAlias) { + process(dependency, module); + } else if (!dependency.manualChunkAlias) { + dependency.manualChunkAlias = module.manualChunkAlias; + process(dependency, module); + } } } for (const { resolution } of module.dynamicImports) { From 193b66f901fdb525f84b9f9ff772da2afbf94fa5 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Wed, 15 Jan 2020 20:06:01 +0000 Subject: [PATCH 32/47] simplify --- src/utils/chunkColouring.ts | 99 ++++++++++++++++--------------------- src/utils/entryHashing.ts | 11 +++++ 2 files changed, 53 insertions(+), 57 deletions(-) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 9146b7e8ef8..15a9072d800 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -1,12 +1,16 @@ import Module from '../Module'; -import { cloneUint8Array, randomUint8Array, Uint8ArrayEqual } from './entryHashing'; +import { cloneUint8Array, copyUint8Array, randomUint8Array, Uint8ArrayEqual } from './entryHashing'; function randomColour(): Uint8Array { return randomUint8Array(10); } -function containsColour(colours: Set, colour: Uint8Array): boolean { - return !!colours.size && [...colours].some(c => Uint8ArrayEqual(colour, c)); +function trailContainsColour(trail: Module[], colour: Uint8Array): boolean { + return trail.some(module => Uint8ArrayEqual(module.entryPointsHash, colour)); +} + +function arraysEqual(a: Array, b: Array): boolean { + return a.length === b.length && a.every((item, i) => item === b[i]); } export function assignChunkColouringHashes( @@ -15,118 +19,99 @@ export function assignChunkColouringHashes( ) { const colouredModules: Set = new Set(); - function recolourModule( - rootModule: Module, - coloursToRootModule: Set, - importer: Module | null, - colour: Uint8Array + function recolourModules( + inputEntryModules: Array<{ colour: Uint8Array; rootModule: Module }> ): void { const newEntryModules: Array<{ - coloursToModule: Set; - importer: Module; module: Module; + trail: Module[]; }> = []; - function registerNewEntryPoint( - module: Module, - importer: Module, - coloursToModule: Set - ): void { + function registerNewEntryPoint(module: Module, trail: Module[]): void { const alreadySeen = newEntryModules.some( - entry => entry.module === module && entry.importer === importer + entry => entry.module === module && arraysEqual(entry.trail, trail) ); if (!alreadySeen) { newEntryModules.push({ - coloursToModule, - importer, - module + module, + trail }); } } - function _recolourModule( - rootModule: Module, - coloursToRootModule: Set, - importer: Module | null, - colour: Uint8Array - ): void { - const visitedModules: Set = new Set(); + function _recolourModule(rootModule: Module, trail: Module[], colour: Uint8Array): void { const sourceColour = cloneUint8Array(rootModule.entryPointsHash); - function process(module: Module, importer: Module | null): void { - if (visitedModules.has(module)) { + function process(module: Module, trail: Module[]): void { + if (module.manualChunkAlias && colouredModules.has(module)) { + // this module has already been coloured as part of another manual chunk return; } - visitedModules.add(module); if ( - !module.manualChunkAlias && - containsColour(coloursToRootModule, module.entryPointsHash) - ) { - // colour can remain the same, because every route to this module - // passes through a colour that has already been loaded - } else if (module.manualChunkAlias && colouredModules.has(module)) { - // this module has already been coloured as part of another manual chunk - } else if ( module.manualChunkAlias || - !importer /* if there's no importer module === rootModule so it must be equal */ || - Uint8ArrayEqual(module.entryPointsHash, sourceColour) + (!trailContainsColour(trail, module.entryPointsHash) && + Uint8ArrayEqual(module.entryPointsHash, sourceColour)) ) { - module.entryPointsHash = cloneUint8Array(colour); + copyUint8Array(module.entryPointsHash, colour); colouredModules.add(module); for (const dependency of module.dependencies) { if (dependency instanceof Module) { if (!module.manualChunkAlias) { - process(dependency, module); + process(dependency, [...trail, module]); } else if (!dependency.manualChunkAlias) { dependency.manualChunkAlias = module.manualChunkAlias; - process(dependency, module); + process(dependency, [...trail, module]); } } } for (const { resolution } of module.dynamicImports) { if ( resolution instanceof Module && + // TODO why this check? resolution.dynamicallyImportedBy.length > 0 && - !resolution.manualChunkAlias // TODO + !resolution.manualChunkAlias ) { - const coloursToModule = new Set(coloursToRootModule); - coloursToModule.add(module.entryPointsHash); - registerNewEntryPoint(resolution, module, coloursToModule); + registerNewEntryPoint(resolution, [...trail, module]); } } } else { - const coloursToModule = new Set(coloursToRootModule); - coloursToModule.add(importer.entryPointsHash); - registerNewEntryPoint(module, importer, coloursToModule); + registerNewEntryPoint(module, trail); } } - process(rootModule, importer); + process(rootModule, trail); } - _recolourModule(rootModule, coloursToRootModule, importer, colour); + for (let i = 0; i < inputEntryModules.length /* updates */; i++) { + const { colour, rootModule } = inputEntryModules[i]; + _recolourModule(rootModule, [], colour); + } - for (let i = 0; i < newEntryModules.length /* note this updates */; i++) { - const { module, importer, coloursToModule } = newEntryModules[i]; - _recolourModule(module, coloursToModule, importer, randomColour()); + for (let i = 0; i < newEntryModules.length /* updates */; i++) { + const { module, trail } = newEntryModules[i]; + _recolourModule(module, trail, randomColour()); } } + const modules: Array<{ colour: Uint8Array; rootModule: Module }> = []; + if (manualChunkModules) { for (const chunkName of Object.keys(manualChunkModules)) { const colour = randomColour(); for (const module of manualChunkModules[chunkName]) { if (!module.manualChunkAlias) { - throw new Error('Missing moduleChunkAlias'); + throw new Error('Missing manualChunkAlias'); } - recolourModule(module, new Set(), null, colour); + modules.push({ rootModule: module, colour }); } } } for (const module of entryModules) { - recolourModule(module, new Set(), null, randomColour()); + modules.push({ rootModule: module, colour: randomColour() }); } + + recolourModules(modules); } diff --git a/src/utils/entryHashing.ts b/src/utils/entryHashing.ts index 64895c9a222..506930e3c6c 100644 --- a/src/utils/entryHashing.ts +++ b/src/utils/entryHashing.ts @@ -30,7 +30,18 @@ export function cloneUint8Array(input: Uint8Array): Uint8Array { return output; } +export function copyUint8Array(destinaton: Uint8Array, source: Uint8Array): Uint8Array { + if (destinaton.length !== source.length) { + throw new Error('Arrays are different sizes.'); + } + for (let i = 0; i < destinaton.length; i++) destinaton[i] = source[i]; + return source; +} + export function Uint8ArrayEqual(bufferA: Uint8Array, bufferB: Uint8Array) { + if (bufferA.length !== bufferB.length) { + return false; + } for (let i = 0; i < bufferA.length; i++) { if (bufferA[i] !== bufferB[i]) return false; } From 46fc382ce6ca1fff05273e961f460e4306fb45d5 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Wed, 15 Jan 2020 22:31:30 +0000 Subject: [PATCH 33/47] working through tests --- src/utils/chunkColouring.ts | 35 ++++++++++--------- .../chunk-deshadowing-reassignment/_config.js | 4 ++- .../samples/circular-entry-points/_config.js | 2 +- .../_config.js | 1 + .../_config.js | 1 + .../default-export-name-conflict/_config.js | 1 + .../samples/dynamic-import-facade/_config.js | 1 + .../_expected/amd/generated-dynamic.js | 14 -------- .../_expected/amd/main1.js | 5 --- .../_expected/amd/main2.js | 5 --- .../_expected/cjs/generated-dynamic.js | 12 ------- .../_expected/cjs/main1.js | 3 -- .../_expected/cjs/main2.js | 4 --- .../_expected/es/generated-dynamic.js | 4 +-- .../_expected/es/generated-dynamic2.js | 1 + .../_expected/es/main1.js | 2 +- .../_expected/es/main2.js | 4 ++- .../_expected/system/generated-dynamic.js | 17 --------- .../_expected/system/main1.js | 10 ------ .../_expected/system/main2.js | 11 ------ .../_config.js | 2 +- .../something/_config.js | 7 ++++ .../_expected/es/generated-dynamic1.js | 2 ++ .../_expected/es/generated-dynamic2.js | 3 ++ .../something/_expected/es/generated-main.js | 6 ++++ .../something/_expected/es/main.js | 1 + .../something/dynamic1.js | 2 ++ .../something/dynamic2.js | 2 ++ .../improved-dynamic-chunks/something/main.js | 3 ++ .../something/shared.js | 1 + .../manual-chunk-avoid-facade/_config.js | 1 + .../samples/manual-chunks/_config.js | 1 + 32 files changed, 63 insertions(+), 105 deletions(-) delete mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic.js delete mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/amd/main1.js delete mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/amd/main2.js delete mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic.js delete mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main1.js delete mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main2.js create mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic2.js delete mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic.js delete mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/system/main1.js delete mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/system/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_config.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/shared.js diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 15a9072d800..3c668267a74 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -22,18 +22,20 @@ export function assignChunkColouringHashes( function recolourModules( inputEntryModules: Array<{ colour: Uint8Array; rootModule: Module }> ): void { - const newEntryModules: Array<{ - module: Module; + const entryModules: Array<{ + colour: Uint8Array; + rootModule: Module; trail: Module[]; - }> = []; + }> = inputEntryModules.map(({ colour, rootModule }) => ({ colour, rootModule, trail: [] })); function registerNewEntryPoint(module: Module, trail: Module[]): void { - const alreadySeen = newEntryModules.some( - entry => entry.module === module && arraysEqual(entry.trail, trail) - ); + const alreadySeen = + trail.includes(module) || + entryModules.some(entry => entry.rootModule === module && arraysEqual(entry.trail, trail)); if (!alreadySeen) { - newEntryModules.push({ - module, + entryModules.push({ + colour: randomColour(), + rootModule: module, trail }); } @@ -48,12 +50,18 @@ export function assignChunkColouringHashes( return; } + // TODO uncommenting fixes circular-entry-points but breaks others + // if (module !== rootModule && entryModules.some(a => a.rootModule === module)) { + // return; + // } + if ( module.manualChunkAlias || (!trailContainsColour(trail, module.entryPointsHash) && Uint8ArrayEqual(module.entryPointsHash, sourceColour)) ) { copyUint8Array(module.entryPointsHash, colour); + // console.log('colour', module.id.split('/').pop(), colour[0]); colouredModules.add(module); for (const dependency of module.dependencies) { if (dependency instanceof Module) { @@ -83,14 +91,9 @@ export function assignChunkColouringHashes( process(rootModule, trail); } - for (let i = 0; i < inputEntryModules.length /* updates */; i++) { - const { colour, rootModule } = inputEntryModules[i]; - _recolourModule(rootModule, [], colour); - } - - for (let i = 0; i < newEntryModules.length /* updates */; i++) { - const { module, trail } = newEntryModules[i]; - _recolourModule(module, trail, randomColour()); + for (let i = 0; i < entryModules.length /* updates */; i++) { + const { colour, rootModule, trail } = entryModules[i]; + _recolourModule(rootModule, trail, colour); } } diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_config.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_config.js index e0abcec057f..1fb87e745d4 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_config.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_config.js @@ -1,6 +1,8 @@ module.exports = { + solo: true, // BROKEN description: 'chunk reassignment import deshadowing', options: { - input: ['main1.js', 'main2.js', 'main3.js', 'main4.js'] + input: ['main1.js', 'main2.js'] + // input: ['main1.js', 'main2.js', 'main3.js', 'main4.js'] } }; diff --git a/test/chunking-form/samples/circular-entry-points/_config.js b/test/chunking-form/samples/circular-entry-points/_config.js index d15f28d061d..c3d960d8552 100644 --- a/test/chunking-form/samples/circular-entry-points/_config.js +++ b/test/chunking-form/samples/circular-entry-points/_config.js @@ -1,5 +1,5 @@ module.exports = { - // solo: true, // broken but ok? + skip: true, // TODO broken description: 'chunking circular entry points', expectedWarnings: ['CIRCULAR_DEPENDENCY'], options: { diff --git a/test/chunking-form/samples/deduplicate-imports-referencing-originals-2/_config.js b/test/chunking-form/samples/deduplicate-imports-referencing-originals-2/_config.js index a393eccd704..272520b29e9 100644 --- a/test/chunking-form/samples/deduplicate-imports-referencing-originals-2/_config.js +++ b/test/chunking-form/samples/deduplicate-imports-referencing-originals-2/_config.js @@ -1,4 +1,5 @@ module.exports = { + // solo: true, // BROKEN description: 'do not import variables that reference an original if another variable referencing it is already imported', options: { diff --git a/test/chunking-form/samples/deduplicate-imports-referencing-originals/_config.js b/test/chunking-form/samples/deduplicate-imports-referencing-originals/_config.js index 8bf09102383..875aefa7484 100644 --- a/test/chunking-form/samples/deduplicate-imports-referencing-originals/_config.js +++ b/test/chunking-form/samples/deduplicate-imports-referencing-originals/_config.js @@ -1,4 +1,5 @@ module.exports = { + // solo: true, // BROKEN description: 'do not import variables that reference an original if the original is already imported', options: { diff --git a/test/chunking-form/samples/default-export-name-conflict/_config.js b/test/chunking-form/samples/default-export-name-conflict/_config.js index 958b2db90bb..f6aea3c9ced 100644 --- a/test/chunking-form/samples/default-export-name-conflict/_config.js +++ b/test/chunking-form/samples/default-export-name-conflict/_config.js @@ -1,4 +1,5 @@ module.exports = { + // solo: true, // BROKEN description: 'does not produce name conflicts when reexporting via default exports', options: { input: ['main1', 'main2'] diff --git a/test/chunking-form/samples/dynamic-import-facade/_config.js b/test/chunking-form/samples/dynamic-import-facade/_config.js index 62db88c24ef..18ad78aa3fb 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_config.js +++ b/test/chunking-form/samples/dynamic-import-facade/_config.js @@ -1,4 +1,5 @@ module.exports = { + // solo: true, description: 'makes sure dynamic chunks are not tainted', options: { input: ['main1.js', 'main2.js'] diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic.js b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic.js deleted file mode 100644 index 5a3c5481fab..00000000000 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic.js +++ /dev/null @@ -1,14 +0,0 @@ -define(['exports'], function (exports) { 'use strict'; - - console.log('dep'); - - const dep = 'dep'; - - console.log('dynamic', dep); - const dynamic = 'dynamic'; - - console.log('main2', dynamic, dep); - - exports.dynamic = dynamic; - -}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main1.js b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main1.js deleted file mode 100644 index 4dc4a80e97f..00000000000 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main1.js +++ /dev/null @@ -1,5 +0,0 @@ -define(['require'], function (require) { 'use strict'; - - new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }).then(({dynamic}) => console.log('main1', dynamic)); - -}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main2.js deleted file mode 100644 index 74cc956808d..00000000000 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main2.js +++ /dev/null @@ -1,5 +0,0 @@ -define(['./generated-dynamic'], function (dynamic) { 'use strict'; - - - -}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic.js b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic.js deleted file mode 100644 index 74d96adeedd..00000000000 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -console.log('dep'); - -const dep = 'dep'; - -console.log('dynamic', dep); -const dynamic = 'dynamic'; - -console.log('main2', dynamic, dep); - -exports.dynamic = dynamic; diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main1.js b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main1.js deleted file mode 100644 index 94c55f49481..00000000000 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main1.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }).then(({dynamic}) => console.log('main1', dynamic)); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main2.js deleted file mode 100644 index 17f06c91436..00000000000 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main2.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; - -require('./generated-dynamic.js'); - diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic.js b/test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic.js index 0cd46cbad40..a0ce15fe84a 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic.js @@ -5,6 +5,4 @@ const dep = 'dep'; console.log('dynamic', dep); const dynamic = 'dynamic'; -console.log('main2', dynamic, dep); - -export { dynamic }; +export { dep as a, dynamic as d }; diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic2.js new file mode 100644 index 00000000000..ebf2d6f8467 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/es/generated-dynamic2.js @@ -0,0 +1 @@ +export { d as dynamic } from './generated-dynamic.js'; diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/es/main1.js b/test/chunking-form/samples/dynamic-import-facade/_expected/es/main1.js index 2fbb59a4af9..cf5d3a31f7e 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/es/main1.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/es/main1.js @@ -1 +1 @@ -import('./generated-dynamic.js').then(({dynamic}) => console.log('main1', dynamic)); +import('./generated-dynamic2.js').then(({dynamic}) => console.log('main1', dynamic)); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/es/main2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/es/main2.js index f0a86500a2e..90795a3d8bd 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/es/main2.js +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/es/main2.js @@ -1 +1,3 @@ -import './generated-dynamic.js'; +import { d as dynamic, a as dep } from './generated-dynamic.js'; + +console.log('main2', dynamic, dep); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic.js b/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic.js deleted file mode 100644 index c618adf525b..00000000000 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic.js +++ /dev/null @@ -1,17 +0,0 @@ -System.register([], function (exports) { - 'use strict'; - return { - execute: function () { - - console.log('dep'); - - const dep = 'dep'; - - console.log('dynamic', dep); - const dynamic = exports('dynamic', 'dynamic'); - - console.log('main2', dynamic, dep); - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/system/main1.js b/test/chunking-form/samples/dynamic-import-facade/_expected/system/main1.js deleted file mode 100644 index c49f55149f2..00000000000 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/system/main1.js +++ /dev/null @@ -1,10 +0,0 @@ -System.register([], function (exports, module) { - 'use strict'; - return { - execute: function () { - - module.import('./generated-dynamic.js').then(({dynamic}) => console.log('main1', dynamic)); - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/system/main2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/system/main2.js deleted file mode 100644 index 534a2439353..00000000000 --- a/test/chunking-form/samples/dynamic-import-facade/_expected/system/main2.js +++ /dev/null @@ -1,11 +0,0 @@ -System.register(['./generated-dynamic.js'], function () { - 'use strict'; - return { - setters: [function () {}], - execute: function () { - - - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js index f58f2e5dea7..7b9cee9238a 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js @@ -1,5 +1,5 @@ module.exports = { - solo: true, // TODO broken + // solo: true, description: 'handles dynamic imports of previously statically imported chunks that are also dynamically imported by other chunks', options: { diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_config.js new file mode 100644 index 00000000000..9489d59961e --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_config.js @@ -0,0 +1,7 @@ +module.exports = { + // solo: true, + description: 'multiple layers dynamic', + options: { + input: ['main'] + } +}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-dynamic1.js new file mode 100644 index 00000000000..2db19197d94 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-dynamic1.js @@ -0,0 +1,2 @@ +import('./generated-dynamic2.js'); +console.log('dynamic1'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-dynamic2.js new file mode 100644 index 00000000000..024bb6dcf20 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-dynamic2.js @@ -0,0 +1,3 @@ +import { s as shared } from './generated-main.js'; + +console.log('dynamic2', shared); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-main.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-main.js new file mode 100644 index 00000000000..ccb2e0d9161 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-main.js @@ -0,0 +1,6 @@ +const shared = 'shared'; + +import('./generated-dynamic1.js'); +console.log('main', shared); + +export { shared as s }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/main.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/main.js new file mode 100644 index 00000000000..bc3090f4a30 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/main.js @@ -0,0 +1 @@ +import './generated-main.js'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/something/dynamic1.js new file mode 100644 index 00000000000..a760f02104c --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/dynamic1.js @@ -0,0 +1,2 @@ +import('./dynamic2.js'); +console.log('dynamic1'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/something/dynamic2.js new file mode 100644 index 00000000000..69ac7e42394 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/dynamic2.js @@ -0,0 +1,2 @@ +import { shared } from './shared.js'; +console.log('dynamic2', shared); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/main.js b/test/chunking-form/samples/improved-dynamic-chunks/something/main.js new file mode 100644 index 00000000000..1bfb9d87888 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/main.js @@ -0,0 +1,3 @@ +import { shared } from './shared.js'; +import('./dynamic1.js'); +console.log('main', shared); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/shared.js b/test/chunking-form/samples/improved-dynamic-chunks/something/shared.js new file mode 100644 index 00000000000..cd35843de7a --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/shared.js @@ -0,0 +1 @@ +export const shared = 'shared'; diff --git a/test/chunking-form/samples/manual-chunk-avoid-facade/_config.js b/test/chunking-form/samples/manual-chunk-avoid-facade/_config.js index 3872987a3f1..242692afbf4 100644 --- a/test/chunking-form/samples/manual-chunk-avoid-facade/_config.js +++ b/test/chunking-form/samples/manual-chunk-avoid-facade/_config.js @@ -1,4 +1,5 @@ module.exports = { + // solo: true, description: 'avoid facades if possible when using manual chunks', options: { input: ['main1', 'main2'], diff --git a/test/chunking-form/samples/manual-chunks/_config.js b/test/chunking-form/samples/manual-chunks/_config.js index db37984cc08..d5066726244 100644 --- a/test/chunking-form/samples/manual-chunks/_config.js +++ b/test/chunking-form/samples/manual-chunks/_config.js @@ -1,4 +1,5 @@ module.exports = { + // solo: true, description: 'manual chunks support', options: { input: ['main.js'], From c986dc4ca0b4df5fa2489280265b004600cf529d Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Thu, 16 Jan 2020 22:43:32 +0000 Subject: [PATCH 34/47] bring xor back --- src/utils/chunkColouring.ts | 47 ++++++++++++++++++++----------------- src/utils/entryHashing.ts | 8 +++---- 2 files changed, 30 insertions(+), 25 deletions(-) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 3c668267a74..37b1b6f9739 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -1,5 +1,5 @@ import Module from '../Module'; -import { cloneUint8Array, copyUint8Array, randomUint8Array, Uint8ArrayEqual } from './entryHashing'; +import { cloneUint8Array, randomUint8Array, Uint8ArrayEqual, Uint8ArrayXor } from './entryHashing'; function randomColour(): Uint8Array { return randomUint8Array(10); @@ -19,29 +19,31 @@ export function assignChunkColouringHashes( ) { const colouredModules: Set = new Set(); - function recolourModules( - inputEntryModules: Array<{ colour: Uint8Array; rootModule: Module }> - ): void { + function paintModules(inputEntryModules: Array<{ paint: Uint8Array; rootModule: Module }>): void { const entryModules: Array<{ - colour: Uint8Array; + paint: Uint8Array; rootModule: Module; trail: Module[]; - }> = inputEntryModules.map(({ colour, rootModule }) => ({ colour, rootModule, trail: [] })); + }> = inputEntryModules.map(({ paint, rootModule }) => ({ + paint, + rootModule, + trail: [] + })); - function registerNewEntryPoint(module: Module, trail: Module[]): void { + function registerNewEntryPoint(module: Module, trail: Module[], paint: Uint8Array): void { const alreadySeen = trail.includes(module) || entryModules.some(entry => entry.rootModule === module && arraysEqual(entry.trail, trail)); if (!alreadySeen) { entryModules.push({ - colour: randomColour(), + paint, rootModule: module, trail }); } } - function _recolourModule(rootModule: Module, trail: Module[], colour: Uint8Array): void { + function _paintModule(rootModule: Module, trail: Module[], paint: Uint8Array): void { const sourceColour = cloneUint8Array(rootModule.entryPointsHash); function process(module: Module, trail: Module[]): void { @@ -55,13 +57,14 @@ export function assignChunkColouringHashes( // return; // } - if ( + if (!module.manualChunkAlias && trailContainsColour(trail, module.entryPointsHash)) { + // + } else if ( module.manualChunkAlias || (!trailContainsColour(trail, module.entryPointsHash) && Uint8ArrayEqual(module.entryPointsHash, sourceColour)) ) { - copyUint8Array(module.entryPointsHash, colour); - // console.log('colour', module.id.split('/').pop(), colour[0]); + Uint8ArrayXor(module.entryPointsHash, paint); colouredModules.add(module); for (const dependency of module.dependencies) { if (dependency instanceof Module) { @@ -80,11 +83,13 @@ export function assignChunkColouringHashes( resolution.dynamicallyImportedBy.length > 0 && !resolution.manualChunkAlias ) { - registerNewEntryPoint(resolution, [...trail, module]); + // registerNewEntryPoint(resolution, [...trail, module], module.entryPointsHash); + registerNewEntryPoint(resolution, [...trail, module], randomColour()); } } } else { - registerNewEntryPoint(module, trail); + // TODO out of bounds? + registerNewEntryPoint(module, trail, trail[trail.length - 1].entryPointsHash); } } @@ -92,29 +97,29 @@ export function assignChunkColouringHashes( } for (let i = 0; i < entryModules.length /* updates */; i++) { - const { colour, rootModule, trail } = entryModules[i]; - _recolourModule(rootModule, trail, colour); + const { paint, rootModule, trail } = entryModules[i]; + _paintModule(rootModule, trail, paint); } } - const modules: Array<{ colour: Uint8Array; rootModule: Module }> = []; + const modules: Array<{ paint: Uint8Array; rootModule: Module }> = []; if (manualChunkModules) { for (const chunkName of Object.keys(manualChunkModules)) { - const colour = randomColour(); + const paint = randomColour(); for (const module of manualChunkModules[chunkName]) { if (!module.manualChunkAlias) { throw new Error('Missing manualChunkAlias'); } - modules.push({ rootModule: module, colour }); + modules.push({ rootModule: module, paint }); } } } for (const module of entryModules) { - modules.push({ rootModule: module, colour: randomColour() }); + modules.push({ rootModule: module, paint: randomColour() }); } - recolourModules(modules); + paintModules(modules); } diff --git a/src/utils/entryHashing.ts b/src/utils/entryHashing.ts index 506930e3c6c..4f84685d544 100644 --- a/src/utils/entryHashing.ts +++ b/src/utils/entryHashing.ts @@ -30,12 +30,12 @@ export function cloneUint8Array(input: Uint8Array): Uint8Array { return output; } -export function copyUint8Array(destinaton: Uint8Array, source: Uint8Array): Uint8Array { - if (destinaton.length !== source.length) { +export function Uint8ArrayXor(to: Uint8Array, from: Uint8Array): Uint8Array { + if (to.length !== from.length) { throw new Error('Arrays are different sizes.'); } - for (let i = 0; i < destinaton.length; i++) destinaton[i] = source[i]; - return source; + for (let i = 0; i < to.length; i++) to[i] = to[i] ^ from[i]; + return to; } export function Uint8ArrayEqual(bufferA: Uint8Array, bufferB: Uint8Array) { From a417cf25bcd9a4d927203ca2fd466da99bd85aec Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Thu, 16 Jan 2020 22:50:59 +0000 Subject: [PATCH 35/47] update fixtures --- test/chunking-form/index.js | 3 +- .../_expected/amd/generated-main4.dynamic.js | 2 -- .../_expected/amd/generated-main5.js | 4 +-- .../_expected/cjs/generated-main4.dynamic.js | 2 -- .../_expected/cjs/generated-main5.js | 3 +- .../_expected/es/generated-main4.dynamic.js | 2 -- .../_expected/es/generated-main5.js | 2 +- .../system/generated-main4.dynamic.js | 2 -- .../_expected/system/generated-main5.js | 5 ++- .../chunk-deshadowing-reassignment/_config.js | 2 +- .../_expected/amd/generated-shared2.js | 12 ++++--- .../_expected/amd/main1.js | 2 +- .../_expected/amd/main2.js | 2 +- .../_expected/amd/main4.js | 5 --- .../_expected/cjs/generated-dep1.js | 5 --- .../_expected/cjs/generated-dep2.js | 5 --- .../_expected/cjs/generated-shared2.js | 11 ++++--- .../_expected/cjs/main1.js | 2 -- .../_expected/cjs/main2.js | 2 -- .../_expected/cjs/main3.js | 4 --- .../_expected/cjs/main4.js | 4 --- .../_expected/es/generated-dep1.js | 3 -- .../_expected/es/generated-dep2.js | 3 -- .../_expected/es/generated-shared2.js | 9 +++--- .../_expected/es/main1.js | 2 -- .../_expected/es/main2.js | 2 -- .../_expected/es/main3.js | 1 - .../_expected/es/main4.js | 1 - .../_expected/system/generated-shared2.js | 14 ++++----- .../_expected/system/main1.js | 6 ++-- .../_expected/system/main2.js | 4 +-- .../_expected/amd/main1.js | 17 ---------- .../_expected/amd/main2.js | 17 ---------- .../_expected/cjs/main1.js | 17 ---------- .../_expected/cjs/main2.js | 17 ---------- .../_expected/es/main1.js | 13 -------- .../_expected/es/main2.js | 13 -------- .../_expected/system/main1.js | 22 ------------- .../_expected/system/main2.js | 22 ------------- .../_expected/amd/generated-dep1.js | 6 ++++ .../_expected/amd/generated-dep2.js | 5 +++ .../_expected/amd/main.js | 6 ++++ .../_expected/cjs/generated-dep1.js | 4 +++ .../_expected/cjs/generated-dep2.js | 3 ++ .../_expected/cjs/main.js | 4 +++ .../_expected/system/generated-dep1.js | 11 +++++++ .../_expected/system/generated-dep2.js | 10 ++++++ .../_expected/system/main.js | 11 +++++++ .../_expected/amd/generated-dynamic.js | 13 ++++++++ .../_expected/amd/generated-dynamic2.js | 7 +++++ .../_expected/amd/main1.js | 5 +++ .../_expected/amd/main2.js | 5 +++ .../_expected/cjs/generated-dynamic.js | 11 +++++++ .../_expected/cjs/generated-dynamic2.js | 7 +++++ .../_expected/cjs/main1.js | 3 ++ .../_expected/cjs/main2.js | 5 +++ .../_expected/system/generated-dynamic.js | 15 +++++++++ .../_expected/system/generated-dynamic2.js | 13 ++++++++ .../_expected/system/main1.js | 10 ++++++ .../_expected/system/main2.js | 15 +++++++++ .../_expected/amd/generated-separate.js | 9 ++++++ .../_expected/amd/main1.js | 20 ++++++++++++ .../_expected/amd/main2.js | 9 ++++++ .../_expected/cjs/generated-separate.js | 7 +++++ .../_expected/cjs/main1.js | 20 ++++++++++++ .../_expected/cjs/main2.js | 7 +++++ .../_expected/system/generated-separate.js | 11 +++++++ .../_expected/system/main1.js | 21 +++++++++++++ .../_expected/system/main2.js | 10 ++++++ .../_expected/amd/generated-dep1.js | 21 +++++++++++++ .../_expected/amd/generated-dep12.js | 7 +++++ .../_expected/amd/main.js} | 2 +- .../_expected/amd/main2.js | 5 +++ .../_expected/cjs/generated-dep1.js | 19 ++++++++++++ .../_expected/cjs/generated-dep12.js | 7 +++++ .../_expected/cjs/main.js | 5 +++ .../_expected/cjs/main2.js | 3 ++ .../_expected/system/generated-dep1.js | 28 +++++++++++++++++ .../_expected/system/generated-dep12.js | 13 ++++++++ .../_expected/system/main.js | 15 +++++++++ .../_expected/system/main2.js | 10 ++++++ .../_expected/amd/custom/build-start-chunk.js | 10 ------ .../emit-chunk-filename/_expected/amd/main.js | 7 ----- .../_expected/cjs/custom/build-start-chunk.js | 10 ------ .../_expected/cjs/generated-dep.js | 5 --- .../emit-chunk-filename/_expected/cjs/main.js | 8 ----- .../_expected/es/custom/build-start-chunk.js | 6 ---- .../_expected/es/generated-dep.js | 3 -- .../emit-chunk-filename/_expected/es/main.js | 6 ---- .../system/custom/build-start-chunk.js | 15 --------- .../_expected/system/main.js | 18 ----------- .../_expected/amd/generated-dep.js | 7 ----- .../_expected/amd/generated-emitted.js | 10 ------ .../emit-chunk-order1/_expected/amd/main.js | 7 ----- .../_expected/cjs/generated-dep.js | 5 --- .../_expected/cjs/generated-emitted.js | 10 ------ .../emit-chunk-order1/_expected/cjs/main.js | 8 ----- .../_expected/es/generated-dep.js | 3 -- .../_expected/es/generated-emitted.js | 6 ---- .../emit-chunk-order1/_expected/es/main.js | 6 ---- .../_expected/system/generated-emitted.js | 15 --------- .../_expected/system/main.js | 18 ----------- .../_expected/amd/generated-emitted.js | 10 ------ .../emit-chunk-order2/_expected/amd/main.js | 7 ----- .../_expected/cjs/generated-dep.js | 5 --- .../_expected/cjs/generated-emitted.js | 10 ------ .../emit-chunk-order2/_expected/cjs/main.js | 8 ----- .../_expected/es/generated-dep.js | 3 -- .../_expected/es/generated-emitted.js | 6 ---- .../emit-chunk-order2/_expected/es/main.js | 6 ---- .../_expected/system/generated-dep.js | 10 ------ .../_expected/system/generated-emitted.js | 15 --------- .../_expected/system/main.js | 18 ----------- .../_expected/amd/generated-dep1.js | 4 +-- .../_expected/amd/generated-dep2.js | 4 +-- .../_expected/amd/generated-dynamic.js | 8 +++++ .../_expected/amd/main1.js | 13 ++++++++ .../_expected/amd/main2.js | 11 +++++++ .../_expected/cjs/generated-dep1.js | 5 +++ .../_expected/cjs/generated-dep2.js | 5 +++ .../_expected/cjs/generated-dynamic.js | 9 ++++++ .../_expected/cjs/main1.js | 14 +++++++++ .../_expected/cjs/main2.js | 11 +++++++ .../_expected/system/generated-dep1.js | 3 +- .../_expected/system/generated-dep2.js | 3 +- .../_expected/system/generated-dynamic.js | 18 +++++++++++ .../_expected/system/main1.js | 21 +++++++++++++ .../_expected/system/main2.js | 17 ++++++++++ .../_expected/amd/generated-dep2.js} | 4 +-- .../_expected/amd/generated-dynamic1.js | 7 +++++ .../_expected/amd/generated-dynamic2.js | 7 +++++ .../_expected/amd/main1.js | 13 ++++++++ .../_expected/amd/main2.js | 10 ++++++ .../_expected/cjs/generated-dep2.js | 5 +++ .../_expected/cjs/generated-dynamic1.js | 8 +++++ .../_expected/cjs/generated-dynamic2.js | 7 +++++ .../_expected/cjs/main1.js | 13 ++++++++ .../_expected/cjs/main2.js | 10 ++++++ .../_expected/system/generated-dep2.js} | 2 +- .../_expected/system/generated-dynamic1.js | 15 +++++++++ .../_expected/system/generated-dynamic2.js | 15 +++++++++ .../_expected/system/main1.js | 18 +++++++++++ .../_expected/system/main2.js | 16 ++++++++++ .../_expected/amd/generated-dep.js | 4 +-- .../_expected/amd/generated-dynamic.js | 5 +++ .../_expected/amd/generated-shared.js | 6 ++++ .../_expected/amd/main1.js | 5 +++ .../_expected/amd/main2.js | 5 +++ .../_expected/amd/main3.js | 7 +++++ .../_expected/cjs/generated-dep.js | 5 +++ .../_expected/cjs/generated-dynamic.js | 5 +++ .../_expected/cjs/generated-shared.js | 6 ++++ .../_expected/cjs/main1.js | 6 ++++ .../_expected/cjs/main2.js | 6 ++++ .../_expected/cjs/main3.js | 5 +++ .../_expected/system/generated-dep.js | 2 +- .../_expected/system/generated-dynamic.js | 14 +++++++++ .../_expected/system/generated-shared.js | 15 +++++++++ .../_expected/system/main1.js | 11 +++++++ .../_expected/system/main2.js | 11 +++++++ .../_expected/system/main3.js | 12 +++++++ .../_expected/amd/generated-dynamic.js | 5 +++ .../_expected/amd/generated-shared.js | 10 ++++++ .../_expected/amd/main1.js | 5 +++ .../_expected/amd/main2.js | 5 +++ .../_expected/cjs/generated-dynamic.js | 5 +++ .../_expected/cjs/generated-shared.js | 8 +++++ .../_expected/cjs/main1.js | 5 +++ .../_expected/cjs/main2.js | 5 +++ .../_expected/system/generated-dynamic.js | 14 +++++++++ .../_expected/system/generated-shared.js | 13 ++++++++ .../_expected/system/main1.js} | 4 +-- .../_expected/system/main2.js | 11 +++++++ .../_expected/amd/generated-dynamic.js | 7 +++++ .../_expected/amd/main.js | 15 +++++++++ .../_expected/cjs/generated-dynamic.js | 7 +++++ .../_expected/cjs/main.js | 13 ++++++++ .../_expected/system/generated-dynamic.js | 15 +++++++++ .../_expected/system/main.js | 16 ++++++++++ .../_expected/amd/generated-dynamic.js | 7 +++++ .../single-dynamic/_expected/amd/main.js | 12 +++++++ .../_expected/cjs/generated-dynamic.js | 7 +++++ .../single-dynamic/_expected/cjs/main.js | 10 ++++++ .../_expected/system/generated-dynamic.js | 15 +++++++++ .../single-dynamic/_expected/system/main.js | 13 ++++++++ .../_expected/amd/generated-dynamic1.js | 6 ++++ .../_expected/amd/generated-dynamic2.js | 5 +++ .../something/_expected/amd/generated-main.js | 10 ++++++ .../something/_expected/amd/main.js | 5 +++ .../_expected/cjs/generated-dynamic1.js | 4 +++ .../_expected/cjs/generated-dynamic2.js | 5 +++ .../something/_expected/cjs/generated-main.js | 8 +++++ .../something/_expected/cjs/main.js | 4 +++ .../_expected/system/generated-dynamic1.js | 11 +++++++ .../_expected/system/generated-dynamic2.js | 14 +++++++++ .../_expected/system/generated-main.js | 13 ++++++++ .../something/_expected/system/main.js} | 2 +- .../_expected/amd/generated-dynamic1.js | 31 ++----------------- .../_expected/amd/generated-dynamic2.js | 6 ++++ .../_expected/amd/generated-dynamic3.js | 6 ++++ .../_expected/amd/generated-dynamic4.js | 6 ++++ .../_expected/amd/generated-dynamic5.js | 5 +++ .../_expected/cjs/generated-dynamic1.js | 29 +---------------- .../_expected/cjs/generated-dynamic2.js | 4 +++ .../_expected/cjs/generated-dynamic3.js | 4 +++ .../_expected/cjs/generated-dynamic4.js | 4 +++ .../_expected/cjs/generated-dynamic5.js | 3 ++ .../_expected/es/generated-dynamic1.js | 29 +---------------- .../_expected/es/generated-dynamic2.js | 2 ++ .../_expected/es/generated-dynamic3.js | 2 ++ .../_expected/es/generated-dynamic4.js | 2 ++ .../_expected/es/generated-dynamic5.js | 1 + .../_expected/system/generated-dynamic1.js | 31 ++----------------- .../_expected/system/generated-dynamic2.js | 11 +++++++ .../_expected/system/generated-dynamic3.js | 11 +++++++ .../_expected/system/generated-dynamic4.js | 11 +++++++ .../_expected/system/generated-dynamic5.js | 10 ++++++ 217 files changed, 1274 insertions(+), 637 deletions(-) delete mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main4.js delete mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep1.js delete mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep2.js delete mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main3.js delete mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main4.js delete mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep1.js delete mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep2.js delete mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main3.js delete mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main4.js delete mode 100644 test/chunking-form/samples/circular-entry-points/_expected/amd/main1.js delete mode 100644 test/chunking-form/samples/circular-entry-points/_expected/amd/main2.js delete mode 100644 test/chunking-form/samples/circular-entry-points/_expected/cjs/main1.js delete mode 100644 test/chunking-form/samples/circular-entry-points/_expected/cjs/main2.js delete mode 100644 test/chunking-form/samples/circular-entry-points/_expected/es/main1.js delete mode 100644 test/chunking-form/samples/circular-entry-points/_expected/es/main2.js delete mode 100644 test/chunking-form/samples/circular-entry-points/_expected/system/main1.js delete mode 100644 test/chunking-form/samples/circular-entry-points/_expected/system/main2.js create mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep1.js create mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep2.js create mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/amd/main.js create mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep1.js create mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep2.js create mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/cjs/main.js create mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep1.js create mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep2.js create mode 100644 test/chunking-form/samples/dynamic-import-chained/_expected/system/main.js create mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic.js create mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic2.js create mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/amd/main1.js create mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/amd/main2.js create mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic.js create mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic2.js create mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main1.js create mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main2.js create mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic.js create mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic2.js create mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/system/main1.js create mode 100644 test/chunking-form/samples/dynamic-import-facade/_expected/system/main2.js create mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-separate.js create mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main1.js create mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main2.js create mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-separate.js create mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main1.js create mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main2.js create mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-separate.js create mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main1.js create mode 100644 test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main2.js create mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep1.js create mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep12.js rename test/chunking-form/samples/{chunk-deshadowing-reassignment/_expected/amd/main3.js => dynamic-import-statically-imported-2/_expected/amd/main.js} (63%) create mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main2.js create mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep1.js create mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep12.js create mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main.js create mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main2.js create mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep1.js create mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep12.js create mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main.js create mode 100644 test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main2.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/custom/build-start-chunk.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/main.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/custom/build-start-chunk.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/generated-dep.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/main.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/custom/build-start-chunk.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/generated-dep.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/main.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/custom/build-start-chunk.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/main.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-dep.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-emitted.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/main.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-dep.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-emitted.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/main.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-dep.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-emitted.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/main.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-emitted.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/main.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-emitted.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/main.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-dep.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-emitted.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/main.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-dep.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-emitted.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/main.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-dep.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-emitted.js delete mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/main.js rename test/chunking-form/samples/{chunk-deshadowing-reassignment => improved-dynamic-chunks/multi-entry-different-dependencies}/_expected/amd/generated-dep1.js (53%) rename test/chunking-form/samples/{chunk-deshadowing-reassignment => improved-dynamic-chunks/multi-entry-different-dependencies}/_expected/amd/generated-dep2.js (53%) create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js rename test/chunking-form/samples/{chunk-deshadowing-reassignment => improved-dynamic-chunks/multi-entry-different-dependencies}/_expected/system/generated-dep1.js (70%) rename test/chunking-form/samples/{chunk-deshadowing-reassignment => improved-dynamic-chunks/multi-entry-different-dependencies}/_expected/system/generated-dep2.js (70%) create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js rename test/chunking-form/samples/{emit-file/emit-chunk-filename/_expected/amd/generated-dep.js => improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/generated-dep2.js} (53%) create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/generated-dep2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/main2.js rename test/chunking-form/samples/{emit-file/emit-chunk-order1/_expected/system/generated-dep.js => improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/generated-dep2.js} (70%) create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/main2.js rename test/chunking-form/samples/{emit-file/emit-chunk-order2 => improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2}/_expected/amd/generated-dep.js (55%) create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-shared.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main3.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-dep.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-shared.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main3.js rename test/chunking-form/samples/{emit-file/emit-chunk-filename => improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2}/_expected/system/generated-dep.js (72%) create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-shared.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main3.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/generated-shared.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/generated-shared.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/generated-shared.js rename test/chunking-form/samples/{chunk-deshadowing-reassignment/_expected/system/main4.js => improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/main1.js} (53%) create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/amd/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/amd/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/cjs/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/cjs/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/system/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/system/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-main.js rename test/chunking-form/samples/{chunk-deshadowing-reassignment/_expected/system/main3.js => improved-dynamic-chunks/something/_expected/system/main.js} (63%) create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic2.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic3.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic4.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic5.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic2.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic3.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic4.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic5.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic2.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic3.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic4.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic5.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic2.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic3.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic4.js create mode 100644 test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic5.js diff --git a/test/chunking-form/index.js b/test/chunking-form/index.js index 62ee710d5d2..d9fdab1a593 100644 --- a/test/chunking-form/index.js +++ b/test/chunking-form/index.js @@ -2,8 +2,7 @@ const path = require('path'); const rollup = require('../../dist/rollup'); const { extend, runTestSuiteWithSamples, assertDirectoriesAreEqual } = require('../utils.js'); -// const FORMATS = ['es', 'cjs', 'amd', 'system']; -const FORMATS = ['es']; +const FORMATS = ['es', 'cjs', 'amd', 'system']; runTestSuiteWithSamples('chunking form', path.resolve(__dirname, 'samples'), (dir, config) => { (config.skip ? describe.skip : config.solo ? describe.only : describe)( diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main4.dynamic.js b/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main4.dynamic.js index 014236fffe4..ed41892cfe1 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main4.dynamic.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main4.dynamic.js @@ -2,6 +2,4 @@ define(function () { 'use strict'; console.log('main4'); - console.log('main5'); - }); diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main5.js b/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main5.js index 1720556866e..db3f430c9aa 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main5.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/amd/generated-main5.js @@ -1,5 +1,5 @@ -define(['./generated-main4.dynamic'], function (main4_dynamic) { 'use strict'; - +define(function () { 'use strict'; + console.log('main5'); }); diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main4.dynamic.js b/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main4.dynamic.js index 128a2766eca..d27ed956b79 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main4.dynamic.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main4.dynamic.js @@ -1,5 +1,3 @@ 'use strict'; console.log('main4'); - -console.log('main5'); diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main5.js b/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main5.js index 674dc3e4cfb..e7b2d35b4e8 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main5.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/cjs/generated-main5.js @@ -1,4 +1,3 @@ 'use strict'; -require('./generated-main4.dynamic.js'); - +console.log('main5'); diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main4.dynamic.js b/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main4.dynamic.js index 53414702211..f517bece900 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main4.dynamic.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main4.dynamic.js @@ -1,3 +1 @@ console.log('main4'); - -console.log('main5'); diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main5.js b/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main5.js index f46d5e0524e..1807e01f88e 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main5.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/es/generated-main5.js @@ -1 +1 @@ -import './generated-main4.dynamic.js'; +console.log('main5'); diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main4.dynamic.js b/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main4.dynamic.js index 91984a525a4..1fd85fc4363 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main4.dynamic.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main4.dynamic.js @@ -5,8 +5,6 @@ System.register([], function () { console.log('main4'); - console.log('main5'); - } }; }); diff --git a/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main5.js b/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main5.js index 4e61ab39964..e71255e3ef3 100644 --- a/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main5.js +++ b/test/chunking-form/samples/aliasing-extensions/_expected/system/generated-main5.js @@ -1,10 +1,9 @@ -System.register(['./generated-main4.dynamic.js'], function () { +System.register([], function () { 'use strict'; return { - setters: [function () {}], execute: function () { - + console.log('main5'); } }; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_config.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_config.js index 1fb87e745d4..f8fcf79aefd 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_config.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_config.js @@ -1,5 +1,5 @@ module.exports = { - solo: true, // BROKEN + // solo: true, // BROKEN description: 'chunk reassignment import deshadowing', options: { input: ['main1.js', 'main2.js'] diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-shared2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-shared2.js index 04c631986fa..3016bcaf139 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-shared2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-shared2.js @@ -1,10 +1,14 @@ -define(['exports', './generated-dep1', './generated-dep2'], function (exports, dep1, dep2) { 'use strict'; +define(['exports'], function (exports) { 'use strict'; - var x = dep1.x + 1; + var x = 42; - var y = dep2.x + 1; + var x$1 = x + 1; - exports.x = x; + var x$2 = 43; + + var y = x$2 + 1; + + exports.x = x$1; exports.y = y; }); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main1.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main1.js index 6db24f20d99..241d5540a2d 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main1.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main1.js @@ -1,4 +1,4 @@ -define(['./generated-dep1', './generated-shared2', './generated-dep2'], function (dep1, shared2, dep2) { 'use strict'; +define(['./generated-shared2'], function (shared2) { 'use strict'; console.log(shared2.x + shared2.y); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main2.js index 2d15ef40f6e..fc544e33245 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main2.js @@ -1,4 +1,4 @@ -define(['./generated-dep1', './generated-shared2', './generated-dep2'], function (dep1, shared2, dep2) { 'use strict'; +define(['./generated-shared2'], function (shared2) { 'use strict'; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main4.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main4.js deleted file mode 100644 index 8806f30b198..00000000000 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main4.js +++ /dev/null @@ -1,5 +0,0 @@ -define(['./generated-dep2'], function (dep2) { 'use strict'; - - - -}); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep1.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep1.js deleted file mode 100644 index 90fa851318c..00000000000 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep1.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -var x = 42; - -exports.x = x; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep2.js deleted file mode 100644 index c123080ab7f..00000000000 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep2.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -var x = 43; - -exports.x = x; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-shared2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-shared2.js index 5482042bab1..c91e956d796 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-shared2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-shared2.js @@ -1,11 +1,12 @@ 'use strict'; -var dep1 = require('./generated-dep1.js'); -var dep2 = require('./generated-dep2.js'); +var x = 42; -var x = dep1.x + 1; +var x$1 = x + 1; -var y = dep2.x + 1; +var x$2 = 43; -exports.x = x; +var y = x$2 + 1; + +exports.x = x$1; exports.y = y; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main1.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main1.js index e1b073c3c46..333cde1dfbf 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main1.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main1.js @@ -1,7 +1,5 @@ 'use strict'; -require('./generated-dep1.js'); var shared2 = require('./generated-shared2.js'); -require('./generated-dep2.js'); console.log(shared2.x + shared2.y); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main2.js index 291f1954f45..fa5dec57301 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main2.js @@ -1,6 +1,4 @@ 'use strict'; -require('./generated-dep1.js'); require('./generated-shared2.js'); -require('./generated-dep2.js'); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main3.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main3.js deleted file mode 100644 index ccb8d98ce68..00000000000 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main3.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; - -require('./generated-dep1.js'); - diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main4.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main4.js deleted file mode 100644 index 8bcaed1c530..00000000000 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main4.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; - -require('./generated-dep2.js'); - diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep1.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep1.js deleted file mode 100644 index b90c581245b..00000000000 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep1.js +++ /dev/null @@ -1,3 +0,0 @@ -var x = 42; - -export { x }; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep2.js deleted file mode 100644 index b2caa9826a4..00000000000 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep2.js +++ /dev/null @@ -1,3 +0,0 @@ -var x = 43; - -export { x }; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-shared2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-shared2.js index 15af511db49..292b4912b3c 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-shared2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-shared2.js @@ -1,8 +1,9 @@ -import { x as x$1 } from './generated-dep1.js'; -import { x as x$2 } from './generated-dep2.js'; +var x = 42; -var x = x$1 + 1; +var x$1 = x + 1; + +var x$2 = 43; var y = x$2 + 1; -export { x, y }; +export { x$1 as x, y }; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main1.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main1.js index df90cab25c7..8032a3b1ac0 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main1.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main1.js @@ -1,5 +1,3 @@ -import './generated-dep1.js'; import { x, y } from './generated-shared2.js'; -import './generated-dep2.js'; console.log(x + y); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main2.js index 09d60765311..7e5fec0a8f2 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main2.js @@ -1,3 +1 @@ -import './generated-dep1.js'; import './generated-shared2.js'; -import './generated-dep2.js'; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main3.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main3.js deleted file mode 100644 index 934a68ee7f1..00000000000 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main3.js +++ /dev/null @@ -1 +0,0 @@ -import './generated-dep1.js'; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main4.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main4.js deleted file mode 100644 index e38989d38f2..00000000000 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main4.js +++ /dev/null @@ -1 +0,0 @@ -import './generated-dep2.js'; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-shared2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-shared2.js index a72e59cac53..3890ea2b35b 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-shared2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-shared2.js @@ -1,15 +1,13 @@ -System.register(['./generated-dep1.js', './generated-dep2.js'], function (exports) { +System.register([], function (exports) { 'use strict'; - var x$1, x$2; return { - setters: [function (module) { - x$1 = module.x; - }, function (module) { - x$2 = module.x; - }], execute: function () { - var x = exports('x', x$1 + 1); + var x = 42; + + var x$1 = exports('x', x + 1); + + var x$2 = 43; var y = exports('y', x$2 + 1); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main1.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main1.js index e1227b6045a..f8f8cbfe747 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main1.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main1.js @@ -1,11 +1,11 @@ -System.register(['./generated-dep1.js', './generated-shared2.js', './generated-dep2.js'], function () { +System.register(['./generated-shared2.js'], function () { 'use strict'; var x, y; return { - setters: [function () {}, function (module) { + setters: [function (module) { x = module.x; y = module.y; - }, function () {}], + }], execute: function () { console.log(x + y); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main2.js index 4b34c33770f..b46d4f26640 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main2.js @@ -1,7 +1,7 @@ -System.register(['./generated-dep1.js', './generated-shared2.js', './generated-dep2.js'], function () { +System.register(['./generated-shared2.js'], function () { 'use strict'; return { - setters: [function () {}, function () {}, function () {}], + setters: [function () {}], execute: function () { diff --git a/test/chunking-form/samples/circular-entry-points/_expected/amd/main1.js b/test/chunking-form/samples/circular-entry-points/_expected/amd/main1.js deleted file mode 100644 index 85ab96efabc..00000000000 --- a/test/chunking-form/samples/circular-entry-points/_expected/amd/main1.js +++ /dev/null @@ -1,17 +0,0 @@ -define(['exports', './main2'], function (exports, main2) { 'use strict'; - - class C { - fn (num) { - console.log(num - main2.p); - } - } - - var p = 42; - - new C().fn(p); - - exports.p = p; - - Object.defineProperty(exports, '__esModule', { value: true }); - -}); diff --git a/test/chunking-form/samples/circular-entry-points/_expected/amd/main2.js b/test/chunking-form/samples/circular-entry-points/_expected/amd/main2.js deleted file mode 100644 index 3eb8db12220..00000000000 --- a/test/chunking-form/samples/circular-entry-points/_expected/amd/main2.js +++ /dev/null @@ -1,17 +0,0 @@ -define(['exports', './main1'], function (exports, main1) { 'use strict'; - - class C { - fn (num) { - console.log(num - main1.p); - } - } - - var p = 43; - - new C().fn(p); - - exports.p = p; - - Object.defineProperty(exports, '__esModule', { value: true }); - -}); diff --git a/test/chunking-form/samples/circular-entry-points/_expected/cjs/main1.js b/test/chunking-form/samples/circular-entry-points/_expected/cjs/main1.js deleted file mode 100644 index 0dbaf2d8d0e..00000000000 --- a/test/chunking-form/samples/circular-entry-points/_expected/cjs/main1.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var main2 = require('./main2.js'); - -class C { - fn (num) { - console.log(num - main2.p); - } -} - -var p = 42; - -new C().fn(p); - -exports.p = p; diff --git a/test/chunking-form/samples/circular-entry-points/_expected/cjs/main2.js b/test/chunking-form/samples/circular-entry-points/_expected/cjs/main2.js deleted file mode 100644 index 84e7cd4e825..00000000000 --- a/test/chunking-form/samples/circular-entry-points/_expected/cjs/main2.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var main1 = require('./main1.js'); - -class C { - fn (num) { - console.log(num - main1.p); - } -} - -var p = 43; - -new C().fn(p); - -exports.p = p; diff --git a/test/chunking-form/samples/circular-entry-points/_expected/es/main1.js b/test/chunking-form/samples/circular-entry-points/_expected/es/main1.js deleted file mode 100644 index 42544cfe1a8..00000000000 --- a/test/chunking-form/samples/circular-entry-points/_expected/es/main1.js +++ /dev/null @@ -1,13 +0,0 @@ -import { p as p$1 } from './main2.js'; - -class C { - fn (num) { - console.log(num - p$1); - } -} - -var p = 42; - -new C().fn(p); - -export { p }; diff --git a/test/chunking-form/samples/circular-entry-points/_expected/es/main2.js b/test/chunking-form/samples/circular-entry-points/_expected/es/main2.js deleted file mode 100644 index 9c6d6a82ad4..00000000000 --- a/test/chunking-form/samples/circular-entry-points/_expected/es/main2.js +++ /dev/null @@ -1,13 +0,0 @@ -import { p as p$1 } from './main1.js'; - -class C { - fn (num) { - console.log(num - p$1); - } -} - -var p = 43; - -new C().fn(p); - -export { p }; diff --git a/test/chunking-form/samples/circular-entry-points/_expected/system/main1.js b/test/chunking-form/samples/circular-entry-points/_expected/system/main1.js deleted file mode 100644 index 1632ea1c0aa..00000000000 --- a/test/chunking-form/samples/circular-entry-points/_expected/system/main1.js +++ /dev/null @@ -1,22 +0,0 @@ -System.register(['./main2.js'], function (exports) { - 'use strict'; - var p$1; - return { - setters: [function (module) { - p$1 = module.p; - }], - execute: function () { - - class C { - fn (num) { - console.log(num - p$1); - } - } - - var p = exports('p', 42); - - new C().fn(p); - - } - }; -}); diff --git a/test/chunking-form/samples/circular-entry-points/_expected/system/main2.js b/test/chunking-form/samples/circular-entry-points/_expected/system/main2.js deleted file mode 100644 index 03413d21297..00000000000 --- a/test/chunking-form/samples/circular-entry-points/_expected/system/main2.js +++ /dev/null @@ -1,22 +0,0 @@ -System.register(['./main1.js'], function (exports) { - 'use strict'; - var p$1; - return { - setters: [function (module) { - p$1 = module.p; - }], - execute: function () { - - class C { - fn (num) { - console.log(num - p$1); - } - } - - var p = exports('p', 43); - - new C().fn(p); - - } - }; -}); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep1.js b/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep1.js new file mode 100644 index 00000000000..83e82a16985 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep1.js @@ -0,0 +1,6 @@ +define(['require'], function (require) { 'use strict'; + + console.log('dep1'); + new Promise(function (resolve, reject) { require(['./generated-dep2'], resolve, reject) }); + +}); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep2.js b/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep2.js new file mode 100644 index 00000000000..af27f254599 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/amd/generated-dep2.js @@ -0,0 +1,5 @@ +define(function () { 'use strict'; + + console.log('dep2'); + +}); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/amd/main.js b/test/chunking-form/samples/dynamic-import-chained/_expected/amd/main.js new file mode 100644 index 00000000000..a337561f677 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/amd/main.js @@ -0,0 +1,6 @@ +define(['require'], function (require) { 'use strict'; + + console.log('main'); + new Promise(function (resolve, reject) { require(['./generated-dep1'], resolve, reject) }); + +}); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep1.js b/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep1.js new file mode 100644 index 00000000000..c575743511e --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep1.js @@ -0,0 +1,4 @@ +'use strict'; + +console.log('dep1'); +new Promise(function (resolve) { resolve(require('./generated-dep2.js')); }); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep2.js b/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep2.js new file mode 100644 index 00000000000..132fb447b0c --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/generated-dep2.js @@ -0,0 +1,3 @@ +'use strict'; + +console.log('dep2'); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/main.js b/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/main.js new file mode 100644 index 00000000000..1ed868a97b7 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/cjs/main.js @@ -0,0 +1,4 @@ +'use strict'; + +console.log('main'); +new Promise(function (resolve) { resolve(require('./generated-dep1.js')); }); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep1.js b/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep1.js new file mode 100644 index 00000000000..40c0c5a289e --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep1.js @@ -0,0 +1,11 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + console.log('dep1'); + module.import('./generated-dep2.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep2.js b/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep2.js new file mode 100644 index 00000000000..535b40f550f --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/system/generated-dep2.js @@ -0,0 +1,10 @@ +System.register([], function () { + 'use strict'; + return { + execute: function () { + + console.log('dep2'); + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-chained/_expected/system/main.js b/test/chunking-form/samples/dynamic-import-chained/_expected/system/main.js new file mode 100644 index 00000000000..818a9966643 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-chained/_expected/system/main.js @@ -0,0 +1,11 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + console.log('main'); + module.import('./generated-dep1.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic.js b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic.js new file mode 100644 index 00000000000..7c2370c19a3 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic.js @@ -0,0 +1,13 @@ +define(['exports'], function (exports) { 'use strict'; + + console.log('dep'); + + const dep = 'dep'; + + console.log('dynamic', dep); + const dynamic = 'dynamic'; + + exports.dep = dep; + exports.dynamic = dynamic; + +}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic2.js new file mode 100644 index 00000000000..549cac73f1e --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/generated-dynamic2.js @@ -0,0 +1,7 @@ +define(['exports', './generated-dynamic'], function (exports, dynamic) { 'use strict'; + + + + exports.dynamic = dynamic.dynamic; + +}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main1.js b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main1.js new file mode 100644 index 00000000000..0f84ec99a44 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main1.js @@ -0,0 +1,5 @@ +define(['require'], function (require) { 'use strict'; + + new Promise(function (resolve, reject) { require(['./generated-dynamic2'], resolve, reject) }).then(({dynamic}) => console.log('main1', dynamic)); + +}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main2.js new file mode 100644 index 00000000000..1974c7d9afd --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/amd/main2.js @@ -0,0 +1,5 @@ +define(['./generated-dynamic'], function (dynamic) { 'use strict'; + + console.log('main2', dynamic.dynamic, dynamic.dep); + +}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic.js b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic.js new file mode 100644 index 00000000000..210a1e1c5bc --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic.js @@ -0,0 +1,11 @@ +'use strict'; + +console.log('dep'); + +const dep = 'dep'; + +console.log('dynamic', dep); +const dynamic = 'dynamic'; + +exports.dep = dep; +exports.dynamic = dynamic; diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic2.js new file mode 100644 index 00000000000..db9f8d3d094 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/generated-dynamic2.js @@ -0,0 +1,7 @@ +'use strict'; + +var dynamic = require('./generated-dynamic.js'); + + + +exports.dynamic = dynamic.dynamic; diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main1.js b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main1.js new file mode 100644 index 00000000000..0a1d6b0432e --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main1.js @@ -0,0 +1,3 @@ +'use strict'; + +new Promise(function (resolve) { resolve(require('./generated-dynamic2.js')); }).then(({dynamic}) => console.log('main1', dynamic)); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main2.js new file mode 100644 index 00000000000..3276a034886 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/cjs/main2.js @@ -0,0 +1,5 @@ +'use strict'; + +var dynamic = require('./generated-dynamic.js'); + +console.log('main2', dynamic.dynamic, dynamic.dep); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic.js b/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic.js new file mode 100644 index 00000000000..0605f07ef7e --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic.js @@ -0,0 +1,15 @@ +System.register([], function (exports) { + 'use strict'; + return { + execute: function () { + + console.log('dep'); + + const dep = exports('a', 'dep'); + + console.log('dynamic', dep); + const dynamic = exports('d', 'dynamic'); + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic2.js new file mode 100644 index 00000000000..4d3438486d2 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/system/generated-dynamic2.js @@ -0,0 +1,13 @@ +System.register(['./generated-dynamic.js'], function (exports) { + 'use strict'; + return { + setters: [function (module) { + exports('dynamic', module.d); + }], + execute: function () { + + + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/system/main1.js b/test/chunking-form/samples/dynamic-import-facade/_expected/system/main1.js new file mode 100644 index 00000000000..2cb9535c9b4 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/system/main1.js @@ -0,0 +1,10 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + module.import('./generated-dynamic2.js').then(({dynamic}) => console.log('main1', dynamic)); + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-facade/_expected/system/main2.js b/test/chunking-form/samples/dynamic-import-facade/_expected/system/main2.js new file mode 100644 index 00000000000..48bd74f53c6 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-facade/_expected/system/main2.js @@ -0,0 +1,15 @@ +System.register(['./generated-dynamic.js'], function () { + 'use strict'; + var dynamic, dep; + return { + setters: [function (module) { + dynamic = module.d; + dep = module.a; + }], + execute: function () { + + console.log('main2', dynamic, dep); + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-separate.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-separate.js new file mode 100644 index 00000000000..c06b72922c5 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/generated-separate.js @@ -0,0 +1,9 @@ +define(['exports'], function (exports) { 'use strict'; + + var separate = 'separate'; + const x = 2; + + exports.default = separate; + exports.x = x; + +}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main1.js new file mode 100644 index 00000000000..744d5b098dc --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main1.js @@ -0,0 +1,20 @@ +define(['require', 'exports', './generated-separate'], function (require, exports, separate$1) { 'use strict'; + + var inlined = 'inlined'; + const x = 1; + + var inlined$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': inlined, + x: x + }); + + const inlined$2 = Promise.resolve().then(function () { return inlined$1; }); + const separate = new Promise(function (resolve, reject) { require(['./generated-separate'], resolve, reject) }); + + exports.inlined = inlined$2; + exports.separate = separate; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main2.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main2.js new file mode 100644 index 00000000000..0be3fee1ac0 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/amd/main2.js @@ -0,0 +1,9 @@ +define(['require', 'exports'], function (require, exports) { 'use strict'; + + const separate = new Promise(function (resolve, reject) { require(['./generated-separate'], resolve, reject) }); + + exports.separate = separate; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-separate.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-separate.js new file mode 100644 index 00000000000..6eb315e5cac --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/generated-separate.js @@ -0,0 +1,7 @@ +'use strict'; + +var separate = 'separate'; +const x = 2; + +exports.default = separate; +exports.x = x; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main1.js new file mode 100644 index 00000000000..dc66435748d --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main1.js @@ -0,0 +1,20 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +require('./generated-separate.js'); + +var inlined = 'inlined'; +const x = 1; + +var inlined$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': inlined, + x: x +}); + +const inlined$2 = Promise.resolve().then(function () { return inlined$1; }); +const separate = new Promise(function (resolve) { resolve(require('./generated-separate.js')); }); + +exports.inlined = inlined$2; +exports.separate = separate; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main2.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main2.js new file mode 100644 index 00000000000..b4bce63256b --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/cjs/main2.js @@ -0,0 +1,7 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const separate = new Promise(function (resolve) { resolve(require('./generated-separate.js')); }); + +exports.separate = separate; diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-separate.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-separate.js new file mode 100644 index 00000000000..09405c5602c --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/generated-separate.js @@ -0,0 +1,11 @@ +System.register([], function (exports) { + 'use strict'; + return { + execute: function () { + + var separate = exports('default', 'separate'); + const x = exports('x', 2); + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main1.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main1.js new file mode 100644 index 00000000000..6db94a041c5 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main1.js @@ -0,0 +1,21 @@ +System.register(['./generated-separate.js'], function (exports, module) { + 'use strict'; + return { + setters: [function () {}], + execute: function () { + + var inlined = 'inlined'; + const x = 1; + + var inlined$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': inlined, + x: x + }); + + const inlined$2 = exports('inlined', Promise.resolve().then(function () { return inlined$1; })); + const separate = exports('separate', module.import('./generated-separate.js')); + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main2.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main2.js new file mode 100644 index 00000000000..f54417af5a0 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_expected/system/main2.js @@ -0,0 +1,10 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + const separate = exports('separate', module.import('./generated-separate.js')); + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep1.js new file mode 100644 index 00000000000..d1ed622ba34 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep1.js @@ -0,0 +1,21 @@ +define(['exports'], function (exports) { 'use strict'; + + function foo() { + return 'dep2'; + } + + Promise.resolve().then(function () { return dep1; }).then(({ bar }) => console.log(bar())); + + function bar() { + return foo(); + } + + var dep1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + bar: bar + }); + + exports.bar = bar; + exports.foo = foo; + +}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep12.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep12.js new file mode 100644 index 00000000000..4bd11b297c4 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/generated-dep12.js @@ -0,0 +1,7 @@ +define(['exports', './generated-dep1'], function (exports, dep1) { 'use strict'; + + + + exports.bar = dep1.bar; + +}); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main3.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main.js similarity index 63% rename from test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main3.js rename to test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main.js index 02a46daf2cd..cac66392a39 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main3.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main.js @@ -1,5 +1,5 @@ define(['./generated-dep1'], function (dep1) { 'use strict'; - + console.log(dep1.foo(), dep1.bar()); }); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main2.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main2.js new file mode 100644 index 00000000000..4fd363667ff --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/amd/main2.js @@ -0,0 +1,5 @@ +define(['require'], function (require) { 'use strict'; + + new Promise(function (resolve, reject) { require(['./generated-dep12'], resolve, reject) }).then(({ bar }) => console.log(bar())); + +}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep1.js new file mode 100644 index 00000000000..8404868bf0f --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep1.js @@ -0,0 +1,19 @@ +'use strict'; + +function foo() { + return 'dep2'; +} + +Promise.resolve().then(function () { return dep1; }).then(({ bar }) => console.log(bar())); + +function bar() { + return foo(); +} + +var dep1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + bar: bar +}); + +exports.bar = bar; +exports.foo = foo; diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep12.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep12.js new file mode 100644 index 00000000000..cd30893ebe8 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/generated-dep12.js @@ -0,0 +1,7 @@ +'use strict'; + +var dep1 = require('./generated-dep1.js'); + + + +exports.bar = dep1.bar; diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main.js new file mode 100644 index 00000000000..d054aa0a11c --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main.js @@ -0,0 +1,5 @@ +'use strict'; + +var dep1 = require('./generated-dep1.js'); + +console.log(dep1.foo(), dep1.bar()); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main2.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main2.js new file mode 100644 index 00000000000..d87b8141b66 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/cjs/main2.js @@ -0,0 +1,3 @@ +'use strict'; + +new Promise(function (resolve) { resolve(require('./generated-dep12.js')); }).then(({ bar }) => console.log(bar())); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep1.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep1.js new file mode 100644 index 00000000000..f88ae2d042e --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep1.js @@ -0,0 +1,28 @@ +System.register([], function (exports) { + 'use strict'; + return { + execute: function () { + + exports({ + b: bar, + f: foo + }); + + function foo() { + return 'dep2'; + } + + Promise.resolve().then(function () { return dep1; }).then(({ bar }) => console.log(bar())); + + function bar() { + return foo(); + } + + var dep1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + bar: bar + }); + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep12.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep12.js new file mode 100644 index 00000000000..b9da72c55c7 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/generated-dep12.js @@ -0,0 +1,13 @@ +System.register(['./generated-dep1.js'], function (exports) { + 'use strict'; + return { + setters: [function (module) { + exports('bar', module.b); + }], + execute: function () { + + + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main.js new file mode 100644 index 00000000000..1f0c72ea5a1 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main.js @@ -0,0 +1,15 @@ +System.register(['./generated-dep1.js'], function () { + 'use strict'; + var foo, bar; + return { + setters: [function (module) { + foo = module.f; + bar = module.b; + }], + execute: function () { + + console.log(foo(), bar()); + + } + }; +}); diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main2.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main2.js new file mode 100644 index 00000000000..32925b05438 --- /dev/null +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_expected/system/main2.js @@ -0,0 +1,10 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + module.import('./generated-dep12.js').then(({ bar }) => console.log(bar())); + + } + }; +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/custom/build-start-chunk.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/custom/build-start-chunk.js deleted file mode 100644 index bc0871d46b1..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/custom/build-start-chunk.js +++ /dev/null @@ -1,10 +0,0 @@ -define(['exports', '../generated-dep'], function (exports, dep) { 'use strict'; - - const id = 'startBuild'; - console.log(id, dep.value); - - exports.id = id; - - Object.defineProperty(exports, '__esModule', { value: true }); - -}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/main.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/main.js deleted file mode 100644 index 1ee89bd0e67..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/main.js +++ /dev/null @@ -1,7 +0,0 @@ -define(['./generated-dep', './custom/build-start-chunk'], function (dep, buildStart) { 'use strict'; - - console.log(buildStart.id); - - console.log('main', dep.value); - -}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/custom/build-start-chunk.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/custom/build-start-chunk.js deleted file mode 100644 index 54e70b3a4af..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/custom/build-start-chunk.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var dep = require('../generated-dep.js'); - -const id = 'startBuild'; -console.log(id, dep.value); - -exports.id = id; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/generated-dep.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/generated-dep.js deleted file mode 100644 index 6cec42c9a07..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/generated-dep.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -var value = 42; - -exports.value = value; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/main.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/main.js deleted file mode 100644 index 036ef6a6055..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/main.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict'; - -var dep = require('./generated-dep.js'); -var buildStart = require('./custom/build-start-chunk.js'); - -console.log(buildStart.id); - -console.log('main', dep.value); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/custom/build-start-chunk.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/custom/build-start-chunk.js deleted file mode 100644 index c9077d82bfd..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/custom/build-start-chunk.js +++ /dev/null @@ -1,6 +0,0 @@ -import { v as value } from '../generated-dep.js'; - -const id = 'startBuild'; -console.log(id, value); - -export { id }; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/generated-dep.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/generated-dep.js deleted file mode 100644 index b7cbe038a73..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/generated-dep.js +++ /dev/null @@ -1,3 +0,0 @@ -var value = 42; - -export { value as v }; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/main.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/main.js deleted file mode 100644 index b291dee7947..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import { v as value } from './generated-dep.js'; -import { id } from './custom/build-start-chunk.js'; - -console.log(id); - -console.log('main', value); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/custom/build-start-chunk.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/custom/build-start-chunk.js deleted file mode 100644 index e830592fd37..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/custom/build-start-chunk.js +++ /dev/null @@ -1,15 +0,0 @@ -System.register(['../generated-dep.js'], function (exports) { - 'use strict'; - var value; - return { - setters: [function (module) { - value = module.v; - }], - execute: function () { - - const id = exports('id', 'startBuild'); - console.log(id, value); - - } - }; -}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/main.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/main.js deleted file mode 100644 index cc7bf937631..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/main.js +++ /dev/null @@ -1,18 +0,0 @@ -System.register(['./generated-dep.js', './custom/build-start-chunk.js'], function () { - 'use strict'; - var value, id; - return { - setters: [function (module) { - value = module.v; - }, function (module) { - id = module.id; - }], - execute: function () { - - console.log(id); - - console.log('main', value); - - } - }; -}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-dep.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-dep.js deleted file mode 100644 index 5e2f9f02968..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-dep.js +++ /dev/null @@ -1,7 +0,0 @@ -define(['exports'], function (exports) { 'use strict'; - - var value = 42; - - exports.value = value; - -}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-emitted.js deleted file mode 100644 index a086c3ef515..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-emitted.js +++ /dev/null @@ -1,10 +0,0 @@ -define(['exports', './generated-dep'], function (exports, dep) { 'use strict'; - - const id = 'emitted'; - console.log(id, dep.value); - - exports.id = id; - - Object.defineProperty(exports, '__esModule', { value: true }); - -}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/main.js deleted file mode 100644 index ceb3068a820..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/main.js +++ /dev/null @@ -1,7 +0,0 @@ -define(['./generated-dep', './generated-emitted'], function (dep, emitted) { 'use strict'; - - console.log(emitted.id); - - console.log('main', dep.value); - -}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-dep.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-dep.js deleted file mode 100644 index 6cec42c9a07..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-dep.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -var value = 42; - -exports.value = value; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-emitted.js deleted file mode 100644 index e4aeef99a01..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-emitted.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var dep = require('./generated-dep.js'); - -const id = 'emitted'; -console.log(id, dep.value); - -exports.id = id; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/main.js deleted file mode 100644 index 7ab856e3140..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/main.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict'; - -var dep = require('./generated-dep.js'); -var emitted = require('./generated-emitted.js'); - -console.log(emitted.id); - -console.log('main', dep.value); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-dep.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-dep.js deleted file mode 100644 index b7cbe038a73..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-dep.js +++ /dev/null @@ -1,3 +0,0 @@ -var value = 42; - -export { value as v }; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-emitted.js deleted file mode 100644 index d2806a7a5e1..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-emitted.js +++ /dev/null @@ -1,6 +0,0 @@ -import { v as value } from './generated-dep.js'; - -const id = 'emitted'; -console.log(id, value); - -export { id }; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/main.js deleted file mode 100644 index 2bd26d17681..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import { v as value } from './generated-dep.js'; -import { id } from './generated-emitted.js'; - -console.log(id); - -console.log('main', value); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-emitted.js deleted file mode 100644 index 206bbbcae32..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-emitted.js +++ /dev/null @@ -1,15 +0,0 @@ -System.register(['./generated-dep.js'], function (exports) { - 'use strict'; - var value; - return { - setters: [function (module) { - value = module.v; - }], - execute: function () { - - const id = exports('id', 'emitted'); - console.log(id, value); - - } - }; -}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/main.js deleted file mode 100644 index d429fca8d04..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/main.js +++ /dev/null @@ -1,18 +0,0 @@ -System.register(['./generated-dep.js', './generated-emitted.js'], function () { - 'use strict'; - var value, id; - return { - setters: [function (module) { - value = module.v; - }, function (module) { - id = module.id; - }], - execute: function () { - - console.log(id); - - console.log('main', value); - - } - }; -}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-emitted.js deleted file mode 100644 index a086c3ef515..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-emitted.js +++ /dev/null @@ -1,10 +0,0 @@ -define(['exports', './generated-dep'], function (exports, dep) { 'use strict'; - - const id = 'emitted'; - console.log(id, dep.value); - - exports.id = id; - - Object.defineProperty(exports, '__esModule', { value: true }); - -}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/main.js deleted file mode 100644 index ceb3068a820..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/main.js +++ /dev/null @@ -1,7 +0,0 @@ -define(['./generated-dep', './generated-emitted'], function (dep, emitted) { 'use strict'; - - console.log(emitted.id); - - console.log('main', dep.value); - -}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-dep.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-dep.js deleted file mode 100644 index 6cec42c9a07..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-dep.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -var value = 42; - -exports.value = value; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-emitted.js deleted file mode 100644 index e4aeef99a01..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-emitted.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var dep = require('./generated-dep.js'); - -const id = 'emitted'; -console.log(id, dep.value); - -exports.id = id; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/main.js deleted file mode 100644 index 7ab856e3140..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/main.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict'; - -var dep = require('./generated-dep.js'); -var emitted = require('./generated-emitted.js'); - -console.log(emitted.id); - -console.log('main', dep.value); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-dep.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-dep.js deleted file mode 100644 index b7cbe038a73..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-dep.js +++ /dev/null @@ -1,3 +0,0 @@ -var value = 42; - -export { value as v }; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-emitted.js deleted file mode 100644 index d2806a7a5e1..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-emitted.js +++ /dev/null @@ -1,6 +0,0 @@ -import { v as value } from './generated-dep.js'; - -const id = 'emitted'; -console.log(id, value); - -export { id }; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/main.js deleted file mode 100644 index 2bd26d17681..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import { v as value } from './generated-dep.js'; -import { id } from './generated-emitted.js'; - -console.log(id); - -console.log('main', value); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-dep.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-dep.js deleted file mode 100644 index e69dcc529da..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-dep.js +++ /dev/null @@ -1,10 +0,0 @@ -System.register([], function (exports) { - 'use strict'; - return { - execute: function () { - - var value = exports('v', 42); - - } - }; -}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-emitted.js deleted file mode 100644 index 206bbbcae32..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-emitted.js +++ /dev/null @@ -1,15 +0,0 @@ -System.register(['./generated-dep.js'], function (exports) { - 'use strict'; - var value; - return { - setters: [function (module) { - value = module.v; - }], - execute: function () { - - const id = exports('id', 'emitted'); - console.log(id, value); - - } - }; -}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/main.js deleted file mode 100644 index d429fca8d04..00000000000 --- a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/main.js +++ /dev/null @@ -1,18 +0,0 @@ -System.register(['./generated-dep.js', './generated-emitted.js'], function () { - 'use strict'; - var value, id; - return { - setters: [function (module) { - value = module.v; - }, function (module) { - id = module.id; - }], - execute: function () { - - console.log(id); - - console.log('main', value); - - } - }; -}); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-dep1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dep1.js similarity index 53% rename from test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-dep1.js rename to test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dep1.js index 23394b47956..aa83bc12cab 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-dep1.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dep1.js @@ -1,7 +1,7 @@ define(['exports'], function (exports) { 'use strict'; - var x = 42; + const value1 = 'shared1'; - exports.x = x; + exports.value1 = value1; }); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dep2.js similarity index 53% rename from test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-dep2.js rename to test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dep2.js index 71f00bd9c70..b728fc2ba24 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-dep2.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dep2.js @@ -1,7 +1,7 @@ define(['exports'], function (exports) { 'use strict'; - var x = 43; + const value2 = 'shared2'; - exports.x = x; + exports.value2 = value2; }); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dynamic.js new file mode 100644 index 00000000000..35442e34c36 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/generated-dynamic.js @@ -0,0 +1,8 @@ +define(['exports', './generated-dep1', './generated-dep2'], function (exports, dep1, dep2) { 'use strict'; + + console.log('dynamic1', dep1.value1, dep2.value2); + + exports.value1 = dep1.value1; + exports.value2 = dep2.value2; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main1.js new file mode 100644 index 00000000000..67e14ca6faa --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main1.js @@ -0,0 +1,13 @@ +define(['require', 'exports', './generated-dep1', './generated-dep2'], function (require, exports, dep1, dep2) { 'use strict'; + + const something = 'something'; + + console.log('main1', dep1.value1, dep2.value2, something); + new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); + + exports.value1 = dep1.value1; + exports.value2 = dep2.value2; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js new file mode 100644 index 00000000000..f36ffba2ce5 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js @@ -0,0 +1,11 @@ +define(['require', 'exports', './generated-dep2'], function (require, exports, dep2) { 'use strict'; + + // doesn't import value1, so we can't have also loaded value1? + console.log('main2', dep2.value2); + new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); + + exports.value2 = dep2.value2; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep1.js new file mode 100644 index 00000000000..5756d45c29d --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep1.js @@ -0,0 +1,5 @@ +'use strict'; + +const value1 = 'shared1'; + +exports.value1 = value1; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep2.js new file mode 100644 index 00000000000..6cb88b6e527 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dep2.js @@ -0,0 +1,5 @@ +'use strict'; + +const value2 = 'shared2'; + +exports.value2 = value2; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dynamic.js new file mode 100644 index 00000000000..dd00791bbf3 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/generated-dynamic.js @@ -0,0 +1,9 @@ +'use strict'; + +var dep1 = require('./generated-dep1.js'); +var dep2 = require('./generated-dep2.js'); + +console.log('dynamic1', dep1.value1, dep2.value2); + +exports.value1 = dep1.value1; +exports.value2 = dep2.value2; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main1.js new file mode 100644 index 00000000000..26a684f8f5c --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main1.js @@ -0,0 +1,14 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var dep1 = require('./generated-dep1.js'); +var dep2 = require('./generated-dep2.js'); + +const something = 'something'; + +console.log('main1', dep1.value1, dep2.value2, something); +new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); + +exports.value1 = dep1.value1; +exports.value2 = dep2.value2; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js new file mode 100644 index 00000000000..386c18a62c6 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js @@ -0,0 +1,11 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var dep2 = require('./generated-dep2.js'); + +// doesn't import value1, so we can't have also loaded value1? +console.log('main2', dep2.value2); +new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); + +exports.value2 = dep2.value2; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-dep1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dep1.js similarity index 70% rename from test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-dep1.js rename to test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dep1.js index 80adb5c2211..65ef243d0ae 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-dep1.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dep1.js @@ -3,8 +3,7 @@ System.register([], function (exports) { return { execute: function () { - var x = 42; - exports('x', x); + const value1 = exports('v', 'shared1'); } }; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dep2.js similarity index 70% rename from test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-dep2.js rename to test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dep2.js index 6c2a87f635a..af5ad2b9e6d 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-dep2.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dep2.js @@ -3,8 +3,7 @@ System.register([], function (exports) { return { execute: function () { - var x = 43; - exports('x', x); + const value2 = exports('v', 'shared2'); } }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dynamic.js new file mode 100644 index 00000000000..6db6e1afcbd --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/generated-dynamic.js @@ -0,0 +1,18 @@ +System.register(['./generated-dep1.js', './generated-dep2.js'], function (exports) { + 'use strict'; + var value1, value2; + return { + setters: [function (module) { + value1 = module.v; + exports('value1', module.v); + }, function (module) { + value2 = module.v; + exports('value2', module.v); + }], + execute: function () { + + console.log('dynamic1', value1, value2); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main1.js new file mode 100644 index 00000000000..a9473f8ab02 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main1.js @@ -0,0 +1,21 @@ +System.register(['./generated-dep1.js', './generated-dep2.js'], function (exports, module) { + 'use strict'; + var value1, value2; + return { + setters: [function (module) { + value1 = module.v; + exports('value1', module.v); + }, function (module) { + value2 = module.v; + exports('value2', module.v); + }], + execute: function () { + + const something = 'something'; + + console.log('main1', value1, value2, something); + module.import('./generated-dynamic.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js new file mode 100644 index 00000000000..5616d7040f9 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js @@ -0,0 +1,17 @@ +System.register(['./generated-dep2.js'], function (exports, module) { + 'use strict'; + var value2; + return { + setters: [function (module) { + value2 = module.v; + exports('value2', module.v); + }], + execute: function () { + + // doesn't import value1, so we can't have also loaded value1? + console.log('main2', value2); + module.import('./generated-dynamic.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/generated-dep.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/generated-dep2.js similarity index 53% rename from test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/generated-dep.js rename to test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/generated-dep2.js index 5e2f9f02968..b728fc2ba24 100644 --- a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/generated-dep.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/generated-dep2.js @@ -1,7 +1,7 @@ define(['exports'], function (exports) { 'use strict'; - var value = 42; + const value2 = 'shared2'; - exports.value = value; + exports.value2 = value2; }); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/generated-dynamic1.js new file mode 100644 index 00000000000..42096a32cee --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/generated-dynamic1.js @@ -0,0 +1,7 @@ +define(['exports', './main1', './generated-dep2'], function (exports, main1, dep2) { 'use strict'; + + console.log('dynamic1', main1.value1); + + exports.value1 = main1.value1; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/generated-dynamic2.js new file mode 100644 index 00000000000..42269ebe1c5 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/generated-dynamic2.js @@ -0,0 +1,7 @@ +define(['exports', './generated-dep2'], function (exports, dep2) { 'use strict'; + + console.log('dynamic2', dep2.value2); + + exports.value2 = dep2.value2; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/main1.js new file mode 100644 index 00000000000..05e7ad09749 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/main1.js @@ -0,0 +1,13 @@ +define(['require', 'exports', './generated-dep2'], function (require, exports, dep2) { 'use strict'; + + const value1 = 'shared1'; + + console.log('main1', value1, dep2.value2); + new Promise(function (resolve, reject) { require(['./generated-dynamic1'], resolve, reject) }); + + exports.value2 = dep2.value2; + exports.value1 = value1; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/main2.js new file mode 100644 index 00000000000..9f9a3f577e1 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/amd/main2.js @@ -0,0 +1,10 @@ +define(['require', 'exports', './generated-dep2'], function (require, exports, dep2) { 'use strict'; + + console.log('main2', dep2.value2); + new Promise(function (resolve, reject) { require(['./generated-dynamic2'], resolve, reject) }); + + exports.value2 = dep2.value2; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/generated-dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/generated-dep2.js new file mode 100644 index 00000000000..6cb88b6e527 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/generated-dep2.js @@ -0,0 +1,5 @@ +'use strict'; + +const value2 = 'shared2'; + +exports.value2 = value2; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/generated-dynamic1.js new file mode 100644 index 00000000000..c2169dce712 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/generated-dynamic1.js @@ -0,0 +1,8 @@ +'use strict'; + +var main1 = require('./main1.js'); +require('./generated-dep2.js'); + +console.log('dynamic1', main1.value1); + +exports.value1 = main1.value1; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/generated-dynamic2.js new file mode 100644 index 00000000000..ada72f52158 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/generated-dynamic2.js @@ -0,0 +1,7 @@ +'use strict'; + +var dep2 = require('./generated-dep2.js'); + +console.log('dynamic2', dep2.value2); + +exports.value2 = dep2.value2; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/main1.js new file mode 100644 index 00000000000..8057655fdc7 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/main1.js @@ -0,0 +1,13 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var dep2 = require('./generated-dep2.js'); + +const value1 = 'shared1'; + +console.log('main1', value1, dep2.value2); +new Promise(function (resolve) { resolve(require('./generated-dynamic1.js')); }); + +exports.value2 = dep2.value2; +exports.value1 = value1; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/main2.js new file mode 100644 index 00000000000..ae76f9381f9 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/cjs/main2.js @@ -0,0 +1,10 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var dep2 = require('./generated-dep2.js'); + +console.log('main2', dep2.value2); +new Promise(function (resolve) { resolve(require('./generated-dynamic2.js')); }); + +exports.value2 = dep2.value2; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-dep.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/generated-dep2.js similarity index 70% rename from test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-dep.js rename to test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/generated-dep2.js index e69dcc529da..af5ad2b9e6d 100644 --- a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-dep.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/generated-dep2.js @@ -3,7 +3,7 @@ System.register([], function (exports) { return { execute: function () { - var value = exports('v', 42); + const value2 = exports('v', 'shared2'); } }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/generated-dynamic1.js new file mode 100644 index 00000000000..7ec987e9404 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/generated-dynamic1.js @@ -0,0 +1,15 @@ +System.register(['./main1.js', './generated-dep2.js'], function (exports) { + 'use strict'; + var value1; + return { + setters: [function (module) { + value1 = module.value1; + exports('value1', module.value1); + }, function () {}], + execute: function () { + + console.log('dynamic1', value1); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/generated-dynamic2.js new file mode 100644 index 00000000000..6a4117a6e7a --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/generated-dynamic2.js @@ -0,0 +1,15 @@ +System.register(['./generated-dep2.js'], function (exports) { + 'use strict'; + var value2; + return { + setters: [function (module) { + value2 = module.v; + exports('value2', module.v); + }], + execute: function () { + + console.log('dynamic2', value2); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/main1.js new file mode 100644 index 00000000000..470b5052df5 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/main1.js @@ -0,0 +1,18 @@ +System.register(['./generated-dep2.js'], function (exports, module) { + 'use strict'; + var value2; + return { + setters: [function (module) { + value2 = module.v; + exports('value2', module.v); + }], + execute: function () { + + const value1 = exports('value1', 'shared1'); + + console.log('main1', value1, value2); + module.import('./generated-dynamic1.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/main2.js new file mode 100644 index 00000000000..295aa292840 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_expected/system/main2.js @@ -0,0 +1,16 @@ +System.register(['./generated-dep2.js'], function (exports, module) { + 'use strict'; + var value2; + return { + setters: [function (module) { + value2 = module.v; + exports('value2', module.v); + }], + execute: function () { + + console.log('main2', value2); + module.import('./generated-dynamic2.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-dep.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-dep.js similarity index 55% rename from test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-dep.js rename to test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-dep.js index 5e2f9f02968..397a3e627a5 100644 --- a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-dep.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-dep.js @@ -1,7 +1,7 @@ define(['exports'], function (exports) { 'use strict'; - var value = 42; + const value1 = 'dep'; - exports.value = value; + exports.value1 = value1; }); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-dynamic.js new file mode 100644 index 00000000000..ddd658c3ee7 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-dynamic.js @@ -0,0 +1,5 @@ +define(['./generated-dep'], function (dep) { 'use strict'; + + console.log('dynamic', dep.value1); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-shared.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-shared.js new file mode 100644 index 00000000000..f2465789fc3 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-shared.js @@ -0,0 +1,6 @@ +define(['require', './generated-dep'], function (require, dep) { 'use strict'; + + new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); + console.log('shared', dep.value1); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main1.js new file mode 100644 index 00000000000..a5cf9852295 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main1.js @@ -0,0 +1,5 @@ +define(['./generated-dep', './generated-shared'], function (dep, shared) { 'use strict'; + + console.log('main1'); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main2.js new file mode 100644 index 00000000000..307016a4280 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main2.js @@ -0,0 +1,5 @@ +define(['./generated-dep', './generated-shared'], function (dep, shared) { 'use strict'; + + console.log('main2'); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main3.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main3.js new file mode 100644 index 00000000000..19f4b8f4188 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main3.js @@ -0,0 +1,7 @@ +define(['require'], function (require) { 'use strict'; + + new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); + + console.log('main3'); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-dep.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-dep.js new file mode 100644 index 00000000000..3327b999e9c --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-dep.js @@ -0,0 +1,5 @@ +'use strict'; + +const value1 = 'dep'; + +exports.value1 = value1; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-dynamic.js new file mode 100644 index 00000000000..1767cfb27a5 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-dynamic.js @@ -0,0 +1,5 @@ +'use strict'; + +var dep = require('./generated-dep.js'); + +console.log('dynamic', dep.value1); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-shared.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-shared.js new file mode 100644 index 00000000000..46d1cbad0c3 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-shared.js @@ -0,0 +1,6 @@ +'use strict'; + +var dep = require('./generated-dep.js'); + +new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); +console.log('shared', dep.value1); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main1.js new file mode 100644 index 00000000000..e793a195670 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main1.js @@ -0,0 +1,6 @@ +'use strict'; + +require('./generated-dep.js'); +require('./generated-shared.js'); + +console.log('main1'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main2.js new file mode 100644 index 00000000000..9baf0ec210c --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main2.js @@ -0,0 +1,6 @@ +'use strict'; + +require('./generated-dep.js'); +require('./generated-shared.js'); + +console.log('main2'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main3.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main3.js new file mode 100644 index 00000000000..a2318d8378f --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main3.js @@ -0,0 +1,5 @@ +'use strict'; + +new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); + +console.log('main3'); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/generated-dep.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-dep.js similarity index 72% rename from test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/generated-dep.js rename to test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-dep.js index e69dcc529da..a0da80f9923 100644 --- a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/generated-dep.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-dep.js @@ -3,7 +3,7 @@ System.register([], function (exports) { return { execute: function () { - var value = exports('v', 42); + const value1 = exports('v', 'dep'); } }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-dynamic.js new file mode 100644 index 00000000000..6a9c0e632e5 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-dynamic.js @@ -0,0 +1,14 @@ +System.register(['./generated-dep.js'], function () { + 'use strict'; + var value1; + return { + setters: [function (module) { + value1 = module.v; + }], + execute: function () { + + console.log('dynamic', value1); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-shared.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-shared.js new file mode 100644 index 00000000000..5ca1f03bd70 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-shared.js @@ -0,0 +1,15 @@ +System.register(['./generated-dep.js'], function (exports, module) { + 'use strict'; + var value1; + return { + setters: [function (module) { + value1 = module.v; + }], + execute: function () { + + module.import('./generated-dynamic.js'); + console.log('shared', value1); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main1.js new file mode 100644 index 00000000000..bc48044fddb --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main1.js @@ -0,0 +1,11 @@ +System.register(['./generated-dep.js', './generated-shared.js'], function () { + 'use strict'; + return { + setters: [function () {}, function () {}], + execute: function () { + + console.log('main1'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main2.js new file mode 100644 index 00000000000..fe9fd050034 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main2.js @@ -0,0 +1,11 @@ +System.register(['./generated-dep.js', './generated-shared.js'], function () { + 'use strict'; + return { + setters: [function () {}, function () {}], + execute: function () { + + console.log('main2'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main3.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main3.js new file mode 100644 index 00000000000..168b997d8da --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main3.js @@ -0,0 +1,12 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + module.import('./generated-dynamic.js'); + + console.log('main3'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/generated-dynamic.js new file mode 100644 index 00000000000..12c490a65d7 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/generated-dynamic.js @@ -0,0 +1,5 @@ +define(['./generated-shared'], function (shared) { 'use strict'; + + console.log('dynamic', shared.value1); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/generated-shared.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/generated-shared.js new file mode 100644 index 00000000000..01bb5903aa3 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/generated-shared.js @@ -0,0 +1,10 @@ +define(['require', 'exports'], function (require, exports) { 'use strict'; + + const value1 = 'dep'; + + new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); + console.log('shared', value1); + + exports.value1 = value1; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/main1.js new file mode 100644 index 00000000000..c018fae72c1 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/main1.js @@ -0,0 +1,5 @@ +define(['./generated-shared'], function (shared) { 'use strict'; + + console.log('main1'); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/main2.js new file mode 100644 index 00000000000..dd385452003 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/amd/main2.js @@ -0,0 +1,5 @@ +define(['./generated-shared'], function (shared) { 'use strict'; + + console.log('main2'); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/generated-dynamic.js new file mode 100644 index 00000000000..7ce6f9960c3 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/generated-dynamic.js @@ -0,0 +1,5 @@ +'use strict'; + +var shared = require('./generated-shared.js'); + +console.log('dynamic', shared.value1); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/generated-shared.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/generated-shared.js new file mode 100644 index 00000000000..5d98c629a36 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/generated-shared.js @@ -0,0 +1,8 @@ +'use strict'; + +const value1 = 'dep'; + +new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); +console.log('shared', value1); + +exports.value1 = value1; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/main1.js new file mode 100644 index 00000000000..b5f59c86576 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/main1.js @@ -0,0 +1,5 @@ +'use strict'; + +require('./generated-shared.js'); + +console.log('main1'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/main2.js new file mode 100644 index 00000000000..bc4414ab2da --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/cjs/main2.js @@ -0,0 +1,5 @@ +'use strict'; + +require('./generated-shared.js'); + +console.log('main2'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/generated-dynamic.js new file mode 100644 index 00000000000..659a4e37473 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/generated-dynamic.js @@ -0,0 +1,14 @@ +System.register(['./generated-shared.js'], function () { + 'use strict'; + var value1; + return { + setters: [function (module) { + value1 = module.v; + }], + execute: function () { + + console.log('dynamic', value1); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/generated-shared.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/generated-shared.js new file mode 100644 index 00000000000..03771769b9e --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/generated-shared.js @@ -0,0 +1,13 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + const value1 = exports('v', 'dep'); + + module.import('./generated-dynamic.js'); + console.log('shared', value1); + + } + }; +}); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main4.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/main1.js similarity index 53% rename from test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main4.js rename to test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/main1.js index 73473efce7c..494e5e24557 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main4.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/main1.js @@ -1,10 +1,10 @@ -System.register(['./generated-dep2.js'], function () { +System.register(['./generated-shared.js'], function () { 'use strict'; return { setters: [function () {}], execute: function () { - + console.log('main1'); } }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/main2.js new file mode 100644 index 00000000000..da2aaca8f06 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_expected/system/main2.js @@ -0,0 +1,11 @@ +System.register(['./generated-shared.js'], function () { + 'use strict'; + return { + setters: [function () {}], + execute: function () { + + console.log('main2'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/amd/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/amd/generated-dynamic.js new file mode 100644 index 00000000000..1b7cd9e3d6d --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/amd/generated-dynamic.js @@ -0,0 +1,7 @@ +define(['exports', './main'], function (exports, main) { 'use strict'; + + console.log('dynamic', main.value); + + exports.value = main.value; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/amd/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/amd/main.js new file mode 100644 index 00000000000..3f72fe8575e --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/amd/main.js @@ -0,0 +1,15 @@ +define(['require', 'exports'], function (require, exports) { 'use strict'; + + const value = 'shared'; + + console.log('a', value); + new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); + + console.log('main', value); + new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); + + exports.value = value; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/cjs/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/cjs/generated-dynamic.js new file mode 100644 index 00000000000..13cb57f7224 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/cjs/generated-dynamic.js @@ -0,0 +1,7 @@ +'use strict'; + +var main = require('./main.js'); + +console.log('dynamic', main.value); + +exports.value = main.value; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/cjs/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/cjs/main.js new file mode 100644 index 00000000000..e41fd75e41b --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/cjs/main.js @@ -0,0 +1,13 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const value = 'shared'; + +console.log('a', value); +new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); + +console.log('main', value); +new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); + +exports.value = value; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/system/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/system/generated-dynamic.js new file mode 100644 index 00000000000..d709dd7477a --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/system/generated-dynamic.js @@ -0,0 +1,15 @@ +System.register(['./main.js'], function (exports) { + 'use strict'; + var value; + return { + setters: [function (module) { + value = module.value; + exports('value', module.value); + }], + execute: function () { + + console.log('dynamic', value); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/system/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/system/main.js new file mode 100644 index 00000000000..0b98d98ec9e --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_expected/system/main.js @@ -0,0 +1,16 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + const value = exports('value', 'shared'); + + console.log('a', value); + module.import('./generated-dynamic.js'); + + console.log('main', value); + module.import('./generated-dynamic.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/generated-dynamic.js new file mode 100644 index 00000000000..1b7cd9e3d6d --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/generated-dynamic.js @@ -0,0 +1,7 @@ +define(['exports', './main'], function (exports, main) { 'use strict'; + + console.log('dynamic', main.value); + + exports.value = main.value; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/main.js new file mode 100644 index 00000000000..714a305c85f --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/amd/main.js @@ -0,0 +1,12 @@ +define(['require', 'exports'], function (require, exports) { 'use strict'; + + const value = 'shared'; + + console.log('main', value); + new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); + + exports.value = value; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/generated-dynamic.js new file mode 100644 index 00000000000..13cb57f7224 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/generated-dynamic.js @@ -0,0 +1,7 @@ +'use strict'; + +var main = require('./main.js'); + +console.log('dynamic', main.value); + +exports.value = main.value; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/main.js new file mode 100644 index 00000000000..b87c736b8fc --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/cjs/main.js @@ -0,0 +1,10 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const value = 'shared'; + +console.log('main', value); +new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); + +exports.value = value; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/generated-dynamic.js new file mode 100644 index 00000000000..d709dd7477a --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/generated-dynamic.js @@ -0,0 +1,15 @@ +System.register(['./main.js'], function (exports) { + 'use strict'; + var value; + return { + setters: [function (module) { + value = module.value; + exports('value', module.value); + }], + execute: function () { + + console.log('dynamic', value); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/main.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/main.js new file mode 100644 index 00000000000..b49c63ff160 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_expected/system/main.js @@ -0,0 +1,13 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + const value = exports('value', 'shared'); + + console.log('main', value); + module.import('./generated-dynamic.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-dynamic1.js new file mode 100644 index 00000000000..be41dd73ba2 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-dynamic1.js @@ -0,0 +1,6 @@ +define(['require'], function (require) { 'use strict'; + + new Promise(function (resolve, reject) { require(['./generated-dynamic2'], resolve, reject) }); + console.log('dynamic1'); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-dynamic2.js new file mode 100644 index 00000000000..5a52f14b76f --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-dynamic2.js @@ -0,0 +1,5 @@ +define(['./generated-main'], function (main) { 'use strict'; + + console.log('dynamic2', main.shared); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-main.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-main.js new file mode 100644 index 00000000000..6a43f50a6c3 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-main.js @@ -0,0 +1,10 @@ +define(['require', 'exports'], function (require, exports) { 'use strict'; + + const shared = 'shared'; + + new Promise(function (resolve, reject) { require(['./generated-dynamic1'], resolve, reject) }); + console.log('main', shared); + + exports.shared = shared; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/main.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/main.js new file mode 100644 index 00000000000..4cef940ab88 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/main.js @@ -0,0 +1,5 @@ +define(['./generated-main'], function (main) { 'use strict'; + + + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-dynamic1.js new file mode 100644 index 00000000000..988a64fd35e --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-dynamic1.js @@ -0,0 +1,4 @@ +'use strict'; + +new Promise(function (resolve) { resolve(require('./generated-dynamic2.js')); }); +console.log('dynamic1'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-dynamic2.js new file mode 100644 index 00000000000..f13281b0bb3 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-dynamic2.js @@ -0,0 +1,5 @@ +'use strict'; + +var main = require('./generated-main.js'); + +console.log('dynamic2', main.shared); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-main.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-main.js new file mode 100644 index 00000000000..738e1a6f23d --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-main.js @@ -0,0 +1,8 @@ +'use strict'; + +const shared = 'shared'; + +new Promise(function (resolve) { resolve(require('./generated-dynamic1.js')); }); +console.log('main', shared); + +exports.shared = shared; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/main.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/main.js new file mode 100644 index 00000000000..464b4ce8e34 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/main.js @@ -0,0 +1,4 @@ +'use strict'; + +require('./generated-main.js'); + diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-dynamic1.js new file mode 100644 index 00000000000..4885888ccf8 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-dynamic1.js @@ -0,0 +1,11 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + module.import('./generated-dynamic2.js'); + console.log('dynamic1'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-dynamic2.js new file mode 100644 index 00000000000..65f1561b327 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-dynamic2.js @@ -0,0 +1,14 @@ +System.register(['./generated-main.js'], function () { + 'use strict'; + var shared; + return { + setters: [function (module) { + shared = module.s; + }], + execute: function () { + + console.log('dynamic2', shared); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-main.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-main.js new file mode 100644 index 00000000000..57155410aab --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-main.js @@ -0,0 +1,13 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + const shared = exports('s', 'shared'); + + module.import('./generated-dynamic1.js'); + console.log('main', shared); + + } + }; +}); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main3.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/main.js similarity index 63% rename from test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main3.js rename to test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/main.js index 5668bec5d4f..1312c7a3bd6 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main3.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/main.js @@ -1,4 +1,4 @@ -System.register(['./generated-dep1.js'], function () { +System.register(['./generated-main.js'], function () { 'use strict'; return { setters: [function () {}], diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic1.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic1.js index 90f7318cc94..be41dd73ba2 100644 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic1.js +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic1.js @@ -1,33 +1,6 @@ -define(function () { 'use strict'; +define(['require'], function (require) { 'use strict'; - Promise.resolve().then(function () { return dynamic2; }); + new Promise(function (resolve, reject) { require(['./generated-dynamic2'], resolve, reject) }); console.log('dynamic1'); - Promise.resolve().then(function () { return dynamic3; }); - console.log('dynamic2'); - - var dynamic2 = /*#__PURE__*/Object.freeze({ - __proto__: null - }); - - Promise.resolve().then(function () { return dynamic4; }); - console.log('dynamic3'); - - var dynamic3 = /*#__PURE__*/Object.freeze({ - __proto__: null - }); - - Promise.resolve().then(function () { return dynamic5; }); - console.log('dynamic4'); - - var dynamic4 = /*#__PURE__*/Object.freeze({ - __proto__: null - }); - - console.log('dynamic5'); - - var dynamic5 = /*#__PURE__*/Object.freeze({ - __proto__: null - }); - }); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic2.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic2.js new file mode 100644 index 00000000000..109eafa86de --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic2.js @@ -0,0 +1,6 @@ +define(['require'], function (require) { 'use strict'; + + new Promise(function (resolve, reject) { require(['./generated-dynamic3'], resolve, reject) }); + console.log('dynamic2'); + +}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic3.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic3.js new file mode 100644 index 00000000000..87c99b617b8 --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic3.js @@ -0,0 +1,6 @@ +define(['require'], function (require) { 'use strict'; + + new Promise(function (resolve, reject) { require(['./generated-dynamic4'], resolve, reject) }); + console.log('dynamic3'); + +}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic4.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic4.js new file mode 100644 index 00000000000..eed6272d3aa --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic4.js @@ -0,0 +1,6 @@ +define(['require'], function (require) { 'use strict'; + + new Promise(function (resolve, reject) { require(['./generated-dynamic5'], resolve, reject) }); + console.log('dynamic4'); + +}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic5.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic5.js new file mode 100644 index 00000000000..3bbcbbb8a61 --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/amd/generated-dynamic5.js @@ -0,0 +1,5 @@ +define(function () { 'use strict'; + + console.log('dynamic5'); + +}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic1.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic1.js index f3f3e253b39..988a64fd35e 100644 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic1.js +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic1.js @@ -1,31 +1,4 @@ 'use strict'; -Promise.resolve().then(function () { return dynamic2; }); +new Promise(function (resolve) { resolve(require('./generated-dynamic2.js')); }); console.log('dynamic1'); - -Promise.resolve().then(function () { return dynamic3; }); -console.log('dynamic2'); - -var dynamic2 = /*#__PURE__*/Object.freeze({ - __proto__: null -}); - -Promise.resolve().then(function () { return dynamic4; }); -console.log('dynamic3'); - -var dynamic3 = /*#__PURE__*/Object.freeze({ - __proto__: null -}); - -Promise.resolve().then(function () { return dynamic5; }); -console.log('dynamic4'); - -var dynamic4 = /*#__PURE__*/Object.freeze({ - __proto__: null -}); - -console.log('dynamic5'); - -var dynamic5 = /*#__PURE__*/Object.freeze({ - __proto__: null -}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic2.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic2.js new file mode 100644 index 00000000000..41b004168ba --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic2.js @@ -0,0 +1,4 @@ +'use strict'; + +new Promise(function (resolve) { resolve(require('./generated-dynamic3.js')); }); +console.log('dynamic2'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic3.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic3.js new file mode 100644 index 00000000000..05760968f6b --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic3.js @@ -0,0 +1,4 @@ +'use strict'; + +new Promise(function (resolve) { resolve(require('./generated-dynamic4.js')); }); +console.log('dynamic3'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic4.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic4.js new file mode 100644 index 00000000000..4b8cb60ad35 --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic4.js @@ -0,0 +1,4 @@ +'use strict'; + +new Promise(function (resolve) { resolve(require('./generated-dynamic5.js')); }); +console.log('dynamic4'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic5.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic5.js new file mode 100644 index 00000000000..49db69799ac --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/cjs/generated-dynamic5.js @@ -0,0 +1,3 @@ +'use strict'; + +console.log('dynamic5'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic1.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic1.js index e69f5665fa8..2db19197d94 100644 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic1.js +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic1.js @@ -1,29 +1,2 @@ -Promise.resolve().then(function () { return dynamic2; }); +import('./generated-dynamic2.js'); console.log('dynamic1'); - -Promise.resolve().then(function () { return dynamic3; }); -console.log('dynamic2'); - -var dynamic2 = /*#__PURE__*/Object.freeze({ - __proto__: null -}); - -Promise.resolve().then(function () { return dynamic4; }); -console.log('dynamic3'); - -var dynamic3 = /*#__PURE__*/Object.freeze({ - __proto__: null -}); - -Promise.resolve().then(function () { return dynamic5; }); -console.log('dynamic4'); - -var dynamic4 = /*#__PURE__*/Object.freeze({ - __proto__: null -}); - -console.log('dynamic5'); - -var dynamic5 = /*#__PURE__*/Object.freeze({ - __proto__: null -}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic2.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic2.js new file mode 100644 index 00000000000..544cfec1ef5 --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic2.js @@ -0,0 +1,2 @@ +import('./generated-dynamic3.js'); +console.log('dynamic2'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic3.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic3.js new file mode 100644 index 00000000000..53e4eba921e --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic3.js @@ -0,0 +1,2 @@ +import('./generated-dynamic4.js'); +console.log('dynamic3'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic4.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic4.js new file mode 100644 index 00000000000..db04880a96f --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic4.js @@ -0,0 +1,2 @@ +import('./generated-dynamic5.js'); +console.log('dynamic4'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic5.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic5.js new file mode 100644 index 00000000000..926214e0879 --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/es/generated-dynamic5.js @@ -0,0 +1 @@ +console.log('dynamic5'); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic1.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic1.js index c28c38ce863..4885888ccf8 100644 --- a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic1.js +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic1.js @@ -1,38 +1,11 @@ -System.register([], function () { +System.register([], function (exports, module) { 'use strict'; return { execute: function () { - Promise.resolve().then(function () { return dynamic2; }); + module.import('./generated-dynamic2.js'); console.log('dynamic1'); - Promise.resolve().then(function () { return dynamic3; }); - console.log('dynamic2'); - - var dynamic2 = /*#__PURE__*/Object.freeze({ - __proto__: null - }); - - Promise.resolve().then(function () { return dynamic4; }); - console.log('dynamic3'); - - var dynamic3 = /*#__PURE__*/Object.freeze({ - __proto__: null - }); - - Promise.resolve().then(function () { return dynamic5; }); - console.log('dynamic4'); - - var dynamic4 = /*#__PURE__*/Object.freeze({ - __proto__: null - }); - - console.log('dynamic5'); - - var dynamic5 = /*#__PURE__*/Object.freeze({ - __proto__: null - }); - } }; }); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic2.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic2.js new file mode 100644 index 00000000000..186a6116c10 --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic2.js @@ -0,0 +1,11 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + module.import('./generated-dynamic3.js'); + console.log('dynamic2'); + + } + }; +}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic3.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic3.js new file mode 100644 index 00000000000..96e85221924 --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic3.js @@ -0,0 +1,11 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + module.import('./generated-dynamic4.js'); + console.log('dynamic3'); + + } + }; +}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic4.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic4.js new file mode 100644 index 00000000000..d2859ce1ff5 --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic4.js @@ -0,0 +1,11 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + module.import('./generated-dynamic5.js'); + console.log('dynamic4'); + + } + }; +}); diff --git a/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic5.js b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic5.js new file mode 100644 index 00000000000..17bd51f9265 --- /dev/null +++ b/test/chunking-form/samples/nested-dynamic-imports/_expected/system/generated-dynamic5.js @@ -0,0 +1,10 @@ +System.register([], function () { + 'use strict'; + return { + execute: function () { + + console.log('dynamic5'); + + } + }; +}); From 842532561399db2b0b25f356cb4ffc979adcbb9f Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Thu, 16 Jan 2020 22:59:27 +0000 Subject: [PATCH 36/47] revert bundle-information test changes --- test/misc/bundle-information.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/misc/bundle-information.js b/test/misc/bundle-information.js index c8e39486636..38519d3c019 100644 --- a/test/misc/bundle-information.js +++ b/test/misc/bundle-information.js @@ -267,27 +267,27 @@ describe('The bundle object', () => { .then(({ output }) => { assert.deepEqual( output.map(chunk => chunk.fileName), - ['input1.js', 'input2.js', 'generated-dynamic.js'], + ['input1.js', 'input2.js', 'generated-dynamic.js', 'generated-dynamic2.js'], 'fileName' ); assert.deepEqual( output.map(chunk => Object.keys(chunk.modules)), - [['input1'], [], ['dep', 'dynamic', 'input2']], + [['input1'], ['input2'], ['dep', 'dynamic'], []], 'modules' ); assert.deepEqual( output.map(chunk => chunk.isDynamicEntry), - [false, false, true], + [false, false, false, true], 'isDynamicEntry' ); assert.deepEqual( output.map(chunk => chunk.facadeModuleId), - ['input1', 'input2', 'dynamic'], + ['input1', 'input2', null, 'dynamic'], 'facadeModuleId' ); assert.deepEqual( output.map(chunk => chunk.dynamicImports), - [['generated-dynamic.js'], [], []], + [['generated-dynamic.js'], [], [], []], 'dynamicImports' ); }); From 921dff6eeef6a4120ff236ccc71afd295ca6b660 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Thu, 16 Jan 2020 23:05:47 +0000 Subject: [PATCH 37/47] reset chunk order test --- .../samples/emit-file/emit-chunk-order1/_config.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_config.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_config.js index 73c99b57db2..fe0b8bdeb0c 100644 --- a/test/chunking-form/samples/emit-file/emit-chunk-order1/_config.js +++ b/test/chunking-form/samples/emit-file/emit-chunk-order1/_config.js @@ -26,11 +26,10 @@ console.log(id, value); }); }, generateBundle(options, bundle) { - assert.deepStrictEqual(Object.keys(bundle).map(key => bundle[key].name), [ - 'main', - 'dep', - 'emitted' - ]); + assert.deepStrictEqual( + Object.keys(bundle).map(key => bundle[key].name), + ['main', 'dep', 'emitted'] + ); } } } From b1b7abdc758effbf5056f8a6a1bce695fe0e0b2c Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Thu, 16 Jan 2020 23:06:35 +0000 Subject: [PATCH 38/47] revert chunk order test changes --- .../samples/emit-file/emit-chunk-order2/_config.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_config.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_config.js index fb858148512..54005480cc6 100644 --- a/test/chunking-form/samples/emit-file/emit-chunk-order2/_config.js +++ b/test/chunking-form/samples/emit-file/emit-chunk-order2/_config.js @@ -32,11 +32,10 @@ console.log(id, value); }); }, generateBundle(options, bundle) { - assert.deepStrictEqual(Object.keys(bundle).map(key => bundle[key].name), [ - 'main', - 'dep', - 'emitted' - ]); + assert.deepStrictEqual( + Object.keys(bundle).map(key => bundle[key].name), + ['main', 'dep', 'emitted'] + ); } } } From c10e59d2d88443d9222e7478adc9af72ec627f80 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sat, 18 Jan 2020 18:27:40 +0000 Subject: [PATCH 39/47] make all the tests pass --- .../chunk-deshadowing-reassignment/_config.js | 4 +-- .../_expected/amd/generated-dep1.js | 7 +++++ .../_expected/amd/generated-dep2.js | 7 +++++ .../_expected/amd/generated-shared2.js | 12 +++----- .../_expected/amd/main1.js | 2 +- .../_expected/amd/main2.js | 2 +- .../_expected/amd/main3.js | 5 ++++ .../_expected/amd/main4.js | 5 ++++ .../_expected/cjs/generated-dep1.js | 5 ++++ .../_expected/cjs/generated-dep2.js | 5 ++++ .../_expected/cjs/generated-shared2.js | 11 ++++---- .../_expected/cjs/main1.js | 2 ++ .../_expected/cjs/main2.js | 2 ++ .../_expected/cjs/main3.js | 4 +++ .../_expected/cjs/main4.js | 4 +++ .../_expected/es/generated-dep1.js | 3 ++ .../_expected/es/generated-dep2.js | 3 ++ .../_expected/es/generated-shared2.js | 9 +++--- .../_expected/es/main1.js | 2 ++ .../_expected/es/main2.js | 2 ++ .../_expected/es/main3.js | 1 + .../_expected/es/main4.js | 1 + .../_expected/system/generated-dep1.js | 11 ++++++++ .../_expected/system/generated-dep2.js | 11 ++++++++ .../_expected/system/generated-shared2.js | 14 ++++++---- .../_expected/system/main1.js | 6 ++-- .../_expected/system/main2.js | 4 +-- .../_expected/system/main3.js | 11 ++++++++ .../_expected/system/main4.js | 11 ++++++++ .../samples/circular-entry-points/_config.js | 1 - .../_expected/amd/generated-main1.js | 26 +++++++++++++++++ .../_expected/amd/main1.js | 9 ++++++ .../_expected/amd/main2.js | 9 ++++++ .../_expected/cjs/generated-main1.js | 24 ++++++++++++++++ .../_expected/cjs/main1.js | 9 ++++++ .../_expected/cjs/main2.js | 9 ++++++ .../_expected/es/generated-main1.js | 21 ++++++++++++++ .../_expected/es/main1.js | 1 + .../_expected/es/main2.js | 1 + .../_expected/system/generated-main1.js | 28 +++++++++++++++++++ .../_expected/system/main1.js | 13 +++++++++ .../_expected/system/main2.js | 13 +++++++++ .../_config.js | 1 - .../_config.js | 1 - .../default-export-name-conflict/_config.js | 1 - .../samples/dynamic-import-chained/_config.js | 1 - .../samples/dynamic-import-facade/_config.js | 1 - .../_config.js | 1 - .../_config.js | 1 - .../_config.js | 1 - .../emit-file/emit-chunk-filename/_config.js | 9 +++--- .../_expected/amd/custom/build-start-chunk.js | 9 ++++++ .../_expected/amd/generated-buildStart.js | 11 ++++++++ .../emit-chunk-filename/_expected/amd/main.js | 7 +++++ .../_expected/cjs/custom/build-start-chunk.js | 9 ++++++ .../_expected/cjs/generated-buildStart.js | 9 ++++++ .../emit-chunk-filename/_expected/cjs/main.js | 7 +++++ .../_expected/es/custom/build-start-chunk.js | 1 + .../_expected/es/generated-buildStart.js | 6 ++++ .../emit-chunk-filename/_expected/es/main.js | 5 ++++ .../system/custom/build-start-chunk.js | 13 +++++++++ .../_expected/system/generated-buildStart.js | 13 +++++++++ .../_expected/system/main.js | 17 +++++++++++ .../emit-file/emit-chunk-order1/_config.js | 2 +- .../_expected/amd/generated-emitted.js | 11 ++++++++ .../_expected/amd/generated-emitted2.js | 9 ++++++ .../emit-chunk-order1/_expected/amd/main.js | 7 +++++ .../_expected/cjs/generated-emitted.js | 9 ++++++ .../_expected/cjs/generated-emitted2.js | 9 ++++++ .../emit-chunk-order1/_expected/cjs/main.js | 7 +++++ .../_expected/es/generated-emitted.js | 6 ++++ .../_expected/es/generated-emitted2.js | 1 + .../emit-chunk-order1/_expected/es/main.js | 5 ++++ .../_expected/system/generated-emitted.js | 13 +++++++++ .../_expected/system/generated-emitted2.js | 13 +++++++++ .../_expected/system/main.js | 17 +++++++++++ .../emit-file/emit-chunk-order2/_config.js | 2 +- .../_expected/amd/generated-emitted.js | 11 ++++++++ .../_expected/amd/generated-emitted2.js | 9 ++++++ .../emit-chunk-order2/_expected/amd/main.js | 7 +++++ .../_expected/cjs/generated-emitted.js | 9 ++++++ .../_expected/cjs/generated-emitted2.js | 9 ++++++ .../emit-chunk-order2/_expected/cjs/main.js | 7 +++++ .../_expected/es/generated-emitted.js | 6 ++++ .../_expected/es/generated-emitted2.js | 1 + .../emit-chunk-order2/_expected/es/main.js | 5 ++++ .../_expected/system/generated-emitted.js | 13 +++++++++ .../_expected/system/generated-emitted2.js | 13 +++++++++ .../_expected/system/main.js | 17 +++++++++++ .../chained-dynamic-with-shared/_config.js | 6 ++++ .../_expected/amd/generated-dynamic1.js | 0 .../_expected/amd/generated-dynamic2.js | 0 .../_expected/amd/generated-main.js | 0 .../_expected/amd/main.js | 0 .../_expected/cjs/generated-dynamic1.js | 0 .../_expected/cjs/generated-dynamic2.js | 0 .../_expected/cjs/generated-main.js | 0 .../_expected/cjs/main.js | 0 .../_expected/es/generated-dynamic1.js | 0 .../_expected/es/generated-dynamic2.js | 0 .../_expected/es/generated-main.js | 0 .../_expected/es/main.js | 0 .../_expected/system/generated-dynamic1.js | 0 .../_expected/system/generated-dynamic2.js | 0 .../_expected/system/generated-main.js | 0 .../_expected/system/main.js | 0 .../dynamic1.js | 0 .../dynamic2.js | 0 .../main.js | 0 .../shared.js | 0 .../dynamic-not-in-memory/_config.js | 6 ++++ .../_expected/amd/generated-dep.js | 0 .../_expected/amd/generated-dynamic.js | 0 .../_expected/amd/generated-shared.js | 0 .../_expected/amd/main1.js | 0 .../_expected/amd/main2.js | 0 .../_expected/amd/main3.js | 0 .../_expected/cjs/generated-dep.js | 0 .../_expected/cjs/generated-dynamic.js | 0 .../_expected/cjs/generated-shared.js | 0 .../_expected/cjs/main1.js | 0 .../_expected/cjs/main2.js | 0 .../_expected/cjs/main3.js | 0 .../_expected/es/generated-dep.js | 0 .../_expected/es/generated-dynamic.js | 0 .../_expected/es/generated-shared.js | 0 .../_expected/es/main1.js | 0 .../_expected/es/main2.js | 0 .../_expected/es/main3.js | 0 .../_expected/system/generated-dep.js | 0 .../_expected/system/generated-dynamic.js | 0 .../_expected/system/generated-shared.js | 0 .../_expected/system/main1.js | 0 .../_expected/system/main2.js | 0 .../_expected/system/main3.js | 0 .../dep.js | 0 .../dynamic.js | 0 .../main1.js | 0 .../main2.js | 0 .../main3.js | 0 .../shared.js | 0 .../_config.js | 1 - .../_expected/amd/main2.js | 1 - .../_expected/cjs/main2.js | 1 - .../_expected/es/main2.js | 1 - .../_expected/system/main2.js | 1 - .../main2.js | 1 - .../_config.js | 1 - .../_config.js | 11 -------- .../_config.js | 1 - .../_config.js | 1 - .../single-dynamic/_config.js | 1 - .../something/_config.js | 7 ----- .../manual-chunk-avoid-facade/_config.js | 1 - .../samples/manual-chunks/_config.js | 1 - test/hooks/index.js | 20 ++++++------- 156 files changed, 643 insertions(+), 91 deletions(-) create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-dep1.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-dep2.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main3.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main4.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep1.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep2.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main3.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main4.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep1.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep2.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main3.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main4.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-dep1.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-dep2.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main3.js create mode 100644 test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main4.js create mode 100644 test/chunking-form/samples/circular-entry-points/_expected/amd/generated-main1.js create mode 100644 test/chunking-form/samples/circular-entry-points/_expected/amd/main1.js create mode 100644 test/chunking-form/samples/circular-entry-points/_expected/amd/main2.js create mode 100644 test/chunking-form/samples/circular-entry-points/_expected/cjs/generated-main1.js create mode 100644 test/chunking-form/samples/circular-entry-points/_expected/cjs/main1.js create mode 100644 test/chunking-form/samples/circular-entry-points/_expected/cjs/main2.js create mode 100644 test/chunking-form/samples/circular-entry-points/_expected/es/generated-main1.js create mode 100644 test/chunking-form/samples/circular-entry-points/_expected/es/main1.js create mode 100644 test/chunking-form/samples/circular-entry-points/_expected/es/main2.js create mode 100644 test/chunking-form/samples/circular-entry-points/_expected/system/generated-main1.js create mode 100644 test/chunking-form/samples/circular-entry-points/_expected/system/main1.js create mode 100644 test/chunking-form/samples/circular-entry-points/_expected/system/main2.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/custom/build-start-chunk.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/generated-buildStart.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/main.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/custom/build-start-chunk.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/generated-buildStart.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/main.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/custom/build-start-chunk.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/generated-buildStart.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/main.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/custom/build-start-chunk.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/generated-buildStart.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/main.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-emitted.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-emitted2.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/main.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-emitted.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-emitted2.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/main.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-emitted.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-emitted2.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/main.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-emitted.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-emitted2.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/main.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-emitted.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-emitted2.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/main.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-emitted.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-emitted2.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/main.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-emitted.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-emitted2.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/main.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-emitted.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-emitted2.js create mode 100644 test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_config.js rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/amd/generated-dynamic1.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/amd/generated-dynamic2.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/amd/generated-main.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/amd/main.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/cjs/generated-dynamic1.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/cjs/generated-dynamic2.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/cjs/generated-main.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/cjs/main.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/es/generated-dynamic1.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/es/generated-dynamic2.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/es/generated-main.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/es/main.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/system/generated-dynamic1.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/system/generated-dynamic2.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/system/generated-main.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/_expected/system/main.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/dynamic1.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/dynamic2.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/main.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{something => chained-dynamic-with-shared}/shared.js (100%) create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_config.js rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/amd/generated-dep.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/amd/generated-dynamic.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/amd/generated-shared.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/amd/main1.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/amd/main2.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/amd/main3.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/cjs/generated-dep.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/cjs/generated-dynamic.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/cjs/generated-shared.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/cjs/main1.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/cjs/main2.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/cjs/main3.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/es/generated-dep.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/es/generated-dynamic.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/es/generated-shared.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/es/main1.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/es/main2.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/es/main3.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/system/generated-dep.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/system/generated-dynamic.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/system/generated-shared.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/system/main1.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/system/main2.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/_expected/system/main3.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/dep.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/dynamic.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/main1.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/main2.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/main3.js (100%) rename test/chunking-form/samples/improved-dynamic-chunks/{multi-entry-shared-static-with-dynamic-import-2 => dynamic-not-in-memory}/shared.js (100%) delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_config.js delete mode 100644 test/chunking-form/samples/improved-dynamic-chunks/something/_config.js diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_config.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_config.js index f8fcf79aefd..e0abcec057f 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_config.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_config.js @@ -1,8 +1,6 @@ module.exports = { - // solo: true, // BROKEN description: 'chunk reassignment import deshadowing', options: { - input: ['main1.js', 'main2.js'] - // input: ['main1.js', 'main2.js', 'main3.js', 'main4.js'] + input: ['main1.js', 'main2.js', 'main3.js', 'main4.js'] } }; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-dep1.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-dep1.js new file mode 100644 index 00000000000..23394b47956 --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-dep1.js @@ -0,0 +1,7 @@ +define(['exports'], function (exports) { 'use strict'; + + var x = 42; + + exports.x = x; + +}); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-dep2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-dep2.js new file mode 100644 index 00000000000..71f00bd9c70 --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-dep2.js @@ -0,0 +1,7 @@ +define(['exports'], function (exports) { 'use strict'; + + var x = 43; + + exports.x = x; + +}); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-shared2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-shared2.js index 3016bcaf139..04c631986fa 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-shared2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/generated-shared2.js @@ -1,14 +1,10 @@ -define(['exports'], function (exports) { 'use strict'; +define(['exports', './generated-dep1', './generated-dep2'], function (exports, dep1, dep2) { 'use strict'; - var x = 42; + var x = dep1.x + 1; - var x$1 = x + 1; + var y = dep2.x + 1; - var x$2 = 43; - - var y = x$2 + 1; - - exports.x = x$1; + exports.x = x; exports.y = y; }); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main1.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main1.js index 241d5540a2d..6db24f20d99 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main1.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main1.js @@ -1,4 +1,4 @@ -define(['./generated-shared2'], function (shared2) { 'use strict'; +define(['./generated-dep1', './generated-shared2', './generated-dep2'], function (dep1, shared2, dep2) { 'use strict'; console.log(shared2.x + shared2.y); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main2.js index fc544e33245..2d15ef40f6e 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main2.js @@ -1,4 +1,4 @@ -define(['./generated-shared2'], function (shared2) { 'use strict'; +define(['./generated-dep1', './generated-shared2', './generated-dep2'], function (dep1, shared2, dep2) { 'use strict'; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main3.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main3.js new file mode 100644 index 00000000000..02a46daf2cd --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main3.js @@ -0,0 +1,5 @@ +define(['./generated-dep1'], function (dep1) { 'use strict'; + + + +}); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main4.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main4.js new file mode 100644 index 00000000000..8806f30b198 --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/amd/main4.js @@ -0,0 +1,5 @@ +define(['./generated-dep2'], function (dep2) { 'use strict'; + + + +}); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep1.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep1.js new file mode 100644 index 00000000000..90fa851318c --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep1.js @@ -0,0 +1,5 @@ +'use strict'; + +var x = 42; + +exports.x = x; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep2.js new file mode 100644 index 00000000000..c123080ab7f --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-dep2.js @@ -0,0 +1,5 @@ +'use strict'; + +var x = 43; + +exports.x = x; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-shared2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-shared2.js index c91e956d796..5482042bab1 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-shared2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/generated-shared2.js @@ -1,12 +1,11 @@ 'use strict'; -var x = 42; +var dep1 = require('./generated-dep1.js'); +var dep2 = require('./generated-dep2.js'); -var x$1 = x + 1; +var x = dep1.x + 1; -var x$2 = 43; +var y = dep2.x + 1; -var y = x$2 + 1; - -exports.x = x$1; +exports.x = x; exports.y = y; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main1.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main1.js index 333cde1dfbf..e1b073c3c46 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main1.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main1.js @@ -1,5 +1,7 @@ 'use strict'; +require('./generated-dep1.js'); var shared2 = require('./generated-shared2.js'); +require('./generated-dep2.js'); console.log(shared2.x + shared2.y); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main2.js index fa5dec57301..291f1954f45 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main2.js @@ -1,4 +1,6 @@ 'use strict'; +require('./generated-dep1.js'); require('./generated-shared2.js'); +require('./generated-dep2.js'); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main3.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main3.js new file mode 100644 index 00000000000..ccb8d98ce68 --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main3.js @@ -0,0 +1,4 @@ +'use strict'; + +require('./generated-dep1.js'); + diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main4.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main4.js new file mode 100644 index 00000000000..8bcaed1c530 --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/cjs/main4.js @@ -0,0 +1,4 @@ +'use strict'; + +require('./generated-dep2.js'); + diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep1.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep1.js new file mode 100644 index 00000000000..b90c581245b --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep1.js @@ -0,0 +1,3 @@ +var x = 42; + +export { x }; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep2.js new file mode 100644 index 00000000000..b2caa9826a4 --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-dep2.js @@ -0,0 +1,3 @@ +var x = 43; + +export { x }; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-shared2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-shared2.js index 292b4912b3c..15af511db49 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-shared2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/generated-shared2.js @@ -1,9 +1,8 @@ -var x = 42; +import { x as x$1 } from './generated-dep1.js'; +import { x as x$2 } from './generated-dep2.js'; -var x$1 = x + 1; - -var x$2 = 43; +var x = x$1 + 1; var y = x$2 + 1; -export { x$1 as x, y }; +export { x, y }; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main1.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main1.js index 8032a3b1ac0..df90cab25c7 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main1.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main1.js @@ -1,3 +1,5 @@ +import './generated-dep1.js'; import { x, y } from './generated-shared2.js'; +import './generated-dep2.js'; console.log(x + y); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main2.js index 7e5fec0a8f2..09d60765311 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main2.js @@ -1 +1,3 @@ +import './generated-dep1.js'; import './generated-shared2.js'; +import './generated-dep2.js'; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main3.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main3.js new file mode 100644 index 00000000000..934a68ee7f1 --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main3.js @@ -0,0 +1 @@ +import './generated-dep1.js'; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main4.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main4.js new file mode 100644 index 00000000000..e38989d38f2 --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/es/main4.js @@ -0,0 +1 @@ +import './generated-dep2.js'; diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-dep1.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-dep1.js new file mode 100644 index 00000000000..80adb5c2211 --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-dep1.js @@ -0,0 +1,11 @@ +System.register([], function (exports) { + 'use strict'; + return { + execute: function () { + + var x = 42; + exports('x', x); + + } + }; +}); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-dep2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-dep2.js new file mode 100644 index 00000000000..6c2a87f635a --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-dep2.js @@ -0,0 +1,11 @@ +System.register([], function (exports) { + 'use strict'; + return { + execute: function () { + + var x = 43; + exports('x', x); + + } + }; +}); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-shared2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-shared2.js index 3890ea2b35b..a72e59cac53 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-shared2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/generated-shared2.js @@ -1,13 +1,15 @@ -System.register([], function (exports) { +System.register(['./generated-dep1.js', './generated-dep2.js'], function (exports) { 'use strict'; + var x$1, x$2; return { + setters: [function (module) { + x$1 = module.x; + }, function (module) { + x$2 = module.x; + }], execute: function () { - var x = 42; - - var x$1 = exports('x', x + 1); - - var x$2 = 43; + var x = exports('x', x$1 + 1); var y = exports('y', x$2 + 1); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main1.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main1.js index f8f8cbfe747..e1227b6045a 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main1.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main1.js @@ -1,11 +1,11 @@ -System.register(['./generated-shared2.js'], function () { +System.register(['./generated-dep1.js', './generated-shared2.js', './generated-dep2.js'], function () { 'use strict'; var x, y; return { - setters: [function (module) { + setters: [function () {}, function (module) { x = module.x; y = module.y; - }], + }, function () {}], execute: function () { console.log(x + y); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main2.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main2.js index b46d4f26640..4b34c33770f 100644 --- a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main2.js +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main2.js @@ -1,7 +1,7 @@ -System.register(['./generated-shared2.js'], function () { +System.register(['./generated-dep1.js', './generated-shared2.js', './generated-dep2.js'], function () { 'use strict'; return { - setters: [function () {}], + setters: [function () {}, function () {}, function () {}], execute: function () { diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main3.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main3.js new file mode 100644 index 00000000000..5668bec5d4f --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main3.js @@ -0,0 +1,11 @@ +System.register(['./generated-dep1.js'], function () { + 'use strict'; + return { + setters: [function () {}], + execute: function () { + + + + } + }; +}); diff --git a/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main4.js b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main4.js new file mode 100644 index 00000000000..73473efce7c --- /dev/null +++ b/test/chunking-form/samples/chunk-deshadowing-reassignment/_expected/system/main4.js @@ -0,0 +1,11 @@ +System.register(['./generated-dep2.js'], function () { + 'use strict'; + return { + setters: [function () {}], + execute: function () { + + + + } + }; +}); diff --git a/test/chunking-form/samples/circular-entry-points/_config.js b/test/chunking-form/samples/circular-entry-points/_config.js index c3d960d8552..c594e1ff53b 100644 --- a/test/chunking-form/samples/circular-entry-points/_config.js +++ b/test/chunking-form/samples/circular-entry-points/_config.js @@ -1,5 +1,4 @@ module.exports = { - skip: true, // TODO broken description: 'chunking circular entry points', expectedWarnings: ['CIRCULAR_DEPENDENCY'], options: { diff --git a/test/chunking-form/samples/circular-entry-points/_expected/amd/generated-main1.js b/test/chunking-form/samples/circular-entry-points/_expected/amd/generated-main1.js new file mode 100644 index 00000000000..63702b9ecf5 --- /dev/null +++ b/test/chunking-form/samples/circular-entry-points/_expected/amd/generated-main1.js @@ -0,0 +1,26 @@ +define(['exports'], function (exports) { 'use strict'; + + class C { + fn (num) { + console.log(num - p$1); + } + } + + var p = 43; + + new C().fn(p); + + class C$1 { + fn (num) { + console.log(num - p); + } + } + + var p$1 = 42; + + new C$1().fn(p$1); + + exports.p = p; + exports.p$1 = p$1; + +}); diff --git a/test/chunking-form/samples/circular-entry-points/_expected/amd/main1.js b/test/chunking-form/samples/circular-entry-points/_expected/amd/main1.js new file mode 100644 index 00000000000..0ab330944b0 --- /dev/null +++ b/test/chunking-form/samples/circular-entry-points/_expected/amd/main1.js @@ -0,0 +1,9 @@ +define(['exports', './generated-main1'], function (exports, main2) { 'use strict'; + + + + exports.p = main2.p$1; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/circular-entry-points/_expected/amd/main2.js b/test/chunking-form/samples/circular-entry-points/_expected/amd/main2.js new file mode 100644 index 00000000000..31b181d41f3 --- /dev/null +++ b/test/chunking-form/samples/circular-entry-points/_expected/amd/main2.js @@ -0,0 +1,9 @@ +define(['exports', './generated-main1'], function (exports, main2) { 'use strict'; + + + + exports.p = main2.p; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/circular-entry-points/_expected/cjs/generated-main1.js b/test/chunking-form/samples/circular-entry-points/_expected/cjs/generated-main1.js new file mode 100644 index 00000000000..4a8867edea5 --- /dev/null +++ b/test/chunking-form/samples/circular-entry-points/_expected/cjs/generated-main1.js @@ -0,0 +1,24 @@ +'use strict'; + +class C { + fn (num) { + console.log(num - p$1); + } +} + +var p = 43; + +new C().fn(p); + +class C$1 { + fn (num) { + console.log(num - p); + } +} + +var p$1 = 42; + +new C$1().fn(p$1); + +exports.p = p; +exports.p$1 = p$1; diff --git a/test/chunking-form/samples/circular-entry-points/_expected/cjs/main1.js b/test/chunking-form/samples/circular-entry-points/_expected/cjs/main1.js new file mode 100644 index 00000000000..a5ec2910766 --- /dev/null +++ b/test/chunking-form/samples/circular-entry-points/_expected/cjs/main1.js @@ -0,0 +1,9 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var main2 = require('./generated-main1.js'); + + + +exports.p = main2.p$1; diff --git a/test/chunking-form/samples/circular-entry-points/_expected/cjs/main2.js b/test/chunking-form/samples/circular-entry-points/_expected/cjs/main2.js new file mode 100644 index 00000000000..0b9366cd0e2 --- /dev/null +++ b/test/chunking-form/samples/circular-entry-points/_expected/cjs/main2.js @@ -0,0 +1,9 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var main2 = require('./generated-main1.js'); + + + +exports.p = main2.p; diff --git a/test/chunking-form/samples/circular-entry-points/_expected/es/generated-main1.js b/test/chunking-form/samples/circular-entry-points/_expected/es/generated-main1.js new file mode 100644 index 00000000000..eec0c2fcd92 --- /dev/null +++ b/test/chunking-form/samples/circular-entry-points/_expected/es/generated-main1.js @@ -0,0 +1,21 @@ +class C { + fn (num) { + console.log(num - p$1); + } +} + +var p = 43; + +new C().fn(p); + +class C$1 { + fn (num) { + console.log(num - p); + } +} + +var p$1 = 42; + +new C$1().fn(p$1); + +export { p$1 as a, p }; diff --git a/test/chunking-form/samples/circular-entry-points/_expected/es/main1.js b/test/chunking-form/samples/circular-entry-points/_expected/es/main1.js new file mode 100644 index 00000000000..0a83cdd426e --- /dev/null +++ b/test/chunking-form/samples/circular-entry-points/_expected/es/main1.js @@ -0,0 +1 @@ +export { a as p } from './generated-main1.js'; diff --git a/test/chunking-form/samples/circular-entry-points/_expected/es/main2.js b/test/chunking-form/samples/circular-entry-points/_expected/es/main2.js new file mode 100644 index 00000000000..b1a60375e3b --- /dev/null +++ b/test/chunking-form/samples/circular-entry-points/_expected/es/main2.js @@ -0,0 +1 @@ +export { p } from './generated-main1.js'; diff --git a/test/chunking-form/samples/circular-entry-points/_expected/system/generated-main1.js b/test/chunking-form/samples/circular-entry-points/_expected/system/generated-main1.js new file mode 100644 index 00000000000..a0dad543e24 --- /dev/null +++ b/test/chunking-form/samples/circular-entry-points/_expected/system/generated-main1.js @@ -0,0 +1,28 @@ +System.register([], function (exports) { + 'use strict'; + return { + execute: function () { + + class C { + fn (num) { + console.log(num - p$1); + } + } + + var p = exports('p', 43); + + new C().fn(p); + + class C$1 { + fn (num) { + console.log(num - p); + } + } + + var p$1 = exports('a', 42); + + new C$1().fn(p$1); + + } + }; +}); diff --git a/test/chunking-form/samples/circular-entry-points/_expected/system/main1.js b/test/chunking-form/samples/circular-entry-points/_expected/system/main1.js new file mode 100644 index 00000000000..491c2be1e9f --- /dev/null +++ b/test/chunking-form/samples/circular-entry-points/_expected/system/main1.js @@ -0,0 +1,13 @@ +System.register(['./generated-main1.js'], function (exports) { + 'use strict'; + return { + setters: [function (module) { + exports('p', module.a); + }], + execute: function () { + + + + } + }; +}); diff --git a/test/chunking-form/samples/circular-entry-points/_expected/system/main2.js b/test/chunking-form/samples/circular-entry-points/_expected/system/main2.js new file mode 100644 index 00000000000..21397d608ec --- /dev/null +++ b/test/chunking-form/samples/circular-entry-points/_expected/system/main2.js @@ -0,0 +1,13 @@ +System.register(['./generated-main1.js'], function (exports) { + 'use strict'; + return { + setters: [function (module) { + exports('p', module.p); + }], + execute: function () { + + + + } + }; +}); diff --git a/test/chunking-form/samples/deduplicate-imports-referencing-originals-2/_config.js b/test/chunking-form/samples/deduplicate-imports-referencing-originals-2/_config.js index 272520b29e9..a393eccd704 100644 --- a/test/chunking-form/samples/deduplicate-imports-referencing-originals-2/_config.js +++ b/test/chunking-form/samples/deduplicate-imports-referencing-originals-2/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, // BROKEN description: 'do not import variables that reference an original if another variable referencing it is already imported', options: { diff --git a/test/chunking-form/samples/deduplicate-imports-referencing-originals/_config.js b/test/chunking-form/samples/deduplicate-imports-referencing-originals/_config.js index 875aefa7484..8bf09102383 100644 --- a/test/chunking-form/samples/deduplicate-imports-referencing-originals/_config.js +++ b/test/chunking-form/samples/deduplicate-imports-referencing-originals/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, // BROKEN description: 'do not import variables that reference an original if the original is already imported', options: { diff --git a/test/chunking-form/samples/default-export-name-conflict/_config.js b/test/chunking-form/samples/default-export-name-conflict/_config.js index f6aea3c9ced..958b2db90bb 100644 --- a/test/chunking-form/samples/default-export-name-conflict/_config.js +++ b/test/chunking-form/samples/default-export-name-conflict/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, // BROKEN description: 'does not produce name conflicts when reexporting via default exports', options: { input: ['main1', 'main2'] diff --git a/test/chunking-form/samples/dynamic-import-chained/_config.js b/test/chunking-form/samples/dynamic-import-chained/_config.js index 976c2e6d920..31a03c704ee 100644 --- a/test/chunking-form/samples/dynamic-import-chained/_config.js +++ b/test/chunking-form/samples/dynamic-import-chained/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, description: 'includes chained dynamic imports', options: { input: 'main.js' diff --git a/test/chunking-form/samples/dynamic-import-facade/_config.js b/test/chunking-form/samples/dynamic-import-facade/_config.js index 18ad78aa3fb..62db88c24ef 100644 --- a/test/chunking-form/samples/dynamic-import-facade/_config.js +++ b/test/chunking-form/samples/dynamic-import-facade/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, description: 'makes sure dynamic chunks are not tainted', options: { input: ['main1.js', 'main2.js'] diff --git a/test/chunking-form/samples/dynamic-import-inline-colouring/_config.js b/test/chunking-form/samples/dynamic-import-inline-colouring/_config.js index 2ea2a0138b9..b5769882caf 100644 --- a/test/chunking-form/samples/dynamic-import-inline-colouring/_config.js +++ b/test/chunking-form/samples/dynamic-import-inline-colouring/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, description: 'Handle dynamic imports that are part of a static graph', options: { input: ['main1.js', 'main2.js'] diff --git a/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js b/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js index 7b9cee9238a..2da1b771499 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported-2/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, description: 'handles dynamic imports of previously statically imported chunks that are also dynamically imported by other chunks', options: { diff --git a/test/chunking-form/samples/dynamic-import-statically-imported/_config.js b/test/chunking-form/samples/dynamic-import-statically-imported/_config.js index e0b6691e83e..4fd6f721ac4 100644 --- a/test/chunking-form/samples/dynamic-import-statically-imported/_config.js +++ b/test/chunking-form/samples/dynamic-import-statically-imported/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, description: 'handles dynamic imports of previously statically imported chunks', options: { input: ['main.js'] diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_config.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_config.js index abad92080cc..391c8457fbc 100644 --- a/test/chunking-form/samples/emit-file/emit-chunk-filename/_config.js +++ b/test/chunking-form/samples/emit-file/emit-chunk-filename/_config.js @@ -17,11 +17,10 @@ module.exports = { assert.strictEqual(this.getFileName(referenceId), 'custom/build-start-chunk.js'); }, generateBundle(options, bundle) { - assert.deepStrictEqual(Object.keys(bundle).map(key => bundle[key].name), [ - 'build-start-chunk', - 'main', - 'dep' - ]); + assert.deepStrictEqual( + Object.keys(bundle).map(key => bundle[key].name), + ['build-start-chunk', 'main', 'buildStart'] + ); } } } diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/custom/build-start-chunk.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/custom/build-start-chunk.js new file mode 100644 index 00000000000..24c734da490 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/custom/build-start-chunk.js @@ -0,0 +1,9 @@ +define(['exports', '../generated-buildStart'], function (exports, buildStart) { 'use strict'; + + + + exports.id = buildStart.id; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/generated-buildStart.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/generated-buildStart.js new file mode 100644 index 00000000000..7b9e28ac4ab --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/generated-buildStart.js @@ -0,0 +1,11 @@ +define(['exports'], function (exports) { 'use strict'; + + var value = 42; + + const id = 'startBuild'; + console.log(id, value); + + exports.id = id; + exports.value = value; + +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/main.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/main.js new file mode 100644 index 00000000000..985270c09e1 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/amd/main.js @@ -0,0 +1,7 @@ +define(['./generated-buildStart'], function (buildStart) { 'use strict'; + + console.log(buildStart.id); + + console.log('main', buildStart.value); + +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/custom/build-start-chunk.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/custom/build-start-chunk.js new file mode 100644 index 00000000000..6aaa72e953f --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/custom/build-start-chunk.js @@ -0,0 +1,9 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var buildStart = require('../generated-buildStart.js'); + + + +exports.id = buildStart.id; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/generated-buildStart.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/generated-buildStart.js new file mode 100644 index 00000000000..162e5866104 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/generated-buildStart.js @@ -0,0 +1,9 @@ +'use strict'; + +var value = 42; + +const id = 'startBuild'; +console.log(id, value); + +exports.id = id; +exports.value = value; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/main.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/main.js new file mode 100644 index 00000000000..3359c26be41 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/cjs/main.js @@ -0,0 +1,7 @@ +'use strict'; + +var buildStart = require('./generated-buildStart.js'); + +console.log(buildStart.id); + +console.log('main', buildStart.value); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/custom/build-start-chunk.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/custom/build-start-chunk.js new file mode 100644 index 00000000000..250fef22b3a --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/custom/build-start-chunk.js @@ -0,0 +1 @@ +export { i as id } from '../generated-buildStart.js'; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/generated-buildStart.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/generated-buildStart.js new file mode 100644 index 00000000000..fcd74603b9a --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/generated-buildStart.js @@ -0,0 +1,6 @@ +var value = 42; + +const id = 'startBuild'; +console.log(id, value); + +export { id as i, value as v }; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/main.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/main.js new file mode 100644 index 00000000000..b1094dbbac5 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/es/main.js @@ -0,0 +1,5 @@ +import { i as id, v as value } from './generated-buildStart.js'; + +console.log(id); + +console.log('main', value); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/custom/build-start-chunk.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/custom/build-start-chunk.js new file mode 100644 index 00000000000..e37489b03c5 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/custom/build-start-chunk.js @@ -0,0 +1,13 @@ +System.register(['../generated-buildStart.js'], function (exports) { + 'use strict'; + return { + setters: [function (module) { + exports('id', module.i); + }], + execute: function () { + + + + } + }; +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/generated-buildStart.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/generated-buildStart.js new file mode 100644 index 00000000000..491bec60fad --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/generated-buildStart.js @@ -0,0 +1,13 @@ +System.register([], function (exports) { + 'use strict'; + return { + execute: function () { + + var value = exports('v', 42); + + const id = exports('i', 'startBuild'); + console.log(id, value); + + } + }; +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/main.js b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/main.js new file mode 100644 index 00000000000..55cc8972780 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-filename/_expected/system/main.js @@ -0,0 +1,17 @@ +System.register(['./generated-buildStart.js'], function () { + 'use strict'; + var id, value; + return { + setters: [function (module) { + id = module.i; + value = module.v; + }], + execute: function () { + + console.log(id); + + console.log('main', value); + + } + }; +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_config.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_config.js index fe0b8bdeb0c..b703d91d0bf 100644 --- a/test/chunking-form/samples/emit-file/emit-chunk-order1/_config.js +++ b/test/chunking-form/samples/emit-file/emit-chunk-order1/_config.js @@ -28,7 +28,7 @@ console.log(id, value); generateBundle(options, bundle) { assert.deepStrictEqual( Object.keys(bundle).map(key => bundle[key].name), - ['main', 'dep', 'emitted'] + ['main', 'emitted', 'emitted'] ); } } diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-emitted.js new file mode 100644 index 00000000000..17272f4c92f --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-emitted.js @@ -0,0 +1,11 @@ +define(['exports'], function (exports) { 'use strict'; + + var value = 42; + + const id = 'emitted'; + console.log(id, value); + + exports.id = id; + exports.value = value; + +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-emitted2.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-emitted2.js new file mode 100644 index 00000000000..12e48a162a9 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/generated-emitted2.js @@ -0,0 +1,9 @@ +define(['exports', './generated-emitted'], function (exports, emitted) { 'use strict'; + + + + exports.id = emitted.id; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/main.js new file mode 100644 index 00000000000..b2733720024 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/amd/main.js @@ -0,0 +1,7 @@ +define(['./generated-emitted'], function (emitted) { 'use strict'; + + console.log(emitted.id); + + console.log('main', emitted.value); + +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-emitted.js new file mode 100644 index 00000000000..4d26cce8d2b --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-emitted.js @@ -0,0 +1,9 @@ +'use strict'; + +var value = 42; + +const id = 'emitted'; +console.log(id, value); + +exports.id = id; +exports.value = value; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-emitted2.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-emitted2.js new file mode 100644 index 00000000000..cea7e87b55c --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/generated-emitted2.js @@ -0,0 +1,9 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var emitted = require('./generated-emitted.js'); + + + +exports.id = emitted.id; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/main.js new file mode 100644 index 00000000000..32c995a2c38 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/cjs/main.js @@ -0,0 +1,7 @@ +'use strict'; + +var emitted = require('./generated-emitted.js'); + +console.log(emitted.id); + +console.log('main', emitted.value); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-emitted.js new file mode 100644 index 00000000000..3e476543cad --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-emitted.js @@ -0,0 +1,6 @@ +var value = 42; + +const id = 'emitted'; +console.log(id, value); + +export { id as i, value as v }; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-emitted2.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-emitted2.js new file mode 100644 index 00000000000..d2169e58fbe --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/generated-emitted2.js @@ -0,0 +1 @@ +export { i as id } from './generated-emitted.js'; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/main.js new file mode 100644 index 00000000000..791a7c2c665 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/es/main.js @@ -0,0 +1,5 @@ +import { i as id, v as value } from './generated-emitted.js'; + +console.log(id); + +console.log('main', value); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-emitted.js new file mode 100644 index 00000000000..8b1783315ca --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-emitted.js @@ -0,0 +1,13 @@ +System.register([], function (exports) { + 'use strict'; + return { + execute: function () { + + var value = exports('v', 42); + + const id = exports('i', 'emitted'); + console.log(id, value); + + } + }; +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-emitted2.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-emitted2.js new file mode 100644 index 00000000000..aca4a34d706 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/generated-emitted2.js @@ -0,0 +1,13 @@ +System.register(['./generated-emitted.js'], function (exports) { + 'use strict'; + return { + setters: [function (module) { + exports('id', module.i); + }], + execute: function () { + + + + } + }; +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/main.js new file mode 100644 index 00000000000..b66e323577b --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order1/_expected/system/main.js @@ -0,0 +1,17 @@ +System.register(['./generated-emitted.js'], function () { + 'use strict'; + var id, value; + return { + setters: [function (module) { + id = module.i; + value = module.v; + }], + execute: function () { + + console.log(id); + + console.log('main', value); + + } + }; +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_config.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_config.js index 54005480cc6..4f5333bb654 100644 --- a/test/chunking-form/samples/emit-file/emit-chunk-order2/_config.js +++ b/test/chunking-form/samples/emit-file/emit-chunk-order2/_config.js @@ -34,7 +34,7 @@ console.log(id, value); generateBundle(options, bundle) { assert.deepStrictEqual( Object.keys(bundle).map(key => bundle[key].name), - ['main', 'dep', 'emitted'] + ['main', 'emitted', 'emitted'] ); } } diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-emitted.js new file mode 100644 index 00000000000..17272f4c92f --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-emitted.js @@ -0,0 +1,11 @@ +define(['exports'], function (exports) { 'use strict'; + + var value = 42; + + const id = 'emitted'; + console.log(id, value); + + exports.id = id; + exports.value = value; + +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-emitted2.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-emitted2.js new file mode 100644 index 00000000000..12e48a162a9 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/generated-emitted2.js @@ -0,0 +1,9 @@ +define(['exports', './generated-emitted'], function (exports, emitted) { 'use strict'; + + + + exports.id = emitted.id; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/main.js new file mode 100644 index 00000000000..b2733720024 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/amd/main.js @@ -0,0 +1,7 @@ +define(['./generated-emitted'], function (emitted) { 'use strict'; + + console.log(emitted.id); + + console.log('main', emitted.value); + +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-emitted.js new file mode 100644 index 00000000000..4d26cce8d2b --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-emitted.js @@ -0,0 +1,9 @@ +'use strict'; + +var value = 42; + +const id = 'emitted'; +console.log(id, value); + +exports.id = id; +exports.value = value; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-emitted2.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-emitted2.js new file mode 100644 index 00000000000..cea7e87b55c --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/generated-emitted2.js @@ -0,0 +1,9 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var emitted = require('./generated-emitted.js'); + + + +exports.id = emitted.id; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/main.js new file mode 100644 index 00000000000..32c995a2c38 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/cjs/main.js @@ -0,0 +1,7 @@ +'use strict'; + +var emitted = require('./generated-emitted.js'); + +console.log(emitted.id); + +console.log('main', emitted.value); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-emitted.js new file mode 100644 index 00000000000..3e476543cad --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-emitted.js @@ -0,0 +1,6 @@ +var value = 42; + +const id = 'emitted'; +console.log(id, value); + +export { id as i, value as v }; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-emitted2.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-emitted2.js new file mode 100644 index 00000000000..d2169e58fbe --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/generated-emitted2.js @@ -0,0 +1 @@ +export { i as id } from './generated-emitted.js'; diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/main.js new file mode 100644 index 00000000000..791a7c2c665 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/es/main.js @@ -0,0 +1,5 @@ +import { i as id, v as value } from './generated-emitted.js'; + +console.log(id); + +console.log('main', value); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-emitted.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-emitted.js new file mode 100644 index 00000000000..8b1783315ca --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-emitted.js @@ -0,0 +1,13 @@ +System.register([], function (exports) { + 'use strict'; + return { + execute: function () { + + var value = exports('v', 42); + + const id = exports('i', 'emitted'); + console.log(id, value); + + } + }; +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-emitted2.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-emitted2.js new file mode 100644 index 00000000000..aca4a34d706 --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/generated-emitted2.js @@ -0,0 +1,13 @@ +System.register(['./generated-emitted.js'], function (exports) { + 'use strict'; + return { + setters: [function (module) { + exports('id', module.i); + }], + execute: function () { + + + + } + }; +}); diff --git a/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/main.js b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/main.js new file mode 100644 index 00000000000..b66e323577b --- /dev/null +++ b/test/chunking-form/samples/emit-file/emit-chunk-order2/_expected/system/main.js @@ -0,0 +1,17 @@ +System.register(['./generated-emitted.js'], function () { + 'use strict'; + var id, value; + return { + setters: [function (module) { + id = module.i; + value = module.v; + }], + execute: function () { + + console.log(id); + + console.log('main', value); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_config.js new file mode 100644 index 00000000000..335fd69cc53 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_config.js @@ -0,0 +1,6 @@ +module.exports = { + description: 'chained dynamic import that imports something already loaded', + options: { + input: ['main'] + } +}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/amd/generated-dynamic1.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-dynamic1.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/amd/generated-dynamic1.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/amd/generated-dynamic2.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-dynamic2.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/amd/generated-dynamic2.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-main.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/amd/generated-main.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/generated-main.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/amd/generated-main.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/main.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/amd/main.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/amd/main.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/amd/main.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/cjs/generated-dynamic1.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-dynamic1.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/cjs/generated-dynamic1.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/cjs/generated-dynamic2.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-dynamic2.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/cjs/generated-dynamic2.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-main.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/cjs/generated-main.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/generated-main.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/cjs/generated-main.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/main.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/cjs/main.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/cjs/main.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/cjs/main.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/es/generated-dynamic1.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-dynamic1.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/es/generated-dynamic1.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/es/generated-dynamic2.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-dynamic2.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/es/generated-dynamic2.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-main.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/es/generated-main.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/generated-main.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/es/generated-main.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/main.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/es/main.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/es/main.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/es/main.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/system/generated-dynamic1.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-dynamic1.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/system/generated-dynamic1.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/system/generated-dynamic2.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-dynamic2.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/system/generated-dynamic2.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-main.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/system/generated-main.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/generated-main.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/system/generated-main.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/main.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/system/main.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/_expected/system/main.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_expected/system/main.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/dynamic1.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/dynamic1.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/dynamic1.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/dynamic2.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/dynamic2.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/dynamic2.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/main.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/main.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/main.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/main.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/shared.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/shared.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/something/shared.js rename to test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/shared.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_config.js new file mode 100644 index 00000000000..d66b4846f1e --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_config.js @@ -0,0 +1,6 @@ +module.exports = { + description: 'keeps chunks separate when in memory for all dynamic imports', + options: { + input: ['main1', 'main2', 'main3'] + } +}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-dep.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/amd/generated-dep.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-dep.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/amd/generated-dep.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/amd/generated-dynamic.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-dynamic.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/amd/generated-dynamic.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-shared.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/amd/generated-shared.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/generated-shared.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/amd/generated-shared.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/amd/main1.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main1.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/amd/main1.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/amd/main2.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main2.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/amd/main2.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main3.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/amd/main3.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/amd/main3.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/amd/main3.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-dep.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/cjs/generated-dep.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-dep.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/cjs/generated-dep.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/cjs/generated-dynamic.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-dynamic.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/cjs/generated-dynamic.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-shared.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/cjs/generated-shared.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/generated-shared.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/cjs/generated-shared.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/cjs/main1.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main1.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/cjs/main1.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/cjs/main2.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main2.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/cjs/main2.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main3.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/cjs/main3.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/cjs/main3.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/cjs/main3.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dep.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/es/generated-dep.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dep.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/es/generated-dep.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/es/generated-dynamic.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-dynamic.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/es/generated-dynamic.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-shared.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/es/generated-shared.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/generated-shared.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/es/generated-shared.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/es/main1.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main1.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/es/main1.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/es/main2.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main2.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/es/main2.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main3.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/es/main3.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/es/main3.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/es/main3.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-dep.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/system/generated-dep.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-dep.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/system/generated-dep.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/system/generated-dynamic.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-dynamic.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/system/generated-dynamic.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-shared.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/system/generated-shared.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/generated-shared.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/system/generated-shared.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/system/main1.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main1.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/system/main1.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/system/main2.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main2.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/system/main2.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main3.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/system/main3.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_expected/system/main3.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_expected/system/main3.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/dep.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/dep.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/dep.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/dep.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/dynamic.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/dynamic.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/dynamic.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/main1.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main1.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/main1.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/main2.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main2.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/main2.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main3.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/main3.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/main3.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/main3.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/shared.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/shared.js similarity index 100% rename from test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/shared.js rename to test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/shared.js diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js index fc14f46c39a..fd9e687a29a 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, description: 'avoids chunks for always loaded dependencies if multiple entry points with different dependencies have dynamic imports', options: { diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js index f36ffba2ce5..5411a5236e1 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/amd/main2.js @@ -1,6 +1,5 @@ define(['require', 'exports', './generated-dep2'], function (require, exports, dep2) { 'use strict'; - // doesn't import value1, so we can't have also loaded value1? console.log('main2', dep2.value2); new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js index 386c18a62c6..0d4c779ab91 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/cjs/main2.js @@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true }); var dep2 = require('./generated-dep2.js'); -// doesn't import value1, so we can't have also loaded value1? console.log('main2', dep2.value2); new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main2.js index 2049a1a3caf..eac967da533 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main2.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/es/main2.js @@ -1,6 +1,5 @@ import { v as value2 } from './generated-dep2.js'; export { v as value2 } from './generated-dep2.js'; -// doesn't import value1, so we can't have also loaded value1? console.log('main2', value2); import('./generated-dynamic.js'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js index 5616d7040f9..528d214357c 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/_expected/system/main2.js @@ -8,7 +8,6 @@ System.register(['./generated-dep2.js'], function (exports, module) { }], execute: function () { - // doesn't import value1, so we can't have also loaded value1? console.log('main2', value2); module.import('./generated-dynamic.js'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main2.js index 05bf0800418..6f69e7f7fde 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main2.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-dependencies/main2.js @@ -1,5 +1,4 @@ import { value2 } from './dep2.js'; -// doesn't import value1, so we can't have also loaded value1? console.log('main2', value2); import('./dynamic.js'); export { value2 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_config.js index fc14f46c39a..fd9e687a29a 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-partly-already-loaded-dynamic/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, description: 'avoids chunks for always loaded dependencies if multiple entry points with different dependencies have dynamic imports', options: { diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_config.js deleted file mode 100644 index d9932f584b0..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import-2/_config.js +++ /dev/null @@ -1,11 +0,0 @@ -// TODO the result from this one doesn't seem right -// why `import './generated-dep.js';`? - -module.exports = { - // solo: true, - description: - 'avoids chunks for always loaded dependencies if multiple entry points with different dependencies have dynamic imports', - options: { - input: ['main1', 'main2', 'main3'] - } -}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_config.js index fc14f46c39a..fd9e687a29a 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-shared-static-with-dynamic-import/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, description: 'avoids chunks for always loaded dependencies if multiple entry points with different dependencies have dynamic imports', options: { diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_config.js index 5ac2f518153..03f32f46185 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic-multiple-imports/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, description: 'does not create a separate chunk if a dynamically imported chunk shares a dependency with its importer, and dynamic chunk imported from multiple places' }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js index 9dac3adf360..4ca923a9bb0 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/single-dynamic/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, description: 'does not create a separate chunk if a dynamically imported chunk shares a dependency with its importer' }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/something/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/something/_config.js deleted file mode 100644 index 9489d59961e..00000000000 --- a/test/chunking-form/samples/improved-dynamic-chunks/something/_config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - // solo: true, - description: 'multiple layers dynamic', - options: { - input: ['main'] - } -}; diff --git a/test/chunking-form/samples/manual-chunk-avoid-facade/_config.js b/test/chunking-form/samples/manual-chunk-avoid-facade/_config.js index 242692afbf4..3872987a3f1 100644 --- a/test/chunking-form/samples/manual-chunk-avoid-facade/_config.js +++ b/test/chunking-form/samples/manual-chunk-avoid-facade/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, description: 'avoid facades if possible when using manual chunks', options: { input: ['main1', 'main2'], diff --git a/test/chunking-form/samples/manual-chunks/_config.js b/test/chunking-form/samples/manual-chunks/_config.js index d5066726244..db37984cc08 100644 --- a/test/chunking-form/samples/manual-chunks/_config.js +++ b/test/chunking-form/samples/manual-chunks/_config.js @@ -1,5 +1,4 @@ module.exports = { - // solo: true, description: 'manual chunks support', options: { input: ['main.js'], diff --git a/test/hooks/index.js b/test/hooks/index.js index cf7faefd37a..719b6a128ed 100644 --- a/test/hooks/index.js +++ b/test/hooks/index.js @@ -914,7 +914,7 @@ describe('hooks', () => { return new Promise((resolve, reject) => { watcher.on('event', event => { if (event.code === 'BUNDLE_END') resolve(); - else if (event.code === 'ERROR' || event.code === 'FATAL') reject(event.error); + else if (event.code === 'ERROR') reject(event.error); }); }).catch(err => { assert.strictEqual( @@ -1037,19 +1037,19 @@ describe('hooks', () => { modules: ['input'] }, { - fileName: 'generated-b.js', - imports: [], - modules: ['d', 'c', 'a', 'b'] + fileName: 'generated-a.js', + imports: ['generated-c.js'], + modules: ['d', 'a'] }, { - fileName: 'generated-a.js', - imports: ['generated-b.js'], - modules: [] + fileName: 'generated-c.js', + imports: [], + modules: ['c'] }, { - fileName: 'generated-b2.js', - imports: ['generated-b.js'], - modules: [] + fileName: 'generated-b.js', + imports: ['generated-c.js'], + modules: ['b'] } ]); }); From 317cc6954ee29ad333d55fd65cf5e791ba6e61c1 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sat, 18 Jan 2020 20:51:43 +0000 Subject: [PATCH 40/47] tidy up --- src/utils/chunkColouring.ts | 34 +++++++++++++++++++--------------- src/utils/entryHashing.ts | 10 +++++----- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 37b1b6f9739..c72cdb96267 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -30,11 +30,15 @@ export function assignChunkColouringHashes( trail: [] })); - function registerNewEntryPoint(module: Module, trail: Module[], paint: Uint8Array): void { + function registerNewEntryPoint(module: Module, trail: Module[], isolated: boolean): void { + if (!trail.length) { + throw new Error('There must be an importer.'); + } const alreadySeen = trail.includes(module) || entryModules.some(entry => entry.rootModule === module && arraysEqual(entry.trail, trail)); if (!alreadySeen) { + const paint = isolated ? randomColour() : trail[trail.length - 1].entryPointsHash; entryModules.push({ paint, rootModule: module, @@ -44,6 +48,7 @@ export function assignChunkColouringHashes( } function _paintModule(rootModule: Module, trail: Module[], paint: Uint8Array): void { + // everything this point downwards with this colour should be painted const sourceColour = cloneUint8Array(rootModule.entryPointsHash); function process(module: Module, trail: Module[]): void { @@ -52,17 +57,19 @@ export function assignChunkColouringHashes( return; } - // TODO uncommenting fixes circular-entry-points but breaks others - // if (module !== rootModule && entryModules.some(a => a.rootModule === module)) { - // return; - // } + if ( + !module.manualChunkAlias && + colouredModules.has(module) && + trailContainsColour(trail, module.entryPointsHash) + ) { + // this module is already in memory + return; + } - if (!module.manualChunkAlias && trailContainsColour(trail, module.entryPointsHash)) { - // - } else if ( + if ( module.manualChunkAlias || - (!trailContainsColour(trail, module.entryPointsHash) && - Uint8ArrayEqual(module.entryPointsHash, sourceColour)) + module === rootModule || + Uint8ArrayEqual(module.entryPointsHash, sourceColour) ) { Uint8ArrayXor(module.entryPointsHash, paint); colouredModules.add(module); @@ -79,17 +86,14 @@ export function assignChunkColouringHashes( for (const { resolution } of module.dynamicImports) { if ( resolution instanceof Module && - // TODO why this check? resolution.dynamicallyImportedBy.length > 0 && !resolution.manualChunkAlias ) { - // registerNewEntryPoint(resolution, [...trail, module], module.entryPointsHash); - registerNewEntryPoint(resolution, [...trail, module], randomColour()); + registerNewEntryPoint(resolution, [...trail, module], true); } } } else { - // TODO out of bounds? - registerNewEntryPoint(module, trail, trail[trail.length - 1].entryPointsHash); + registerNewEntryPoint(module, trail, false); } } diff --git a/src/utils/entryHashing.ts b/src/utils/entryHashing.ts index 4f84685d544..cea2ffe81a4 100644 --- a/src/utils/entryHashing.ts +++ b/src/utils/entryHashing.ts @@ -1,12 +1,12 @@ const CHAR_CODE_A = 97; const CHAR_CODE_0 = 48; -function intToHex(num: number) { +function intToHex(num: number): string { if (num < 10) return String.fromCharCode(CHAR_CODE_0 + num); else return String.fromCharCode(CHAR_CODE_A + (num - 10)); } -export function Uint8ArrayToHexString(buffer: Uint8Array) { +export function Uint8ArrayToHexString(buffer: Uint8Array): string { let str = ''; // hex conversion - 2 chars per 8 bit component for (let i = 0; i < buffer.length; i++) { @@ -18,7 +18,7 @@ export function Uint8ArrayToHexString(buffer: Uint8Array) { return str; } -export function randomUint8Array(len: number) { +export function randomUint8Array(len: number): Uint8Array { const buffer = new Uint8Array(len); for (let i = 0; i < buffer.length; i++) buffer[i] = Math.random() * (2 << 8); return buffer; @@ -38,7 +38,7 @@ export function Uint8ArrayXor(to: Uint8Array, from: Uint8Array): Uint8Array { return to; } -export function Uint8ArrayEqual(bufferA: Uint8Array, bufferB: Uint8Array) { +export function Uint8ArrayEqual(bufferA: Uint8Array, bufferB: Uint8Array): boolean { if (bufferA.length !== bufferB.length) { return false; } @@ -48,6 +48,6 @@ export function Uint8ArrayEqual(bufferA: Uint8Array, bufferB: Uint8Array) { return true; } -export function randomHexString(len: number) { +export function randomHexString(len: number): string { return Uint8ArrayToHexString(randomUint8Array(Math.floor(len / 2))); } From 5230071cbb5aaefa46805322414eb3e3ede2564f Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 19 Jan 2020 11:34:48 +0000 Subject: [PATCH 41/47] fix test description --- .../improved-dynamic-chunks/dynamic-not-in-memory/_config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_config.js index d66b4846f1e..8d679763598 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-not-in-memory/_config.js @@ -1,5 +1,5 @@ module.exports = { - description: 'keeps chunks separate when in memory for all dynamic imports', + description: 'keeps chunks separate when not in memory for all dynamic imports', options: { input: ['main1', 'main2', 'main3'] } From 7e94887ab4b4772bdb8bfa574a35bedf9bd5ab9c Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 19 Jan 2020 11:52:09 +0000 Subject: [PATCH 42/47] remove unneeded options --- .../chained-dynamic-with-shared/_config.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_config.js index 335fd69cc53..ba9c4c3c981 100644 --- a/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_config.js +++ b/test/chunking-form/samples/improved-dynamic-chunks/chained-dynamic-with-shared/_config.js @@ -1,6 +1,3 @@ module.exports = { - description: 'chained dynamic import that imports something already loaded', - options: { - input: ['main'] - } + description: 'chained dynamic import that imports something already loaded' }; From 4ac0406adef21729bf3ce67fb1e4f01ab146fff0 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 19 Jan 2020 13:20:31 +0000 Subject: [PATCH 43/47] no need for _ --- src/utils/chunkColouring.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index c72cdb96267..244b0f45153 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -47,7 +47,7 @@ export function assignChunkColouringHashes( } } - function _paintModule(rootModule: Module, trail: Module[], paint: Uint8Array): void { + function paintModule(rootModule: Module, trail: Module[], paint: Uint8Array): void { // everything this point downwards with this colour should be painted const sourceColour = cloneUint8Array(rootModule.entryPointsHash); @@ -102,7 +102,7 @@ export function assignChunkColouringHashes( for (let i = 0; i < entryModules.length /* updates */; i++) { const { paint, rootModule, trail } = entryModules[i]; - _paintModule(rootModule, trail, paint); + paintModule(rootModule, trail, paint); } } From b19ef0d6427e8792750a4199970681b4ee51a2da Mon Sep 17 00:00:00 2001 From: Lukas Taegert-Atkinson Date: Wed, 22 Jan 2020 08:14:11 +0100 Subject: [PATCH 44/47] Add test case when multiple entry points have a shared dependency that is not shared by the dynamic import --- LICENSE.md | 12 +++++----- .../_config.js | 7 ++++++ .../_expected/amd/generated-dynamic.js | 8 +++++++ .../amd/generated-from-main-1-and-2.js | 10 ++++++++ .../amd/generated-from-main-1-and-dynamic.js | 7 ++++++ .../_expected/amd/main1.js | 12 ++++++++++ .../_expected/amd/main2.js | 11 +++++++++ .../_expected/cjs/generated-dynamic.js | 9 ++++++++ .../cjs/generated-from-main-1-and-2.js | 8 +++++++ .../cjs/generated-from-main-1-and-dynamic.js | 5 ++++ .../_expected/cjs/main1.js | 13 +++++++++++ .../_expected/cjs/main2.js | 11 +++++++++ .../_expected/es/generated-dynamic.js | 6 +++++ .../es/generated-from-main-1-and-2.js | 5 ++++ .../es/generated-from-main-1-and-dynamic.js | 3 +++ .../_expected/es/main1.js | 7 ++++++ .../_expected/es/main2.js | 5 ++++ .../_expected/system/generated-dynamic.js | 18 +++++++++++++++ .../system/generated-from-main-1-and-2.js | 12 ++++++++++ .../generated-from-main-1-and-dynamic.js | 10 ++++++++ .../_expected/system/main1.js | 23 +++++++++++++++++++ .../_expected/system/main2.js | 20 ++++++++++++++++ .../dynamic.js | 4 ++++ .../from-all.js | 1 + .../from-main-1-and-2.js | 1 + .../from-main-1-and-dynamic.js | 1 + .../main1.js | 6 +++++ .../main2.js | 5 ++++ 28 files changed, 234 insertions(+), 6 deletions(-) create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_config.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/generated-from-main-1-and-2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/generated-from-main-1-and-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/generated-from-main-1-and-2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/generated-from-main-1-and-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/generated-from-main-1-and-2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/generated-from-main-1-and-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/generated-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/generated-from-main-1-and-2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/generated-from-main-1-and-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/main2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/from-all.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/from-main-1-and-2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/from-main-1-and-dynamic.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/main1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/main2.js diff --git a/LICENSE.md b/LICENSE.md index 71f3c3ec4fa..993c1034873 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -112,7 +112,7 @@ Repository: https://github.com/acornjs/acorn.git ## braces License: MIT By: Jon Schlinkert, Brian Woodward, Elan Shanker, Eugene Sharygin, hemanth.hm -Repository: git+https://github.com/micromatch/braces.git +Repository: micromatch/braces > The MIT License (MIT) > @@ -148,7 +148,7 @@ Repository: sindresorhus/date-time ## fill-range License: MIT By: Jon Schlinkert, Edo Rivai, Paul Miller, Rouven Weßling -Repository: git+https://github.com/jonschlinkert/fill-range.git +Repository: jonschlinkert/fill-range > The MIT License (MIT) > @@ -206,7 +206,7 @@ Repository: git://github.com/isaacs/inherits ## is-number License: MIT By: Jon Schlinkert, Olsten Larck, Rouven Weßling -Repository: git+https://github.com/jonschlinkert/is-number.git +Repository: jonschlinkert/is-number > The MIT License (MIT) > @@ -249,7 +249,7 @@ Repository: Rich-Harris/locate-character ## magic-string License: MIT By: Rich Harris -Repository: git+https://github.com/rich-harris/magic-string.git +Repository: https://github.com/rich-harris/magic-string > Copyright 2018 Rich Harris > @@ -427,7 +427,7 @@ Repository: https://github.com/tapjs/signal-exit.git ## sourcemap-codec License: MIT By: Rich Harris -Repository: git+https://github.com/Rich-Harris/sourcemap-codec.git +Repository: https://github.com/Rich-Harris/sourcemap-codec > The MIT License > @@ -463,7 +463,7 @@ Repository: sindresorhus/time-zone ## to-regex-range License: MIT By: Jon Schlinkert, Rouven Weßling -Repository: git+https://github.com/micromatch/to-regex-range.git +Repository: micromatch/to-regex-range > The MIT License (MIT) > diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_config.js new file mode 100644 index 00000000000..fd9e687a29a --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_config.js @@ -0,0 +1,7 @@ +module.exports = { + description: + 'avoids chunks for always loaded dependencies if multiple entry points with different dependencies have dynamic imports', + options: { + input: ['main1', 'main2'] + } +}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/generated-dynamic.js new file mode 100644 index 00000000000..10daf999052 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/generated-dynamic.js @@ -0,0 +1,8 @@ +define(['exports', './generated-from-main-1-and-dynamic', './generated-from-main-1-and-2'], function (exports, fromMain1AndDynamic, fromMain1And2) { 'use strict'; + + console.log('dynamic1', fromMain1AndDynamic.value1, fromMain1And2.value2); + + exports.value1 = fromMain1AndDynamic.value1; + exports.value2 = fromMain1And2.value2; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/generated-from-main-1-and-2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/generated-from-main-1-and-2.js new file mode 100644 index 00000000000..bd61814cfd4 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/generated-from-main-1-and-2.js @@ -0,0 +1,10 @@ +define(['exports'], function (exports) { 'use strict'; + + const value2 = 'all'; + + const value3 = 'main1 and main2'; + + exports.value2 = value2; + exports.value3 = value3; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/generated-from-main-1-and-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/generated-from-main-1-and-dynamic.js new file mode 100644 index 00000000000..003c64a967f --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/generated-from-main-1-and-dynamic.js @@ -0,0 +1,7 @@ +define(['exports'], function (exports) { 'use strict'; + + const value1 = 'main1 and dynamic'; + + exports.value1 = value1; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/main1.js new file mode 100644 index 00000000000..eac3239623d --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/main1.js @@ -0,0 +1,12 @@ +define(['require', 'exports', './generated-from-main-1-and-dynamic', './generated-from-main-1-and-2'], function (require, exports, fromMain1AndDynamic, fromMain1And2) { 'use strict'; + + console.log('main1', fromMain1AndDynamic.value1, fromMain1And2.value2, fromMain1And2.value3); + new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); + + exports.value1 = fromMain1AndDynamic.value1; + exports.value2 = fromMain1And2.value2; + exports.value3 = fromMain1And2.value3; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/main2.js new file mode 100644 index 00000000000..5a746a349a7 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/amd/main2.js @@ -0,0 +1,11 @@ +define(['require', 'exports', './generated-from-main-1-and-2'], function (require, exports, fromMain1And2) { 'use strict'; + + console.log('main2', fromMain1And2.value2, fromMain1And2.value3); + new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }); + + exports.value2 = fromMain1And2.value2; + exports.value3 = fromMain1And2.value3; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/generated-dynamic.js new file mode 100644 index 00000000000..bf960045a98 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/generated-dynamic.js @@ -0,0 +1,9 @@ +'use strict'; + +var fromMain1AndDynamic = require('./generated-from-main-1-and-dynamic.js'); +var fromMain1And2 = require('./generated-from-main-1-and-2.js'); + +console.log('dynamic1', fromMain1AndDynamic.value1, fromMain1And2.value2); + +exports.value1 = fromMain1AndDynamic.value1; +exports.value2 = fromMain1And2.value2; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/generated-from-main-1-and-2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/generated-from-main-1-and-2.js new file mode 100644 index 00000000000..84851ba695d --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/generated-from-main-1-and-2.js @@ -0,0 +1,8 @@ +'use strict'; + +const value2 = 'all'; + +const value3 = 'main1 and main2'; + +exports.value2 = value2; +exports.value3 = value3; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/generated-from-main-1-and-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/generated-from-main-1-and-dynamic.js new file mode 100644 index 00000000000..d76ef574dc3 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/generated-from-main-1-and-dynamic.js @@ -0,0 +1,5 @@ +'use strict'; + +const value1 = 'main1 and dynamic'; + +exports.value1 = value1; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/main1.js new file mode 100644 index 00000000000..21940f1e837 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/main1.js @@ -0,0 +1,13 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var fromMain1AndDynamic = require('./generated-from-main-1-and-dynamic.js'); +var fromMain1And2 = require('./generated-from-main-1-and-2.js'); + +console.log('main1', fromMain1AndDynamic.value1, fromMain1And2.value2, fromMain1And2.value3); +new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); + +exports.value1 = fromMain1AndDynamic.value1; +exports.value2 = fromMain1And2.value2; +exports.value3 = fromMain1And2.value3; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/main2.js new file mode 100644 index 00000000000..091642641b8 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/cjs/main2.js @@ -0,0 +1,11 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var fromMain1And2 = require('./generated-from-main-1-and-2.js'); + +console.log('main2', fromMain1And2.value2, fromMain1And2.value3); +new Promise(function (resolve) { resolve(require('./generated-dynamic.js')); }); + +exports.value2 = fromMain1And2.value2; +exports.value3 = fromMain1And2.value3; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/generated-dynamic.js new file mode 100644 index 00000000000..27e2a2c6636 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/generated-dynamic.js @@ -0,0 +1,6 @@ +import { v as value1 } from './generated-from-main-1-and-dynamic.js'; +export { v as value1 } from './generated-from-main-1-and-dynamic.js'; +import { v as value2 } from './generated-from-main-1-and-2.js'; +export { v as value2 } from './generated-from-main-1-and-2.js'; + +console.log('dynamic1', value1, value2); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/generated-from-main-1-and-2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/generated-from-main-1-and-2.js new file mode 100644 index 00000000000..6e3ba4e23cc --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/generated-from-main-1-and-2.js @@ -0,0 +1,5 @@ +const value2 = 'all'; + +const value3 = 'main1 and main2'; + +export { value3 as a, value2 as v }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/generated-from-main-1-and-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/generated-from-main-1-and-dynamic.js new file mode 100644 index 00000000000..bafbb3545e4 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/generated-from-main-1-and-dynamic.js @@ -0,0 +1,3 @@ +const value1 = 'main1 and dynamic'; + +export { value1 as v }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/main1.js new file mode 100644 index 00000000000..8762e90e0e4 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/main1.js @@ -0,0 +1,7 @@ +import { v as value1 } from './generated-from-main-1-and-dynamic.js'; +export { v as value1 } from './generated-from-main-1-and-dynamic.js'; +import { v as value2, a as value3 } from './generated-from-main-1-and-2.js'; +export { v as value2, a as value3 } from './generated-from-main-1-and-2.js'; + +console.log('main1', value1, value2, value3); +import('./generated-dynamic.js'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/main2.js new file mode 100644 index 00000000000..0967a06d772 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/es/main2.js @@ -0,0 +1,5 @@ +import { v as value2, a as value3 } from './generated-from-main-1-and-2.js'; +export { v as value2, a as value3 } from './generated-from-main-1-and-2.js'; + +console.log('main2', value2, value3); +import('./generated-dynamic.js'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/generated-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/generated-dynamic.js new file mode 100644 index 00000000000..348735eeb2c --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/generated-dynamic.js @@ -0,0 +1,18 @@ +System.register(['./generated-from-main-1-and-dynamic.js', './generated-from-main-1-and-2.js'], function (exports) { + 'use strict'; + var value1, value2; + return { + setters: [function (module) { + value1 = module.v; + exports('value1', module.v); + }, function (module) { + value2 = module.v; + exports('value2', module.v); + }], + execute: function () { + + console.log('dynamic1', value1, value2); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/generated-from-main-1-and-2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/generated-from-main-1-and-2.js new file mode 100644 index 00000000000..31fbb093f29 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/generated-from-main-1-and-2.js @@ -0,0 +1,12 @@ +System.register([], function (exports) { + 'use strict'; + return { + execute: function () { + + const value2 = exports('v', 'all'); + + const value3 = exports('a', 'main1 and main2'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/generated-from-main-1-and-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/generated-from-main-1-and-dynamic.js new file mode 100644 index 00000000000..0e97c43984d --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/generated-from-main-1-and-dynamic.js @@ -0,0 +1,10 @@ +System.register([], function (exports) { + 'use strict'; + return { + execute: function () { + + const value1 = exports('v', 'main1 and dynamic'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/main1.js new file mode 100644 index 00000000000..b736d7a05fa --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/main1.js @@ -0,0 +1,23 @@ +System.register(['./generated-from-main-1-and-dynamic.js', './generated-from-main-1-and-2.js'], function (exports, module) { + 'use strict'; + var value1, value2, value3; + return { + setters: [function (module) { + value1 = module.v; + exports('value1', module.v); + }, function (module) { + value2 = module.v; + value3 = module.a; + var _setter = {}; + _setter.value2 = module.v; + _setter.value3 = module.a; + exports(_setter); + }], + execute: function () { + + console.log('main1', value1, value2, value3); + module.import('./generated-dynamic.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/main2.js new file mode 100644 index 00000000000..1aca888b896 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/_expected/system/main2.js @@ -0,0 +1,20 @@ +System.register(['./generated-from-main-1-and-2.js'], function (exports, module) { + 'use strict'; + var value2, value3; + return { + setters: [function (module) { + value2 = module.v; + value3 = module.a; + var _setter = {}; + _setter.value2 = module.v; + _setter.value3 = module.a; + exports(_setter); + }], + execute: function () { + + console.log('main2', value2, value3); + module.import('./generated-dynamic.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/dynamic.js new file mode 100644 index 00000000000..c46f83ce91c --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/dynamic.js @@ -0,0 +1,4 @@ +import { value1 } from './from-main-1-and-dynamic.js'; +import { value2 } from './from-all.js'; +console.log('dynamic1', value1, value2); +export { value1, value2 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/from-all.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/from-all.js new file mode 100644 index 00000000000..f4be2aef1de --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/from-all.js @@ -0,0 +1 @@ +export const value2 = 'all'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/from-main-1-and-2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/from-main-1-and-2.js new file mode 100644 index 00000000000..8bd6ed7d91a --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/from-main-1-and-2.js @@ -0,0 +1 @@ +export const value3 = 'main1 and main2'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/from-main-1-and-dynamic.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/from-main-1-and-dynamic.js new file mode 100644 index 00000000000..4aaa44217d7 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/from-main-1-and-dynamic.js @@ -0,0 +1 @@ +export const value1 = 'main1 and dynamic'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/main1.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/main1.js new file mode 100644 index 00000000000..045300b570d --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/main1.js @@ -0,0 +1,6 @@ +import { value1 } from './from-main-1-and-dynamic.js'; +import { value2 } from './from-all.js'; +import { value3 } from './from-main-1-and-2.js'; +console.log('main1', value1, value2, value3); +import('./dynamic.js'); +export { value1, value2, value3 }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/main2.js b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/main2.js new file mode 100644 index 00000000000..0ea796ab885 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/multi-entry-different-and-shared-dependencies/main2.js @@ -0,0 +1,5 @@ +import { value2 } from './from-all.js'; +import { value3 } from './from-main-1-and-2.js'; +console.log('main2', value2, value3); +import('./dynamic.js'); +export { value2, value3 }; From 529a9a8f4486afa34131d767ea448de6085e34e7 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sat, 25 Jan 2020 11:17:09 +0000 Subject: [PATCH 45/47] handle new test case --- src/utils/chunkColouring.ts | 139 +++++++++++++++++++----------------- src/utils/entryHashing.ts | 16 ----- 2 files changed, 72 insertions(+), 83 deletions(-) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 244b0f45153..504bc671938 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -1,16 +1,17 @@ import Module from '../Module'; -import { cloneUint8Array, randomUint8Array, Uint8ArrayEqual, Uint8ArrayXor } from './entryHashing'; +import { randomUint8Array, Uint8ArrayXor } from './entryHashing'; function randomColour(): Uint8Array { return randomUint8Array(10); } -function trailContainsColour(trail: Module[], colour: Uint8Array): boolean { - return trail.some(module => Uint8ArrayEqual(module.entryPointsHash, colour)); +function setsEqual(a: Set, b: Set): boolean { + return a.size === b.size && [...a].every(item => b.has(item)); } -function arraysEqual(a: Array, b: Array): boolean { - return a.length === b.length && a.every((item, i) => item === b[i]); +interface StaticModuleGroup { + dynamicEntries: Set; + modules: Set; } export function assignChunkColouringHashes( @@ -18,91 +19,95 @@ export function assignChunkColouringHashes( manualChunkModules: Record ) { const colouredModules: Set = new Set(); + const staticModuleGroups: Map = new Map(); + + function collectStaticModuleGroup(rootModule: Module): StaticModuleGroup { + if (staticModuleGroups.has(rootModule)) { + return staticModuleGroups.get(rootModule)!; + } + const modules = new Set(); + const dynamicEntries = new Set(); + const group: StaticModuleGroup = { modules, dynamicEntries }; + staticModuleGroups.set(rootModule, group); + const process = (module: Module, importer: Module | null) => { + if (modules.has(module)) { + return; + } + modules.add(module); + if (!module.manualChunkAlias && importer?.manualChunkAlias) { + module.manualChunkAlias = importer.manualChunkAlias; + } + // TODO remove reverse? needed because previously manual chunk alias propogation was other way + for (const dependency of module.dependencies.slice().reverse()) { + if (dependency instanceof Module) { + process(dependency, module); + } + } + for (const { resolution } of module.dynamicImports) { + if (resolution instanceof Module && resolution.dynamicallyImportedBy.length > 0) { + dynamicEntries.add(resolution); + } + } + }; + process(rootModule, null); + return group; + } function paintModules(inputEntryModules: Array<{ paint: Uint8Array; rootModule: Module }>): void { const entryModules: Array<{ + loadedModules: Set; paint: Uint8Array; rootModule: Module; - trail: Module[]; }> = inputEntryModules.map(({ paint, rootModule }) => ({ + loadedModules: new Set(), paint, - rootModule, - trail: [] + rootModule })); - function registerNewEntryPoint(module: Module, trail: Module[], isolated: boolean): void { - if (!trail.length) { - throw new Error('There must be an importer.'); - } - const alreadySeen = - trail.includes(module) || - entryModules.some(entry => entry.rootModule === module && arraysEqual(entry.trail, trail)); + function registerNewEntryPoint( + rootModule: Module, + loadedModules: Set, + paint: Uint8Array + ): void { + const alreadySeen = entryModules.some( + entry => entry.rootModule === rootModule && setsEqual(entry.loadedModules, loadedModules) + ); if (!alreadySeen) { - const paint = isolated ? randomColour() : trail[trail.length - 1].entryPointsHash; entryModules.push({ + loadedModules, paint, - rootModule: module, - trail + rootModule }); } } - function paintModule(rootModule: Module, trail: Module[], paint: Uint8Array): void { - // everything this point downwards with this colour should be painted - const sourceColour = cloneUint8Array(rootModule.entryPointsHash); - - function process(module: Module, trail: Module[]): void { - if (module.manualChunkAlias && colouredModules.has(module)) { - // this module has already been coloured as part of another manual chunk - return; - } - - if ( - !module.manualChunkAlias && - colouredModules.has(module) && - trailContainsColour(trail, module.entryPointsHash) - ) { - // this module is already in memory - return; - } - - if ( - module.manualChunkAlias || - module === rootModule || - Uint8ArrayEqual(module.entryPointsHash, sourceColour) - ) { - Uint8ArrayXor(module.entryPointsHash, paint); - colouredModules.add(module); - for (const dependency of module.dependencies) { - if (dependency instanceof Module) { - if (!module.manualChunkAlias) { - process(dependency, [...trail, module]); - } else if (!dependency.manualChunkAlias) { - dependency.manualChunkAlias = module.manualChunkAlias; - process(dependency, [...trail, module]); - } - } - } - for (const { resolution } of module.dynamicImports) { - if ( - resolution instanceof Module && - resolution.dynamicallyImportedBy.length > 0 && - !resolution.manualChunkAlias - ) { - registerNewEntryPoint(resolution, [...trail, module], true); - } + function paintModule(rootModule: Module, loadedModules: Set, paint: Uint8Array): void { + const { modules, dynamicEntries } = collectStaticModuleGroup(rootModule); + const newLoadedModules = new Set([...loadedModules, ...modules]); + for (const module of modules) { + if (module.manualChunkAlias) { + if ( + !colouredModules.has(module) && + rootModule.manualChunkAlias === module.manualChunkAlias + ) { + Uint8ArrayXor(module.entryPointsHash, paint); + colouredModules.add(module); } } else { - registerNewEntryPoint(module, trail, false); + if (!colouredModules.has(module) || !loadedModules.has(module)) { + Uint8ArrayXor(module.entryPointsHash, paint); + colouredModules.add(module); + } } } - - process(rootModule, trail); + for (const module of dynamicEntries) { + registerNewEntryPoint(module, newLoadedModules, randomColour()); + } } for (let i = 0; i < entryModules.length /* updates */; i++) { - const { paint, rootModule, trail } = entryModules[i]; - paintModule(rootModule, trail, paint); + const { paint, rootModule, loadedModules } = entryModules[i]; + paintModule(rootModule, loadedModules, paint); } } diff --git a/src/utils/entryHashing.ts b/src/utils/entryHashing.ts index cea2ffe81a4..5ab34274205 100644 --- a/src/utils/entryHashing.ts +++ b/src/utils/entryHashing.ts @@ -24,12 +24,6 @@ export function randomUint8Array(len: number): Uint8Array { return buffer; } -export function cloneUint8Array(input: Uint8Array): Uint8Array { - const output = new Uint8Array(input.length); - for (let i = 0; i < output.length; i++) output[i] = input[i]; - return output; -} - export function Uint8ArrayXor(to: Uint8Array, from: Uint8Array): Uint8Array { if (to.length !== from.length) { throw new Error('Arrays are different sizes.'); @@ -38,16 +32,6 @@ export function Uint8ArrayXor(to: Uint8Array, from: Uint8Array): Uint8Array { return to; } -export function Uint8ArrayEqual(bufferA: Uint8Array, bufferB: Uint8Array): boolean { - if (bufferA.length !== bufferB.length) { - return false; - } - for (let i = 0; i < bufferA.length; i++) { - if (bufferA[i] !== bufferB[i]) return false; - } - return true; -} - export function randomHexString(len: number): string { return Uint8ArrayToHexString(randomUint8Array(Math.floor(len / 2))); } From a0ed83938e022b1500de66daed255a52761aa0d7 Mon Sep 17 00:00:00 2001 From: Tom Jenkinson Date: Sun, 26 Jan 2020 09:01:49 +0000 Subject: [PATCH 46/47] don't reprocess entry point if previously processed with same loaded modules if there are now more loaded modules than before there's no point processing, given not painting the loaded modules would have no effect given they were already painted in the previous run --- src/utils/chunkColouring.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 504bc671938..542a72aa2a6 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -5,8 +5,8 @@ function randomColour(): Uint8Array { return randomUint8Array(10); } -function setsEqual(a: Set, b: Set): boolean { - return a.size === b.size && [...a].every(item => b.has(item)); +function subset(small: Set, big: Set): boolean { + return small.size <= big.size && [...small].every(item => big.has(item)); } interface StaticModuleGroup { @@ -69,10 +69,10 @@ export function assignChunkColouringHashes( loadedModules: Set, paint: Uint8Array ): void { - const alreadySeen = entryModules.some( - entry => entry.rootModule === rootModule && setsEqual(entry.loadedModules, loadedModules) + const alreadyProcessed = entryModules.some( + entry => entry.rootModule === rootModule && subset(entry.loadedModules, loadedModules) ); - if (!alreadySeen) { + if (!alreadyProcessed) { entryModules.push({ loadedModules, paint, From 20813c089b8a8b4980b5b6d0cadc000c8fd619b9 Mon Sep 17 00:00:00 2001 From: Lukas Taegert-Atkinson Date: Mon, 27 Jan 2020 07:14:20 +0100 Subject: [PATCH 47/47] Use new, faster chunking algorithm --- src/utils/chunkColouring.ts | 250 ++++++++++-------- src/utils/entryHashing.ts | 3 - .../_config.js | 3 + .../_expected/amd/main.js | 29 ++ .../_expected/cjs/main.js | 27 ++ .../_expected/es/main.js | 23 ++ .../_expected/system/main.js | 30 +++ .../dep1.js | 3 + .../dep2.js | 3 + .../main.js | 6 + .../_config.js | 3 + .../_expected/amd/main.js | 23 ++ .../_expected/cjs/main.js | 21 ++ .../_expected/es/main.js | 19 ++ .../_expected/system/main.js | 28 ++ .../dynamic1.js | 3 + .../dynamic2.js | 2 + .../main.js | 5 + .../_config.js | 3 + .../_expected/amd/generated-dynamic1.js | 5 + .../_expected/amd/generated-dynamic2.js | 7 + .../_expected/amd/main.js | 12 + .../_expected/cjs/generated-dynamic1.js | 3 + .../_expected/cjs/generated-dynamic2.js | 7 + .../_expected/cjs/main.js | 10 + .../_expected/es/generated-dynamic1.js | 1 + .../_expected/es/generated-dynamic2.js | 4 + .../_expected/es/main.js | 6 + .../_expected/system/generated-dynamic1.js | 10 + .../_expected/system/generated-dynamic2.js | 15 ++ .../_expected/system/main.js | 13 + .../dynamic-import-dynamic-multi-stage/dep.js | 1 + .../dynamic1.js | 1 + .../dynamic2.js | 4 + .../main.js | 5 + .../dynamic-import-dynamic/_config.js | 3 + .../_expected/amd/generated-dynamic1.js | 10 + .../_expected/amd/generated-dynamic2.js | 7 + .../_expected/amd/main.js | 5 + .../_expected/cjs/generated-dynamic1.js | 8 + .../_expected/cjs/generated-dynamic2.js | 7 + .../_expected/cjs/main.js | 3 + .../_expected/es/generated-dynamic1.js | 6 + .../_expected/es/generated-dynamic2.js | 4 + .../_expected/es/main.js | 1 + .../_expected/system/generated-dynamic1.js | 13 + .../_expected/system/generated-dynamic2.js | 15 ++ .../_expected/system/main.js | 10 + .../dynamic-import-dynamic/dep.js | 1 + .../dynamic-import-dynamic/dynamic1.js | 5 + .../dynamic-import-dynamic/dynamic2.js | 4 + .../dynamic-import-dynamic/main.js | 1 + test/watch/index.js | 8 +- 53 files changed, 588 insertions(+), 111 deletions(-) create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_config.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/amd/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/cjs/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/es/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/system/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/dep1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/dep2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_config.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/amd/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/cjs/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/es/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/system/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_config.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/amd/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/amd/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/amd/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/cjs/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/cjs/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/cjs/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/es/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/es/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/es/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/system/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/system/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/system/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/dep.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_config.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/amd/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/amd/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/amd/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/cjs/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/cjs/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/cjs/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/es/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/es/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/es/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/system/generated-dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/system/generated-dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/system/main.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/dep.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/dynamic1.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/dynamic2.js create mode 100644 test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/main.js diff --git a/src/utils/chunkColouring.ts b/src/utils/chunkColouring.ts index 542a72aa2a6..86793db1739 100644 --- a/src/utils/chunkColouring.ts +++ b/src/utils/chunkColouring.ts @@ -1,134 +1,176 @@ +import ExternalModule from '../ExternalModule'; import Module from '../Module'; import { randomUint8Array, Uint8ArrayXor } from './entryHashing'; -function randomColour(): Uint8Array { - return randomUint8Array(10); -} - -function subset(small: Set, big: Set): boolean { - return small.size <= big.size && [...small].every(item => big.has(item)); -} - -interface StaticModuleGroup { - dynamicEntries: Set; - modules: Set; -} +type DependentModuleMap = Map>; export function assignChunkColouringHashes( entryModules: Module[], manualChunkModules: Record ) { - const colouredModules: Set = new Set(); - const staticModuleGroups: Map = new Map(); + const { dependentEntryPointsByModule, dynamicImportersByModule } = analyzeModuleGraph( + entryModules + ); + const dynamicDependentEntryPointsByDynamicEntry: DependentModuleMap = getDynamicDependentEntryPoints( + dependentEntryPointsByModule, + dynamicImportersByModule + ); - function collectStaticModuleGroup(rootModule: Module): StaticModuleGroup { - if (staticModuleGroups.has(rootModule)) { - return staticModuleGroups.get(rootModule)!; - } - const modules = new Set(); - const dynamicEntries = new Set(); - const group: StaticModuleGroup = { modules, dynamicEntries }; - staticModuleGroups.set(rootModule, group); - const process = (module: Module, importer: Module | null) => { - if (modules.has(module)) { - return; - } - modules.add(module); - if (!module.manualChunkAlias && importer?.manualChunkAlias) { - module.manualChunkAlias = importer.manualChunkAlias; - } - // TODO remove reverse? needed because previously manual chunk alias propogation was other way - for (const dependency of module.dependencies.slice().reverse()) { - if (dependency instanceof Module) { - process(dependency, module); - } - } - for (const { resolution } of module.dynamicImports) { - if (resolution instanceof Module && resolution.dynamicallyImportedBy.length > 0) { - dynamicEntries.add(resolution); - } + if (manualChunkModules) { + for (const chunkName of Object.keys(manualChunkModules)) { + const entryHash = randomUint8Array(10); + + for (const entry of manualChunkModules[chunkName]) { + addColourToModuleDependencies( + entry, + entryHash, + null, + dependentEntryPointsByModule, + dynamicDependentEntryPointsByDynamicEntry + ); } - }; - process(rootModule, null); - return group; + } } - function paintModules(inputEntryModules: Array<{ paint: Uint8Array; rootModule: Module }>): void { - const entryModules: Array<{ - loadedModules: Set; - paint: Uint8Array; - rootModule: Module; - }> = inputEntryModules.map(({ paint, rootModule }) => ({ - loadedModules: new Set(), - paint, - rootModule - })); + for (const entry of entryModules) { + if (!entry.manualChunkAlias) { + const entryHash = randomUint8Array(10); + addColourToModuleDependencies( + entry, + entryHash, + null, + dependentEntryPointsByModule, + dynamicDependentEntryPointsByDynamicEntry + ); + } + } - function registerNewEntryPoint( - rootModule: Module, - loadedModules: Set, - paint: Uint8Array - ): void { - const alreadyProcessed = entryModules.some( - entry => entry.rootModule === rootModule && subset(entry.loadedModules, loadedModules) + for (const entry of dynamicImportersByModule.keys()) { + if (!entry.manualChunkAlias) { + const entryHash = randomUint8Array(10); + addColourToModuleDependencies( + entry, + entryHash, + dynamicDependentEntryPointsByDynamicEntry.get(entry)!, + dependentEntryPointsByModule, + dynamicDependentEntryPointsByDynamicEntry ); - if (!alreadyProcessed) { - entryModules.push({ - loadedModules, - paint, - rootModule - }); - } } + } +} - function paintModule(rootModule: Module, loadedModules: Set, paint: Uint8Array): void { - const { modules, dynamicEntries } = collectStaticModuleGroup(rootModule); - const newLoadedModules = new Set([...loadedModules, ...modules]); - for (const module of modules) { - if (module.manualChunkAlias) { - if ( - !colouredModules.has(module) && - rootModule.manualChunkAlias === module.manualChunkAlias - ) { - Uint8ArrayXor(module.entryPointsHash, paint); - colouredModules.add(module); - } - } else { - if (!colouredModules.has(module) || !loadedModules.has(module)) { - Uint8ArrayXor(module.entryPointsHash, paint); - colouredModules.add(module); - } +function analyzeModuleGraph( + entryModules: Module[] +): { + dependentEntryPointsByModule: DependentModuleMap; + dynamicImportersByModule: DependentModuleMap; +} { + const dynamicImportersByModule: DependentModuleMap = new Map(); + const dependentEntryPointsByModule: DependentModuleMap = new Map(); + const entriesToHandle = new Set(entryModules); + for (const currentEntry of entriesToHandle) { + const modulesToHandle = new Set([currentEntry]); + for (const module of modulesToHandle) { + getDependentModules(dependentEntryPointsByModule, module).add(currentEntry); + for (const dependency of module.dependencies) { + if (!(dependency instanceof ExternalModule)) { + modulesToHandle.add(dependency); } } - for (const module of dynamicEntries) { - registerNewEntryPoint(module, newLoadedModules, randomColour()); + for (const { resolution } of module.dynamicImports) { + if ( + resolution instanceof Module && + resolution.dynamicallyImportedBy.length > 0 && + !resolution.manualChunkAlias + ) { + getDependentModules(dynamicImportersByModule, resolution).add(module); + entriesToHandle.add(resolution); + } } } - - for (let i = 0; i < entryModules.length /* updates */; i++) { - const { paint, rootModule, loadedModules } = entryModules[i]; - paintModule(rootModule, loadedModules, paint); - } } + return { dependentEntryPointsByModule, dynamicImportersByModule }; +} - const modules: Array<{ paint: Uint8Array; rootModule: Module }> = []; - - if (manualChunkModules) { - for (const chunkName of Object.keys(manualChunkModules)) { - const paint = randomColour(); +function getDependentModules(moduleMap: DependentModuleMap, module: Module): Set { + const dependentModules = moduleMap.get(module) || new Set(); + moduleMap.set(module, dependentModules); + return dependentModules; +} - for (const module of manualChunkModules[chunkName]) { - if (!module.manualChunkAlias) { - throw new Error('Missing manualChunkAlias'); - } - modules.push({ rootModule: module, paint }); +function getDynamicDependentEntryPoints( + dependentEntryPointsByModule: DependentModuleMap, + dynamicImportersByModule: DependentModuleMap +): DependentModuleMap { + const dynamicDependentEntryPointsByDynamicEntry: DependentModuleMap = new Map(); + for (const [dynamicEntry, importers] of dynamicImportersByModule.entries()) { + const dynamicDependentEntryPoints = getDependentModules( + dynamicDependentEntryPointsByDynamicEntry, + dynamicEntry + ); + for (const importer of importers) { + for (const entryPoint of dependentEntryPointsByModule.get(importer)!) { + dynamicDependentEntryPoints.add(entryPoint); } } } + return dynamicDependentEntryPointsByDynamicEntry; +} - for (const module of entryModules) { - modules.push({ rootModule: module, paint: randomColour() }); +function addColourToModuleDependencies( + entry: Module, + colour: Uint8Array, + dynamicDependentEntryPoints: Set | null, + dependentEntryPointsByModule: DependentModuleMap, + dynamicDependentEntryPointsByDynamicEntry: DependentModuleMap +) { + const manualChunkAlias = entry.manualChunkAlias; + const modulesToHandle = new Set([entry]); + for (const module of modulesToHandle) { + if (manualChunkAlias) { + module.manualChunkAlias = manualChunkAlias; + module.entryPointsHash = colour; + } else if ( + dynamicDependentEntryPoints && + areEntryPointsContainedOrDynamicallyDependent( + dynamicDependentEntryPoints, + dependentEntryPointsByModule.get(module)!, + dynamicDependentEntryPointsByDynamicEntry + ) + ) { + continue; + } else { + Uint8ArrayXor(module.entryPointsHash, colour); + } + for (const dependency of module.dependencies) { + if (!(dependency instanceof ExternalModule || dependency.manualChunkAlias)) { + modulesToHandle.add(dependency); + } + } } +} - paintModules(modules); +function areEntryPointsContainedOrDynamicallyDependent( + entryPoints: Set, + superSet: Set, + dynamicDependentEntryPointsByDynamicEntry: DependentModuleMap +): boolean { + for (const module of entryPoints) { + if (!superSet.has(module)) { + const dynamicDependentEntryPoints = dynamicDependentEntryPointsByDynamicEntry.get(module); + if ( + !( + dynamicDependentEntryPoints && + areEntryPointsContainedOrDynamicallyDependent( + dynamicDependentEntryPoints, + superSet, + dynamicDependentEntryPointsByDynamicEntry + ) + ) + ) { + return false; + } + } + } + return true; } diff --git a/src/utils/entryHashing.ts b/src/utils/entryHashing.ts index 5ab34274205..77327a7fd6e 100644 --- a/src/utils/entryHashing.ts +++ b/src/utils/entryHashing.ts @@ -25,9 +25,6 @@ export function randomUint8Array(len: number): Uint8Array { } export function Uint8ArrayXor(to: Uint8Array, from: Uint8Array): Uint8Array { - if (to.length !== from.length) { - throw new Error('Arrays are different sizes.'); - } for (let i = 0; i < to.length; i++) to[i] = to[i] ^ from[i]; return to; } diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_config.js new file mode 100644 index 00000000000..f475a15a739 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_config.js @@ -0,0 +1,3 @@ +module.exports = { + description: 'inlines dynamic imports that are already statically imported' +}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/amd/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/amd/main.js new file mode 100644 index 00000000000..3fab3918be6 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/amd/main.js @@ -0,0 +1,29 @@ +define(['exports'], function (exports) { 'use strict'; + + Promise.resolve().then(function () { return main; }).then(console.log); + console.log('dep1'); + const value1 = 'dep1'; + + var dep1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + value1: value1 + }); + + Promise.resolve().then(function () { return dep1; }).then(console.log); + console.log('dep2'); + const value2 = 'dep2'; + + Promise.resolve().then(function () { return main; }).then(console.log); + console.log('main', value1, value2); + const value = 'main'; + + var main = /*#__PURE__*/Object.freeze({ + __proto__: null, + value: value + }); + + exports.value = value; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/cjs/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/cjs/main.js new file mode 100644 index 00000000000..cb766ee459d --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/cjs/main.js @@ -0,0 +1,27 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +Promise.resolve().then(function () { return main; }).then(console.log); +console.log('dep1'); +const value1 = 'dep1'; + +var dep1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + value1: value1 +}); + +Promise.resolve().then(function () { return dep1; }).then(console.log); +console.log('dep2'); +const value2 = 'dep2'; + +Promise.resolve().then(function () { return main; }).then(console.log); +console.log('main', value1, value2); +const value = 'main'; + +var main = /*#__PURE__*/Object.freeze({ + __proto__: null, + value: value +}); + +exports.value = value; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/es/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/es/main.js new file mode 100644 index 00000000000..ab2781aef36 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/es/main.js @@ -0,0 +1,23 @@ +Promise.resolve().then(function () { return main; }).then(console.log); +console.log('dep1'); +const value1 = 'dep1'; + +var dep1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + value1: value1 +}); + +Promise.resolve().then(function () { return dep1; }).then(console.log); +console.log('dep2'); +const value2 = 'dep2'; + +Promise.resolve().then(function () { return main; }).then(console.log); +console.log('main', value1, value2); +const value = 'main'; + +var main = /*#__PURE__*/Object.freeze({ + __proto__: null, + value: value +}); + +export { value }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/system/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/system/main.js new file mode 100644 index 00000000000..30ad2f5698f --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/_expected/system/main.js @@ -0,0 +1,30 @@ +System.register([], function (exports) { + 'use strict'; + return { + execute: function () { + + Promise.resolve().then(function () { return main; }).then(console.log); + console.log('dep1'); + const value1 = 'dep1'; + + var dep1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + value1: value1 + }); + + Promise.resolve().then(function () { return dep1; }).then(console.log); + console.log('dep2'); + const value2 = 'dep2'; + + Promise.resolve().then(function () { return main; }).then(console.log); + console.log('main', value1, value2); + const value = exports('value', 'main'); + + var main = /*#__PURE__*/Object.freeze({ + __proto__: null, + value: value + }); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/dep1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/dep1.js new file mode 100644 index 00000000000..5396c9c53d3 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/dep1.js @@ -0,0 +1,3 @@ +import('./main.js').then(console.log); +console.log('dep1'); +export const value1 = 'dep1'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/dep2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/dep2.js new file mode 100644 index 00000000000..8bcaf7e8992 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/dep2.js @@ -0,0 +1,3 @@ +import('./dep1.js').then(console.log); +console.log('dep2'); +export const value2 = 'dep2'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/main.js new file mode 100644 index 00000000000..d8091f19910 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-1/main.js @@ -0,0 +1,6 @@ +import { value1 } from './dep1.js'; +import { value2 } from './dep2.js'; + +import('./main.js').then(console.log); +console.log('main', value1, value2); +export const value = 'main'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_config.js new file mode 100644 index 00000000000..8fb4c32176c --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_config.js @@ -0,0 +1,3 @@ +module.exports = { + description: 'inlines dynamic imports that are already statically imported by their importers' +}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/amd/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/amd/main.js new file mode 100644 index 00000000000..466b0dabc88 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/amd/main.js @@ -0,0 +1,23 @@ +define(function () { 'use strict'; + + Promise.resolve().then(function () { return dynamic2; }).then(console.log); + console.log('dynamic1'); + const value1 = 'dynamic1'; + + var dynamic1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + value1: value1 + }); + + console.log('dynamic2'); + const value2 = 'dynamic2'; + + var dynamic2 = /*#__PURE__*/Object.freeze({ + __proto__: null, + value2: value2 + }); + + Promise.resolve().then(function () { return dynamic1; }).then(console.log); + console.log('main', value1, value2); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/cjs/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/cjs/main.js new file mode 100644 index 00000000000..5b5e7618221 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/cjs/main.js @@ -0,0 +1,21 @@ +'use strict'; + +Promise.resolve().then(function () { return dynamic2; }).then(console.log); +console.log('dynamic1'); +const value1 = 'dynamic1'; + +var dynamic1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + value1: value1 +}); + +console.log('dynamic2'); +const value2 = 'dynamic2'; + +var dynamic2 = /*#__PURE__*/Object.freeze({ + __proto__: null, + value2: value2 +}); + +Promise.resolve().then(function () { return dynamic1; }).then(console.log); +console.log('main', value1, value2); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/es/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/es/main.js new file mode 100644 index 00000000000..d5bed32b8dc --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/es/main.js @@ -0,0 +1,19 @@ +Promise.resolve().then(function () { return dynamic2; }).then(console.log); +console.log('dynamic1'); +const value1 = 'dynamic1'; + +var dynamic1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + value1: value1 +}); + +console.log('dynamic2'); +const value2 = 'dynamic2'; + +var dynamic2 = /*#__PURE__*/Object.freeze({ + __proto__: null, + value2: value2 +}); + +Promise.resolve().then(function () { return dynamic1; }).then(console.log); +console.log('main', value1, value2); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/system/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/system/main.js new file mode 100644 index 00000000000..35382e9f21f --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/_expected/system/main.js @@ -0,0 +1,28 @@ +System.register([], function () { + 'use strict'; + return { + execute: function () { + + Promise.resolve().then(function () { return dynamic2; }).then(console.log); + console.log('dynamic1'); + const value1 = 'dynamic1'; + + var dynamic1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + value1: value1 + }); + + console.log('dynamic2'); + const value2 = 'dynamic2'; + + var dynamic2 = /*#__PURE__*/Object.freeze({ + __proto__: null, + value2: value2 + }); + + Promise.resolve().then(function () { return dynamic1; }).then(console.log); + console.log('main', value1, value2); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/dynamic1.js new file mode 100644 index 00000000000..fb728362620 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/dynamic1.js @@ -0,0 +1,3 @@ +import('./dynamic2.js').then(console.log); +console.log('dynamic1'); +export const value1 = 'dynamic1'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/dynamic2.js new file mode 100644 index 00000000000..d99f0e75577 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/dynamic2.js @@ -0,0 +1,2 @@ +console.log('dynamic2'); +export const value2 = 'dynamic2'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/main.js new file mode 100644 index 00000000000..5fccea310d3 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-already-contained-2/main.js @@ -0,0 +1,5 @@ +import { value1 } from './dynamic1.js'; +import { value2 } from './dynamic2.js'; + +import('./dynamic1.js').then(console.log); +console.log('main', value1, value2); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_config.js new file mode 100644 index 00000000000..d8b7a769273 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_config.js @@ -0,0 +1,3 @@ +module.exports = { + description: 'handles if a dynamically imported module imports another module dynamically' +}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/amd/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/amd/generated-dynamic1.js new file mode 100644 index 00000000000..41b95d106c9 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/amd/generated-dynamic1.js @@ -0,0 +1,5 @@ +define(['require'], function (require) { 'use strict'; + + new Promise(function (resolve, reject) { require(['./generated-dynamic2'], resolve, reject) }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/amd/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/amd/generated-dynamic2.js new file mode 100644 index 00000000000..b30754a60e8 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/amd/generated-dynamic2.js @@ -0,0 +1,7 @@ +define(['exports', './main'], function (exports, main) { 'use strict'; + + console.log('dynamic2', main.value); + + exports.value = main.value; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/amd/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/amd/main.js new file mode 100644 index 00000000000..1cc193e37b7 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/amd/main.js @@ -0,0 +1,12 @@ +define(['require', 'exports'], function (require, exports) { 'use strict'; + + const value = 'shared'; + + console.log('dynamic1', value); + new Promise(function (resolve, reject) { require(['./generated-dynamic1'], resolve, reject) }); + + exports.value = value; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/cjs/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/cjs/generated-dynamic1.js new file mode 100644 index 00000000000..14c1997bdbb --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/cjs/generated-dynamic1.js @@ -0,0 +1,3 @@ +'use strict'; + +new Promise(function (resolve) { resolve(require('./generated-dynamic2.js')); }); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/cjs/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/cjs/generated-dynamic2.js new file mode 100644 index 00000000000..ae613ed0e60 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/cjs/generated-dynamic2.js @@ -0,0 +1,7 @@ +'use strict'; + +var main = require('./main.js'); + +console.log('dynamic2', main.value); + +exports.value = main.value; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/cjs/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/cjs/main.js new file mode 100644 index 00000000000..3eb9d321be8 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/cjs/main.js @@ -0,0 +1,10 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const value = 'shared'; + +console.log('dynamic1', value); +new Promise(function (resolve) { resolve(require('./generated-dynamic1.js')); }); + +exports.value = value; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/es/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/es/generated-dynamic1.js new file mode 100644 index 00000000000..45c226aa4a3 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/es/generated-dynamic1.js @@ -0,0 +1 @@ +import('./generated-dynamic2.js'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/es/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/es/generated-dynamic2.js new file mode 100644 index 00000000000..a092412cc30 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/es/generated-dynamic2.js @@ -0,0 +1,4 @@ +import { value } from './main.js'; +export { value } from './main.js'; + +console.log('dynamic2', value); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/es/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/es/main.js new file mode 100644 index 00000000000..a140614b88c --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/es/main.js @@ -0,0 +1,6 @@ +const value = 'shared'; + +console.log('dynamic1', value); +import('./generated-dynamic1.js'); + +export { value }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/system/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/system/generated-dynamic1.js new file mode 100644 index 00000000000..0d19e5aa49b --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/system/generated-dynamic1.js @@ -0,0 +1,10 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + module.import('./generated-dynamic2.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/system/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/system/generated-dynamic2.js new file mode 100644 index 00000000000..5bb722682d3 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/system/generated-dynamic2.js @@ -0,0 +1,15 @@ +System.register(['./main.js'], function (exports) { + 'use strict'; + var value; + return { + setters: [function (module) { + value = module.value; + exports('value', module.value); + }], + execute: function () { + + console.log('dynamic2', value); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/system/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/system/main.js new file mode 100644 index 00000000000..fa1f161107b --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/_expected/system/main.js @@ -0,0 +1,13 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + const value = exports('value', 'shared'); + + console.log('dynamic1', value); + module.import('./generated-dynamic1.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/dep.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/dep.js new file mode 100644 index 00000000000..1d4be9c15d0 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/dep.js @@ -0,0 +1 @@ +export const value = 'shared'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/dynamic1.js new file mode 100644 index 00000000000..ff23cb6b9eb --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/dynamic1.js @@ -0,0 +1 @@ +import('./dynamic2.js'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/dynamic2.js new file mode 100644 index 00000000000..04fadf2d7da --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/dynamic2.js @@ -0,0 +1,4 @@ +import { value } from './dep.js'; + +console.log('dynamic2', value); +export { value }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/main.js new file mode 100644 index 00000000000..e7836b4b69a --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic-multi-stage/main.js @@ -0,0 +1,5 @@ +import { value } from './dep.js'; + +console.log('dynamic1', value); +import('./dynamic1.js'); +export { value }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_config.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_config.js new file mode 100644 index 00000000000..d8b7a769273 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_config.js @@ -0,0 +1,3 @@ +module.exports = { + description: 'handles if a dynamically imported module imports another module dynamically' +}; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/amd/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/amd/generated-dynamic1.js new file mode 100644 index 00000000000..50a4863d1b2 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/amd/generated-dynamic1.js @@ -0,0 +1,10 @@ +define(['require', 'exports'], function (require, exports) { 'use strict'; + + const value = 'shared'; + + console.log('dynamic1', value); + new Promise(function (resolve, reject) { require(['./generated-dynamic2'], resolve, reject) }); + + exports.value = value; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/amd/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/amd/generated-dynamic2.js new file mode 100644 index 00000000000..b43d0ad04a5 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/amd/generated-dynamic2.js @@ -0,0 +1,7 @@ +define(['exports', './generated-dynamic1'], function (exports, dynamic1) { 'use strict'; + + console.log('dynamic2', dynamic1.value); + + exports.value = dynamic1.value; + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/amd/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/amd/main.js new file mode 100644 index 00000000000..935d1692f83 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/amd/main.js @@ -0,0 +1,5 @@ +define(['require'], function (require) { 'use strict'; + + new Promise(function (resolve, reject) { require(['./generated-dynamic1'], resolve, reject) }); + +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/cjs/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/cjs/generated-dynamic1.js new file mode 100644 index 00000000000..a7b3ae53ddb --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/cjs/generated-dynamic1.js @@ -0,0 +1,8 @@ +'use strict'; + +const value = 'shared'; + +console.log('dynamic1', value); +new Promise(function (resolve) { resolve(require('./generated-dynamic2.js')); }); + +exports.value = value; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/cjs/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/cjs/generated-dynamic2.js new file mode 100644 index 00000000000..35685a35ed6 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/cjs/generated-dynamic2.js @@ -0,0 +1,7 @@ +'use strict'; + +var dynamic1 = require('./generated-dynamic1.js'); + +console.log('dynamic2', dynamic1.value); + +exports.value = dynamic1.value; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/cjs/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/cjs/main.js new file mode 100644 index 00000000000..85605bbd0a6 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/cjs/main.js @@ -0,0 +1,3 @@ +'use strict'; + +new Promise(function (resolve) { resolve(require('./generated-dynamic1.js')); }); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/es/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/es/generated-dynamic1.js new file mode 100644 index 00000000000..5876ac36d26 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/es/generated-dynamic1.js @@ -0,0 +1,6 @@ +const value = 'shared'; + +console.log('dynamic1', value); +import('./generated-dynamic2.js'); + +export { value }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/es/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/es/generated-dynamic2.js new file mode 100644 index 00000000000..83da591c684 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/es/generated-dynamic2.js @@ -0,0 +1,4 @@ +import { value } from './generated-dynamic1.js'; +export { value } from './generated-dynamic1.js'; + +console.log('dynamic2', value); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/es/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/es/main.js new file mode 100644 index 00000000000..b46872a8428 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/es/main.js @@ -0,0 +1 @@ +import('./generated-dynamic1.js'); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/system/generated-dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/system/generated-dynamic1.js new file mode 100644 index 00000000000..2730357cfe2 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/system/generated-dynamic1.js @@ -0,0 +1,13 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + const value = exports('value', 'shared'); + + console.log('dynamic1', value); + module.import('./generated-dynamic2.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/system/generated-dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/system/generated-dynamic2.js new file mode 100644 index 00000000000..934231e63ce --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/system/generated-dynamic2.js @@ -0,0 +1,15 @@ +System.register(['./generated-dynamic1.js'], function (exports) { + 'use strict'; + var value; + return { + setters: [function (module) { + value = module.value; + exports('value', module.value); + }], + execute: function () { + + console.log('dynamic2', value); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/system/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/system/main.js new file mode 100644 index 00000000000..6bf031d4fed --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/_expected/system/main.js @@ -0,0 +1,10 @@ +System.register([], function (exports, module) { + 'use strict'; + return { + execute: function () { + + module.import('./generated-dynamic1.js'); + + } + }; +}); diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/dep.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/dep.js new file mode 100644 index 00000000000..1d4be9c15d0 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/dep.js @@ -0,0 +1 @@ +export const value = 'shared'; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/dynamic1.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/dynamic1.js new file mode 100644 index 00000000000..481d1476ae5 --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/dynamic1.js @@ -0,0 +1,5 @@ +import { value } from './dep.js'; + +console.log('dynamic1', value); +import('./dynamic2.js'); +export { value }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/dynamic2.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/dynamic2.js new file mode 100644 index 00000000000..04fadf2d7da --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/dynamic2.js @@ -0,0 +1,4 @@ +import { value } from './dep.js'; + +console.log('dynamic2', value); +export { value }; diff --git a/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/main.js b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/main.js new file mode 100644 index 00000000000..587eba57a0b --- /dev/null +++ b/test/chunking-form/samples/improved-dynamic-chunks/dynamic-import-dynamic/main.js @@ -0,0 +1 @@ +import('./dynamic1.js'); diff --git a/test/watch/index.js b/test/watch/index.js index 1a173604177..f454536bdd9 100644 --- a/test/watch/index.js +++ b/test/watch/index.js @@ -844,8 +844,8 @@ describe('rollup.watch', () => { // this should only update the hash of that particular entry point sander.writeFileSync( - 'test/_tmp/input/main-dynamic.js', - "export default import('./shared')\nconsole.log('main-dynamic')" + 'test/_tmp/input/main-static.js', + "import {value} from './shared';\nexport default 2 * value;" ); }, 'START', @@ -857,8 +857,8 @@ describe('rollup.watch', () => { .readdirSync('test/_tmp/output') .sort(); sander.rimrafSync('test/_tmp/output'); - assert.strictEqual(newStaticName, staticName); - assert.notEqual(newDynamicName, dynamicName); + assert.notEqual(newStaticName, staticName); + assert.strictEqual(newDynamicName, dynamicName); assert.strictEqual(newChunkName, chunkName); staticName = newStaticName;