Skip to content

Commit 27d60f7

Browse files
authored
Merge pull request webpack#6126 from ooflorent/remove_plugin_calls
Remove more plugin calls
2 parents 5c3cb43 + 1dabdb9 commit 27d60f7

File tree

54 files changed

+236
-404
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+236
-404
lines changed

lib/APIPlugin.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,16 @@ class APIPlugin {
3939
compilation.dependencyFactories.set(ConstDependency, new NullFactory());
4040
compilation.dependencyTemplates.set(ConstDependency, new ConstDependency.Template());
4141

42-
normalModuleFactory.plugin(["parser javascript/auto", "parser javascript/dynamic", "parser javascript/esm"], parser => {
42+
const handler = parser => {
4343
Object.keys(REPLACEMENTS).forEach(key => {
4444
parser.plugin(`expression ${key}`, NO_WEBPACK_REQUIRE[key] ? ParserHelpers.toConstantDependency(REPLACEMENTS[key]) : ParserHelpers.toConstantDependencyWithWebpackRequire(REPLACEMENTS[key]));
4545
parser.plugin(`evaluate typeof ${key}`, ParserHelpers.evaluateToString(REPLACEMENT_TYPES[key]));
4646
});
47-
});
47+
};
48+
49+
normalModuleFactory.hooks.parser.for("javascript/auto").tap("APIPlugin", handler);
50+
normalModuleFactory.hooks.parser.for("javascript/dynamic").tap("APIPlugin", handler);
51+
normalModuleFactory.hooks.parser.for("javascript/esm").tap("APIPlugin", handler);
4852
});
4953
}
5054
}

lib/CompatibilityPlugin.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class CompatibilityPlugin {
1717
compilation.dependencyFactories.set(ConstDependency, new NullFactory());
1818
compilation.dependencyTemplates.set(ConstDependency, new ConstDependency.Template());
1919

20-
normalModuleFactory.plugin("parser javascript/auto", (parser, parserOptions) => {
20+
normalModuleFactory.hooks.parser.for("javascript/auto").tap("CompatibilityPlugin", (parser, parserOptions) => {
2121

2222
if(typeof parserOptions.browserify !== "undefined" && !parserOptions.browserify)
2323
return;

lib/ConstPlugin.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class ConstPlugin {
2020
compilation.dependencyFactories.set(ConstDependency, new NullFactory());
2121
compilation.dependencyTemplates.set(ConstDependency, new ConstDependency.Template());
2222

23-
normalModuleFactory.plugin(["parser javascript/auto", "parser javascript/dynamic", "parser javascript/esm"], parser => {
23+
const handler = parser => {
2424
parser.plugin("statement if", statement => {
2525
const param = parser.evaluateExpression(statement.test);
2626
const bool = param.asBool();
@@ -54,7 +54,11 @@ class ConstPlugin {
5454
parser.state.current.addVariable("__resourceQuery", JSON.stringify(getQuery(parser.state.module.resource)));
5555
return true;
5656
});
57-
});
57+
};
58+
59+
normalModuleFactory.hooks.parser.for("javascript/auto").tap("ConstPlugin", handler);
60+
normalModuleFactory.hooks.parser.for("javascript/dynamic").tap("ConstPlugin", handler);
61+
normalModuleFactory.hooks.parser.for("javascript/esm").tap("ConstPlugin", handler);
5862
});
5963
}
6064
}

lib/ContextExclusionPlugin.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class ContextExclusionPlugin {
77

88
apply(compiler) {
99
compiler.hooks.contextModuleFactory.tap("ContextExclusionPlugin", (cmf) => {
10-
cmf.plugin("context-module-files", (files) => {
10+
cmf.hooks.contextModuleFiles.tap("ContextExclusionPlugin", (files) => {
1111
return files.filter(filePath => !this.negativeMatcher.test(filePath));
1212
});
1313
});

lib/ContextReplacementPlugin.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ class ContextReplacementPlugin {
4646
const newContentCreateContextMap = this.newContentCreateContextMap;
4747

4848
compiler.hooks.contextModuleFactory.tap("ContextReplacementPlugin", (cmf) => {
49-
cmf.plugin("before-resolve", (result, callback) => {
50-
if(!result) return callback();
49+
cmf.hooks.beforeResolve.tap("ContextReplacementPlugin", (result) => {
50+
if(!result) return;
5151
if(resourceRegExp.test(result.request)) {
5252
if(typeof newContentResource !== "undefined")
5353
result.request = newContentResource;
@@ -64,10 +64,10 @@ class ContextReplacementPlugin {
6464
});
6565
}
6666
}
67-
return callback(null, result);
67+
return result;
6868
});
69-
cmf.plugin("after-resolve", (result, callback) => {
70-
if(!result) return callback();
69+
cmf.hooks.afterResolve.tap("ContextReplacementPlugin", (result) => {
70+
if(!result) return;
7171
if(resourceRegExp.test(result.resource)) {
7272
if(typeof newContentResource !== "undefined")
7373
result.resource = path.resolve(result.resource, newContentResource);
@@ -90,7 +90,7 @@ class ContextReplacementPlugin {
9090
});
9191
}
9292
}
93-
return callback(null, result);
93+
return result;
9494
});
9595
});
9696
}

lib/DefinePlugin.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class DefinePlugin {
3838
compilation.dependencyFactories.set(ConstDependency, new NullFactory());
3939
compilation.dependencyTemplates.set(ConstDependency, new ConstDependency.Template());
4040

41-
normalModuleFactory.plugin(["parser javascript/auto", "parser javascript/dynamic", "parser javascript/esm"], (parser) => {
41+
const handler = (parser) => {
4242
const walkDefinitions = (definitions, prefix) => {
4343
Object.keys(definitions).forEach((key) => {
4444
const code = definitions[key];
@@ -120,7 +120,11 @@ class DefinePlugin {
120120
};
121121

122122
walkDefinitions(definitions, "");
123-
});
123+
};
124+
125+
normalModuleFactory.hooks.parser.for("javascript/auto").tap("DefinePlugin", handler);
126+
normalModuleFactory.hooks.parser.for("javascript/dynamic").tap("DefinePlugin", handler);
127+
normalModuleFactory.hooks.parser.for("javascript/esm").tap("DefinePlugin", handler);
124128
});
125129
}
126130
}

lib/DelegatedModuleFactoryPlugin.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class DelegatedModuleFactoryPlugin {
2121
apply(normalModuleFactory) {
2222
const scope = this.options.scope;
2323
if(scope) {
24-
normalModuleFactory.plugin("factory", factory => (data, callback) => {
24+
normalModuleFactory.hooks.factory.tap("DelegatedModuleFactoryPlugin", factory => (data, callback) => {
2525
const dependency = data.dependencies[0];
2626
const request = dependency.request;
2727
if(request && request.indexOf(scope + "/") === 0) {
@@ -43,7 +43,7 @@ class DelegatedModuleFactoryPlugin {
4343
return factory(data, callback);
4444
});
4545
} else {
46-
normalModuleFactory.plugin("module", module => {
46+
normalModuleFactory.hooks.module.tap("DelegatedModuleFactoryPlugin", module => {
4747
if(module.libIdent) {
4848
const request = module.libIdent(this.options);
4949
if(request && request in this.options.content) {

lib/EvalDevToolModuleTemplatePlugin.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class EvalDevToolModuleTemplatePlugin {
1616
}
1717

1818
apply(moduleTemplate) {
19-
moduleTemplate.plugin("module", (source, module) => {
19+
moduleTemplate.hooks.module.tap("EvalDevToolModuleTemplatePlugin", (source, module) => {
2020
const cacheEntry = cache.get(source);
2121
if(cacheEntry !== undefined) return cacheEntry;
2222
const content = source.source();
@@ -32,7 +32,7 @@ class EvalDevToolModuleTemplatePlugin {
3232
cache.set(source, result);
3333
return result;
3434
});
35-
moduleTemplate.plugin("hash", hash => {
35+
moduleTemplate.hooks.hash.tap("EvalDevToolModuleTemplatePlugin", hash => {
3636
hash.update("EvalDevToolModuleTemplatePlugin");
3737
hash.update("2");
3838
});

lib/EvalSourceMapDevToolModuleTemplatePlugin.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class EvalSourceMapDevToolModuleTemplatePlugin {
1919
apply(moduleTemplate) {
2020
const self = this;
2121
const options = this.options;
22-
moduleTemplate.plugin("module", (source, module) => {
22+
moduleTemplate.hooks.module.tap("EvalSourceMapDevToolModuleTemplatePlugin", (source, module) => {
2323
if(source.__EvalSourceMapDevToolData)
2424
return source.__EvalSourceMapDevToolData;
2525
let sourceMap;
@@ -70,7 +70,7 @@ class EvalSourceMapDevToolModuleTemplatePlugin {
7070
source.__EvalSourceMapDevToolData = new RawSource(`eval(${JSON.stringify(content + footer)});`);
7171
return source.__EvalSourceMapDevToolData;
7272
});
73-
moduleTemplate.plugin("hash", hash => {
73+
moduleTemplate.hooks.hash.tap("EvalSourceMapDevToolModuleTemplatePlugin", hash => {
7474
hash.update("eval-source-map");
7575
hash.update("2");
7676
});

lib/ExportPropertyMainTemplatePlugin.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class ExportPropertyMainTemplatePlugin {
2121
const postfix = `${accessorToObjectAccess([].concat(this.property))}`;
2222
return new ConcatSource(source, postfix);
2323
});
24-
mainTemplate.plugin("hash", hash => {
24+
mainTemplate.hooks.hash.tap("ExportPropertyMainTemplatePlugin", hash => {
2525
hash.update("export property");
2626
hash.update(`${this.property}`);
2727
});

0 commit comments

Comments
 (0)