Skip to content

Commit f5151b7

Browse files
authored
Fixing source maps (#47)
* source maps test * adding assets to parent compilation in right lifecycle hook * switching to afterOptimize * making sure that source maps are created
1 parent e3665ac commit f5151b7

28 files changed

Lines changed: 102 additions & 68 deletions

File tree

‎src/index.js‎

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -148,32 +148,34 @@ class BabelEsmPlugin {
148148
return childProcessDone(childCompilation.errors[0]);
149149
}
150150

151-
compilation.assets = Object.assign(
152-
childCompilation.assets,
153-
compilation.assets,
154-
);
155-
156-
compilation.namedChunkGroups = Object.assign(
157-
childCompilation.namedChunkGroups,
158-
compilation.namedChunkGroups,
159-
);
160-
161-
const childChunkFileMap = childCompilation.chunks.reduce(
162-
(chunkMap, chunk) => {
163-
chunkMap[chunk.name] = chunk.files;
164-
return chunkMap;
165-
},
166-
{},
167-
);
168-
169-
compilation.chunks.forEach(chunk => {
170-
const childChunkFiles = childChunkFileMap[chunk.name];
171-
172-
if (childChunkFiles) {
173-
chunk.files.push(
174-
...childChunkFiles.filter(v => !chunk.files.includes(v)),
175-
);
176-
}
151+
compilation.hooks.afterOptimizeAssets.tap(PLUGIN_NAME, () => {
152+
compilation.assets = Object.assign(
153+
childCompilation.assets,
154+
compilation.assets,
155+
);
156+
157+
compilation.namedChunkGroups = Object.assign(
158+
childCompilation.namedChunkGroups,
159+
compilation.namedChunkGroups,
160+
);
161+
162+
const childChunkFileMap = childCompilation.chunks.reduce(
163+
(chunkMap, chunk) => {
164+
chunkMap[chunk.name] = chunk.files;
165+
return chunkMap;
166+
},
167+
{},
168+
);
169+
170+
compilation.chunks.forEach(chunk => {
171+
const childChunkFiles = childChunkFileMap[chunk.name];
172+
173+
if (childChunkFiles) {
174+
chunk.files.push(
175+
...childChunkFiles.filter(v => !chunk.files.includes(v)),
176+
);
177+
}
178+
});
177179
});
178180

179181
childProcessDone();

‎tests/babel-preset-modules/fixtures/index.js‎

Lines changed: 0 additions & 1 deletion
This file was deleted.

‎tests/compilation-hash/compilation-hash.test.js‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ test('esm files are being generated', async t => {
2525
const compiler = getCompiler(config);
2626
const { hash } = await runWebpack(compiler);
2727
const files = fs.readdirSync(`${__dirname}/output/`);
28-
t.is(files.length, 2);
29-
t.deepEqual(files, [`index.${hash}.es6.js`, `index.${hash}.js`]);
28+
t.is(files.length, 4);
29+
t.deepEqual(files, [
30+
`index.${hash}.es6.js`,
31+
`index.${hash}.es6.js.map`,
32+
`index.${hash}.js`,
33+
`index.${hash}.js.map`,
34+
]);
3035
});

‎tests/dynamic-entries/fixtures/object.es6.js‎

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tests/dynamic-entries/fixtures/object.js‎

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tests/dynamic-entries/fixtures/promise.es6.js‎

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tests/dynamic-entries/fixtures/promise.js‎

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tests/dynamic-entries/fixtures/string.es6.js‎

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tests/dynamic-entries/fixtures/string.js‎

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tests/multiple-entry-files/fixtures/output.es6.js‎

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)