Skip to content

pedromsantos/ts-kata

Repository files navigation

Typescript kata starter

This project contains a number of katas with instructions ordered in a proven path described in my book Agile Technical Practices Distilled

Project status and ratings

I know the stats look really bad :) There is some very ugly code to be refactored in this repository. Hopefuly as you implement the exercises in the katas these stats should improve.

GitHub

Build Status GitHub commit activity GitHub last commit GitHub code size in bytes GitHub top language GitHub

Sonar

Quality Gate Status CoverageMaintainability Rating Reliability Rating Security Rating Vulnerabilities Code Smells Bugs Duplicated Lines (%) Technical Debt Lines of Code

Code Scene

CodeScene Code Health CodeScene System Mastery

Instructions

Execute tests

Just run the test suite

yarn test

Run the test suit with code coverage

yarn test:ci

Execute mutation tests

yarn mutants

Run the tests in watch mode

yarn watch

There are scripts to run each kata test suite on its own

yarn fizz
yarn leap
yarn fib
yarn stack
yarn roman
yarn prime
yarn tic
yarn yahtzee
yarn tennis
yarn rose
yarn golf
yarn smelly
yarn copier
yarn esa

Build

yarn ci

or

yarn precommit

Lint

yarn lint

Tools

There are a few tools preconfigured in the project

  • Code
    • ESLint
      • eslint: JavaScript and TypeScript linter that identifies and reports code quality issues.
      • @typescript-eslint/parser: Parser that allows ESLint to understand TypeScript syntax.
      • typescript-eslint/eslint-plugin: ESLint plugin that provides linting rules specific to TypeScript code.
      • eslint-plugin-jest: ESLint plugin with additional rules for Jest tests.
      • eslint-plugin-prettier: ESLint plugin that integrates Prettier into ESLint, enabling automatic formatting.
      • eslint-plugin-import: ESLint plugin that provides linting rules for importing modules.
      • eslint-plugin-simple-import-sort: ESLint plugin for sorting imports using a simple convention.
    • Prettier
      • prettier: Opinionated code formatter that enforces consistent code style.
    • Type coverage
      • ts-coverage: Tool for generating coverage reports for TypeScript projects.
      • type-coverage: Tool for measuring the percentage of type coverage in a TypeScript project.
      • typescript-coverage-report: Tool for generating coverage reports for TypeScript projects.
  • Testing
    • Libraries
      • jest: JavaScript testing framework for writing unit tests.
      • fast-check: Property-based testing library for JavaScript and TypeScript.
      • @stryker-mutator/core: Core library for Stryker Mutator, a mutation testing framework for JavaScript and TypeScript.
      • @stryker-mutator/jest-runner: Stryker Mutator plugin for running mutation tests with Jest.
      • @stryker-mutator/typescript-checker: Stryker Mutator plugin for type checking TypeScript code during mutation testing.
      • jest-extended-snapshot: Additional Jest matchers for snapshot testing
  • CI/CD
    • Commit Lint
    • Husky
      • husky: Git hooks management tool that allows running scripts before committing or pushing code.
    • GitHub actions
      • Build
      • Dependabot
    • Sonar
      • Sonar cloud integration for code metrics
    • CodeScene
      • CodeScene cloud integration for code metrics

About

Typescript kata bootstrap

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published