Tighten CI: coverage ratchet at 8% and ignore build artifacts

- package.json: test:coverage adds --check-coverage --lines=8 (current
  baseline is 8.32%; floor only goes up)
- biome.json: ignore *.main.js webpack chunks, coverage/, node_modules/
- docs/CONTRIBUTING.md: document ratchet policy and long-term 70% target
This commit is contained in:
Bruno Miiller 2026-05-19 23:07:36 -03:00
parent af79356e58
commit 46f86c0091
3 changed files with 14 additions and 3 deletions

View File

@ -4,7 +4,7 @@
"enabled": true "enabled": true
}, },
"files": { "files": {
"ignore": ["main.js"] "ignore": ["main.js", "*.main.js", "coverage/**", "node_modules/**"]
}, },
"formatter": { "formatter": {
"enabled": true, "enabled": true,

View File

@ -52,5 +52,16 @@ Citar o PR upstream na mensagem de commit (`baseado no PR upstream #<N>`).
## Testes ## Testes
- Toda feature ou bugfix inclui teste - Toda feature ou bugfix inclui teste
- Cobertura mínima do core: a definir (atualmente sem threshold)
- Localização: `tests/` para src/, `pro/tests/` para pro/ - Localização: `tests/` para src/, `pro/tests/` para pro/
- Comando: `npm run test:coverage`
### Política de cobertura (ratchet)
Cobertura mínima de linhas é um **piso que só sobe**. Atualmente em `8%`
(via `c8 --check-coverage --lines=8` no script `test:coverage`).
Quando você adicionar testes que elevam a cobertura geral, **suba o piso**
no script `test:coverage` para o novo valor (truncado). Nunca abaixar.
Meta de longo prazo: 70% (padrão code-standards). Áreas zero-cobertura
prioritárias: `src/main.ts`, `src/settings.ts`, backends `fs*.ts`.

View File

@ -14,7 +14,7 @@
"format": "npx @biomejs/biome check --write .", "format": "npx @biomejs/biome check --write .",
"clean": "npx rimraf main.js", "clean": "npx rimraf main.js",
"test": "mocha --import=tsx 'tests/**/*.ts' 'pro/tests/**/*.ts'", "test": "mocha --import=tsx 'tests/**/*.ts' 'pro/tests/**/*.ts'",
"test:coverage": "c8 --reporter=text --reporter=lcov --reporter=html npm test" "test:coverage": "c8 --check-coverage --lines=8 --reporter=text --reporter=lcov --reporter=html npm test"
}, },
"browser": { "browser": {
"path": "path-browserify", "path": "path-browserify",