Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better generated chunk names #3028

Merged
merged 32 commits into from Aug 5, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
8beb5f6
Use new FileEmitter for basic cases around assets. TODO: Replace asset
lukastaegert Jul 5, 2019
c27680d
Migrate assets to new file emitter
lukastaegert Jul 7, 2019
be510fe
Remove assetsById from Graph
lukastaegert Jul 7, 2019
2825885
Implement emitFile for assets
lukastaegert Jul 7, 2019
aeb81ff
Internally use EmittedFile in the file emitter
lukastaegert Jul 8, 2019
2d9e8fd
Deprecate emitAsset and ROLLUP_ASSET_URL
lukastaegert Jul 10, 2019
022f25b
Deprecate getAssetFileName
lukastaegert Jul 10, 2019
a6c0e17
Merge chunk emission into unified API and deprecated previous API
lukastaegert Jul 12, 2019
f5ad4b1
Allow emitting files with fixed names
lukastaegert Jul 13, 2019
1b25216
Support unnamed assets
lukastaegert Jul 13, 2019
e027bbd
Improve chunk name assignment
lukastaegert Jul 17, 2019
8216cfc
Initial support for chunk file names
lukastaegert Jul 19, 2019
270eb5b
Allow specifying explicit file names for emitted chunks
lukastaegert Jul 20, 2019
5e85eee
Fix some TODOs
lukastaegert Jul 21, 2019
c7bfaee
Test ids remain stable when the transform hook is cached and make test
lukastaegert Jul 21, 2019
c90026a
Refine error handling
lukastaegert Jul 22, 2019
4087a23
Test some more errors
lukastaegert Jul 22, 2019
39fb3a4
Refine file emission
lukastaegert Jul 23, 2019
d583068
Refactor file emitter to have a single code path for asset finalization
lukastaegert Jul 24, 2019
a2316a5
Deduplicated emitted assets without a specific file name
lukastaegert Jul 24, 2019
0972501
Only use the alias as name for a manual chunk if the chunk is not facade
lukastaegert Jul 30, 2019
5078443
Generate separate facades for duplicate named user-defined entry points
lukastaegert Jul 31, 2019
689ba18
Always create facades for explicit file names
lukastaegert Aug 1, 2019
0bf918a
Test edge cases
lukastaegert Aug 1, 2019
fedee4d
Test and refactor handling of dynamic relative imports
lukastaegert Aug 2, 2019
b3cd734
Use async-await in generate function, remove error condition
lukastaegert Aug 2, 2019
56b0a06
Improve and test pattern validation
lukastaegert Aug 2, 2019
35ecf88
Test file emitter edge cases
lukastaegert Aug 2, 2019
6d4199e
Improve plugin error handling
lukastaegert Aug 2, 2019
e4f44c0
Add documentation
lukastaegert Aug 2, 2019
e3e7443
Use id of last module in chunk as name base for auto-generated chunks
lukastaegert Aug 3, 2019
dd0ed65
Merge branch 'master' into better-generated-chunk-names
lukastaegert Aug 5, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 1 addition & 4 deletions src/Chunk.ts
Expand Up @@ -999,10 +999,7 @@ export default class Chunk {
if (this.fileName) {
return getAliasName(this.fileName);
}
for (const module of this.orderedModules) {
if (module.chunkName) return module.chunkName;
}
return 'chunk';
return getAliasName(this.orderedModules[this.orderedModules.length - 1].id);
}

private getRelativePath(targetPath: string): string {
Expand Down
@@ -1,4 +1,4 @@
define(['./generated-chunk'], function (dep2) { 'use strict';
define(['./generated-dep2'], function (dep2) { 'use strict';

function fn () {
console.log('dep1 fn');
Expand Down
@@ -1,4 +1,4 @@
define(['./generated-chunk'], function (dep2) { 'use strict';
define(['./generated-dep2'], function (dep2) { 'use strict';

function fn () {
console.log('lib1 fn');
Expand Down
@@ -1,6 +1,6 @@
'use strict';

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

function fn () {
console.log('dep1 fn');
Expand Down
@@ -1,6 +1,6 @@
'use strict';

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

function fn () {
console.log('lib1 fn');
Expand Down
@@ -1,4 +1,4 @@
import { f as fn$1 } from './generated-chunk.js';
import { f as fn$1 } from './generated-dep2.js';

function fn () {
console.log('dep1 fn');
Expand Down
@@ -1,4 +1,4 @@
import { f as fn$2 } from './generated-chunk.js';
import { f as fn$2 } from './generated-dep2.js';

function fn () {
console.log('lib1 fn');
Expand Down
@@ -1,4 +1,4 @@
System.register(['./generated-chunk.js'], function (exports) {
System.register(['./generated-dep2.js'], function (exports) {
'use strict';
var fn$1;
return {
Expand Down
@@ -1,4 +1,4 @@
System.register(['./generated-chunk.js'], function (exports) {
System.register(['./generated-dep2.js'], function (exports) {
'use strict';
var fn$2;
return {
Expand Down

This file was deleted.

@@ -0,0 +1,10 @@
define(['exports', './generated-dep1', './generated-dep2'], function (exports, dep1, dep2) { 'use strict';

var x = dep1.x + 1;

var y = dep2.x + 1;

exports.x = x;
exports.y = y;

});
@@ -1,4 +1,4 @@
define(['./generated-chunk', './generated-chunk2', './generated-chunk3'], function (dep1, shared2, dep2) { 'use strict';
define(['./generated-dep1', './generated-shared2', './generated-dep2'], function (dep1, shared2, dep2) { 'use strict';

console.log(shared2.x + shared2.y);

Expand Down
@@ -1,4 +1,4 @@
define(['./generated-chunk', './generated-chunk2', './generated-chunk3'], function (dep1, shared2, dep2) { 'use strict';
define(['./generated-dep1', './generated-shared2', './generated-dep2'], function (dep1, shared2, dep2) { 'use strict';



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



Expand Down
@@ -1,4 +1,4 @@
define(['./generated-chunk3'], function (dep2) { 'use strict';
define(['./generated-dep2'], function (dep2) { 'use strict';



Expand Down

This file was deleted.

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

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

var x = dep1.x + 1;

var y = dep2.x + 1;

exports.x = x;
exports.y = y;
@@ -1,7 +1,7 @@
'use strict';

require('./generated-chunk.js');
var shared2 = require('./generated-chunk2.js');
require('./generated-chunk3.js');
require('./generated-dep1.js');
var shared2 = require('./generated-shared2.js');
require('./generated-dep2.js');

console.log(shared2.x + shared2.y);
@@ -1,6 +1,6 @@
'use strict';

require('./generated-chunk.js');
require('./generated-chunk2.js');
require('./generated-chunk3.js');
require('./generated-dep1.js');
require('./generated-shared2.js');
require('./generated-dep2.js');

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

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

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

require('./generated-chunk3.js');
require('./generated-dep2.js');

This file was deleted.

@@ -0,0 +1,8 @@
import { x as x$1 } from './generated-dep1.js';
import { x as x$2 } from './generated-dep2.js';

var x = x$1 + 1;

var y = x$2 + 1;

export { x, y };
@@ -1,5 +1,5 @@
import './generated-chunk.js';
import { x, y } from './generated-chunk2.js';
import './generated-chunk3.js';
import './generated-dep1.js';
import { x, y } from './generated-shared2.js';
import './generated-dep2.js';

console.log(x + y);
@@ -1,3 +1,3 @@
import './generated-chunk.js';
import './generated-chunk2.js';
import './generated-chunk3.js';
import './generated-dep1.js';
import './generated-shared2.js';
import './generated-dep2.js';
@@ -1 +1 @@
import './generated-chunk.js';
import './generated-dep1.js';
@@ -1 +1 @@
import './generated-chunk3.js';
import './generated-dep2.js';
@@ -1,4 +1,4 @@
System.register(['./generated-chunk.js', './generated-chunk3.js'], function (exports) {
System.register(['./generated-dep1.js', './generated-dep2.js'], function (exports) {
'use strict';
var x$1, x$2;
return {
Expand Down
@@ -1,4 +1,4 @@
System.register(['./generated-chunk.js', './generated-chunk2.js', './generated-chunk3.js'], function () {
System.register(['./generated-dep1.js', './generated-shared2.js', './generated-dep2.js'], function () {
'use strict';
var x, y;
return {
Expand Down
@@ -1,4 +1,4 @@
System.register(['./generated-chunk.js', './generated-chunk2.js', './generated-chunk3.js'], function () {
System.register(['./generated-dep1.js', './generated-shared2.js', './generated-dep2.js'], function () {
'use strict';
return {
setters: [function () {}, function () {}, function () {}],
Expand Down
@@ -1,4 +1,4 @@
System.register(['./generated-chunk.js'], function () {
System.register(['./generated-dep1.js'], function () {
'use strict';
return {
setters: [function () {}],
Expand Down
@@ -1,4 +1,4 @@
System.register(['./generated-chunk3.js'], function () {
System.register(['./generated-dep2.js'], function () {
'use strict';
return {
setters: [function () {}],
Expand Down

This file was deleted.

@@ -0,0 +1,5 @@
define(['./generated-dep111', './generated-dep112'], function (dep111, dep112) { 'use strict';

console.log('11');

});
@@ -1,4 +1,4 @@
define(['./generated-chunk', './generated-chunk2', './generated-chunk3'], function (dep111, dep112, dep11) { 'use strict';
define(['./generated-dep111', './generated-dep112', './generated-dep11'], function (dep111, dep112, dep11) { 'use strict';

console.log('1');

Expand Down
@@ -1,4 +1,4 @@
define(['./generated-chunk', './generated-chunk2', './generated-chunk3'], function (dep111, dep112, dep11) { 'use strict';
define(['./generated-dep111', './generated-dep112', './generated-dep11'], function (dep111, dep112, dep11) { 'use strict';



Expand Down
@@ -1,4 +1,4 @@
define(['./generated-chunk'], function (dep111) { 'use strict';
define(['./generated-dep111'], function (dep111) { 'use strict';



Expand Down
@@ -1,4 +1,4 @@
define(['./generated-chunk2'], function (dep112) { 'use strict';
define(['./generated-dep112'], function (dep112) { 'use strict';



Expand Down

This file was deleted.

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

require('./generated-dep111.js');
require('./generated-dep112.js');

console.log('11');
@@ -1,8 +1,8 @@
'use strict';

require('./generated-chunk.js');
var dep112 = require('./generated-chunk2.js');
require('./generated-chunk3.js');
require('./generated-dep111.js');
var dep112 = require('./generated-dep112.js');
require('./generated-dep11.js');

console.log('1');

Expand Down
@@ -1,6 +1,6 @@
'use strict';

require('./generated-chunk.js');
require('./generated-chunk2.js');
require('./generated-chunk3.js');
require('./generated-dep111.js');
require('./generated-dep112.js');
require('./generated-dep11.js');

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

require('./generated-chunk.js');
require('./generated-dep111.js');

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

require('./generated-chunk2.js');
require('./generated-dep112.js');

This file was deleted.

@@ -0,0 +1,4 @@
import './generated-dep111.js';
import './generated-dep112.js';

console.log('11');
@@ -1,6 +1,6 @@
import './generated-chunk.js';
import { x } from './generated-chunk2.js';
import './generated-chunk3.js';
import './generated-dep111.js';
import { x } from './generated-dep112.js';
import './generated-dep11.js';

console.log('1');

Expand Down
@@ -1,3 +1,3 @@
import './generated-chunk.js';
import './generated-chunk2.js';
import './generated-chunk3.js';
import './generated-dep111.js';
import './generated-dep112.js';
import './generated-dep11.js';
@@ -1 +1 @@
import './generated-chunk.js';
import './generated-dep111.js';
@@ -1 +1 @@
import './generated-chunk2.js';
import './generated-dep112.js';
@@ -1,4 +1,4 @@
System.register(['./generated-chunk.js', './generated-chunk2.js'], function () {
System.register(['./generated-dep111.js', './generated-dep112.js'], function () {
'use strict';
return {
setters: [function () {}, function () {}],
Expand Down
@@ -1,4 +1,4 @@
System.register(['./generated-chunk.js', './generated-chunk2.js', './generated-chunk3.js'], function () {
System.register(['./generated-dep111.js', './generated-dep112.js', './generated-dep11.js'], function () {
'use strict';
var x;
return {
Expand Down
@@ -1,4 +1,4 @@
System.register(['./generated-chunk.js', './generated-chunk2.js', './generated-chunk3.js'], function () {
System.register(['./generated-dep111.js', './generated-dep112.js', './generated-dep11.js'], function () {
'use strict';
return {
setters: [function () {}, function () {}, function () {}],
Expand Down
@@ -1,4 +1,4 @@
System.register(['./generated-chunk.js'], function () {
System.register(['./generated-dep111.js'], function () {
'use strict';
return {
setters: [function () {}],
Expand Down
@@ -1,4 +1,4 @@
System.register(['./generated-chunk2.js'], function () {
System.register(['./generated-dep112.js'], function () {
'use strict';
return {
setters: [function () {}],
Expand Down
@@ -1,4 +1,4 @@
define(['./generated-chunk'], function (dep1) { 'use strict';
define(['./generated-dep1'], function (dep1) { 'use strict';

class Main1 {
constructor () {
Expand Down
@@ -1,4 +1,4 @@
define(['./generated-chunk'], function (dep1) { 'use strict';
define(['./generated-dep1'], function (dep1) { 'use strict';

class Main2 {
constructor () {
Expand Down