MCPcopy
hub / github.com/webpack/webpack / _runCodeGenerationJobs

Method _runCodeGenerationJobs

lib/Compilation.js:3974–4075  ·  view source on GitHub ↗

* Run code generation jobs. * @private * @param {CodeGenerationJobs} jobs code generation jobs * @param {Callback} callback callback * @returns {void}

(jobs, callback)

Source from the content-addressed store, hash-verified

3972 * @returns {void}
3973 */
3974 _runCodeGenerationJobs(jobs, callback) {
3975 if (jobs.length === 0) {
3976 return callback();
3977 }
3978 let statModulesFromCache = 0;
3979 let statModulesGenerated = 0;
3980 const { chunkGraph, moduleGraph, dependencyTemplates, runtimeTemplate } =
3981 this;
3982 const results =
3983 /** @type {CodeGenerationResults} */
3984 (this.codeGenerationResults);
3985 /** @type {WebpackError[]} */
3986 const errors = [];
3987 /** @type {NotCodeGeneratedModules | undefined} */
3988 let notCodeGeneratedModules;
3989 const runIteration = () => {
3990 /** @type {CodeGenerationJobs} */
3991 let delayedJobs = [];
3992 /** @type {Set<Module>} */
3993 let delayedModules = new Set();
3994 asyncLib.eachLimit(
3995 jobs,
3996 this.options.parallelism,
3997 (job, callback) => {
3998 const { module } = job;
3999 const { codeGenerationDependencies } = module;
4000 if (
4001 codeGenerationDependencies !== undefined &&
4002 (notCodeGeneratedModules === undefined ||
4003 codeGenerationDependencies.some((dep) => {
4004 const referencedModule = /** @type {Module} */ (
4005 moduleGraph.getModule(dep)
4006 );
4007 return /** @type {NotCodeGeneratedModules} */ (
4008 notCodeGeneratedModules
4009 ).has(referencedModule);
4010 }))
4011 ) {
4012 delayedJobs.push(job);
4013 delayedModules.add(module);
4014 return callback();
4015 }
4016 const { hash, runtime, runtimes } = job;
4017 this._codeGenerationModule(
4018 module,
4019 runtime,
4020 runtimes,
4021 hash,
4022 dependencyTemplates,
4023 chunkGraph,
4024 moduleGraph,
4025 runtimeTemplate,
4026 errors,
4027 results,
4028 (err, codeGenerated) => {
4029 if (codeGenerated) statModulesGenerated++;
4030 else statModulesFromCache++;
4031 callback(err);

Callers 2

sealMethod · 0.95
codeGenerationMethod · 0.95

Calls 1

callbackFunction · 0.50

Tested by

no test coverage detected