From 21d54fadc77ebc8b0ca14e429e3720feac0aa04d Mon Sep 17 00:00:00 2001 From: ComputelessComputer Date: Tue, 9 Dec 2025 13:39:27 +0900 Subject: [PATCH 1/4] feat(vite): improve static path discovery and external route handling --- apps/web/vite.config.ts | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index c0507704c5..8913ddfdc1 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -23,15 +23,25 @@ const config = defineConfig(() => ({ crawlLinks: true, autoStaticPathsDiscovery: true, filter: ({ path }) => { + const dynamicRoutes = [ + "/api", + "/webhook", + "/app", + "/callback", + "/t", + "/new", + ]; + const externalRedirectRoutes = [ + "/download/linux-deb", + "/download/linux-appimage", + "/download/windows", + "/download/apple-silicon", + "/download/apple-intel", + ]; return ( - path === "/" || - path.startsWith("/blog") || - path.startsWith("/docs") || - path.startsWith("/changelog") || - path.startsWith("/legal") || - path.startsWith("/product") || - path.startsWith("/pricing") || - path === "/enterprise" + !dynamicRoutes.some( + (route) => path === route || path.startsWith(route + "/"), + ) && !externalRedirectRoutes.includes(path) ); }, }, @@ -41,7 +51,7 @@ const config = defineConfig(() => ({ netlify({ dev: { images: { enabled: true } } }), ], ssr: { - noExternal: ["posthog-js", "@posthog/react", "react-tweet"], + noExternal: ["posthog-js", "@posthog/react", "react-tweet", "mdx-bundler"], }, })); From 843bc13a13dd57df5d08c735eba05e25facc474f Mon Sep 17 00:00:00 2001 From: ComputelessComputer Date: Tue, 9 Dec 2025 13:58:56 +0900 Subject: [PATCH 2/4] fix(vite): remove mdx-bundler from noExternal config --- apps/web/vite.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index 8913ddfdc1..49d28f288f 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -51,7 +51,7 @@ const config = defineConfig(() => ({ netlify({ dev: { images: { enabled: true } } }), ], ssr: { - noExternal: ["posthog-js", "@posthog/react", "react-tweet", "mdx-bundler"], + noExternal: ["posthog-js", "@posthog/react", "react-tweet"], }, })); From deed390d1685ae2ed7da200b532439b5eaa39ce6 Mon Sep 17 00:00:00 2001 From: ComputelessComputer Date: Tue, 9 Dec 2025 14:08:53 +0900 Subject: [PATCH 3/4] chore(npm): configure public hoisting for react packages --- .npmrc | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .npmrc diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000000..c2ebb512df --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +public-hoist-pattern[]=react +public-hoist-pattern[]=react-dom From a60e3a138b968f524bb12a1cf5210d9da0271f07 Mon Sep 17 00:00:00 2001 From: ComputelessComputer Date: Tue, 9 Dec 2025 14:17:43 +0900 Subject: [PATCH 4/4] chore(vite): mark turndown as external SSR dependency --- apps/web/vite.config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index 49d28f288f..c44905b056 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -52,6 +52,7 @@ const config = defineConfig(() => ({ ], ssr: { noExternal: ["posthog-js", "@posthog/react", "react-tweet"], + external: ["turndown"], }, }));