summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/wasm-sync/WebAssemblyModulesPlugin.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2023-11-01 20:49:36 +0800
committerlittleblack111 <littleblack11111@gmail.com>2023-11-01 20:49:36 +0800
commite99f950f5018cfe737c0d1150e50d97c6e6a4823 (patch)
tree16f329a1b22128ed67f3fcae15a9b0a030f2ccbf /node_modules/webpack/lib/wasm-sync/WebAssemblyModulesPlugin.js
parentc5d8a744dd584749e0b920119b42e731e37e5f62 (diff)
update
Diffstat (limited to 'node_modules/webpack/lib/wasm-sync/WebAssemblyModulesPlugin.js')
-rw-r--r--node_modules/webpack/lib/wasm-sync/WebAssemblyModulesPlugin.js152
1 files changed, 0 insertions, 152 deletions
diff --git a/node_modules/webpack/lib/wasm-sync/WebAssemblyModulesPlugin.js b/node_modules/webpack/lib/wasm-sync/WebAssemblyModulesPlugin.js
deleted file mode 100644
index ad31aa4d..00000000
--- a/node_modules/webpack/lib/wasm-sync/WebAssemblyModulesPlugin.js
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-
-"use strict";
-
-const Generator = require("../Generator");
-const { WEBASSEMBLY_MODULE_TYPE_SYNC } = require("../ModuleTypeConstants");
-const WebAssemblyExportImportedDependency = require("../dependencies/WebAssemblyExportImportedDependency");
-const WebAssemblyImportDependency = require("../dependencies/WebAssemblyImportDependency");
-const { compareModulesByIdentifier } = require("../util/comparators");
-const memoize = require("../util/memoize");
-const WebAssemblyInInitialChunkError = require("./WebAssemblyInInitialChunkError");
-
-/** @typedef {import("webpack-sources").Source} Source */
-/** @typedef {import("../../declarations/WebpackOptions").OutputNormalized} OutputOptions */
-/** @typedef {import("../Compiler")} Compiler */
-/** @typedef {import("../Module")} Module */
-/** @typedef {import("../ModuleTemplate")} ModuleTemplate */
-/** @typedef {import("../javascript/JavascriptModulesPlugin").RenderContext} RenderContext */
-
-const getWebAssemblyGenerator = memoize(() =>
- require("./WebAssemblyGenerator")
-);
-const getWebAssemblyJavascriptGenerator = memoize(() =>
- require("./WebAssemblyJavascriptGenerator")
-);
-const getWebAssemblyParser = memoize(() => require("./WebAssemblyParser"));
-
-const PLUGIN_NAME = "WebAssemblyModulesPlugin";
-
-/**
- * @typedef {Object} WebAssemblyModulesPluginOptions
- * @property {boolean} [mangleImports] mangle imports
- */
-
-class WebAssemblyModulesPlugin {
- /**
- * @param {WebAssemblyModulesPluginOptions} options options
- */
- constructor(options) {
- this.options = options;
- }
-
- /**
- * Apply the plugin
- * @param {Compiler} compiler the compiler instance
- * @returns {void}
- */
- apply(compiler) {
- compiler.hooks.compilation.tap(
- PLUGIN_NAME,
- (compilation, { normalModuleFactory }) => {
- compilation.dependencyFactories.set(
- WebAssemblyImportDependency,
- normalModuleFactory
- );
-
- compilation.dependencyFactories.set(
- WebAssemblyExportImportedDependency,
- normalModuleFactory
- );
-
- normalModuleFactory.hooks.createParser
- .for(WEBASSEMBLY_MODULE_TYPE_SYNC)
- .tap(PLUGIN_NAME, () => {
- const WebAssemblyParser = getWebAssemblyParser();
-
- return new WebAssemblyParser();
- });
-
- normalModuleFactory.hooks.createGenerator
- .for(WEBASSEMBLY_MODULE_TYPE_SYNC)
- .tap(PLUGIN_NAME, () => {
- const WebAssemblyJavascriptGenerator =
- getWebAssemblyJavascriptGenerator();
- const WebAssemblyGenerator = getWebAssemblyGenerator();
-
- return Generator.byType({
- javascript: new WebAssemblyJavascriptGenerator(),
- webassembly: new WebAssemblyGenerator(this.options)
- });
- });
-
- compilation.hooks.renderManifest.tap(PLUGIN_NAME, (result, options) => {
- const { chunkGraph } = compilation;
- const { chunk, outputOptions, codeGenerationResults } = options;
-
- for (const module of chunkGraph.getOrderedChunkModulesIterable(
- chunk,
- compareModulesByIdentifier
- )) {
- if (module.type === WEBASSEMBLY_MODULE_TYPE_SYNC) {
- const filenameTemplate =
- /** @type {NonNullable<OutputOptions["webassemblyModuleFilename"]>} */
- (outputOptions.webassemblyModuleFilename);
-
- result.push({
- render: () =>
- codeGenerationResults.getSource(
- module,
- chunk.runtime,
- "webassembly"
- ),
- filenameTemplate,
- pathOptions: {
- module,
- runtime: chunk.runtime,
- chunkGraph
- },
- auxiliary: true,
- identifier: `webassemblyModule${chunkGraph.getModuleId(
- module
- )}`,
- hash: chunkGraph.getModuleHash(module, chunk.runtime)
- });
- }
- }
-
- return result;
- });
-
- compilation.hooks.afterChunks.tap(PLUGIN_NAME, () => {
- const chunkGraph = compilation.chunkGraph;
- const initialWasmModules = new Set();
- for (const chunk of compilation.chunks) {
- if (chunk.canBeInitial()) {
- for (const module of chunkGraph.getChunkModulesIterable(chunk)) {
- if (module.type === WEBASSEMBLY_MODULE_TYPE_SYNC) {
- initialWasmModules.add(module);
- }
- }
- }
- }
- for (const module of initialWasmModules) {
- compilation.errors.push(
- new WebAssemblyInInitialChunkError(
- module,
- compilation.moduleGraph,
- compilation.chunkGraph,
- compilation.requestShortener
- )
- );
- }
- });
- }
- );
- }
-}
-
-module.exports = WebAssemblyModulesPlugin;