Files
ps5upload/client/package.json
T
phantomptrandClaude Opus 5.5 99dda9acb8 console page: build, shell, controller navigation
The page the helper serves on the PS5 itself: client/src/console/ built by
vite.console.config.ts into one self-contained dist-console/index.html
(script and styles inlined, safari13, 253 KiB raw / 84.5 KiB gzip; the
build fails over 450 KiB raw or 150 KiB gzip). payload/Makefile gzips it
into build/webui_page.c and the helper serves it at GET /, with
GET /api/token for the per-start token.

- Shell: top bar (logo, console chip from /api/status), rail of the
  implemented sections (Home, Files, Settings placeholders), hint bar
  showing only verified bindings, reload banner on a 401.
- nav.ts: spatial focus (aligned neighbours first), the R11 default input
  table (keyboard + Gamepad "standard", all unverified), D-pad repeat.
- api.ts: token fetched once, X-PS5U-Token on every POST, 401 → expired.
- strings.ts: cw_* keys from all 21 locales via build-console-strings.mjs
  (vm-eval like the i18n gate), English fallback.
- CI: client npm ci before every make payload.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RxCGb8Asp1A1AQYiv1kbgS
2026-10-17 05:23:26 -07:00

71 lines
2.2 KiB
JSON

{
"name": "ps5upload-client",
"private": true,
"type": "module",
"version": "7.0.34",
"description": "The all-in-one PS5 companion app.",
"homepage": "https://github.com/phantomptr/ps5upload",
"author": "PhantomPtr <phantomptr@gmail.com>",
"scripts": {
"dev": "tauri dev",
"dev:vite": "vite",
"build:vite": "vite build",
"build:console": "node ../scripts/build-console-strings.mjs && vite build -c vite.console.config.ts",
"build": "tauri build",
"typecheck": "tsc --noEmit",
"lint": "eslint .",
"tauri": "tauri",
"preview": "vite preview",
"test": "vitest run",
"test:coverage": "vitest run --coverage",
"test:watch": "vitest",
"test:e2e": "playwright test",
"dist": "tauri build",
"dist:win": "tauri build --target x86_64-pc-windows-msvc",
"dist:win-arm": "tauri build --target aarch64-pc-windows-msvc",
"dist:mac": "tauri build --target aarch64-apple-darwin",
"dist:mac-x64": "tauri build --target x86_64-apple-darwin",
"dist:linux": "tauri build --target x86_64-unknown-linux-gnu",
"dist:linux-arm": "tauri build --target aarch64-unknown-linux-gnu",
"dist:android": "tauri android build --apk --target aarch64 --target armv7"
},
"dependencies": {
"@tauri-apps/api": "^2.12.3",
"@tauri-apps/plugin-dialog": "^2.8.2",
"@tauri-apps/plugin-notification": "^2.6.0",
"@tauri-apps/plugin-opener": "^2.7.1",
"clsx": "^2.1.1",
"html-to-image": "^1.11.13",
"lucide-react": "^1.56.0",
"react": "^19.3.0",
"react-dom": "^19.3.0",
"react-router": "^8.4.0",
"zustand": "^5.0.15"
},
"devDependencies": {
"@csstools/postcss-cascade-layers": "^6.0.2",
"@eslint/js": "^10.0.1",
"@playwright/test": "^1.64.0",
"@tailwindcss/vite": "^4.3.3",
"@tauri-apps/cli": "^2.12.2",
"@types/react": "^19.3.0",
"@types/react-dom": "^19.3.0",
"@vitejs/plugin-react": "^6.1.2",
"@vitest/coverage-v8": "^5.0.4",
"eslint": "^10.12.0",
"eslint-plugin-react-hooks": "^7.1.1",
"postcss": "^8.5.30",
"tailwindcss": "^4.0.0",
"typescript": "^6.0.3",
"typescript-eslint": "^8.71.2",
"vite": "^8.3.4",
"vitest": "^5.0.0"
},
"overrides": {
"tar": "7.5.7"
},
"allowScripts": {
"fsevents@2.3.3": true
}
}