corrige CSRF quebrando toda request via patch em start-server-core

@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.
This commit is contained in:
joao.herculano
2026-08-06 13:52:13 -03:00
parent 361308f127
commit 8c26c93732
3 changed files with 632 additions and 18 deletions
+3 -1
View File
@@ -10,7 +10,8 @@
"start": "node .output/server/index.mjs",
"preview": "vite preview",
"lint": "eslint .",
"format": "prettier --write ."
"format": "prettier --write .",
"postinstall": "patch-package"
},
"dependencies": {
"@hookform/resolvers": "^5.2.2",
@@ -83,6 +84,7 @@
"eslint-plugin-react-refresh": "^0.4.20",
"globals": "^15.15.0",
"nitro": "3.0.260603-beta",
"patch-package": "^8.0.1",
"prettier": "^3.7.3",
"typescript": "^5.8.3",
"typescript-eslint": "^8.56.1",