* 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
})
| 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 |
nothing calls this directly
no test coverage detected