- Package manager: pnpm
- TypeScript with @tsconfig/recommended
- TypeScript runtime tsx
- Testing Framework: Vitest
- Code coverage report: Codecov
- Linter: eslint with @antfu/eslint-config
- Git hooks: husky with lint-staged
- CI: GitHub Actions
- Copy/paste detector: jscpd
- TypeScript coverage: typescript-coverage-report
- Find unused files, dependencies and exports knip
Creating types and values with the same name in TypeScript | notes.dt.in.th
Safer Exhaustive Switch Statements in TypeScript
- debug and use no-const-enum cartant/eslint-plugin-etc: More general-purpose (TypeScript-related) ESLint rules
- understand why locally installed plugin sometimes doesn't work