Skip to content

fix(ci): gerar prisma client antes do typecheck - #27

Open
renanlocatizfernandes wants to merge 2 commits into
mainfrom
fix/ci-prisma-generate
Open

renanlocatizfernandes wants to merge 2 commits into
mainfrom
fix/ci-prisma-generate

Conversation

@renanlocatizfernandes

Copy link
Copy Markdown
Contributor

Problema

CI falhando desde 31/08 em todos os pushes: apps/api/src/server.ts(136,21): error TS7006: Parameter 's' implicitly has an 'any' type.

Causa raiz

O job de typecheck roda tsc --noEmit sem o client do Prisma gerado. Não há prisma generate em postinstall nem no workflow — o client só existia na máquina de quem rodou prisma db push localmente. Sem os tipos do @prisma/client, o retorno de prisma.save.findMany vira any e o parâmetro s do .map dispara TS7006.

Correção

Adiciona "postinstall": "prisma generate" em apps/api/package.json. Como o repo usa workspaces, o npm ci da CI executa o postinstall do workspace e o client passa a existir antes do typecheck.

Validação local

  • npm ci → client gerado em node_modules/.prisma/client
  • npx tsc --noEmit -p apps/api/tsconfig.json OK (o passo que falhava)
  • npx tsc --noEmit -p packages/engine/tsconfig.json OK
  • npx tsc --noEmit -p apps/web/tsconfig.json OK
  • npm test OK

O tsc --noEmit da apps/api falhava na CI (TS7006 em server.ts:136) porque
o client do Prisma nunca era gerado no pipeline — localmente existia só
porque alguém rodou prisma db push. Com o postinstall, o npm ci da CI
gera o client antes do typecheck.
Com o prisma client agora gerado na CI, o pipeline avançou até o step
'Start api + web' e expôs um segundo problema latente: o db:push rodava
sem DATABASE_URL (P1012), pois a variável só era definida inline para o
tsx do servidor.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant