Wholesale JS -> TS migration of the frontend — stores, utils, actions,
and all Svelte component scripts adopt type annotations. Compile-time
surfaces (app.d.ts, lib/types/) added for shared DTO types.
Build plumbing:
- package.json: dev:frontend script that runs svelte-kit sync first
- tauri.conf.json: beforeDevCommand points at dev:frontend
- run.sh: dropped the sed-hack that temporarily blanked beforeDevCommand;
now relies on npm run dev:frontend to avoid double-Vite
- jsconfig.json: allowImportingTsExtensions
Preserves all Group 1 behaviour:
- page.svelte.ts keeps loadHistory / loadTasks Tauri-first, no
localStorage; saveTranscriptMeta + mapTranscriptRow + mapTaskRow
intact; update_task_cmd and update_transcript_meta_cmd invocations
carry the correct payload shape.
- Toasts, preferences stores typed without behaviour change.
- Viewer still routes segment edits through saveTranscriptMeta; the
Task 1.5 TODO markers are gone.
taskExtractor.ts is functionally improved during the migration:
- multi-task matches in the same sentence
- list-style shopping-verb expansion (get bread, milk, and cheese)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
23 lines
631 B
Bash
Executable File
23 lines
631 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Kon dev launcher. Starts Vite first, waits for it to bind port 1420,
|
|
# then runs Tauri without triggering a second Vite instance.
|
|
# For performance testing use: npm run tauri build
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")"
|
|
|
|
export LIBCLANG_PATH=/usr/lib64/llvm21/lib64
|
|
|
|
printf 'Starting Vite dev server...\n' >&2
|
|
npm run dev:frontend &
|
|
VITE_PID=$!
|
|
|
|
until curl -sf http://localhost:1420 > /dev/null 2>&1; do sleep 0.5; done
|
|
printf 'Vite ready. Launching Tauri...\n' >&2
|
|
|
|
cleanup() {
|
|
kill "$VITE_PID" 2>/dev/null || true
|
|
}
|
|
trap cleanup EXIT INT TERM
|
|
|
|
npx tauri dev --config '{"build":{"beforeDevCommand":""}}'
|