astro
Version:
Astro is a modern site builder with web best practices, performance, and DX front-of-mind.
24 lines (23 loc) • 736 B
JavaScript
import { createRenderInstruction } from "./instruction.js";
/**
* Relies on the `renderScript: true` compiler option
* @experimental
*/
export async function renderScript(result, id) {
const inlined = result.inlinedScripts.get(id);
let content = "";
if (inlined != null) {
// The inlined script may actually be empty, so skip rendering it altogether if so
if (inlined) {
content = `<script type="module">${inlined}<\/script>`;
}
} else {
const resolved = await result.resolve(id);
content = `<script type="module" src="${result.userAssetsBase ? (result.base === "/" ? "" : result.base) + result.userAssetsBase : ""}${resolved}"><\/script>`;
}
return createRenderInstruction({
type: "script",
id,
content
});
}