Files
Max Gramser 94b320074d Draw the mockup with the screens' own words, compile every text while building, and send the language with the live updates
- The page takes the screens' words its mockup draws from their own texts: screen.ha (Home Assistant's words, filled
  from Home Assistant), screen.time, screen.date, screen.number and screen.tile.page, per language next to _meta and
  editor. The copies under editor.mockup go; the rest of `screen` and all of `addon` stay out of the build.
- Numbers in the mockup follow the screens' language (screen.number, with its minimum grouping) or the chosen style,
  as the firmware writes them.
- @intlify/unplugin-vue-i18n compiles every text at build time, so the page runs vue-i18n's runtime-only build
  without the message compiler; every language's _meta comes with the page. Empty texts stay out while building.
- The live updates carry the editor's language (api/events?language=), as an EventSource sends no headers.
- web/ needs Node 22.13 or newer: vue-i18n 11.4, Vite 7 and the unplugin ask for it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 14:59:02 +02:00

32 lines
783 B
JSON

{
"name": "esp-screens-editor",
"private": true,
"version": "0.0.0",
"type": "module",
"devEngines": {
"runtime": { "name": "node", "version": ">=22.13.0", "onFail": "error" }
},
"scripts": {
"dev": "vite",
"build": "vue-tsc --noEmit && rm -rf ../screen_manager/app/static/assets && vite build",
"check": "vue-tsc --noEmit",
"preview": "vite preview",
"test": "vitest run",
"test:watch": "vitest"
},
"dependencies": {
"vue": "^3.5.18",
"vue-i18n": "^11.4.12"
},
"devDependencies": {
"@intlify/unplugin-vue-i18n": "^11.2.5",
"@vitejs/plugin-vue": "^6.0.1",
"@vue/test-utils": "^2.5.1",
"jsdom": "^26.1.0",
"typescript": "^5.9.2",
"vite": "^7.1.5",
"vitest": "^3.2.7",
"vue-tsc": "^3.0.6"
}
}