Files
WRNexusJS/examples/i18n-showcase/wrnexus.config.ts
T
Clintchiz 2c960fc1dc
Quality / quality (ubuntu-latest) (push) Failing after 9m49s
Quality / quality (windows-latest) (push) Canceled after 0s
refactor: migrate legacy wire namespace to wrn
2026-08-12 18:51:15 +05:30

42 lines
1.5 KiB
TypeScript

import type { AppConfig } from "@wrnexus/styles";
const config = {
seo: {
title: "WRNexus i18n Showcase",
description: "English, Hindi, and Marathi internationalization examples.",
robots: "noindex,nofollow",
},
theme: { palette: "violet", default: "light" },
fonts: {
google: [
{ family: "Plus Jakarta Sans", weights: [400, 500, 600, 700] },
{ family: "Noto Sans Devanagari", weights: [400, 500, 600, 700] },
],
display: "swap",
sans: '"Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif',
},
// Keep localhost development deterministic. A service-worker navigation cache
// is URL-based and cannot distinguish pages rendered from different cookies.
pwa: { serviceWorker: false },
i18n: {
default: "en",
locales: ["en", "hi", "mr"],
labels: { en: "English", hi: "हिन्दी", mr: "मराठी" },
fallbacks: { hi: ["en"], mr: ["en"] },
cookie: { name: "wrn-lang", path: "/", maxAge: 31_536_000, sameSite: "Lax" },
strict: true,
},
styles: {
entry: "app/styles/global.css",
failureMode: "throw",
process: async ({ entryPath, appRoot, mode }) => {
if (!entryPath) throw new Error("The i18n showcase stylesheet was not resolved.");
const args = ["@tailwindcss/cli", "-i", entryPath];
if (mode === "production") args.push("--minify");
return await Bun.$.cwd(appRoot)`bunx ${args}`.text();
},
},
} satisfies AppConfig;
export default config;