UNPKG

j-vite-plugin-dynamic-base

Version:

Resolve all resource files dynamic publicPath, like Webpack's __webpack_public_path__

36 lines 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.replaceInStringLiteral = exports.replaceImport = exports.replaceSrc = exports.replace = void 0; function replace(mark, placeholder, code) { const re = new RegExp(mark, 'g'); return code.replace(re, placeholder); } exports.replace = replace; // replace asset src function replaceSrc(placeholder, code) { return code.replace(/=([a-zA-Z]+).src/g, `=${placeholder}+$1.getAttribute('data-src')`); } exports.replaceSrc = replaceSrc; function replaceImport(placeholder, code) { return code.replace(/(System.import\()/g, `$1${placeholder}+`); } exports.replaceImport = replaceImport; function replaceInStringLiteral(literal, base, placeholder) { const quoteMark = literal.raw.charAt(0); const regex = new RegExp(base, 'g'); // Keep track of whether we need to add quotation marks at the beginning of the // final output let withStartQuote = true; const transformedStr = literal.value.replace(regex, (match, index) => { let prefix = `${quoteMark}+`; if (index === 0) { prefix = ''; withStartQuote = false; } return `${prefix}${placeholder}+${quoteMark}/`; }); const prefix = withStartQuote ? quoteMark : ''; return `${prefix}${transformedStr}${quoteMark}`; } exports.replaceInStringLiteral = replaceInStringLiteral; //# sourceMappingURL=utils.js.map