ma7engine: ядро, шаблон панели, скаффолдер и доктор

Первый коммит существующего состояния. Ядро кладётся под git ради того,
чтобы половины разъезжались в продуктовые репозитории через git subtree,
а не копированием: subtree делает настоящий merge, хранит историю и умеет
отдавать правки обратно.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LeBkZLiQrvdECf5nfgiMz
This commit is contained in:
2026-08-26 20:39:37 +03:00
co-authored by Claude Opus 5
commit 18bd05bcbb
50 changed files with 8152 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import path from 'node:path';
// В деве Vite (:5173) проксирует запросы на бэкенд (:8080) — фронт всегда ходит
// по относительным путям, порт нигде не зашит.
const target = process.env.VITE_PROXY_TARGET ?? 'http://localhost:8080';
export default defineConfig({
plugins: [react()],
resolve: {
alias: {
// Ядро — вендоренная копия: `npm run update` (он же predev/prebuild)
// кладёт сюда ma7engine/core/browser. Копия, а не путь в соседнюю
// папку, потому что в образе панели пути выше её каталога нет.
'@core': path.resolve(__dirname, 'src/core'),
'@': path.resolve(__dirname, 'src'),
},
},
server: {
proxy: {
'/api': target,
'/login': target,
'/logout': target,
},
},
});