Files
scrabble-game/ui/vite.config.ts
T
Ilia Denisov 74683f294f
CI / changes (pull_request) Successful in 1s
CI / unit (pull_request) Successful in 8s
CI / integration (pull_request) Successful in 11s
CI / ui (pull_request) Successful in 29s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 56s
Stage 17 round 6 (#13/About): About screen content + app version from git describe
- About screen: prominent localized title (Scrabble / Эрудит (Скрэббл)), a rules link
  (en/ru Wikipedia), and the Random-game / Game-with-friends sections; copy lives in a
  shared aboutContent module (the landing will reuse it). The random-game move limit
  inlines the 24h auto-match clock.
- App version: Vite define __APP_VERSION__ from VITE_APP_VERSION (default 'dev'), wired as
  a Docker build-arg sourced from `git describe --tags --always` in the deploy step — no
  manual version bumps. The fallback keeps a plain/local build working.
2026-06-07 11:39:31 +02:00

39 lines
1.4 KiB
TypeScript

import { defineConfig } from 'vite';
import { svelte } from '@sveltejs/vite-plugin-svelte';
// The edge Connect service is scrabble.edge.v1.Gateway; the gateway serves it over
// h2c on :8081 by default. In dev we proxy the RPC path so the browser (which can
// not speak h2c directly) talks to the dev server on the same origin. In `mock`
// mode the app runs entirely against an in-memory fake transport — no gateway,
// no backend, no Postgres — which is what `pnpm start` launches.
const RPC_PREFIX = '/scrabble.edge.v1.Gateway';
export default defineConfig(({ mode }) => ({
// Relative asset base so the one build serves under any path — the gateway maps the
// Telegram Mini App to /telegram/ (the hash router is path-agnostic).
base: './',
define: {
// App version shown on the About screen, injected at build time from `git describe`
// via a Docker build-arg (Stage 17). Falls back to "dev" for a plain local/mock build,
// so a missing build-arg never breaks the build.
__APP_VERSION__: JSON.stringify(process.env.VITE_APP_VERSION || 'dev'),
},
plugins: [svelte()],
server: {
port: 5173,
proxy:
mode === 'mock'
? undefined
: {
[RPC_PREFIX]: {
target: process.env.GATEWAY_URL || 'http://localhost:8081',
changeOrigin: true,
},
},
},
build: {
target: 'es2022',
sourcemap: true,
},
}));