@nodutilus/project-config v2.0.2
nodutilus project config

Node.js utilities - projects shared configuration
Установка:
$ npm i @nodutilus/project-config --save-devСправка:
$ npx nodutilus helpЗапустить все проверки:
$ npx nodutilus allПример настройки GitHub Actions из nodutilus/project-config:
name: Checks ➜ Tests ➜ Publish
on:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
main:
uses: nodutilus/project-actions/.github/workflows/main.yml@main
with:
eslint: true
eslintcc: true
types: true
tests: true
coverage: true
publish: true
publish_branche: main
secrets:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}ESLint

Конфиг для статического анализа модулей в формате ESM при помощи утилиты eslint.
Правила по умолчанию
Настройки
.eslintrc.json:
{
"extends": "@nodutilus"
}Использование
Локально
$ npx nodutilus eslintGitHub Actions
name: Checks
jobs:
checks:
steps:
- uses: npx nodutilus eslintESLintCC 
Для оценки сложности кода используется модуль: eslintcc. На странице модуля есть описание настроек и критериев оценки.
Для работы модуль использует настройки ESLint текущего проекта.
Использование
Локально
$ npx nodutilus eslintccGitHub Actions
name: Checks
jobs:
checks:
steps:
- uses: npx nodutilus eslintccType Checking JavaScript 
Проверка типов в коде написанном на JavaScript при помощи TypeScript
Подробнее о проверке типов в см. статье: JS Projects Utilizing TypeScript
Настройки
tsconfig.json:
{
"extends": "@nodutilus/project-config/tsconfig"
}Использование
Локально
$ npx nodutilus ts-checkGitHub Actions
name: Checks
jobs:
checks:
steps:
- uses: npx nodutilus ts-checkRun tests
Для запуска тестов используется команда node test или npm run test (если настроен скрипт в package.json).
Так же можно настроить пред- и пост- обработчик запуска тестов скриптами npm run pre-test и npm run post-test
Настройки
package.json:
{
"scripts": {
"pre-test": "node test/pre-test",
"test": "node test/index",
"post-test": "node test/post-test"
}
}Использование
Локально
$ npx nodutilus testGitHub Actions
name: Tests
jobs:
tests:
steps:
- uses: npx nodutilus testCode coverage with c8 
Покрытие кода с использованием встроенных функций Node.js. Для настройки используется конфигурация nyc
Для оценки покрытия запускается сценарии аналогичные описанным в разделе Run tests (Покрытие оценивается только для сценария запуска тестов)
Настройки
.nycrc.json:
{
"extends": "@nodutilus/project-config/nyc"
}Использование
Локально
$ npx nodutilus c8GitHub Actions
name: Coverage
jobs:
coverage:
steps:
- uses: npx nodutilus c8