ESLint configured
Why it matters
Without ESLint or Biome, code quality issues — unused variables, implicit any, unsafe type assertions, missing await, console.log in production — are caught only by the developer's own review discipline rather than automatically on every commit. ISO 25010:2011 §6.5.4 classifies absent static analysis as a maintainability defect. The practical effect: every code review must manually check for issues that a linter would flag in milliseconds, and issues that slip through become permanent residents of the codebase.
Severity rationale
Low because absent linting does not cause immediate failures but means an entire category of preventable defects — unused variables, unsafe patterns, style violations — is caught only by manual review, if at all.
Remediation
Set up ESLint with TypeScript support and wire it into CI. A minimal configuration:
npm install -D eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin
// eslint.config.mjs
import tseslint from '@typescript-eslint/eslint-plugin'
import tsparser from '@typescript-eslint/parser'
export default [
{
files: ['**/*.ts', '**/*.tsx'],
languageOptions: { parser: tsparser },
plugins: { '@typescript-eslint': tseslint },
rules: {
...tseslint.configs.recommended.rules,
'@typescript-eslint/no-explicit-any': 'error',
'@typescript-eslint/no-unused-vars': 'error',
'no-console': ['error', { allow: ['error', 'warn'] }],
},
},
]
Add to package.json:
{ "scripts": { "lint": "eslint src/ --max-warnings=0" } }
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Code Quality Essentials Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · maintainability.modifiability — Maintainability — Modifiability
Taxons
History
- 2026-04-18·v1.0.0·Initial import from code-quality-essentials·automated