mishani0x0ef / not-react

It's definitely not React

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Quality Gate Status Coverage Maintainability Rating Reliability Rating Security Rating

not-react

It's definitely not React

Quality

Formatting

Why?

  • To force code to be consistently formatted across the project
  • To avoid spaces/tabs holy wars

How?

Linting

Why?

  • To fix common issues in the code
  • To enforce some static code quality attributes
  • To enforce additional formatting rules
  • To enforce code consistency

How?

Testing

Why?

  • To have constant proof that code working properly
  • To avoid refactoring mistakes

How?

  • Using jest
  • Using TDD
  • Enforcing coverage (more than 90%)

Bundle Size

Why?

  • Lib must be small and performant

How?

Static analysis

Why?

  • To make sure that project has high maintainability, reliability and security metrics
  • To be able to establish quality gates
  • To have constant definition of code quality

How?

Pre-commit rules

Why?

  • To avoid not-compliant code to be committed
  • To provide instant feedback for developers

How?

  • Using husky and lint-staged
  • Check linting and formatting
  • Check unit tests and coverage

Merge rules

Why?

  • To avoid not-compliant to be merged into main

How?

  • Using GitHub branch protection rules
  • Build must succeed
  • Tests must pass with appropriate coverage
  • Code must pass Sonar's quality gates

About

It's definitely not React

License:MIT License


Languages

Language:JavaScript 61.1%Language:TypeScript 31.4%Language:Shell 7.5%