UNPKG

zephyr-xpack-internal

Version:

Xpack internals for Zephyr

30 lines (29 loc) • 1.54 kB
import "node:module"; function extractBaseHrefFromPluginOptions(options) { return options?.baseHref; } function extractBaseHrefFromHtmlPlugin(plugins) { const htmlPlugin = plugins.find((plugin)=>plugin?.constructor?.name === 'HtmlWebpackPlugin' || plugin?.constructor?.name === 'HtmlRspackPlugin'); if (!htmlPlugin || !htmlPlugin.options) return; const { base } = htmlPlugin.options; if ('string' == typeof base) return base; if ('object' == typeof base && base?.href) return base.href; } function extractBaseHrefFromPublicPath(compiler) { const publicPath = compiler.options.output?.publicPath; if ('auto' === publicPath || void 0 === publicPath) return; if ('string' == typeof publicPath) return publicPath; if ('function' == typeof publicPath) return void console.warn('Warning: publicPath is a function, cannot extract baseHref automatically.'); } function detectAndStoreBaseHref(zephyr_engine, compiler, pluginOptions) { const baseHref = detectBaseHref(compiler, pluginOptions); if (void 0 !== baseHref) zephyr_engine.buildProperties.baseHref = baseHref; } function detectBaseHref(compiler, pluginOptions) { let baseHref = extractBaseHrefFromPluginOptions(pluginOptions); if (!baseHref && compiler.options?.plugins) baseHref = extractBaseHrefFromHtmlPlugin(compiler.options.plugins); if (!baseHref) baseHref = extractBaseHrefFromPublicPath(compiler); return baseHref; } export { detectAndStoreBaseHref, detectBaseHref }; //# sourceMappingURL=basehref-integration.mjs.map