npm install @itcase/configНабор готовых конфигураций для инструментов разработки, используемых в проектах ITCase. Этот пакет содержит стандартизированные настройки для commitlint, lint-staged, PostCSS, semantic-release и SVGR.
``bash`
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
1. Установите зависимости в проекте:
`bash`
npm install --save-dev @itcase/config @commitlint/cli @commitlint/config-conventional conventional-changelog-conventionalcommits
2. Создайте в корне проекта файл commitlint.config.mjs:
`js
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)
`
3. Подключите проверку в husky (например, в .husky/commit-msg):
`bash`
npx commitlint --edit "$1"
4. (Опционально) Интерактивное оформление коммитов через Commitizen. Установите:
`bash`
npm install --save-dev commitizen @commitlint/cz-commitlint
Добавьте файл .cz.json
`json``
{ "path": "@itcase/config/commitlint/commitizenAdapter.js" }