# Build Cleanup & Release Packaging **Date:** 2026-09-22 **Status:** Approved ## Overview Resolve all build warnings and errors across the frontend (svelte-check, Vite) and backend (cargo), fix the failing test, and implement a release build script that produces a distributable `GUI Video Clipper.app` bundle. ## Scope Two workstreams: 1. **Warning/Error Cleanup** — zero warnings from `npm run check`, `cargo build`, and `npm test` 2. **Release Build Packaging** — `scripts/build-release.sh` that produces a signed `.app` in `dist/release/` ## 1. TypeScript Errors (4) All in `vite.config.ts`: | Error | Root Cause | Fix | |-------|-----------|-----| | Cannot find `node:path` | Missing `@types/node` | `npm install -D @types/node`, add `"types": ["node"]` to `tsconfig.json` | | Cannot find `node:process` | Same | Same | | Cannot find `node:url` | Same | Same | | `test` not in `UserConfigExport` | `defineConfig` from `vite` doesn't know vitest's `test` field | Import `defineConfig` from `vitest/config` instead | ## 2. Svelte A11y Warnings (19) ### 2a. Labels not associated with controls (9 in CaptionSettingsPanel.svelte) Labels are siblings of their controls rather than wrapping them. Fix by either: - Wrapping the ``/`