Shared configs for TypeScript projects: ESLint, Prettier, TypeScript, Vite, Jest, Playwright, Knip. Published as @vigdorov/* npm packages to Gitea registry. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
dev-configs
Monorepo с общими конфигами для TypeScript-проектов. Публикуется как набор npm-пакетов в Gitea npm registry.
Технологии
- Monorepo: npm workspaces
- Сборка: TypeScript (tsc)
- Registry: Gitea npm (
@vigdorov/scope) - CI: Drone CI, тип
library
Пакеты
| Пакет | Тип | Описание |
|---|---|---|
@vigdorov/prettier-config |
Статичный объект | Prettier конфиг |
@vigdorov/eslint-config |
Функции-генераторы (base, react, node) | ESLint 9 flat config |
@vigdorov/typescript-config |
JSON для extends (base.json, react.json) | TSConfig |
@vigdorov/vite-config |
Функции-генераторы (spa, library) | Vite конфиг |
@vigdorov/jest-config |
Функция-генератор (node/jsdom) | Jest + @swc/jest |
@vigdorov/playwright-config |
Функция-генератор (CI-aware) | Playwright e2e |
@vigdorov/knip-config |
Функция-генератор | Dead code detection |
Структура
packages/
├── eslint/ → @vigdorov/eslint-config
├── prettier/ → @vigdorov/prettier-config
├── typescript/ → @vigdorov/typescript-config (без сборки, JSON-файлы)
├── vite/ → @vigdorov/vite-config
├── jest/ → @vigdorov/jest-config
├── playwright/ → @vigdorov/playwright-config
└── knip/ → @vigdorov/knip-config
Команды
npm run build # Собрать все пакеты
npm run test # Тесты всех пакетов
npm run lint # Линтинг всех пакетов
npm run check # Knip проверка всех пакетов
# Поднятие версии
npm version patch -w packages/eslint
npm version minor -w packages/vite
Версионирование
- Semver, независимое для каждого пакета
- Разработка в feature-ветке → merge в main → поднять версию → push
- CI публикует только пакеты с новой версией (сравнение с registry)
Требования
Полные требования: docs/requirements.md