Contexto
O repositório acumula 9 alertas de segurança abertos, todos restritos a
dependências de desenvolvimento, scripts e CI — o pacote publicado (nfe-io)
tem zero dependências de runtime e não expõe consumidores a nenhum deles.
| Origem |
Alerta |
Severidade |
Item |
Ação |
| Dependabot |
#34 |
đź”´ CrĂtica |
vitest < 3.2.6 (GHSA-5xrq-8626-4rwp) |
Upgrade para vitest 4 (PR 2) |
| Dependabot |
#35 |
🟡 Baixa |
esbuild < 0.28.1 (GHSA-g7r4-m6w7-qqqr) |
Eliminado pela migração tsup → tsdown (PR 2) |
| CodeQL |
#1–3 |
🟡 Média |
GITHUB_TOKEN sem permissions mĂnimas no ci.yml |
Corrigir (PR 1) |
| CodeQL |
#6 |
đź”´ Alta |
Sanitização incompleta em scripts/download-openapi.ts |
Remover script morto (PR 1) |
| CodeQL |
#5, #7, #8 |
🔴/🟡 |
CĂłdigo legado v2 em lib/ (morto: nĂŁo importado, nĂŁo publicado, nĂŁo executa) |
Deletar lib/ (PR 1) |
Plano de execução
PR 1 — Hardening rápido (bugfix/code-scanning-alerts)
PR 2 — Modernização do toolchain (chore/modernize-build-toolchain)
⚠️ Breaking change (v4.0.0)
Único requisito novo: Node.js ≥ 22. Nenhuma mudança de API — quem está em
Node ≥22 atualiza sem alterar código. Usuários em Node 18/20 (EOL) permanecem
no nfe-io@3.2.x.
Critério de fechamento
Security tab zerada: 2 alertas Dependabot fechados e 7 CodeQL corrigidos
(nenhum dismiss — tudo resolvido por correção ou remoção de código).
Contexto
O repositório acumula 9 alertas de segurança abertos, todos restritos a
dependências de desenvolvimento, scripts e CI — o pacote publicado (
nfe-io)tem zero dependências de runtime e não expõe consumidores a nenhum deles.
vitest< 3.2.6 (GHSA-5xrq-8626-4rwp)esbuild< 0.28.1 (GHSA-g7r4-m6w7-qqqr)GITHUB_TOKENsempermissionsmĂnimas noci.ymlscripts/download-openapi.tslib/(morto: nĂŁo importado, nĂŁo publicado, nĂŁo executa)lib/(PR 1)Plano de execução
PR 1 — Hardening rápido (
bugfix/code-scanning-alerts)permissions: contents: readno nĂvel do workflow emci.ymlscripts/download-openapi.tse o scriptdownload:specdopackage.json(todos os endpoints retornam 404; as specs sĂŁo mantidas manualmente em
openapi/spec/)lib/(código legado v2 morto: ninguém importa, não é publicado no pacote,e depende de
when, que não está declarada nem instalada — o v2 vive no histórico gite no
nfe-io@2.xdo npm) + atualizar menções noCLAUDE.mdPR 2 — Modernização do toolchain (
chore/modernize-build-toolchain)tsup→tsdown(Rolldown; remove esbuild do pipeline de build)vitest3.2.4 → 4.x (+@vitest/ui,@vitest/coverage-v8)tsx→ 4.22.x (esbuild residual já na versão corrigida 0.28.1)engines, build target, matriz de CI 22/24, docs)— Node 18 e 20 estão EOL
(
checkout@v6,setup-node@v6,upload-artifact@v7,github-script@v9,codecov@v7)— runners mudam para Node 24 em 16/06/2026
nfeio-sdk→nfeio-node-sdk(diretório + frontmatter +agents.skillsdopackage.json, hoje com path quebrado) — fixa a convenção cross-SDKantes do publish no skills.sh — e atualizar "Node.js 18+" → "22+" no SKILL.md
package.json+VERSION) + CHANGELOG + seção v3 → v4 no MIGRATION.mdÚnico requisito novo: Node.js ≥ 22. Nenhuma mudança de API — quem está em
Node ≥22 atualiza sem alterar código. Usuários em Node 18/20 (EOL) permanecem
no
nfe-io@3.2.x.Critério de fechamento
Security tab zerada: 2 alertas Dependabot fechados e 7 CodeQL corrigidos
(nenhum dismiss — tudo resolvido por correção ou remoção de código).