UNPKG

@web/rollup-plugin-html

Version:
59 lines 2.84 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getEntrypointBundles = exports.createImportPath = void 0; const path_1 = __importDefault(require("path")); const utils_js_1 = require("../utils.js"); const utils_js_2 = require("./utils.js"); function createImportPath(params) { const { publicPath, outputDir, fileOutputDir, htmlFileName, fileName } = params; const pathFromMainToFileDir = path_1.default.relative(outputDir, fileOutputDir); let importPath; if (publicPath) { importPath = (0, utils_js_2.toBrowserPath)(path_1.default.join(publicPath, pathFromMainToFileDir, fileName)); } else { const pathFromHtmlToOutputDir = path_1.default.relative(path_1.default.dirname(htmlFileName), pathFromMainToFileDir); importPath = (0, utils_js_2.toBrowserPath)(path_1.default.join(pathFromHtmlToOutputDir, fileName)); } if (importPath.startsWith('http') || importPath.startsWith('/') || importPath.startsWith('.')) { return importPath; } return `./${importPath}`; } exports.createImportPath = createImportPath; function getEntrypointBundles(params) { var _a; const { pluginOptions, generatedBundles, inputModuleIds, outputDir, htmlFileName } = params; const entrypointBundles = {}; for (const { name, options, bundle } of generatedBundles) { if (!options.format) { throw (0, utils_js_1.createError)('Missing module format'); } const entrypoints = []; for (const chunkOrAsset of Object.values(bundle)) { if (chunkOrAsset.type === 'chunk') { const chunk = chunkOrAsset; if (chunk.isEntry && chunk.facadeModuleId !== utils_js_1.NOOP_IMPORT.importPath) { const found = inputModuleIds.find(mod => mod.importPath === chunk.facadeModuleId); if (chunk.facadeModuleId && found) { const importPath = createImportPath({ publicPath: pluginOptions.publicPath, outputDir, fileOutputDir: (_a = options.dir) !== null && _a !== void 0 ? _a : '', htmlFileName, fileName: chunkOrAsset.fileName, }); entrypoints.push({ importPath, chunk: chunkOrAsset, attributes: found.attributes }); } } } } entrypointBundles[name] = { name, options, bundle, entrypoints }; } return entrypointBundles; } exports.getEntrypointBundles = getEntrypointBundles; //# sourceMappingURL=getEntrypointBundles.js.map