@itcase/config
v1.6.49
Published
ITCase Config
Readme
ITCase Config
Набор готовых конфигураций для инструментов разработки, используемых в проектах ITCase. Этот пакет содержит стандартизированные настройки для commitlint, lint-staged, PostCSS, semantic-release и SVGR.
Установка
npm install --save-dev @itcase/configДоступные конфигурации
Пакет предоставляет следующие конфигурации:
Commitlint — проверка формата сообщений коммитов
createCommitlintProjectConfig(SCOPES)— для разработкиcreateCommitlintReleaseConfig(SCOPES)— для релизных ветокcommitlint/commitizenAdapter.js— адаптер Commitizen (type → scope → subScope → subject)
Husky — husky-hooks
Lint-staged — запуск линтеров для измененных файлов
lint-staged/index.js— базовая конфигурацияlint-staged-ts/index.js— с проверкой типов TypeScript
PostCSS — обработка CSS
postcss/index.js— стандартная конфигурацияpostcss/nextVite.js— для Next.js/Vite проектов
Semantic Release — автоматическое управление версиями
semantic-release/config.js— конфигурацияsemantic-release/index.js— стандартная конфигурацияsemantic-release/indexLerna.js— для Lerna монорепозиториевsemantic-release/indexVSMarketplace.js— для VS Code расширений
SVGR — преобразование SVG в React компоненты
svgr/index.js— базовая конфигурацияsvgr/webpack.js— интеграция с Webpack
Подключение Commitlint
- Установите зависимости в проекте:
npm install --save-dev @itcase/config @commitlint/cli @commitlint/config-conventional conventional-changelog-conventionalcommits- Создайте в корне проекта файл
commitlint.config.mjs:
import {
createCommitlintProjectConfig,
createCommitlintReleaseConfig,
} from '@itcase/config/commitlint/index.js'
const SCOPES = {
auth: [],
common: [],
dashboard: [],
logbook: ['events', 'filters'],
map: ['layers', 'controls', 'markers'],
report: ['monitoring', 'analytics', 'export', 'filters'],
other: [],
}
export default process.env.RELEASE_BRANCH === 'true'
? createCommitlintReleaseConfig(SCOPES)
: createCommitlintProjectConfig(SCOPES)- Подключите проверку в husky (например, в
.husky/commit-msg):
npx commitlint --edit "$1"- (Опционально) Интерактивное оформление коммитов через Commitizen. Установите:
npm install --save-dev commitizen @commitlint/cz-commitlintДобавьте файл .cz.json
{ "path": "@itcase/config/commitlint/commitizenAdapter.js" }