summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/runtime/AutoPublicPathRuntimeModule.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/runtime/AutoPublicPathRuntimeModule.js
parentc5d8a744dd584749e0b920119b42e731e37e5f62 (diff)
update
Diffstat (limited to 'node_modules/webpack/lib/runtime/AutoPublicPathRuntimeModule.js')
-rw-r--r--node_modules/webpack/lib/runtime/AutoPublicPathRuntimeModule.js80
1 files changed, 0 insertions, 80 deletions
diff --git a/node_modules/webpack/lib/runtime/AutoPublicPathRuntimeModule.js b/node_modules/webpack/lib/runtime/AutoPublicPathRuntimeModule.js
deleted file mode 100644
index 60cf1b29..00000000
--- a/node_modules/webpack/lib/runtime/AutoPublicPathRuntimeModule.js
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
-*/
-
-"use strict";
-
-const RuntimeGlobals = require("../RuntimeGlobals");
-const RuntimeModule = require("../RuntimeModule");
-const Template = require("../Template");
-const JavascriptModulesPlugin = require("../javascript/JavascriptModulesPlugin");
-const { getUndoPath } = require("../util/identifier");
-
-/** @typedef {import("../Compilation")} Compilation */
-
-class AutoPublicPathRuntimeModule extends RuntimeModule {
- constructor() {
- super("publicPath", RuntimeModule.STAGE_BASIC);
- }
-
- /**
- * @returns {string | null} runtime code
- */
- generate() {
- const compilation = /** @type {Compilation} */ (this.compilation);
- const { scriptType, importMetaName, path } = compilation.outputOptions;
- const chunkName = compilation.getPath(
- JavascriptModulesPlugin.getChunkFilenameTemplate(
- this.chunk,
- compilation.outputOptions
- ),
- {
- chunk: this.chunk,
- contentHashType: "javascript"
- }
- );
- const undoPath = getUndoPath(
- chunkName,
- /** @type {string} */ (path),
- false
- );
-
- return Template.asString([
- "var scriptUrl;",
- scriptType === "module"
- ? `if (typeof ${importMetaName}.url === "string") scriptUrl = ${importMetaName}.url`
- : Template.asString([
- `if (${RuntimeGlobals.global}.importScripts) scriptUrl = ${RuntimeGlobals.global}.location + "";`,
- `var document = ${RuntimeGlobals.global}.document;`,
- "if (!scriptUrl && document) {",
- Template.indent([
- `if (document.currentScript)`,
- Template.indent(`scriptUrl = document.currentScript.src;`),
- "if (!scriptUrl) {",
- Template.indent([
- 'var scripts = document.getElementsByTagName("script");',
- "if(scripts.length) {",
- Template.indent([
- "var i = scripts.length - 1;",
- "while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;"
- ]),
- "}"
- ]),
- "}"
- ]),
- "}"
- ]),
- "// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration",
- '// or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.',
- 'if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");',
- 'scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\\?.*$/, "").replace(/\\/[^\\/]+$/, "/");',
- !undoPath
- ? `${RuntimeGlobals.publicPath} = scriptUrl;`
- : `${RuntimeGlobals.publicPath} = scriptUrl + ${JSON.stringify(
- undoPath
- )};`
- ]);
- }
-}
-
-module.exports = AutoPublicPathRuntimeModule;