mirror of
https://github.com/gosticks/fresh.git
synced 2026-07-01 22:00:03 +00:00
This commit adds initial support for fresh "plugins". These are bundles of functionality that can be added to a fresh plugin through a simple addition in the `main.ts` file. Right now plugins are only able to hook into the render steps. This means that they can inject styling and scripts. They can not yet hook into routing. Things that I think should be possible now: - styling integrations for twind, unocss, and probably a few other tools Things that are not possible yet: - google analytics middleware - database connectors - CMS connectors The routing additions to plugins can be added in a follow-up though.
16 lines
363 B
TypeScript
16 lines
363 B
TypeScript
import { Plugin } from "$fresh/server.ts";
|
|
|
|
export default {
|
|
name: "js-inject",
|
|
entrypoints: {
|
|
"main": new URL("./js-inject-main.ts", import.meta.url).href,
|
|
},
|
|
render(ctx) {
|
|
const res = ctx.render();
|
|
if (res.requiresHydration) {
|
|
return { scripts: [{ entrypoint: "main", state: "JS injected!" }] };
|
|
}
|
|
return {};
|
|
},
|
|
} as Plugin;
|