Files
dev-configs/CLAUDE.md
vigdorov cf64bf6d7d feat: initial dev-configs monorepo
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>
2026-03-16 23:40:22 +03:00

59 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```
## Команды
```bash
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](docs/requirements.md)