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

2.3 KiB
Raw Blame History

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