kammer/package.json
Christopher Mühl f8eb9c927c feat: PWA photo capture with IndexedDB storage
Add full photo capture and management functionality using standard Web APIs:

- Photo capture via getUserMedia (camera) or file upload
- Automatic thumbnail generation (max 200px width)
- IndexedDB storage for photos with Blob support
- PhotoCapture component with camera preview and capture controls
- PhotoGallery component with grid view and fullscreen modal
- Integration into item detail page
- 9 new unit tests (all passing)

PWA-friendly implementation:
- No native dependencies required
- Works in mobile browsers
- Falls back to file upload if camera unavailable
- Stores photos locally in IndexedDB

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-26 23:44:46 +01:00

54 lines
1.6 KiB
JSON

{
"name": "solidhaus",
"private": true,
"version": "0.0.1",
"type": "module",
"scripts": {
"dev": "vite dev",
"build": "vite build",
"preview": "vite preview",
"prepare": "svelte-kit sync || echo ''",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
"test": "vitest run",
"test:watch": "vitest",
"test:e2e": "vitest run --config e2e/vitest.config.ts",
"test:e2e:watch": "vitest --config e2e/vitest.config.ts"
},
"devDependencies": {
"@sveltejs/adapter-auto": "^7.0.0",
"@sveltejs/adapter-static": "^3.0.10",
"@sveltejs/kit": "^2.50.2",
"@sveltejs/vite-plugin-svelte": "^6.2.4",
"@tailwindcss/vite": "^4.2.1",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/svelte": "^5.3.1",
"fake-indexeddb": "^6.2.5",
"jsdom": "^28.1.0",
"playwright-core": "^1.58.2",
"svelte": "^5.51.0",
"svelte-check": "^4.3.6",
"tailwindcss": "^4.2.1",
"typescript": "^5.9.3",
"vite": "^7.3.1",
"vitest": "^4.0.18"
},
"dependencies": {
"@automerge/automerge": "^3.2.4",
"@automerge/automerge-repo": "^2.5.3",
"@automerge/automerge-repo-network-websocket": "^2.5.3",
"@automerge/automerge-repo-storage-indexeddb": "^2.5.3",
"@capacitor-mlkit/barcode-scanning": "^8.0.1",
"@capacitor/camera": "^8.0.1",
"@capacitor/cli": "^8.1.0",
"@capacitor/core": "^8.1.0",
"@inrupt/solid-client": "^3.0.0",
"@inrupt/solid-client-authn-browser": "^3.1.1",
"@inrupt/vocab-common-rdf": "^1.0.5",
"bwip-js": "^4.8.0",
"date-fns": "^4.1.0",
"idb": "^8.0.3",
"jspdf": "^4.2.0",
"nanoid": "^5.1.6"
}
}