Этап 1a: фундамент

- Next 16.4 и Payload 3.91 в одном приложении, PostgreSQL с UUID,
  TypeScript 6, ESLint 9, Prettier, Vitest
- Payload: администраторы с ролями, multi-tenant по сайтам, локализация
  en/ru/de/fr/es, интерфейс админки ru/en, языки сайта (sites.locales)
- Коллекции sites, domains, currencies, countries, locations, tags,
  tariffs, payment-systems (manual), media и начальные данные (pnpm seed)
- Proxy: хост → домен, язык и валюта, внутренние маршруты по хосту;
  /admin и /api закрыты на доменах брендов
- Токены и темы брендов, оболочки сайта и кабинета, переключатели языка,
  валюты и темы, заглушки страниц
- /svc/health, юнит systemd veilix-dev.service
- Документация: решения D-022…D-024, команды в CLAUDE.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
andreypr207andClaude Opus 5.5 committed 2026-10-21 05:08:05 +02:00
1 parent 3400f58a5a
commit 7e331c2c9d
140 files changed
+15885 -43

No files matched your search

+56
View File
@@ -0,0 +1,56 @@
{
"name": "veilix",
"version": "0.1.0",
"private": true,
"type": "module",
"packageManager": "pnpm@12.14.0",
"engines": {
"node": ">=24.15"
},
"scripts": {
"dev": "NODE_OPTIONS=--no-deprecation next dev -H 127.0.0.1 -p 3100",
"build": "NODE_OPTIONS='--no-deprecation --max-old-space-size=4096' next build",
"start": "NODE_OPTIONS=--no-deprecation next start -H 127.0.0.1 -p ${PORT:-3000}",
"lint": "eslint .",
"typecheck": "next typegen && tsc --noEmit",
"format": "prettier --write .",
"format:check": "prettier --check .",
"test": "vitest run",
"payload": "NODE_OPTIONS=--no-deprecation payload",
"generate:types": "NODE_OPTIONS=--no-deprecation payload generate:types",
"generate:importmap": "NODE_OPTIONS=--no-deprecation payload generate:importmap",
"seed": "NODE_OPTIONS=--no-deprecation payload run src/seed/index.ts",
"db:reset": "set -a && . ./.env && set +a && psql \"$DATABASE_URL\" -v ON_ERROR_STOP=1 -q -f scripts/reset-dev-db.sql"
},
"dependencies": {
"@payloadcms/db-postgres": "3.91.0",
"@payloadcms/next": "3.91.0",
"@payloadcms/plugin-multi-tenant": "3.91.0",
"@payloadcms/richtext-lexical": "3.91.0",
"@payloadcms/translations": "3.91.0",
"@payloadcms/ui": "3.91.0",
"graphql": "16.14.2",
"isbot": "5.2.2",
"next": "16.4.2",
"next-intl": "4.14.9",
"payload": "3.91.0",
"react": "19.3.1",
"react-dom": "19.3.1",
"sharp": "0.35.5"
},
"devDependencies": {
"@tailwindcss/postcss": "4.3.3",
"@types/node": "24.19.2",
"@types/react": "19.3.0",
"@types/react-dom": "19.3.0",
"eslint": "9.39.5",
"eslint-config-next": "16.4.2",
"eslint-config-prettier": "10.1.8",
"postcss": "8.5.31",
"prettier": "3.9.10",
"prettier-plugin-tailwindcss": "0.8.1",
"tailwindcss": "4.3.3",
"typescript": "6.0.3",
"vitest": "5.0.5"
}
}