Files
agentic-studio/network-poc/frontend/node_modules/astro/dist/prefetch/vite-plugin-prefetch.js
Jaakko Vanhala a8c4af0975 Frontend uudelleenrakennettu: Astro-komponentit, Wasm pääsäikeessä, ei Workeria
Vanha frontend siirretty temp/. Uusi rakenne:
- StatusBar.astro, Terminal.astro, Editor.astro, Guide.astro
- global.css erillinen
- Wasm pääsäikeessä (ei Worker — yksinkertainen, debugattava)
- Tab-completion, dropdown, projektikortti, Monaco, GUIDE.md
- Ei tokenisointia eikä koodilaboratoriota

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 20:17:39 +03:00

65 lines
2.2 KiB
JavaScript

const VIRTUAL_MODULE_ID = "astro:prefetch";
const RESOLVED_VIRTUAL_MODULE_ID = "\0" + VIRTUAL_MODULE_ID;
const prefetchInternalModuleFsSubpath = "astro/dist/prefetch/index.js";
const prefetchCode = `import { init } from 'astro/virtual-modules/prefetch.js';init()`;
function astroPrefetch({ settings }) {
const prefetchOption = settings.config.prefetch;
const prefetch = prefetchOption ? typeof prefetchOption === "object" ? prefetchOption : {} : void 0;
if (prefetch && settings.scripts.every((s) => s.content !== prefetchCode)) {
settings.scripts.push({
stage: "page",
content: `import { init } from 'astro/virtual-modules/prefetch.js';init()`
});
}
const throwPrefetchNotEnabledError = () => {
throw new Error("You need to enable the `prefetch` Astro config to import `astro:prefetch`");
};
return {
name: "astro:prefetch",
resolveId: {
filter: {
id: new RegExp(`^${VIRTUAL_MODULE_ID}$`)
},
handler() {
if (!prefetch) throwPrefetchNotEnabledError();
return RESOLVED_VIRTUAL_MODULE_ID;
}
},
load: {
filter: {
id: new RegExp(`^${RESOLVED_VIRTUAL_MODULE_ID}$`)
},
handler() {
if (!prefetch) throwPrefetchNotEnabledError();
return { code: `export { prefetch } from "astro/virtual-modules/prefetch.js";` };
}
},
transform: {
filter: {
// NOTE: Handle replacing the specifiers even if prefetch is disabled so View Transitions
// can import the internal module and not hit runtime issues.
id: new RegExp(`${prefetchInternalModuleFsSubpath}`)
},
handler(code) {
code = code.replace(
"__PREFETCH_PREFETCH_ALL__",
// length: 25
`${JSON.stringify(prefetch?.prefetchAll)}`.padEnd(25)
).replace(
"__PREFETCH_DEFAULT_STRATEGY__",
// length: 29
`${JSON.stringify(prefetch?.defaultStrategy)}`.padEnd(29)
).replace(
"__EXPERIMENTAL_CLIENT_PRERENDER__",
// length: 33
`${JSON.stringify(settings.config.experimental.clientPrerender)}`.padEnd(33)
);
return { code, map: null };
}
}
};
}
export {
astroPrefetch as default
};