MCPcopy
hub / github.com/webpack/webpack / codeGeneration

Method codeGeneration

lib/NormalModule.js:2043–2116  ·  view source on GitHub ↗

* Generates code and runtime requirements for this module. * @param {CodeGenerationContext} context context for code generation * @returns {CodeGenerationResult} result

({
		dependencyTemplates,
		runtimeTemplate,
		moduleGraph,
		chunkGraph,
		runtime,
		concatenationScope,
		codeGenerationResults,
		sourceTypes
	})

Source from the content-addressed store, hash-verified

2041 * @returns {CodeGenerationResult} result
2042 */
2043 codeGeneration({
2044 dependencyTemplates,
2045 runtimeTemplate,
2046 moduleGraph,
2047 chunkGraph,
2048 runtime,
2049 concatenationScope,
2050 codeGenerationResults,
2051 sourceTypes
2052 }) {
2053 /** @type {RuntimeRequirements} */
2054 const runtimeRequirements = new Set();
2055
2056 const { parsed } = /** @type {NormalModuleBuildInfo} */ (this.buildInfo);
2057
2058 if (!parsed) {
2059 runtimeRequirements.add(RuntimeGlobals.module);
2060 runtimeRequirements.add(RuntimeGlobals.exports);
2061 runtimeRequirements.add(RuntimeGlobals.thisAsExports);
2062 }
2063
2064 const getData = () => this._codeGeneratorData;
2065
2066 /** @type {Sources} */
2067 const sources = new Map();
2068 for (const type of sourceTypes || chunkGraph.getModuleSourceTypes(this)) {
2069 // TODO webpack@6 make generateError required
2070 const generator =
2071 /** @type {Generator & { generateError?: GenerateErrorFn }} */
2072 (this.generator);
2073 const source = this.error
2074 ? generator.generateError
2075 ? generator.generateError(this.error, this, {
2076 dependencyTemplates,
2077 runtimeTemplate,
2078 moduleGraph,
2079 chunkGraph,
2080 runtimeRequirements,
2081 runtime,
2082 concatenationScope,
2083 codeGenerationResults,
2084 getData,
2085 type
2086 })
2087 : new RawSource(
2088 `throw new Error(${JSON.stringify(this.error.message)});`
2089 )
2090 : generator.generate(this, {
2091 dependencyTemplates,
2092 runtimeTemplate,
2093 moduleGraph,
2094 chunkGraph,
2095 runtimeRequirements,
2096 runtime,
2097 concatenationScope,
2098 codeGenerationResults,
2099 getData,
2100 type

Callers

nothing calls this directly

Calls 5

getModuleSourceTypesMethod · 0.80
addMethod · 0.45
generateErrorMethod · 0.45
generateMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected