@web/rollup-plugin-html
Version:
Rollup plugin for bundling HTML files
37 lines • 1.49 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.extractModulesAndAssets = void 0;
const path_1 = __importDefault(require("path"));
const parse5_1 = require("parse5");
const extractModules_js_1 = require("./extractModules.js");
const extractAssets_js_1 = require("./extractAssets.js");
function extractModulesAndAssets(params) {
const { html, htmlFilePath, rootDir, externalAssets, absolutePathPrefix } = params;
const htmlDir = path_1.default.dirname(htmlFilePath);
const document = (0, parse5_1.parse)(html);
// extract functions mutate the AST
const { moduleImports, inlineModules } = (0, extractModules_js_1.extractModules)({
document,
htmlDir,
rootDir,
absolutePathPrefix,
});
const assets = params.extractAssets
? (0, extractAssets_js_1.extractAssets)({
document,
htmlDir,
htmlFilePath,
rootDir,
externalAssets,
absolutePathPrefix,
})
: [];
// turn mutated AST back to a string
const updatedHtmlString = (0, parse5_1.serialize)(document);
return { moduleImports, inlineModules, assets, htmlWithoutModules: updatedHtmlString };
}
exports.extractModulesAndAssets = extractModulesAndAssets;
//# sourceMappingURL=extractModulesAndAssets.js.map