3 Commits
Author SHA1 Message Date
kawa f948b86c0e feat(04-02): add downloadFile and downloadZip utility functions
- src/utils/downloadFile.ts: Blob + createObjectURL + anchor click download
- src/utils/downloadZip.ts: JSZip archive builder with same Blob download pattern
- npm install jszip ^3.10.1 (only new runtime dependency in phase 4)
2026-03-27 11:44:41 +01:00
kawa a57b2eab1d test(03-04): add failing tests for RemoteConfigStep
- BACK-01: Azure Blob form with account field + AzureAuthToggle
- BACK-02: S3 form fields (access_key_id, secret_access_key, region)
- BACK-03: S3-compatible form includes endpoint field
- renderWithBackend helper dispatches SET_BACKEND_TYPE before render
- @testing-library/user-event installed for value retention test
2026-03-27 09:36:41 +01:00
kawa 237d06b8f7 feat(01-01): scaffold Vite 6 + React 18 + TypeScript 5 project
- Created Vite 6 project with React 18 and TypeScript 5 template
- Installed zod, react-hook-form, @hookform/resolvers (production)
- Installed tailwindcss @tailwindcss/vite (Tailwind v4 via Vite plugin)
- Installed vitest, @testing-library/react, @testing-library/dom (dev)
- Configured Tailwind v4 via @tailwindcss/vite plugin in vite.config.ts
- Set src/index.css to @import "tailwindcss" (no postcss/tailwind.config.js)
- Created minimal App.tsx with Tailwind classes, .gitignore
- Auto-fix (Rule 1): added src/vite-env.d.ts for CSS module type declarations
2026-03-26 10:12:15 +01:00