feat(app): add diagnostics and update runtime
This commit is contained in:
16
README.md
16
README.md
@@ -2,8 +2,8 @@
|
||||
|
||||
Windows desktop приложение, которое напоминает делать упражнения во время работы за компьютером. Опционально подключается к Dota 2 и после каждого матча превращает статистику (смерти, убийства, ассисты) в количество повторений.
|
||||
|
||||
[](https://git.xn--90adajar8af4h.xn--p1ai/AnRil/laude/releases/latest)
|
||||
[]()
|
||||
[](https://git.xn--90adajar8af4h.xn--p1ai/AnRil/laude/releases/latest)
|
||||
[]()
|
||||
[]()
|
||||
|
||||
## Что внутри
|
||||
@@ -45,6 +45,7 @@ npm run dev
|
||||
|
||||
```bash
|
||||
npm run typecheck # tsc по main + renderer
|
||||
npm run verify # typecheck + tests + lint + build + audit summary
|
||||
npm run test # vitest в watch-режиме
|
||||
npm run test:run # vitest один раз (для CI)
|
||||
npm run build # сборка без NSIS
|
||||
@@ -56,8 +57,8 @@ npm run release -- -Bump patch # bump версии + tag + push + upload в G
|
||||
|
||||
## Архитектура
|
||||
|
||||
- **Electron 33** — multi-process: main (Node/scheduler/GSI) + preload (contextBridge) + renderer (React)
|
||||
- **Renderer** — React 18, TypeScript 5, Vite 5, Tailwind 3, framer-motion, react-router, zustand
|
||||
- **Electron 42** — multi-process: main (Node/scheduler/GSI) + preload (contextBridge) + renderer (React)
|
||||
- **Renderer** — React 18, TypeScript 5, Vite 7, Tailwind 3, framer-motion, react-router, zustand
|
||||
- **Persistence** — единственный JSON-файл `%APPDATA%\Exercise Reminder\app-state.json` (debounced writes)
|
||||
- **IPC** — типизированные каналы через `src/shared/ipc.ts`, обёрнуто preload-ом
|
||||
- **i18n** — самописная микро-система: `src/renderer/src/i18n/dict.ts` (плоский словарь ~200 ключей × 2 языка) + хук `useT()`
|
||||
@@ -71,19 +72,20 @@ src/main/validate.test.ts (78)
|
||||
src/renderer/src/lib/history.test.ts (31)
|
||||
src/renderer/src/i18n/i18n.test.ts (15)
|
||||
src/renderer/src/lib/format.test.ts (14)
|
||||
src/main/scheduler.test.ts (13)
|
||||
src/main/scheduler.test.ts (14)
|
||||
src/main/games/vdf.test.ts (11)
|
||||
src/main/store.test.ts (10)
|
||||
src/main/store.test.ts (12)
|
||||
src/renderer/src/lib/achievements.test.ts (10)
|
||||
src/shared/release-notes.test.ts (9)
|
||||
src/shared/meals.test.ts (8)
|
||||
src/main/meeting-detect.test.ts (7)
|
||||
src/shared/quiet-hours.test.ts (7)
|
||||
src/main/adaptive.test.ts (6)
|
||||
src/renderer/src/lib/day-plan.test.ts (6)
|
||||
src/shared/types.test.ts (4)
|
||||
src/renderer/src/lib/icon-choices.test.ts (4)
|
||||
──────────────────────────────────────────
|
||||
227 ✓
|
||||
238 ✓
|
||||
```
|
||||
|
||||
Покрытие: IPC-валидация (упражнения/челленджи/приёмы пищи), persistence (миграции, карантин битого JSON, history cap), scheduler-гейтинг (тихие часы, ВКС-пауза, daily-goal), планирование приёмов пищи по времени суток (DST-safe), детект ВКС, история/стрики (DST), тихие часы (wrap), парсер VDF для Steam-конфигов, достижения, i18n с плюрализацией RU/EN, дефолты shared-типов.
|
||||
|
||||
Reference in New Issue
Block a user