(compiler)
| 465 | } |
| 466 | |
| 467 | apply (compiler) { |
| 468 | this.workerPool = new WorkerPool({ |
| 469 | workerPath: require.resolve('./worker'), |
| 470 | concurrency: this.options.concurrency |
| 471 | }); |
| 472 | |
| 473 | compiler.hooks.compilation.tap(NAME, compilation => { |
| 474 | this.updateChunkHash(compilation); |
| 475 | |
| 476 | if (this.isWebpack5()) { |
| 477 | compilation.hooks.processAssets.tapPromise({ |
| 478 | name: NAME, |
| 479 | stage: this.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE |
| 480 | }, (assets) => { |
| 481 | const chunkFiles = Object.keys(assets); |
| 482 | |
| 483 | return this.optimize(compiler, compilation, chunkFiles); |
| 484 | }); |
| 485 | } else { |
| 486 | compilation.hooks.optimizeChunkAssets.tapPromise(NAME, (chunks) => { |
| 487 | const chunkFiles = Array.from(chunks).reduce( |
| 488 | (acc, chunk) => acc.concat(Array.from(chunk.files || [])), |
| 489 | [] |
| 490 | ); |
| 491 | |
| 492 | return this.optimize(compiler, compilation, chunkFiles); |
| 493 | }); |
| 494 | } |
| 495 | }); |
| 496 | } |
| 497 | } |
nothing calls this directly
no test coverage detected