mirror of
https://github.com/Horizontal42/summarum.git
synced 2026-11-10 15:42:01 +03:00
Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bede889ced | ||
|
|
617a295084 | ||
|
|
8de1925be6 | ||
|
|
37cfd2144b |
5 changed files with 32 additions and 4 deletions
22
.woodpecker.yaml
Normal file
22
.woodpecker.yaml
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
when:
|
||||
- event: [push, manual]
|
||||
|
||||
steps:
|
||||
- name: test-engine
|
||||
image: node:22-bookworm-slim
|
||||
commands:
|
||||
- npm ci
|
||||
- npx tsc --noEmit
|
||||
- npx vitest run
|
||||
|
||||
- name: build-tauri-linux
|
||||
image: rust:1-bookworm
|
||||
commands:
|
||||
- rustup component add clippy
|
||||
- apt-get update && apt-get install -y libwebkit2gtk-4.1-dev librsvg2-dev libssl-dev libxdo-dev libayatana-appindicator3-dev
|
||||
- curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
|
||||
- apt-get install -y nodejs
|
||||
- npm ci
|
||||
- cargo clippy --manifest-path src-tauri/Cargo.toml -- -D warnings
|
||||
- cargo test --manifest-path src-tauri/Cargo.toml
|
||||
- CI=true npx tauri build --no-bundle --ci
|
||||
|
|
@ -23,13 +23,16 @@ src/
|
|||
editor.ts CodeMirror 6 wiring: highlight, results overlay, copy
|
||||
search.ts cross-sheet search overlay (text + result-value queries)
|
||||
export.ts renders the sheet + results to a PNG (clipboard/file)
|
||||
sparkline.ts SVG sparkline renderer for `chart` results
|
||||
app.css themes (light/dark via CSS variables)
|
||||
main.ts app bootstrap: documents, settings, status bar, dnd
|
||||
workspace.ts cross-sheet references: exports cache, cycle detection
|
||||
storage.ts Tauri commands / localStorage fallback
|
||||
extensions.ts runs user .js files in a QuickJS/WASM sandbox, bridged
|
||||
to the engine's numi.* API
|
||||
i18n.ts interface strings (en/ru)
|
||||
updater.ts checks tauri-plugin-updater, installs + relaunches
|
||||
logger.ts thin console wrapper (info/warn/error)
|
||||
src-tauri/
|
||||
src/main.rs tray, hide-to-tray, storage commands, rates fetching
|
||||
(open.er-api.com + CoinGecko + Yahoo Finance v8 chart)
|
||||
|
|
@ -300,7 +303,7 @@ All files below live in `%APPDATA%/app.summarum.calc` (or the user-chosen folder
|
|||
|
||||
## Tests
|
||||
|
||||
`npm test` runs 259 vitest cases: `src/engine/*.test.ts` covers every
|
||||
`npm test` runs 373 vitest cases across 21 files: `src/engine/*.test.ts` covers every
|
||||
expression class, both languages, deterministic injected rates, goal seek,
|
||||
historical rates (injected), date-format literals/display (dedicated engines
|
||||
with an explicit `dateFormat`, since the default "system" format depends on
|
||||
|
|
|
|||
|
|
@ -24,13 +24,16 @@ src/
|
|||
editor.ts обвязка CodeMirror 6: подсветка, оверлей результатов, копирование
|
||||
search.ts оверлей поиска по всем листам (текст + запросы по значению)
|
||||
export.ts рендерит лист + результаты в PNG (буфер обмена/файл)
|
||||
sparkline.ts рендер SVG-спарклайна для результатов `chart`
|
||||
app.css темы (светлая/тёмная через CSS-переменные)
|
||||
main.ts запуск приложения: документы, настройки, строка статуса, dnd
|
||||
workspace.ts межлистовые ссылки: кэш экспортов, обнаружение циклов
|
||||
storage.ts команды Tauri / запасной вариант на localStorage
|
||||
extensions.ts запускает пользовательские .js-файлы в песочнице
|
||||
QuickJS/WASM, мост к API numi.* движка
|
||||
i18n.ts строки интерфейса (en/ru)
|
||||
updater.ts проверка tauri-plugin-updater, установка + перезапуск
|
||||
logger.ts тонкая обёртка над console (info/warn/error)
|
||||
src-tauri/
|
||||
src/main.rs трей, скрытие в трей, команды хранилища, загрузка курсов
|
||||
(open.er-api.com + CoinGecko + Yahoo Finance v8 chart)
|
||||
|
|
@ -304,7 +307,7 @@ src-tauri/
|
|||
|
||||
## Тесты
|
||||
|
||||
`npm test` запускает 259 vitest-кейсов: `src/engine/*.test.ts` покрывает все
|
||||
`npm test` запускает 373 vitest-кейса в 21 файле: `src/engine/*.test.ts` покрывает все
|
||||
классы выражений, оба языка, детерминированные инжектированные курсы, поиск
|
||||
неизвестного, исторические курсы (инжектированные), литералы и отображение
|
||||
форматов дат (отдельные движки с явным `dateFormat` — формат «system» по
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ see [ARCHITECTURE.md](ARCHITECTURE.md).
|
|||
|
||||
```bash
|
||||
npm install
|
||||
npm test # engine tests (259 cases)
|
||||
npm test # engine tests (373 cases)
|
||||
npm run tauri dev # run the app
|
||||
npm run tauri build # build the installer
|
||||
```
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@ numi.addFunction({ id: "гипот", phrases: "гипот" },
|
|||
|
||||
```bash
|
||||
npm install
|
||||
npm test # тесты движка (259 кейсов)
|
||||
npm test # тесты движка (373 кейса)
|
||||
npm run tauri dev # запустить приложение
|
||||
npm run tauri build # собрать установщик
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue