perf: optimize production assets and proxy-aware URLs

This commit is contained in:
2026-07-12 17:27:02 +05:30
parent 935b3103dd
commit 6dfef7da3c
58 changed files with 118 additions and 90 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/cli",
"version": "0.2.14",
"version": "0.2.15",
"type": "module",
"main": "src/index.ts",
"exports": {
+7 -3
View File
@@ -158,10 +158,13 @@ export async function runBuild(appRoot: string): Promise<void> {
config.styles,
);
assetHash.update(css);
writeFileSync(join(distDir, "styles.css"), css, "utf8");
const combinedCss = `${frameworkStyles}\n${css}`;
// One blocking CSS request in production: tokens → UI → application CSS.
// The standalone framework.css remains available for apps without global CSS.
writeFileSync(join(distDir, "styles.css"), combinedCss, "utf8");
hasStyles = true;
if (Buffer.byteLength(css, "utf8") <= INLINE_CSS_LIMIT_BYTES) {
inlineStyles = css;
if (Buffer.byteLength(combinedCss, "utf8") <= INLINE_CSS_LIMIT_BYTES) {
inlineStyles = combinedCss;
}
console.log(`✓ Styles: ${join(distDir, "styles.css")}`);
}
@@ -254,6 +257,7 @@ await createProductionServer(
realtime: ${config.realtime ? JSON.stringify(config.realtime) : "undefined"},
publicDir: join(import.meta.dir, "public"),
${hasStyles ? `stylesPath: join(import.meta.dir, "styles.css"),` : ""}
${hasStyles ? `stylesIncludeFramework: true,` : ""}
${inlineStyles ? `inlineStyles: ${JSON.stringify(inlineStyles)},` : ""}
assetVersion: ${JSON.stringify(assetVersion)},
head: ${JSON.stringify(headStr)},
+2
View File
@@ -205,6 +205,8 @@ const config: AppConfig = {
seo: {
title: "APP_NAME",
titleTemplate: "%s | APP_NAME",
// Set WRNEXUS_PUBLIC_ORIGIN in production when TLS terminates at a proxy.
canonicalBase: process.env.WRNEXUS_PUBLIC_ORIGIN,
description: "An SSR-first WrNexus app.",
robots: "index,follow",
themeColor: "#6366f1",