iles
Version:
Vite & Vue powered static site generator with partial hydration
31 lines (28 loc) • 761 B
JavaScript
import {
MagicString
} from "./chunk-Y4KSH55M.js";
// src/node/build/rebaseImports.ts
import { posix } from "path";
import { init as initESLexer, parse as parseESModules } from "es-module-lexer";
async function rebaseImports({ base, assetsDir }, codeStr) {
const assetsBase = posix.join(base, assetsDir);
try {
await initESLexer;
const imports = parseESModules(codeStr)[0];
const code = new MagicString(codeStr);
imports.forEach(({ s, e, d }) => {
if (d > -1) {
s += 1;
e -= 1;
}
code.overwrite(s, e, posix.join(assetsBase, code.slice(s, e)), { contentOnly: true });
});
return code.toString();
} catch (error) {
console.error(error);
return codeStr;
}
}
export {
rebaseImports
};