dbe2c4cb94
CI / changes (pull_request) Successful in 3s
CI / unit (pull_request) Successful in 11s
CI / integration (pull_request) Successful in 23s
CI / ui (pull_request) Successful in 1m13s
CI / conformance (pull_request) Successful in 9s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m54s
The SVG tracer export failed, so the icon was designed collaboratively from
scratch: a wooden «Э» tile with a ✻ score-subscript in Spectral Bold, wood
grain and diagonal light/shadow. Construction is specified in fractions of the
side in docs/ICON_BRANDBOOK.md; the reference generator, pinned Spectral font
and committed masters live in assets/icons/brand/.
One master -> the whole set (assets/icons/brand/build-set.mjs + build-android-res.mjs):
- web (ui/public): favicon.svg (light+dark via prefers-color-scheme), favicon.ico,
apple-touch, PWA any + maskable (+ dark variants), og-image reskinned to
«Эрудит» / Игра в слова
- Capacitor layers: ui/assets/{icon,icon-foreground,icon-background}.png
- Android launcher res, all densities, NO inset, + monochrome themed layer
(anydpi xml: background+foreground+monochrome)
- manual-upload art: assets/icons/brand/{vk,tg,store} (square, no rounding)
Primary variant light; dark where the platform can theme (favicon.svg). The old
LiberationSans generator (assets/icons/build) is removed; docs/ICONS.md retargeted
onto the single master. ANDROID_PLAN icon-rebrand item marked done.
51 lines
1.7 KiB
JSON
51 lines
1.7 KiB
JSON
{
|
|
"name": "scrabble-ui",
|
|
"private": true,
|
|
"version": "0.0.0",
|
|
"type": "module",
|
|
"description": "Scrabble game client (plain Svelte 5 + Vite). Talks to the gateway over Connect-RPC + FlatBuffers.",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"start": "vite --mode mock",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"cap:sync": "cap sync android",
|
|
"android:assets": "node ../assets/icons/brand/build-set.mjs && node ../assets/icons/brand/build-android-res.mjs",
|
|
"check": "svelte-check --tsconfig ./tsconfig.json",
|
|
"codegen": "rm -rf src/gen && flatc --ts -o src/gen/fbs ../pkg/fbs/scrabble.fbs && buf generate ../gateway --template buf.gen.yaml",
|
|
"test:unit": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:e2e": "playwright test"
|
|
},
|
|
"dependencies": {
|
|
"@bufbuild/protobuf": "^2.12.0",
|
|
"@capacitor/android": "^8.4.1",
|
|
"@capacitor/app": "^8.1.0",
|
|
"@capacitor/core": "^8.4.1",
|
|
"@capacitor/network": "8.0.1",
|
|
"@connectrpc/connect": "^2.1.0",
|
|
"@connectrpc/connect-web": "^2.1.0",
|
|
"@vkontakte/vk-bridge": "^3.0.2",
|
|
"flatbuffers": "^25.9.23"
|
|
},
|
|
"devDependencies": {
|
|
"@bufbuild/protoc-gen-es": "^2.12.0",
|
|
"@capacitor/assets": "^3.0.5",
|
|
"@capacitor/cli": "^8.4.1",
|
|
"@playwright/test": "^1.49.0",
|
|
"@sveltejs/vite-plugin-svelte": "^5.0.0",
|
|
"@types/node": "^22.10.0",
|
|
"core-js-bundle": "^3.49.0",
|
|
"marked": "^18.0.5",
|
|
"svelte": "^5.15.0",
|
|
"svelte-check": "^4.1.0",
|
|
"typescript": "^5.7.0",
|
|
"vite": "^6.0.0",
|
|
"vite-plugin-pwa": "^0.21.2",
|
|
"vitest": "^3.0.0",
|
|
"workbox-core": "^7.4.1",
|
|
"workbox-precaching": "^7.4.1",
|
|
"workbox-routing": "^7.4.1"
|
|
}
|
|
}
|