UNPKG

@web/rollup-plugin-html

Version:
37 lines 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.injectAbsoluteBaseUrl = void 0; const parse5_utils_1 = require("@web/parse5-utils"); function isAbsoluteableNode(node) { const metaAttributes = ['og:url', 'og:image']; switch ((0, parse5_utils_1.getTagName)(node)) { case 'link': if ((0, parse5_utils_1.getAttribute)(node, 'rel') === 'canonical' && (0, parse5_utils_1.getAttribute)(node, 'href')) { return true; } return false; case 'meta': if (metaAttributes.includes((0, parse5_utils_1.getAttribute)(node, 'property')) && (0, parse5_utils_1.getAttribute)(node, 'content')) { return true; } return false; default: return false; } } function injectAbsoluteBaseUrl(document, absoluteBaseUrl) { const nodes = (0, parse5_utils_1.findElements)(document, isAbsoluteableNode); for (const node of nodes) { switch ((0, parse5_utils_1.getTagName)(node)) { case 'link': (0, parse5_utils_1.setAttribute)(node, 'href', new URL((0, parse5_utils_1.getAttribute)(node, 'href'), absoluteBaseUrl).href); break; case 'meta': (0, parse5_utils_1.setAttribute)(node, 'content', new URL((0, parse5_utils_1.getAttribute)(node, 'content'), absoluteBaseUrl).href); break; } } } exports.injectAbsoluteBaseUrl = injectAbsoluteBaseUrl; //# sourceMappingURL=injectAbsoluteBaseUrl.js.map