hydro-js-integrations
Version:
Integrations for Vite and Astro and more TBC
32 lines (31 loc) • 1.26 kB
JavaScript
import hydroJSVite from "../vite.js";
export default function hydroJS({ renderer, } = {}) {
return {
name: "astro-hydro-js",
hooks: {
"astro:config:setup": async ({ addRenderer, updateConfig }) => {
addRenderer({
name: "hydro-js",
clientEntrypoint: "hydro-js-integrations/astro/client.js",
serverEntrypoint: "hydro-js-integrations/astro/server.js",
});
updateConfig({
vite: {
plugins: [hydroJSVite({ renderer })],
},
});
},
"astro:config:done": ({ logger, config }) => {
const knownJsxRenderers = [
"@astrojs/react",
"@astrojs/preact",
"@astrojs/solid-js",
];
const enabledKnownJsxRenderers = config.integrations.filter((renderer) => knownJsxRenderers.includes(renderer.name));
if (enabledKnownJsxRenderers.length > 1) {
logger.warn("More than one JSX renderer is enabled. This will lead to unexpected behavior for now.");
}
},
},
};
}