Repository navigation
Protheus plugin v2.14.0 — regras da EngPro no hook de lint (kit 2.6.0)
·
20 commits
to main
since this release
O que muda
As 49 regras oficiais do SonarQube EngPro TOTVS eram referência de leitura do /protheus:reviewer. Agora a parte mecânica delas vira gate na hora da gravação.
Novo hook sonar-lint.cjs (PostToolUse)
~30 das 49 regras aplicadas a cada Write/Edit:
- BUG e VULNERABILIDADE bloqueiam (
exit 2) — com o código da regra e como corrigir. - CODE SMELL avisa sem travar o dev no meio da escrita.
- Cobre
CA2022(StaticCall),CA2023(PTInternal),CA2000–CA2013(dicionário por workarea),CA1000(driver ISAM),CA1002(interface em transação),CA1003(GetMVem loop),CA2050(SQL injection),CA4000(IIF),CA3001(include maiúsculo) e mais.
Roda em qualquer máquina
Não depende do advpls/TDS-LS: é análise de texto, em milissegundos, sem AppServer e sem includes.
Supressão exige justificativa
// sonar:ignore CA1000 <motivo>. Sem motivo, não vale — e o reviewer continua reportando.
Qualidade
- 40 testes do motor (incluindo casos de falso positivo: regra citada em comentário ou string não pode acusar) + 8 do contrato do hook.
- CI criado: o repo tinha testes que nada executava. Agora a suíte roda em todo push e PR — e foi ela que expôs que o
sync-sonar-rules.cjsnunca havia sido versionado (o.gitignoreengolia/scripts/).