frontend: provide Clerk-safe wrappers for secretless CI prerender

This commit is contained in:
Ishaan (OpenClaw)
2026-02-06 22:49:54 +00:00
parent b88936ae9c
commit 6de49310bc
22 changed files with 107 additions and 21 deletions

View File

@@ -1,6 +1,18 @@
import { NextResponse } from "next/server";
import { clerkMiddleware } from "@clerk/nextjs/server";
export default clerkMiddleware();
const isClerkEnabled = () => {
const key = process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY;
if (!key) return false;
const m = /^pk_(test|live)_([A-Za-z0-9]+)$/.exec(key);
if (!m) return false;
const body = m[2];
if (body.length < 16) return false;
if (/^0+$/.test(body)) return false;
return true;
};
export default isClerkEnabled() ? clerkMiddleware() : () => NextResponse.next();
export const config = {
matcher: [