Skip to content

Commit

Permalink
Use facade module id as [name] for dynamic imports
Browse files Browse the repository at this point in the history
  • Loading branch information
lukastaegert committed May 2, 2019
1 parent 4d38d14 commit 30bb092
Show file tree
Hide file tree
Showing 247 changed files with 311 additions and 224 deletions.
10 changes: 6 additions & 4 deletions src/Chunk.ts
Expand Up @@ -30,7 +30,7 @@ import { sortByExecutionOrder } from './utils/executionOrder';
import getIndentString from './utils/getIndentString';
import { makeLegal } from './utils/identifierHelpers';
import { basename, dirname, isAbsolute, normalize, relative, resolve } from './utils/path';
import relativeId from './utils/relativeId';
import relativeId, { getAliasName } from './utils/relativeId';
import renderChunk from './utils/renderChunk';
import { RenderOptions } from './utils/renderHelpers';
import { makeUnique, renderNamePattern } from './utils/renderNamePattern';
Expand Down Expand Up @@ -171,7 +171,9 @@ export default class Chunk {
const entryModule = this.entryModules[0];
if (entryModule) {
this.variableName = makeLegal(
basename(entryModule.chunkAlias || entryModule.manualChunkAlias || entryModule.id)
basename(
entryModule.chunkAlias || entryModule.manualChunkAlias || getAliasName(entryModule.id)
)
);
} else {
this.variableName = '__chunk_' + ++graph.curChunkIndex;
Expand Down Expand Up @@ -762,8 +764,8 @@ export default class Chunk {
if (this.manualChunkAlias) {
return sanitizeFileName(this.manualChunkAlias);
}
if (this.facadeModule !== null && this.facadeModule.chunkAlias) {
return sanitizeFileName(this.facadeModule.chunkAlias);
if (this.facadeModule !== null) {
return sanitizeFileName(this.facadeModule.chunkAlias || getAliasName(this.facadeModule.id));
}
for (const module of this.orderedModules) {
if (module.chunkAlias) return sanitizeFileName(module.chunkAlias);
Expand Down
7 changes: 1 addition & 6 deletions src/Graph.ts
Expand Up @@ -28,7 +28,7 @@ import { Uint8ArrayToHexString } from './utils/entryHashing';
import { analyseModuleExecution, sortByExecutionOrder } from './utils/executionOrder';
import { resolve } from './utils/path';
import { createPluginDriver, PluginDriver } from './utils/pluginDriver';
import relativeId, { getAliasName } from './utils/relativeId';
import relativeId from './utils/relativeId';
import { timeEnd, timeStart } from './utils/timers';

function makeOnwarn() {
Expand Down Expand Up @@ -213,11 +213,6 @@ export default class Graph {
if (entryModules.length === 0) {
throw new Error('You must supply options.input to rollup');
}
for (const entryModule of entryModules) {
if (entryModule.chunkAlias === null) {
entryModule.chunkAlias = getAliasName(entryModule.id);
}
}
for (const module of Array.from(this.moduleById.values())) {
if (module instanceof Module) {
this.modules.push(module);
Expand Down
@@ -1,7 +1,7 @@
define(['require'], function (require) { 'use strict';

console.log('main1');
new Promise(function (resolve, reject) { require(['./generated-chunk'], resolve, reject) });
new Promise(function (resolve, reject) { require(['./generated-chunk2'], resolve, reject) });
new Promise(function (resolve, reject) { require(['./generated-main4.dynamic'], resolve, reject) });
new Promise(function (resolve, reject) { require(['./generated-main5'], resolve, reject) });

});
@@ -1,5 +1,5 @@
'use strict';

console.log('main1');
Promise.resolve(require('./generated-chunk.js'));
Promise.resolve(require('./generated-chunk2.js'));
Promise.resolve(require('./generated-main4.dynamic.js'));
Promise.resolve(require('./generated-main5.js'));
@@ -1,3 +1,3 @@
console.log('main1');
import('./generated-chunk.js');
import('./generated-chunk2.js');
import('./generated-main4.dynamic.js');
import('./generated-main5.js');
Expand Up @@ -4,8 +4,8 @@ System.register([], function (exports, module) {
execute: function () {

console.log('main1');
module.import('./generated-chunk.js');
module.import('./generated-chunk2.js');
module.import('./generated-main4.dynamic.js');
module.import('./generated-main5.js');

}
};
Expand Down
@@ -1,6 +1,6 @@
define(['require'], function (require) { 'use strict';

console.log('dep1');
new Promise(function (resolve, reject) { require(['./generated-chunk'], resolve, reject) });
new Promise(function (resolve, reject) { require(['./generated-dep2'], resolve, reject) });

});
@@ -1,6 +1,6 @@
define(['require'], function (require) { 'use strict';

console.log('main');
new Promise(function (resolve, reject) { require(['./generated-chunk2'], resolve, reject) });
new Promise(function (resolve, reject) { require(['./generated-dep1'], resolve, reject) });

});

This file was deleted.

@@ -0,0 +1,4 @@
'use strict';

console.log('dep1');
Promise.resolve(require('./generated-dep2.js'));
@@ -1,4 +1,4 @@
'use strict';

console.log('main');
Promise.resolve(require('./generated-chunk2.js'));
Promise.resolve(require('./generated-dep1.js'));

This file was deleted.

@@ -0,0 +1,2 @@
console.log('dep1');
import('./generated-dep2.js');
@@ -1,2 +1,2 @@
console.log('main');
import('./generated-chunk2.js');
import('./generated-dep1.js');
Expand Up @@ -4,7 +4,7 @@ System.register([], function (exports, module) {
execute: function () {

console.log('dep1');
module.import('./generated-chunk.js');
module.import('./generated-dep2.js');

}
};
Expand Down
Expand Up @@ -4,7 +4,7 @@ System.register([], function (exports, module) {
execute: function () {

console.log('main');
module.import('./generated-chunk2.js');
module.import('./generated-dep1.js');

}
};
Expand Down
Expand Up @@ -9,7 +9,7 @@ define(['require', './generated-chunk'], function (require, __chunk_1) { 'use st
}

function dynamic (num) {
return new Promise(function (resolve, reject) { require(['./generated-chunk2'], resolve, reject) })
return new Promise(function (resolve, reject) { require(['./generated-dep2'], resolve, reject) })
.then(dep2 => {
return dep2.mult(num);
});
Expand Down
Expand Up @@ -11,7 +11,7 @@ function fn (num) {
}

function dynamic (num) {
return Promise.resolve(require('./generated-chunk2.js'))
return Promise.resolve(require('./generated-dep2.js'))
.then(dep2 => {
return dep2.mult(num);
});
Expand Down
Expand Up @@ -9,7 +9,7 @@ function fn (num) {
}

function dynamic (num) {
return import('./generated-chunk2.js')
return import('./generated-dep2.js')
.then(dep2 => {
return dep2.mult(num);
});
Expand Down
Expand Up @@ -16,7 +16,7 @@ System.register(['./generated-chunk.js'], function (exports, module) {
}

function dynamic (num) {
return module.import('./generated-chunk2.js')
return module.import('./generated-dep2.js')
.then(dep2 => {
return dep2.mult(num);
});
Expand Down
@@ -1,7 +1,7 @@
define(['exports', './generated-chunk'], function (exports, dynamic_js) { 'use strict';
define(['exports', './generated-chunk'], function (exports, dynamic) { 'use strict';



exports.dynamic = dynamic_js.dynamic;
exports.dynamic = dynamic.dynamic;

});
@@ -1,5 +1,5 @@
define(['require'], function (require) { 'use strict';

new Promise(function (resolve, reject) { require(['./generated-chunk2'], resolve, reject) }).then(({dynamic}) => console.log('main1', dynamic));
new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }).then(({dynamic}) => console.log('main1', dynamic));

});
@@ -1,5 +1,5 @@
define(['./generated-chunk'], function (dynamic_js) { 'use strict';
define(['./generated-chunk'], function (dynamic) { 'use strict';

console.log('main2', dynamic_js.dynamic, dynamic_js.dep);
console.log('main2', dynamic.dynamic, dynamic.dep);

});

This file was deleted.

@@ -0,0 +1,7 @@
'use strict';

var dynamic = require('./generated-chunk.js');



exports.dynamic = dynamic.dynamic;
@@ -1,3 +1,3 @@
'use strict';

Promise.resolve(require('./generated-chunk2.js')).then(({dynamic}) => console.log('main1', dynamic));
Promise.resolve(require('./generated-dynamic.js')).then(({dynamic}) => console.log('main1', dynamic));
@@ -1,5 +1,5 @@
'use strict';

var dynamic_js = require('./generated-chunk.js');
var dynamic = require('./generated-chunk.js');

console.log('main2', dynamic_js.dynamic, dynamic_js.dep);
console.log('main2', dynamic.dynamic, dynamic.dep);
@@ -1 +1 @@
import('./generated-chunk2.js').then(({dynamic}) => console.log('main1', dynamic));
import('./generated-dynamic.js').then(({dynamic}) => console.log('main1', dynamic));
Expand Up @@ -3,7 +3,7 @@ System.register([], function (exports, module) {
return {
execute: function () {

module.import('./generated-chunk2.js').then(({dynamic}) => console.log('main1', dynamic));
module.import('./generated-dynamic.js').then(({dynamic}) => console.log('main1', dynamic));

}
};
Expand Down
@@ -1,7 +1,7 @@
define(['require', 'exports', './generated-chunk', './generated-chunk2'], function (require, exports, inlined_js, separate_js) { 'use strict';
define(['require', 'exports', './generated-inlined', './generated-separate'], function (require, exports, inlined$1, separate$1) { 'use strict';

const inlined = new Promise(function (resolve, reject) { require(['./generated-chunk'], resolve, reject) });
const separate = new Promise(function (resolve, reject) { require(['./generated-chunk2'], resolve, reject) });
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;
Expand Down
@@ -1,6 +1,6 @@
define(['require', 'exports'], function (require, exports) { 'use strict';

const separate = new Promise(function (resolve, reject) { require(['./generated-chunk2'], resolve, reject) });
const separate = new Promise(function (resolve, reject) { require(['./generated-separate'], resolve, reject) });

exports.separate = separate;

Expand Down
Expand Up @@ -2,11 +2,11 @@

Object.defineProperty(exports, '__esModule', { value: true });

require('./generated-chunk.js');
require('./generated-chunk2.js');
require('./generated-inlined.js');
require('./generated-separate.js');

const inlined = Promise.resolve(require('./generated-chunk.js'));
const separate = Promise.resolve(require('./generated-chunk2.js'));
const inlined = Promise.resolve(require('./generated-inlined.js'));
const separate = Promise.resolve(require('./generated-separate.js'));

exports.inlined = inlined;
exports.separate = separate;
Expand Up @@ -2,6 +2,6 @@

Object.defineProperty(exports, '__esModule', { value: true });

const separate = Promise.resolve(require('./generated-chunk2.js'));
const separate = Promise.resolve(require('./generated-separate.js'));

exports.separate = separate;
@@ -1,7 +1,7 @@
import './generated-chunk.js';
import './generated-chunk2.js';
import './generated-inlined.js';
import './generated-separate.js';

const inlined = import('./generated-chunk.js');
const separate = import('./generated-chunk2.js');
const inlined = import('./generated-inlined.js');
const separate = import('./generated-separate.js');

export { inlined, separate };
@@ -1,3 +1,3 @@
const separate = import('./generated-chunk2.js');
const separate = import('./generated-separate.js');

export { separate };
@@ -1,11 +1,11 @@
System.register(['./generated-chunk.js', './generated-chunk2.js'], function (exports, module) {
System.register(['./generated-inlined.js', './generated-separate.js'], function (exports, module) {
'use strict';
return {
setters: [function () {}, function () {}],
execute: function () {

const inlined = exports('inlined', module.import('./generated-chunk.js'));
const separate = exports('separate', module.import('./generated-chunk2.js'));
const inlined = exports('inlined', module.import('./generated-inlined.js'));
const separate = exports('separate', module.import('./generated-separate.js'));

}
};
Expand Down
Expand Up @@ -3,7 +3,7 @@ System.register([], function (exports, module) {
return {
execute: function () {

const separate = exports('separate', module.import('./generated-chunk2.js'));
const separate = exports('separate', module.import('./generated-separate.js'));

}
};
Expand Down
@@ -1,5 +1,5 @@
define(['require'], function (require) { 'use strict';

new Promise(function (resolve, reject) { require(['./generated-chunk'], resolve, reject) }).then(({ value }) => console.log(value));
new Promise(function (resolve, reject) { require(['./generated-dynamic'], resolve, reject) }).then(({ value }) => console.log(value));

});
@@ -1,3 +1,3 @@
'use strict';

Promise.resolve(require('./generated-chunk.js')).then(({ value }) => console.log(value));
Promise.resolve(require('./generated-dynamic.js')).then(({ value }) => console.log(value));
@@ -1 +1 @@
import('./generated-chunk.js').then(({ value }) => console.log(value));
import('./generated-dynamic.js').then(({ value }) => console.log(value));
Expand Up @@ -3,7 +3,7 @@ System.register([], function (exports, module) {
return {
execute: function () {

module.import('./generated-chunk.js').then(({ value }) => console.log(value));
module.import('./generated-dynamic.js').then(({ value }) => console.log(value));

}
};
Expand Down
@@ -1,7 +1,7 @@
define(['exports', './generated-chunk'], function (exports, dep1_js) { 'use strict';
define(['exports', './generated-chunk'], function (exports, dep1) { 'use strict';



exports.bar = dep1_js.bar;
exports.bar = dep1.bar;

});
@@ -1,5 +1,5 @@
define(['./generated-chunk'], function (dep1_js) { 'use strict';
define(['./generated-chunk'], function (dep1) { 'use strict';

console.log(dep1_js.foo(), dep1_js.bar());
console.log(dep1.foo(), dep1.bar());

});
@@ -1,5 +1,5 @@
define(['require'], function (require) { 'use strict';

new Promise(function (resolve, reject) { require(['./generated-chunk2'], resolve, reject) }).then(({ bar }) => console.log(bar()));
new Promise(function (resolve, reject) { require(['./generated-dep1'], resolve, reject) }).then(({ bar }) => console.log(bar()));

});

This file was deleted.

@@ -0,0 +1,7 @@
'use strict';

var dep1 = require('./generated-chunk.js');



exports.bar = dep1.bar;

0 comments on commit 30bb092

Please sign in to comment.