MCPcopy
hub / github.com/webpack/webpack / apply

Method apply

lib/css/CssModulesPlugin.js:197–687  ·  view source on GitHub ↗

* Applies the plugin by registering its hooks on the compiler. * @param {Compiler} compiler the compiler instance * @returns {void}

(compiler)

Source from the content-addressed store, hash-verified

195 * @returns {void}
196 */
197 apply(compiler) {
198 compiler.hooks.compilation.tap(
199 PLUGIN_NAME,
200 (compilation, { normalModuleFactory }) => {
201 const hooks = CssModulesPlugin.getCompilationHooks(compilation);
202 compilation.dependencyFactories.set(
203 CssImportDependency,
204 normalModuleFactory
205 );
206 compilation.dependencyTemplates.set(
207 CssImportDependency,
208 new CssImportDependency.Template()
209 );
210 compilation.dependencyFactories.set(
211 CssUrlDependency,
212 normalModuleFactory
213 );
214 compilation.dependencyTemplates.set(
215 CssUrlDependency,
216 new CssUrlDependency.Template()
217 );
218 compilation.dependencyFactories.set(
219 CssIcssImportDependency,
220 normalModuleFactory
221 );
222 compilation.dependencyTemplates.set(
223 CssIcssImportDependency,
224 new CssIcssImportDependency.Template()
225 );
226 compilation.dependencyTemplates.set(
227 CssIcssExportDependency,
228 new CssIcssExportDependency.Template()
229 );
230 compilation.dependencyTemplates.set(
231 CssIcssSymbolDependency,
232 new CssIcssSymbolDependency.Template()
233 );
234 compilation.dependencyTemplates.set(
235 StaticExportsDependency,
236 new StaticExportsDependency.Template()
237 );
238 for (const type of [
239 CSS_MODULE_TYPE,
240 CSS_MODULE_TYPE_GLOBAL,
241 CSS_MODULE_TYPE_MODULE,
242 CSS_MODULE_TYPE_AUTO
243 ]) {
244 normalModuleFactory.hooks.createParser
245 .for(type)
246 .tap(PLUGIN_NAME, (parserOptions) => {
247 /** @type {undefined | "global" | "local" | "auto"} */
248 let defaultMode;
249
250 switch (type) {
251 case CSS_MODULE_TYPE: {
252 compiler.validate(
253 () => getSchema("CssParserOptions"),
254 parserOptions,

Callers

nothing calls this directly

Calls 15

renderChunkMethod · 0.95
createHashFunction · 0.85
getUndoPathFunction · 0.85
tapMethod · 0.80
validateMethod · 0.80
optionalChainingMethod · 0.80
indentMethod · 0.80
chunkHasCssMethod · 0.80
getPathWithInfoMethod · 0.80
addRuntimeModuleMethod · 0.80

Tested by

no test coverage detected