release: WRNexusJS 0.5.0
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
import type { AuthConfig } from "@wrnexus/auth";
|
||||
import type { AppConfig } from "@wrnexus/styles";
|
||||
import { auth } from "./app/lib/auth.ts";
|
||||
|
||||
const config = {
|
||||
seo: {
|
||||
title: "WRNexus Auth Showcase",
|
||||
description: "Complete authentication, MFA, passkey, recovery, session, and security examples.",
|
||||
canonicalBase: "http://localhost:3000",
|
||||
robots: "noindex,nofollow",
|
||||
},
|
||||
theme: { palette: "amber", default: "dark" },
|
||||
auth: {
|
||||
engine: auth,
|
||||
migrations: false,
|
||||
routes: true,
|
||||
middleware: true,
|
||||
components: true,
|
||||
baseUrl: "http://localhost:3000",
|
||||
},
|
||||
styles: {
|
||||
entry: "app/styles/global.css",
|
||||
|
||||
process: async ({ entryPath, appRoot, mode }) => {
|
||||
if (!entryPath) {
|
||||
throw new Error("Auth showcase stylesheet entry was not resolved.");
|
||||
}
|
||||
|
||||
const args = ["@tailwindcss/cli", "-i", entryPath];
|
||||
|
||||
if (mode === "production") {
|
||||
args.push("--minify");
|
||||
}
|
||||
|
||||
const result = await Bun.$.cwd(appRoot)`bunx ${args}`.nothrow().quiet();
|
||||
|
||||
const css = result.stdout.toString();
|
||||
|
||||
const diagnostics = result.stderr.toString().trim();
|
||||
|
||||
if (result.exitCode !== 0) {
|
||||
throw new Error(diagnostics || css || "Tailwind CSS processing failed.");
|
||||
}
|
||||
|
||||
const doneLine = diagnostics
|
||||
.split(/\r?\n/)
|
||||
.map((line) => line.trim())
|
||||
.filter(Boolean)
|
||||
.reverse()
|
||||
.find((line) => /^done in\b/i.test(line));
|
||||
|
||||
console.log(doneLine ? ` ✓ Tailwind CSS: ${doneLine}` : " ✓ Tailwind CSS: compiled");
|
||||
|
||||
return css;
|
||||
},
|
||||
|
||||
failureMode: "throw",
|
||||
},
|
||||
} satisfies AppConfig & { auth: AuthConfig };
|
||||
|
||||
export default config;
|
||||
Reference in New Issue
Block a user