astro-ghostcms/.pnpm-store/v3/files/6e/33c89e753911241baded49b13ba...

28 lines
756 B
Plaintext

import { build } from "esbuild";
async function buildClientDirectiveEntrypoint(name, entrypoint) {
const stringifiedName = JSON.stringify(name);
const stringifiedEntrypoint = JSON.stringify(entrypoint);
const output = await build({
stdin: {
contents: `import directive from ${stringifiedEntrypoint};
(self.Astro || (self.Astro = {}))[${stringifiedName}] = directive;
window.dispatchEvent(new Event('astro:' + ${stringifiedName}));`,
resolveDir: process.cwd()
},
absWorkingDir: process.cwd(),
format: "iife",
minify: true,
bundle: true,
write: false
});
const outputFile = output.outputFiles?.[0];
if (!outputFile)
return "";
return outputFile.text;
}
export {
buildClientDirectiveEntrypoint
};