Complete demo-mode auth conversion and fix the frontend build

proxy.ts already declared auth disabled, but layout.tsx still wrapped the
tree in ClerkProvider and topbar.tsx rendered UserButton. @clerk/nextjs v7
aborts `next build` without a real publishable key, so the image could not
be built at all. Remove the remaining Clerk surface, drop the dependency,
and delete the sign-in/sign-up route groups.

Also fix two pnpm failures this exposed: the deps stage never copied
pnpm-workspace.yaml (so the build-script allowlist was invisible), and
pnpm 11 renamed ignoredBuiltDependencies to allowBuilds. Declare both
spellings and pin packageManager so this cannot drift again.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
megaproxy 2026-08-04 17:42:51 +01:00
parent 4c6335d316
commit d4a104be9d
10 changed files with 201 additions and 367 deletions

View file

@ -1,6 +1,5 @@
import type { Metadata } from "next";
import { Geist, Geist_Mono } from "next/font/google";
import { ClerkProvider } from "@clerk/nextjs";
import { ThemeProvider } from "@/components/theme-provider";
import { TooltipProvider } from "@/components/ui/tooltip";
import "./globals.css";
@ -25,22 +24,22 @@ export default function RootLayout({
}: Readonly<{
children: React.ReactNode;
}>) {
// Demo mode: no auth provider — see proxy.ts. Re-add <ClerkProvider> here
// (and the keys in .env.local) if authentication is ever turned back on.
return (
<ClerkProvider>
<html lang="en" suppressHydrationWarning>
<body className={`${geistSans.variable} ${geistMono.variable} antialiased`}>
<ThemeProvider
attribute="class"
defaultTheme="dark"
enableSystem={false}
disableTransitionOnChange
>
<TooltipProvider delayDuration={0}>
{children}
</TooltipProvider>
</ThemeProvider>
</body>
</html>
</ClerkProvider>
<html lang="en" suppressHydrationWarning>
<body className={`${geistSans.variable} ${geistMono.variable} antialiased`}>
<ThemeProvider
attribute="class"
defaultTheme="dark"
enableSystem={false}
disableTransitionOnChange
>
<TooltipProvider delayDuration={0}>
{children}
</TooltipProvider>
</ThemeProvider>
</body>
</html>
);
}