Server IP : 162.213.251.212 / Your IP : 3.133.137.155 [ Web Server : LiteSpeed System : Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : allssztx ( 535) PHP Version : 8.1.31 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/allssztx/www/easybuyer/node_modules/webpack/lib/library/ |
Upload File : |
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const { ConcatSource } = require("webpack-sources"); const { UsageState } = require("../ExportsInfo"); const propertyAccess = require("../util/propertyAccess"); const { getEntryRuntime } = require("../util/runtime"); const AbstractLibraryPlugin = require("./AbstractLibraryPlugin"); /** @typedef {import("webpack-sources").Source} Source */ /** @typedef {import("../../declarations/WebpackOptions").LibraryOptions} LibraryOptions */ /** @typedef {import("../../declarations/WebpackOptions").LibraryType} LibraryType */ /** @typedef {import("../Chunk")} Chunk */ /** @typedef {import("../Compiler")} Compiler */ /** @typedef {import("../Module")} Module */ /** @typedef {import("../javascript/JavascriptModulesPlugin").StartupRenderContext} StartupRenderContext */ /** @template T @typedef {import("./AbstractLibraryPlugin").LibraryContext<T>} LibraryContext<T> */ /** * @typedef {Object} ExportPropertyLibraryPluginParsed * @property {string | string[]} export */ /** * @typedef {Object} ExportPropertyLibraryPluginOptions * @property {LibraryType} type * @property {boolean} nsObjectUsed the namespace object is used */ /** * @typedef {ExportPropertyLibraryPluginParsed} T * @extends {AbstractLibraryPlugin<ExportPropertyLibraryPluginParsed>} */ class ExportPropertyLibraryPlugin extends AbstractLibraryPlugin { /** * @param {ExportPropertyLibraryPluginOptions} options options */ constructor({ type, nsObjectUsed }) { super({ pluginName: "ExportPropertyLibraryPlugin", type }); this.nsObjectUsed = nsObjectUsed; } /** * @param {LibraryOptions} library normalized library option * @returns {T | false} preprocess as needed by overriding */ parseOptions(library) { return { export: library.export }; } /** * @param {Module} module the exporting entry module * @param {string} entryName the name of the entrypoint * @param {LibraryContext<T>} libraryContext context * @returns {void} */ finishEntryModule( module, entryName, { options, compilation, compilation: { moduleGraph } } ) { const runtime = getEntryRuntime(compilation, entryName); if (options.export) { const exportsInfo = moduleGraph.getExportInfo( module, Array.isArray(options.export) ? options.export[0] : options.export ); exportsInfo.setUsed(UsageState.Used, runtime); exportsInfo.canMangleUse = false; } else { const exportsInfo = moduleGraph.getExportsInfo(module); if (this.nsObjectUsed) { exportsInfo.setUsedInUnknownWay(runtime); } else { exportsInfo.setAllKnownExportsUsed(runtime); } } moduleGraph.addExtraReason(module, "used as library export"); } /** * @param {Chunk} chunk the chunk * @param {Set<string>} set runtime requirements * @param {LibraryContext<T>} libraryContext context * @returns {void} */ runtimeRequirements(chunk, set, libraryContext) {} /** * @param {Source} source source * @param {Module} module module * @param {StartupRenderContext} renderContext render context * @param {LibraryContext<T>} libraryContext context * @returns {Source} source with library export */ renderStartup(source, module, renderContext, { options }) { if (!options.export) return source; const postfix = `__webpack_exports__ = __webpack_exports__${propertyAccess( Array.isArray(options.export) ? options.export : [options.export] )};\n`; return new ConcatSource(source, postfix); } } module.exports = ExportPropertyLibraryPlugin;