mirror of https://github.com/webpack/webpack.git
Merge fad1bc1f32
into e1afcd4cc2
This commit is contained in:
commit
8f29ba80eb
|
@ -376,7 +376,9 @@ class LazyCompilationPlugin {
|
|||
apply(compiler) {
|
||||
/** @type {BackendApi} */
|
||||
let backend;
|
||||
compiler.hooks.beforeCompile.tapAsync(PLUGIN_NAME, (params, callback) => {
|
||||
compiler.hooks.beforeCompile.tapAsync(
|
||||
PLUGIN_NAME,
|
||||
(/** @type {any} */ params, /** @type {(err?: Error | null) => void} */ callback) => {
|
||||
if (backend !== undefined) return callback();
|
||||
const promise = this.backend(compiler, (err, result) => {
|
||||
if (err) return callback(err);
|
||||
|
@ -389,15 +391,25 @@ class LazyCompilationPlugin {
|
|||
callback();
|
||||
}, callback);
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
compiler.hooks.thisCompilation.tap(
|
||||
PLUGIN_NAME,
|
||||
/**
|
||||
* @param {import("../Compilation")} compilation
|
||||
* @param {{ normalModuleFactory: import("../NormalModuleFactory") }} param1
|
||||
*/
|
||||
(compilation, { normalModuleFactory }) => {
|
||||
normalModuleFactory.hooks.module.tap(
|
||||
PLUGIN_NAME,
|
||||
/**
|
||||
* @param {Module} module
|
||||
* @param {*} createData
|
||||
* @param {*} resolveData
|
||||
*/
|
||||
(module, createData, resolveData) => {
|
||||
if (
|
||||
resolveData.dependencies.every((dep) =>
|
||||
resolveData.dependencies.every((dep: any) =>
|
||||
HMR_DEPENDENCY_TYPES.has(dep.type)
|
||||
)
|
||||
) {
|
||||
|
@ -457,7 +469,7 @@ class LazyCompilationPlugin {
|
|||
);
|
||||
}
|
||||
);
|
||||
compiler.hooks.shutdown.tapAsync(PLUGIN_NAME, (callback) => {
|
||||
compiler.hooks.shutdown.tapAsync(PLUGIN_NAME, (callback: (...args: any[]) => void) => {
|
||||
backend.dispose(callback);
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue