Skip to content

Скрипти ​

Повний перелік pnpm-скриптів монорепозиторію. Кореневі скрипти запускаються з кореня (pnpm <script>), скрипти пакетів — через фільтр: pnpm --filter <package> <script>. Описи складено за фактичним вмістом scripts у кожному package.json.

Корінь ​

Джерело: package.json.

СкриптКомандаЩо робить
buildpnpm -r buildЗбирає всі пакети workspace рекурсивно
build:sharedpnpm --filter shared buildЗбирає лише shared
devpnpm run build:shared && pnpm --filter backend build && pnpm --filter backend --filter frontend --parallel devЗбирає shared і backend, потім паралельно запускає dev-сервери бекенду та фронтенду
dev:manual_testpnpm run build:shared && sh -c '... backend dev & ... api-playground dev & wait'Збирає shared і паралельно запускає бекенд та api-playground
dev:backendpnpm --filter backend devDev-сервер лише бекенду
dev:frontendpnpm --filter frontend devDev-сервер лише фронтенду
docs:devpnpm --filter documentation docs:devDev-сервер документації
docs:buildpnpm --filter documentation docs:buildЗбирає сайт документації
docs:previewpnpm --filter documentation docs:previewПопередній перегляд зібраної документації
docs:verifypnpm --filter documentation docs:verifyПеревіряє зібраний сайт документації
startpnpm --filter backend startЗапускає зібраний бекенд
linteslint . && pnpm -r --if-present lint:checkESLint по всьому репозиторію, потім lint:check у пакетах, де він є
lint:fixeslint . --fixESLint з автовиправленням
formatprettier --write "**/*.{ts,tsx,js,mjs,vue,json,md,css}"Форматує файли Prettier
format:checkprettier --check "**/*.{ts,tsx,js,mjs,vue,json,md,css}"Перевіряє форматування
typecheckpnpm -r typecheckПеревірка типів у всіх пакетах
testpnpm -r testТести всіх пакетів
cleanpnpm -r clean && rm -rf node_modulesВикликає clean у пакетах і видаляє кореневий node_modules

backend ​

Джерело: packages/backend/package.json.

СкриптКомандаЩо робить
buildtsc --buildКомпілює TypeScript у dist/
devtsx watch src/index.tsЗапускає сервер з перезапуском при змінах
startnode dist/index.jsЗапускає зібраний сервер
cleanrm -rf dist .tsbuildinfoВидаляє артефакти збірки
typechecktsc --noEmitПеревірка типів
db:createtsx src/db/create-database.tsСтворює базу даних (create-database.ts)
db:create:prodnode dist/db/create-database.jsТе саме зі зібраного коду
db:generatedrizzle-kit generateГенерує міграцію зі схеми (drizzle.config.ts)
db:migratedrizzle-kit migrateЗастосовує міграції
db:studiodrizzle-kit studioВідкриває Drizzle Studio
db:seedtsx src/db/seed.tsПочаткові промпти; з --demo — demo-акаунти (seed.ts)
db:seed:prodnode dist/db/seed.jsТе саме зі зібраного коду
mail:testtsx src/scripts/send-test-email.tsНадсилає тестовий лист (send-test-email.ts)
push:vapidtsx src/scripts/generate-vapid-keys.tsГенерує пару VAPID-ключів для Web Push; --write записує її в .env, --force дозволяє замінити наявні ключі (generate-vapid-keys.ts, див. Web Push)
testvitest runОдноразовий прогін Vitest
test:coveragevitest run --coverage --coverage.reporter=text-summary --coverage.reporter=htmlПрогін з coverage (@vitest/coverage-v8), звіт у coverage/
test:watchvitestVitest у watch-режимі
test:redisvitest run --config vitest.redis.config.tsІнтеграційні *.redis.test.ts з реальним Redis (REDIS_TEST_URL); без змінної пропускаються
test:pgvitest run --config vitest.pg.config.tsІнтеграційні *.pg.test.ts на тимчасовій базі з міграціями (PG_TEST_URL); без змінної пропускаються

frontend ​

Джерело: packages/frontend/package.json.

СкриптКомандаЩо робить
devviteDev-сервер Vite
buildrun-p type-check "build-only {@}" -- && pnpm run build-swПаралельно typecheck і збірка, потім збірка service worker
previewvite previewПерегляд зібраного застосунку
test:unitvitestVitest у watch-режимі
test:e2eplaywright testPlaywright e2e-тести
build-onlyvite buildЛише збірка Vite
build-swvite build --config vite.sw.config.tsЗбірка service worker (vite.sw.config.ts)
type-checkvue-tsc --buildПеревірка типів (інкрементальна)
typecheckvue-tsc --build --force && tsc --noEmit -p e2e/tsconfig.jsonПовна перевірка типів, разом з e2e-тестами Playwright
linteslint . --fixESLint з автовиправленням
lint:checkeslint .ESLint без змін (викликається кореневим lint)
formatprettier --write src/Форматує src/
testvitest runОдноразовий прогін Vitest
test:coveragevitest run --coverage --coverage.reporter=text-summary --coverage.reporter=htmlПрогін з coverage (@vitest/coverage-v8), звіт у coverage/

shared ​

Джерело: packages/shared/package.json.

СкриптКомандаЩо робить
buildtsc --buildКомпілює в dist/
devtsc --build --watchКомпіляція у watch-режимі
cleanrm -rf dist .tsbuildinfoВидаляє артефакти збірки
typechecktsc --noEmitПеревірка типів
testpnpm build && node --test test/*.test.jsЗбирає пакет і запускає тести вбудованим test runner Node

api-playground ​

Джерело: packages/api-playground/package.json.

СкриптКомандаЩо робить
devviteDev-сервер Vite
buildrun-p type-check "build-only {@}" --Паралельно typecheck і збірка
previewvite previewПерегляд збірки
build-onlyvite buildЛише збірка
type-checkvue-tsc --buildПеревірка типів (інкрементальна)
typecheckvue-tsc --build --forceПовна перевірка типів
linteslint . --fixESLint з автовиправленням
lint:checkeslint .ESLint без змін
formatprettier --write src/Форматує src/

У api-playground немає скрипта test, тому pnpm test його пропускає.

documentation ​

Джерело: documentation/package.json.

СкриптКомандаЩо робить
docs:devvitepress devDev-сервер VitePress
docs:buildvitepress buildЗбірка сайту
docs:previewvitepress previewПерегляд зібраного сайту
docs:verifynode scripts/verify-dist.mjsПеревірки зібраного сайту (verify-dist.mjs)
typechecktsc --noEmit -p tsconfig.jsonПеревірка типів
testnode --test "scripts/verify/*.test.mjs"Тести скриптів перевірки

Автор: Олександр Блажейко · blazheiko@gmail.com