muddle/samples/shadcn-porter/index.ts
2026-10-23 08:53:07 -04:00

32 lines
913 B
TypeScript

import { join } from "node:path";
import { serve } from "@muddle/adapters/server-bun";
import { prerender } from "@muddle/adapters/static";
import { App } from "@muddle/core/app";
import { createViews } from "@muddle/views";
import { AppModule } from "./modules/app/app.module.ts";
import { resolved } from "./config.ts";
const views = createViews({
root: resolved.root,
viewsDir: resolved.views,
componentsDir: resolved.components,
});
export const app = await App.create({
modules: [AppModule],
views,
config: resolved,
integrations: resolved.integrations,
});
export async function build() {
await prerender(app, {
...resolved.prerender,
outDir: join(resolved.root, "dist"),
predict: { breakpointAcc: ["XL", "LG", "MD", "SM"] },
});
}
if (import.meta.main) {
if (process.argv.includes("--prerender")) await build();
else console.log(`shadcn porter on ${serve(app, { port: 3070 }).url}`);
}