Pacote de revisão
Não passa o olho nesse
14 arquivos · +86 −8 · cerca de 2 min. 5 achados em prioridade alta. Primeira passada: index.ts, fixture.ts, verify.ts.
Ordem de leitura
-
01
src/api/index.ts
Export público mudou Depois -
02
src/webhooks/fixture.ts
String com cara de segredo adicionada Ler agora -
03
src/webhooks/verify.ts
Assinatura comparada com == Ler agora -
04
.github/workflows/release.yml
Workflow concede permissão de escrita Ler agora -
05
src/billing/invoice.ts
Caminho de cobrança mudou Depois -
06
test/webhooks/verify.test.ts
Arquivo de teste apagado Ler agora -
07
migrations/2026_09_23_api_keys.sql
Mudança de schema Ler agora -
08
src/billing/charge.ts
Caminho de cobrança mudou Depois -
09
package.json
Manifesto de dependências mudou Depois -
10
Dockerfile
Empacotamento de runtime mudou Depois -
11
test/billing/charge.test.ts
Testes Pode esperar -
12
docs/webhooks.md
Docs Pode esperar -
13
package-lock.json
Lockfile mudou Pode esperar -
14
src/generated/types.ts
Arquivo gerado Pode esperar
Achados
Padrão: chave live da Stripe. Se for de verdade, rotacione. Se for fixture, use um placeholder óbvio.
Igualdade em digest vaza tempo. A comparação em tempo constante precisa ser nos bytes crus, com os dois lados do mesmo tamanho.
Um token roubado neste workflow pode enviar código ou publicar pacote. Leia o bloco de permissões antes da lista de steps.
Cobertura apagada não volta sozinha. Confira o teste que substitui, ou o motivo de não existir um.
Leia o caminho de ida e como ele volta. Um default numa tabela quente continua sendo migração.
Leia o comportamento aqui antes de docs, lockfiles ou código gerado.
Leia o comportamento aqui antes de docs, lockfiles ou código gerado.
Nada neste diff cobre “invoice”. Se a mudança é só ligação, diga isso no pull request.
Leia o intervalo novo aqui. O lockfile, mais adiante no pacote, é o pin resolvido.
Imagem, cluster ou infra mudou. Leia antes do changelog.
Este é o contrato que os outros chamadores vão ver. Leia antes da implementação que sustenta ele.
Passe o olho depois do manifesto. Você procura um pacote surpresa, não uma leitura linha a linha.
Revise a fonte que gera ele. Este arquivo pode esperar.
Arquivos
src/api/index.ts
médio Export público mudou. Este é o contrato que os outros chamadores vão ver. Leia antes da implementação que sustenta ele.
src/webhooks/fixture.ts
alto String com cara de segredo adicionada. Padrão: chave live da Stripe. Se for de verdade, rotacione. Se for fixture, use um placeholder óbvio.
src/webhooks/verify.ts
alto Assinatura comparada com ==. Igualdade em digest vaza tempo. A comparação em tempo constante precisa ser nos bytes crus, com os dois lados do mesmo tamanho.
.github/workflows/release.yml
alto Workflow concede permissão de escrita. Um token roubado neste workflow pode enviar código ou publicar pacote. Leia o bloco de permissões antes da lista de steps.
src/billing/invoice.ts
médio Caminho de cobrança mudou. Leia o comportamento aqui antes de docs, lockfiles ou código gerado.
médio Comportamento mudou sem um teste correspondente. Nada neste diff cobre “invoice”. Se a mudança é só ligação, diga isso no pull request.
test/webhooks/verify.test.ts
alto Arquivo de teste apagado. Cobertura apagada não volta sozinha. Confira o teste que substitui, ou o motivo de não existir um.
migrations/2026_09_23_api_keys.sql
alto Mudança de schema. Leia o caminho de ida e como ele volta. Um default numa tabela quente continua sendo migração.
src/billing/charge.ts
médio Caminho de cobrança mudou. Leia o comportamento aqui antes de docs, lockfiles ou código gerado.
package.json
médio Manifesto de dependências mudou. Leia o intervalo novo aqui. O lockfile, mais adiante no pacote, é o pin resolvido.
Dockerfile
médio Empacotamento de runtime mudou. Imagem, cluster ou infra mudou. Leia antes do changelog.
test/billing/charge.test.ts
docs/webhooks.md
package-lock.json
médio Lockfile mudou. Passe o olho depois do manifesto. Você procura um pacote surpresa, não uma leitura linha a linha.
src/generated/types.ts
info Arquivo gerado. Revise a fonte que gera ele. Este arquivo pode esperar.