Skip to content

Instantly share code, notes, and snippets.

@Qsppl
Last active July 1, 2025 22:39
Show Gist options
  • Save Qsppl/93a30af5dd3e32e1271031c02deb9114 to your computer and use it in GitHub Desktop.
Save Qsppl/93a30af5dd3e32e1271031c02deb9114 to your computer and use it in GitHub Desktop.
Web-project quality control

Draft: Web-project quality control

Популярные практики контроля качества веб-проекта. Гайд разбит на Системмы Качества (набор практик для контроля определенной части проекта) и Точки Интерации.

A. (quality system) Code - Исходный код, документация, тесты

  1. (integration point) IntelliSense via [IDE Extensions]
  2. (integration point) IDE Status Bar via [IDE Tasks]
  3. (integration point) Git via [Git Hooks]
  4. (integration point) GitHub via [GitHub Workflow]

B. (quality system) Repository - Комиты, ветки и реквесты

  1. (integration point) Git via [Git Hooks]
  2. (integration point) GitHub via [GitHub Workflow]

C. (quality system) Releases - Семантическое версионирование и changelogs, deploy на прод и в NPM

  1. (integration point) GitHub via [GitHub Workflow]

A. Code Quality

solution \ point IntelliSense IDE Status Bar Git GitHub Workflow
ESLint
Prettier
TypeScript
node:test

B. Repository Quality

solution \ point Git GitHub Git Client
Conventional Commits
Semantic PR - -

Есть два решения для контроля качества в этой области: Conventional Commits и Semantic PR.

Conventional Commits можно интегрировать через три точки интеграции: [Git | GitHub Workflow | Git Client]

Semantic PR можно интегрировать только через GitHub Workflow

Conventional Commits in Git

via Git Hooks+husky+@commitlint

// file: /package.json
{
  "type": "module",
  "devDependencies": {
    "@commitlint/cli": "^19.8.1",
    "@commitlint/config-conventional": "^19.8.1",
    "husky": "^9.1.7"
  },
  "scripts": {
    "prepare": "husky",
    "commitlint": "commitlint --edit"
  }
}
// file: /commitlint.config.js
export default { extends: ["@commitlint/config-conventional"] };
# file: /.husky/commit-msg
#!/bin/sh

# Temporarily add Git Bash to PATH if it's not already in the PATH
if ! command -v bash &> /dev/null
then
    export PATH="$PATH:/c/Program Files/Git/usr/bin"
fi

npm run commitlint ${1}

Conventional Commits in GitHub

Conventional Commits in Git Client

Use VSCode extension vivaxy.vscode-conventional-commits:

// file: /.vscode/extensions.json

{
  "recommendations": ["vivaxy.vscode-conventional-commits"]
}

C. Releases Quality

solution \ point GitHub
release-please
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment