nitropage
Version:
A free and open source, extensible visual page builder based on SolidStart.
25 lines (22 loc) • 638 B
text/typescript
import type { NitroApp } from "../types";
import { ServerConfigOptions } from "../config";
import { initialize } from "../init";
import errorHandlerPlugin from "./errorHandler";
import { resetGlobals } from "../util";
import { useDatabase } from "../prisma";
export const createPlugin = ({
server,
}: {
server: () => ServerConfigOptions;
}) => {
return (nitroApp: NitroApp) => {
// initialize is executed in the middleware during PROD
if (import.meta.env.DEV) {
const db = useDatabase();
if (db) db.$disconnect();
resetGlobals();
initialize(server);
}
errorHandlerPlugin(nitroApp);
};
};