🚀 Modern TypeScript + Jest playground with ESLint (Flat Config), Prettier, Husky, and comprehensive CI/CD pipeline.
- TypeScript 5.9.3 - Strict type checking with modern ES2022 features
- Jest 30.2.0 - Testing framework with comprehensive coverage reporting
- Yarn 4.5.3 - Modern package manager with Plug'n'Play support
- ESLint 9.39.2 - Code quality with TypeScript support and flat config
- Prettier 3.7.4 - Code formatting with consistent style
- Husky 9.1.7 - Git hooks for pre-commit quality checks
- lint-staged 16.2.7 - Run linters on staged files
- GitHub Actions - Automated testing on Node.js 20.x & 22.x
- Dependency Updates - Weekly automated dependency management
- Coverage Reporting - Integrated with Codecov
- Build Pipeline - Type checking and artifact generation
- Node.js 20+ - Latest LTS version recommended
- Yarn 4.5.3 - Enabled via Corepack:
corepack enable
# Install dependencies
yarn install
# Run all tests
yarn test
# Watch tests interactively
yarn test:debug
# Type checking
yarn type-check
# Lint and format
yarn lint:fix && yarn formattest— Run all Jest teststest:debug— Run Jest in interactive watch modetest:watch— Shorthand for watch modetest:coverage— Run tests with coverage reporttest:ci— CI-optimized test run with coveragetest:changed— Run tests only for changed filestest:related— Run tests related to changed files
lint— Run ESLint with cache and zero warnings tolerancelint:fix— Run ESLint with auto-fix and cachelint:report— Generate JSON lint reportformat— Format code with Prettierformat:check— Check code formatting without changestype-check— Run TypeScript type checkingtype-check:watch— Watch mode for type checking
update:deps— Interactive dependency upgradesupdate:patches- Apply package patchesclean— Remove build artifacts and cacheclean:deps— Clean reinstall of dependenciesprepare— Setup Git hookspre-commit— Run lint-staged manuallypostinstall— Setup development environment
The repo uses ESLint (Flat Config) for code quality and Prettier for formatting. Conflicting style rules are disabled via eslint-config-prettier.
- Detailed docs: see docs/linting.md
- VS Code workspace is preconfigured in
.vscode/to format and fix on save - Pre-commit hooks (husky + lint-staged) auto-run Prettier and ESLint on staged files
Run all tests:
yarn jestRun all tests with watch:
jest -i --watchAll
# or
yarn test:debugRun a specific test file:
yarn jest getFixedNumber'orta.vscode-jest'
"javascript.inlayHints.functionLikeReturnTypes.enabled": true,
"javascript.inlayHints.parameterTypes.enabled": true,
"javascript.inlayHints.propertyDeclarationTypes.enabled": true,
"javascript.inlayHints.variableTypes.enabled": true,
- Official Jest docs: English · Russian
- Linting & formatting: docs/linting.md
- Linting & formatting setup: docs/linting.md