Shared plugin tooling

Dev-зависимость с общими конфигами lint, форматирования, TypeScript, сборки, тестовой БД и релиза для плагинов Payload.

Сообщество 0 452/нед MIT v0.2.4

Установка

pnpm add @seshuk/payload-plugin-tooling

Описание

Пакет хранит dev-конфигурацию, которую разделяют плагины `@seshuk`. В нём есть базовые конфиги oxlint и oxfmt, базовый `tsconfig.json`, функция `pluginBuild()` для tsdown, которая сохраняет структуру `src` в `dist`, и `vitestBase` для Vitest. Для CI и релиза доступны переиспользуемые GitHub-воркфлоу: lint, `format:check`, typecheck, `test:unit`, `test:int`, build и release. Пакет ставится только как devDependency. Плагины его не импортируют в рантайме. Требуются Node.js 24.15.0 или новее и pnpm. Экспорт `testDatabase()` возвращает тестовую базу для Payload. Переменная `TEST_DB` выбирает `sqlite` (по умолчанию), `postgres` через PGlite или `mongodb` через mongodb-memory-server. Для postgres и mongodb нужно поставить соответствующий пакет адаптера. В `./fields` есть функция `insertField`, которая возвращает новый список полей с добавленным полем: в начало, в конец, в sidebar или до либо после указанного пути. Пути проходят через группы и именованные табы. Если путь неоднозначный или не найден, функция выбрасывает ошибку. `findFieldPaths(fields, predicate)` возвращает пути именованных полей, которые подходят под предикат. Модуль `./telemetry` раз в день отправляет анонимные данные: версии плагина, Payload и Node, ОС, хэш идентификатора проекта и булевы флаги функций. Отключить отправку можно через `telemetry: false`, переменные `DO_NOT_TRACK=1` или плагин-специфичную переменную окружения. Telemetry также выключается в CI и при `NODE_ENV=test`. Свой сборщик можно задать через `telemetry: { url }`, но сервер принимает только известные ему продукты, поэтому новый продукт сначала регистрируется на стороне сервера. Релизный воркфлоу строит changelog через git-cliff, добавляет заметки из `.github/releases/vX.Y.Z.md` (если файл есть), выставляет npm dist-tag (beta, latest или latest-N) и публикует пакет через npm trusted publishing (OIDC) или секрет `NPM_TOKEN`.

О пакете

Имя пакета
@seshuk/payload-plugin-tooling
Последняя версия
0.2.4
Размер
35 кБ
Лицензия
MIT
Загрузок в неделю
452
Последняя публикация
10 окт. 2026 г.

Ещё от maximseshuk

Профиль автора