TypeScript Development Standards
Quality Check Commands
Run these commands after every implementation:
npm run type-check # TypeScript type checking
npm run lint # ESLint (0 warnings required)
npm run format # Prettier formatting
npm test # Run all tests
npm run test:coverage # Coverage check (95%+ required)
npm run build # Build verification
TypeScript Configuration
Use TypeScript 5.3+ with strict mode:
{
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "node",
"strict": true,
"esModuleInterop": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true
}
}
Code Quality Rules
- No
anytype - Useunknownwith type guards - Strict null checks - Handle null/undefined explicitly
- Type guards over assertions - Avoid
askeyword - 95%+ test coverage - Required for all new code
Testing with Vitest
import { describe, it, expect } from 'vitest';
describe('myFunction', () => {
it('should handle valid input', () => {
expect(myFunction('input')).toBe('expected');
});
});
ESLint Setup
{
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
"parser": "@typescript-eslint/parser",
"rules": {
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
"@typescript-eslint/no-explicit-any": "warn"
}
}