MCPcopy
hub / github.com/webpack/webpack / constructor

Method constructor

lib/NormalModuleFactory.js:391–995  ·  view source on GitHub ↗

* Creates an instance of NormalModuleFactory. * @param {object} param params * @param {string=} param.context context * @param {InputFileSystem} param.fs file system * @param {ResolverFactory} param.resolverFactory resolverFactory * @param {ModuleOptions} param.options options * @param {

({
		context,
		fs,
		resolverFactory,
		options,
		associatedObjectForCache
	})

Source from the content-addressed store, hash-verified

389 * @param {AssociatedObjectForCache} param.associatedObjectForCache an object to which the cache will be attached
390 */
391 constructor({
392 context,
393 fs,
394 resolverFactory,
395 options,
396 associatedObjectForCache
397 }) {
398 super();
399 this.hooks = Object.freeze({
400 /** @type {AsyncSeriesBailHook<[ResolveData], Module | false | void>} */
401 resolve: new AsyncSeriesBailHook(["resolveData"]),
402 /** @type {HookMap<AsyncSeriesBailHook<[ResourceDataWithData, ResolveData], true | void>>} */
403 resolveForScheme: new HookMap(
404 () => new AsyncSeriesBailHook(["resourceData", "resolveData"])
405 ),
406 /** @type {HookMap<AsyncSeriesBailHook<[ResourceDataWithData, ResolveData], true | void>>} */
407 resolveInScheme: new HookMap(
408 () => new AsyncSeriesBailHook(["resourceData", "resolveData"])
409 ),
410 /** @type {AsyncSeriesBailHook<[ResolveData], Module | undefined>} */
411 factorize: new AsyncSeriesBailHook(["resolveData"]),
412 /** @type {AsyncSeriesBailHook<[ResolveData], false | void>} */
413 beforeResolve: new AsyncSeriesBailHook(["resolveData"]),
414 /** @type {AsyncSeriesBailHook<[ResolveData], false | void>} */
415 afterResolve: new AsyncSeriesBailHook(["resolveData"]),
416 /** @type {AsyncSeriesBailHook<[CreateData, ResolveData], Module | void>} */
417 createModule: new AsyncSeriesBailHook(["createData", "resolveData"]),
418 /** @type {SyncWaterfallHook<[Module, CreateData, ResolveData]>} */
419 module: new SyncWaterfallHook(["module", "createData", "resolveData"]),
420 /** @type {import("tapable").TypedHookMap<RecordFactoryFromTuple<ParsersAndGeneratorsByTypes, [2], 1>>} */
421 createParser: new HookMap(() => new SyncBailHook(["parserOptions"])),
422 /** @type {import("tapable").TypedHookMap<RecordFactoryFromTuple<ParsersAndGeneratorsByTypes, [1, 2]>>} */
423 parser: new HookMap(() => new SyncHook(["parser", "parserOptions"])),
424 /** @type {import("tapable").TypedHookMap<RecordFactoryFromTuple<ParsersAndGeneratorsByTypes, [4], 3>>} */
425 createGenerator: new HookMap(
426 () => new SyncBailHook(["generatorOptions"])
427 ),
428 /** @type {import("tapable").TypedHookMap<RecordFactoryFromTuple<ParsersAndGeneratorsByTypes, [3, 4]>>} */
429 generator: new HookMap(
430 () => new SyncHook(["generator", "generatorOptions"])
431 ),
432 /** @type {HookMap<SyncBailHook<[CreateData, ResolveData], Module | void>>} */
433 createModuleClass: new HookMap(
434 () => new SyncBailHook(["createData", "resolveData"])
435 )
436 });
437 /** @type {ResolverFactory} */
438 this.resolverFactory = resolverFactory;
439 /** @type {RuleSet} */
440 this.ruleSet = ruleSetCompiler.compile([
441 {
442 rules: /** @type {RuleSetRules} */ (options.defaultRules)
443 },
444 {
445 rules: /** @type {RuleSetRules} */ (options.rules)
446 }
447 ]);
448 /** @type {string} */

Callers

nothing calls this directly

Calls 15

getResolverMethod · 0.95
getParserMethod · 0.95
getGeneratorMethod · 0.95
resolveRequestArrayMethod · 0.95
getSchemeFunction · 0.85
joinFunction · 0.85
cachedCleverMergeFunction · 0.85
freezeMethod · 0.80
execMethod · 0.80
sliceMethod · 0.80

Tested by

no test coverage detected