Skip to content

Commit 3c7d357

Browse files
authored
fix plugin crush (#26)
1 parent 3d9977e commit 3c7d357

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

ExposeRuntimeCssAssetsPlugin.cjs

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,22 +30,22 @@ module.exports = class ExposeRuntimeCssAssetsPlugin {
3030
*/
3131
apply(compiler) {
3232
compiler.hooks.compilation.tap(pluginName, (compilation) => {
33-
const { outputOptions, chunkGraph } = compilation;
33+
const { outputOptions } = compilation;
3434
compilation.hooks.contentHash.tap(pluginName, (chunk) => {
35-
const modules = chunkGraph.getChunkModulesIterableBySourceType(
36-
chunk,
37-
MODULE_TYPE,
38-
);
35+
const modules =
36+
compilation.chunkGraph.getChunkModulesIterableBySourceType(
37+
chunk,
38+
MODULE_TYPE,
39+
);
3940

4041
if (modules) {
4142
const { hashFunction, hashDigest, hashDigestLength } = outputOptions;
4243
const hash = webpack.util.createHash(hashFunction);
4344

4445
for (const m of modules) {
45-
m.updateHash(hash, { chunkGraph });
46+
m.updateHash(hash, { chunkGraph: compilation.chunkGraph });
4647
}
4748

48-
// eslint-disable-next-line no-param-reassign
4949
chunk.contentHash[MODULE_TYPE] = hash
5050
.digest(hashDigest)
5151
.substring(0, hashDigestLength);
@@ -54,9 +54,18 @@ module.exports = class ExposeRuntimeCssAssetsPlugin {
5454

5555
compilation.hooks.afterOptimizeChunks.tap(pluginName, (chunks) => {
5656
chunks.forEach((chunk) => {
57-
if (chunkGraph.getNumberOfEntryModules(chunk) > 0) {
57+
if (compilation.chunkGraph.getNumberOfEntryModules(chunk) > 0) {
58+
const entryModules = Array.from(
59+
compilation.chunkGraph.getChunkEntryModulesIterable(chunk),
60+
);
61+
62+
if (entryModules.length < 1) return;
63+
5864
let foundCssModule = false;
59-
for (let module of chunkGraph.getChunkModules(chunk)) {
65+
66+
for (const module of compilation.chunkGraph.getChunkModulesIterable(
67+
chunk,
68+
)) {
6069
if (module.type === MODULE_TYPE) {
6170
foundCssModule = true;
6271
break;
@@ -80,7 +89,6 @@ module.exports = class ExposeRuntimeCssAssetsPlugin {
8089
m.updateHash(hash, { chunkGraph });
8190
}
8291

83-
// eslint-disable-next-line no-param-reassign
8492
chunk.contentHash[MODULE_TYPE] = hash
8593
.digest(hashDigest)
8694
.substring(0, hashDigestLength);

0 commit comments

Comments
 (0)