Commit Graph
7 Commits
Author SHA1 Message Date
kawaandClaude Haiku 4.5 0dae30b4e2 fix: resolve remaining TypeScript compilation errors
- Add placeholder property to TextFieldMD3 component and props interface
- Fix vite.config.ts to import defineConfig from vitest/config instead of vite
- Add type guard for validate property in schemas/index.ts to handle readonly array union types
- Remove unused StepIndicatorWithDispatch placeholder function from tests

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-26 17:37:47 +02:00
kawa 3010cdb0c6 feat(13-01): auto-generate BACKEND_SCHEMAS, update RCLONE_TYPE_MAP for all 18 backends
- BACKEND_SCHEMAS now auto-generated via Object.fromEntries over registry keys
- RCLONE_TYPE_MAP expanded with 11 new entries for all 18 backend types
- RCLONE_TYPE_MAP exported for direct testing
- index.test.ts: added auto-generation coverage (3 tests) + 4 new backend schema smoke tests
- rclone-conf.test.ts: added RCLONE_TYPE_MAP exhaustiveness test + gdrive/ftp/smb conf output tests
- Rule 1 fix: BackendSelectionStep test used /next/i regex matching WebDAV "NextCloud" card buttons
2026-04-01 16:20:18 +02:00
kawa c6d38fa0f1 feat(07-01): extend buildZodSchema() to chain .regex() from field.validate
- Replace simple ternary assignment with let schema pattern
- Chain (schema as z.ZodString).regex() when field.validate is present
- Handle optional fields: z.string() first, then .regex() if needed, then .optional()
- VALID-01 tests all pass (GREEN): azureblob account, s3 region, gcs project_number
2026-03-31 09:50:02 +02:00
kawa c1d61d380c feat(06-02): add sftp entry to registry, index, and rclone-conf
- Add sftp entry to BACKEND_REGISTRY with host, user, pass, key_pem fields
- Remove placeholder NOTE comment (sftp entry now present)
- Add sftp, onedrive, gcs, b2 to BACKEND_SCHEMAS in index.ts
- Add sftp, onedrive, gcs (google cloud storage), b2 to RCLONE_TYPE_MAP
- All 55 registry and rclone-conf tests pass; zero TypeScript errors
2026-03-30 18:12:39 +02:00
kawa 52318d5130 feat(05-01): wire BackendSelectionStep to registry and remove dead export
- Replace hardcoded BACKENDS array with Object.entries(BACKEND_REGISTRY)
- Import BACKEND_REGISTRY in BackendSelectionStep.tsx
- Remove BackendFormValues<T> export from schemas/index.ts (dead code TECH-04)
- TypeScript compiles with zero errors
2026-03-30 09:38:25 +02:00
kawa d495552b60 feat(05-01): enrich BACKEND_REGISTRY and update all consumers
- Change BACKEND_REGISTRY shape from Record<BackendType, FieldDef[]> to
  Record<BackendType, { displayName, description, fields: FieldDef[] }>
- Add displayName and description to azureblob, s3, s3-compatible entries
- Update schemas/index.ts buildZodSchema to use .fields access
- Update RemoteConfigStep.tsx two .fields accesses (azureblob.find + map)
2026-03-30 09:37:16 +02:00
kawa eaeae32849 feat(01-03): implement BACKEND_SCHEMAS Zod schema builder
- buildZodSchema derives z.object() from BACKEND_REGISTRY field definitions
- required fields map to z.string().min(1, label) — optional to z.string().optional()
- BACKEND_SCHEMAS exported with entries for azureblob, s3, s3-compatible
- BackendFormValues<T> utility type infers TypeScript type from schema
- No hardcoded field names — all shapes derived from registry loop
- All 8 tests in index.test.ts pass (GREEN)
2026-03-26 10:21:11 +01:00