@tanstack/start-server-core cria o defaultCsrfMiddleware de forma
incondicional assim que o módulo carrega. Isso caía numa corrida de
inicialização com o import circular que o nitro gera nos chunks de
SSR (server-D-dARpA7.mjs <-> server-D-dARpA72.mjs), fazendo toda
requisição no build de produção falhar com "createCsrfMiddleware is
not a function".
Reproduzido de forma determinística tanto com preset node-server
quanto cloudflare-module, e com múltiplas versões do nitro — não é
regressão de versão, é a inicialização eager em si colidindo com a
ordem de avaliação do ciclo.
Patch (via patch-package, reaplicado no postinstall) adia a criação
do defaultCsrfMiddleware para dentro de uma função, eliminando a
corrida sem mudar nenhum comportamento. Validado com reinstalação
limpa de node_modules + build + smoke test em /healthz, / e /auth.
Remove .lovable/, AGENTS.md (banner de sync), bun.lock/bunfig.toml
(não usados, o build é via npm), lovable-error-reporting.ts, a
dependência @lovable.dev/vite-tanstack-config e o branding Lovable nas
metatags. vite.config.ts passa a configurar os plugins do TanStack
Start/Tailwind/nitro diretamente, sem o wrapper deles.
Nisso, corrige um bug crítico: o preset do nitro estava em
cloudflare-module (gera um Cloudflare Worker), mas o Dockerfile roda
o build direto com `node`. O container subiria sem escutar em porta
nenhuma e o /healthz falharia sempre. Preset trocado para node-server.