1.0 KiB
1.0 KiB
priority
| priority |
|---|
| high |
strict: true+noUncheckedIndexedAccessin tsconfig, neverany— useunknownwith type guards.- ESM imports only,
constoverlet,as constfor literals,interfaceovertypefor objects. import typefor type-only imports to avoid runtime overhead. Discriminated unions for type-safe state.- Formatting/linting:
oxfmt+oxlint. Type checking:tsc --noEmitin CI. - Testing:
vitest(80%+ coverage). Runtime validation at system boundaries withzod. - Error handling: discriminated unions for expected errors, throw only for unexpected.
- Package manager:
pnpmwithpnpm-lock.yamlcommitted, build:tsuporesbuild. - Monorepo: workspace protocol (
workspace:*), shared tsconfig base,pnpm-workspace.yaml. - Node.js:
node:prefix for core modules,fetchoveraxios. - Security:
pnpm auditfor dependency CVE scanning. Zero tolerance for critical/high vulnerabilities. - Anti-patterns: non-null assertions (
!), type assertions (as),enum(use unions),@ts-ignore.