feat: refactoring project
This commit is contained in:
46
node_modules/webpack/lib/javascript/JavascriptGenerator.js
generated
vendored
46
node_modules/webpack/lib/javascript/JavascriptGenerator.js
generated
vendored
@@ -9,15 +9,19 @@ const util = require("util");
|
||||
const { RawSource, ReplaceSource } = require("webpack-sources");
|
||||
const Generator = require("../Generator");
|
||||
const InitFragment = require("../InitFragment");
|
||||
const { JS_TYPES } = require("../ModuleSourceTypesConstants");
|
||||
const HarmonyCompatibilityDependency = require("../dependencies/HarmonyCompatibilityDependency");
|
||||
|
||||
/** @typedef {import("webpack-sources").Source} Source */
|
||||
/** @typedef {import("../DependenciesBlock")} DependenciesBlock */
|
||||
/** @typedef {import("../Dependency")} Dependency */
|
||||
/** @typedef {import("../DependencyTemplate")} DependencyTemplate */
|
||||
/** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
|
||||
/** @typedef {import("../DependencyTemplates")} DependencyTemplates */
|
||||
/** @typedef {import("../Generator").GenerateContext} GenerateContext */
|
||||
/** @typedef {import("../Module")} Module */
|
||||
/** @typedef {import("../Module").ConcatenationBailoutReasonContext} ConcatenationBailoutReasonContext */
|
||||
/** @typedef {import("../Module").SourceTypes} SourceTypes */
|
||||
/** @typedef {import("../NormalModule")} NormalModule */
|
||||
/** @typedef {import("../RuntimeTemplate")} RuntimeTemplate */
|
||||
|
||||
@@ -25,21 +29,26 @@ const HarmonyCompatibilityDependency = require("../dependencies/HarmonyCompatibi
|
||||
// replace with newer constructs
|
||||
|
||||
const deprecatedGetInitFragments = util.deprecate(
|
||||
/**
|
||||
* @param {DependencyTemplate} template template
|
||||
* @param {Dependency} dependency dependency
|
||||
* @param {DependencyTemplateContext} templateContext template context
|
||||
* @returns {InitFragment<GenerateContext>[]} init fragments
|
||||
*/
|
||||
(template, dependency, templateContext) =>
|
||||
template.getInitFragments(dependency, templateContext),
|
||||
/** @type {DependencyTemplate & { getInitFragments: function(Dependency, DependencyTemplateContext): InitFragment<GenerateContext>[] }} */
|
||||
(template).getInitFragments(dependency, templateContext),
|
||||
"DependencyTemplate.getInitFragment is deprecated (use apply(dep, source, { initFragments }) instead)",
|
||||
"DEP_WEBPACK_JAVASCRIPT_GENERATOR_GET_INIT_FRAGMENTS"
|
||||
);
|
||||
|
||||
const TYPES = new Set(["javascript"]);
|
||||
|
||||
class JavascriptGenerator extends Generator {
|
||||
/**
|
||||
* @param {NormalModule} module fresh module
|
||||
* @returns {Set<string>} available types (do not mutate)
|
||||
* @returns {SourceTypes} available types (do not mutate)
|
||||
*/
|
||||
getTypes(module) {
|
||||
return TYPES;
|
||||
return JS_TYPES;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -84,7 +93,7 @@ class JavascriptGenerator extends Generator {
|
||||
/**
|
||||
* @param {NormalModule} module module for which the code should be generated
|
||||
* @param {GenerateContext} generateContext context for generate
|
||||
* @returns {Source} generated code
|
||||
* @returns {Source | null} generated code
|
||||
*/
|
||||
generate(module, generateContext) {
|
||||
const originalSource = module.originalSource();
|
||||
@@ -93,6 +102,7 @@ class JavascriptGenerator extends Generator {
|
||||
}
|
||||
|
||||
const source = new ReplaceSource(originalSource);
|
||||
/** @type {InitFragment<GenerateContext>[]} */
|
||||
const initFragments = [];
|
||||
|
||||
this.sourceModule(module, initFragments, source, generateContext);
|
||||
@@ -102,7 +112,7 @@ class JavascriptGenerator extends Generator {
|
||||
|
||||
/**
|
||||
* @param {Module} module the module to generate
|
||||
* @param {InitFragment[]} initFragments mutable list of init fragments
|
||||
* @param {InitFragment<GenerateContext>[]} initFragments mutable list of init fragments
|
||||
* @param {ReplaceSource} source the current replace source which can be modified
|
||||
* @param {GenerateContext} generateContext the generateContext
|
||||
* @returns {void}
|
||||
@@ -144,7 +154,7 @@ class JavascriptGenerator extends Generator {
|
||||
/**
|
||||
* @param {Module} module the module to generate
|
||||
* @param {DependenciesBlock} block the dependencies block which will be processed
|
||||
* @param {InitFragment[]} initFragments mutable list of init fragments
|
||||
* @param {InitFragment<GenerateContext>[]} initFragments mutable list of init fragments
|
||||
* @param {ReplaceSource} source the current replace source which can be modified
|
||||
* @param {GenerateContext} generateContext the generateContext
|
||||
* @returns {void}
|
||||
@@ -174,24 +184,26 @@ class JavascriptGenerator extends Generator {
|
||||
/**
|
||||
* @param {Module} module the current module
|
||||
* @param {Dependency} dependency the dependency to generate
|
||||
* @param {InitFragment[]} initFragments mutable list of init fragments
|
||||
* @param {InitFragment<GenerateContext>[]} initFragments mutable list of init fragments
|
||||
* @param {ReplaceSource} source the current replace source which can be modified
|
||||
* @param {GenerateContext} generateContext the render context
|
||||
* @returns {void}
|
||||
*/
|
||||
sourceDependency(module, dependency, initFragments, source, generateContext) {
|
||||
const constructor = /** @type {new (...args: any[]) => Dependency} */ (
|
||||
dependency.constructor
|
||||
);
|
||||
const constructor =
|
||||
/** @type {new (...args: EXPECTED_ANY[]) => Dependency} */
|
||||
(dependency.constructor);
|
||||
const template = generateContext.dependencyTemplates.get(constructor);
|
||||
if (!template) {
|
||||
throw new Error(
|
||||
"No template for dependency: " + dependency.constructor.name
|
||||
`No template for dependency: ${dependency.constructor.name}`
|
||||
);
|
||||
}
|
||||
|
||||
/** @type {InitFragment<GenerateContext>[] | undefined} */
|
||||
let chunkInitFragments;
|
||||
|
||||
/** @type {DependencyTemplateContext} */
|
||||
const templateContext = {
|
||||
runtimeTemplate: generateContext.runtimeTemplate,
|
||||
dependencyTemplates: generateContext.dependencyTemplates,
|
||||
@@ -201,11 +213,15 @@ class JavascriptGenerator extends Generator {
|
||||
runtime: generateContext.runtime,
|
||||
runtimeRequirements: generateContext.runtimeRequirements,
|
||||
concatenationScope: generateContext.concatenationScope,
|
||||
codeGenerationResults: generateContext.codeGenerationResults,
|
||||
codeGenerationResults:
|
||||
/** @type {NonNullable<GenerateContext["codeGenerationResults"]>} */
|
||||
(generateContext.codeGenerationResults),
|
||||
initFragments,
|
||||
get chunkInitFragments() {
|
||||
if (!chunkInitFragments) {
|
||||
const data = generateContext.getData();
|
||||
const data =
|
||||
/** @type {NonNullable<GenerateContext["getData"]>} */
|
||||
(generateContext.getData)();
|
||||
chunkInitFragments = data.get("chunkInitFragments");
|
||||
if (!chunkInitFragments) {
|
||||
chunkInitFragments = [];
|
||||
|
||||
Reference in New Issue
Block a user