Skip to content

Latest commit

 

History

History
67 lines (44 loc) · 3.64 KB

README.ru.md

File metadata and controls

67 lines (44 loc) · 3.64 KB

JavaScript template

en

NPM version Style Guide Inline docs

Шаблон для JavaScript проекта с необходимой (ИМХО) конфигурацией и зависимостями. Без компиляции и сборки.

Node.js

  • Требуется версия >= 20
  • type: module
  • exports в дополнении к полю main

Статический анализ и форматирование

Статический анализ с помощью ESLint. Форматирование с помощью Prettier (как авто-исправления в рамках ESLint процесса).

Набор правил

Тестирование

Тестирование с помощью ava. Файлы тестов хранятся в отдельной директории.

Покрытие тестами

Сбор покрытия тестами с помощью c8. nyc не может быть использован пока не решены проблемы #1353 и 1287.

pre-commit хук

Используются lint-staged и husky.

  • При изменении JavaScript файлов:
    • Запускать статический анализ изменённого кода
    • Запускать тесты до первого упавшего теста
  • При изменении файла конфигурации ESLint запускать статический анализ всех файлов
  • Форматировать все остальные изменённые файлы, поддерживаемые Prettier

commit-msg хук

Проверять сообщения коммита соответствию правилам conventional

Конфигурация инструментов

Конфигурация в отдельных файлах в корне проекта.

jsconfig.json

  • Определить JavaScript проект
  • Включить только src и tests директории
  • Включить проверку типов в JavaScript файлах
  • Включить все строгие проверки типов