diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2023-11-01 20:49:36 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2023-11-01 20:49:36 +0800 |
| commit | e99f950f5018cfe737c0d1150e50d97c6e6a4823 (patch) | |
| tree | 16f329a1b22128ed67f3fcae15a9b0a030f2ccbf /node_modules/webpack/lib/css/CssExportsGenerator.js | |
| parent | c5d8a744dd584749e0b920119b42e731e37e5f62 (diff) | |
update
Diffstat (limited to 'node_modules/webpack/lib/css/CssExportsGenerator.js')
| -rw-r--r-- | node_modules/webpack/lib/css/CssExportsGenerator.js | 148 |
1 files changed, 0 insertions, 148 deletions
diff --git a/node_modules/webpack/lib/css/CssExportsGenerator.js b/node_modules/webpack/lib/css/CssExportsGenerator.js deleted file mode 100644 index 0fc400e0..00000000 --- a/node_modules/webpack/lib/css/CssExportsGenerator.js +++ /dev/null @@ -1,148 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Sergey Melyukov @smelukov -*/ - -"use strict"; - -const { ReplaceSource, RawSource, ConcatSource } = require("webpack-sources"); -const { UsageState } = require("../ExportsInfo"); -const Generator = require("../Generator"); -const RuntimeGlobals = require("../RuntimeGlobals"); -const Template = require("../Template"); - -/** @typedef {import("webpack-sources").Source} Source */ -/** @typedef {import("../Dependency")} Dependency */ -/** @typedef {import("../Generator").GenerateContext} GenerateContext */ -/** @typedef {import("../Generator").UpdateHashContext} UpdateHashContext */ -/** @typedef {import("../Module").ConcatenationBailoutReasonContext} ConcatenationBailoutReasonContext */ -/** @typedef {import("../NormalModule")} NormalModule */ -/** @typedef {import("../util/Hash")} Hash */ - -/** - * @template T - * @typedef {import("../InitFragment")<T>} InitFragment - */ - -const TYPES = new Set(["javascript"]); - -class CssExportsGenerator extends Generator { - constructor() { - super(); - } - - // TODO add getConcatenationBailoutReason to allow concatenation - // but how to make it have a module id - - /** - * @param {NormalModule} module module for which the code should be generated - * @param {GenerateContext} generateContext context for generate - * @returns {Source} generated code - */ - generate(module, generateContext) { - const source = new ReplaceSource(new RawSource("")); - /** @type {InitFragment<TODO>[]} */ - const initFragments = []; - const cssExports = new Map(); - - generateContext.runtimeRequirements.add(RuntimeGlobals.module); - - const runtimeRequirements = new Set(); - - const templateContext = { - runtimeTemplate: generateContext.runtimeTemplate, - dependencyTemplates: generateContext.dependencyTemplates, - moduleGraph: generateContext.moduleGraph, - chunkGraph: generateContext.chunkGraph, - module, - runtime: generateContext.runtime, - runtimeRequirements: runtimeRequirements, - concatenationScope: generateContext.concatenationScope, - codeGenerationResults: generateContext.codeGenerationResults, - initFragments, - cssExports - }; - - /** - * @param {Dependency} dependency the dependency - */ - const handleDependency = dependency => { - const constructor = /** @type {new (...args: any[]) => Dependency} */ ( - dependency.constructor - ); - const template = generateContext.dependencyTemplates.get(constructor); - if (!template) { - throw new Error( - "No template for dependency: " + dependency.constructor.name - ); - } - - template.apply(dependency, source, templateContext); - }; - module.dependencies.forEach(handleDependency); - - if (generateContext.concatenationScope) { - const source = new ConcatSource(); - const usedIdentifiers = new Set(); - for (const [k, v] of cssExports) { - let identifier = Template.toIdentifier(k); - let i = 0; - while (usedIdentifiers.has(identifier)) { - identifier = Template.toIdentifier(k + i); - } - usedIdentifiers.add(identifier); - generateContext.concatenationScope.registerExport(k, identifier); - source.add( - `${ - generateContext.runtimeTemplate.supportsConst ? "const" : "var" - } ${identifier} = ${JSON.stringify(v)};\n` - ); - } - return source; - } else { - const otherUsed = - generateContext.moduleGraph - .getExportsInfo(module) - .otherExportsInfo.getUsed(generateContext.runtime) !== - UsageState.Unused; - if (otherUsed) { - generateContext.runtimeRequirements.add( - RuntimeGlobals.makeNamespaceObject - ); - } - return new RawSource( - `${otherUsed ? `${RuntimeGlobals.makeNamespaceObject}(` : ""}${ - module.moduleArgument - }.exports = {\n${Array.from( - cssExports, - ([k, v]) => `\t${JSON.stringify(k)}: ${JSON.stringify(v)}` - ).join(",\n")}\n}${otherUsed ? ")" : ""};` - ); - } - } - - /** - * @param {NormalModule} module fresh module - * @returns {Set<string>} available types (do not mutate) - */ - getTypes(module) { - return TYPES; - } - - /** - * @param {NormalModule} module the module - * @param {string=} type source type - * @returns {number} estimate size of the module - */ - getSize(module, type) { - return 42; - } - - /** - * @param {Hash} hash hash that will be modified - * @param {UpdateHashContext} updateHashContext context for updating hash - */ - updateHash(hash, { module }) {} -} - -module.exports = CssExportsGenerator; |
