906f05f62f
- Backend: ts-rs ile DTO'lardan TypeScript tipleri (frontend/src/types, npm run types) - Hata ve health yanıtları tipli yapılara çevrildi - lib/api.ts: tek API istemcisi, Türkçe ApiError, ağ hatası mesajı - lib/query.ts: QueryClient (4xx tekrar denenmez, 401 → oturum kapanır) - lib/auth.ts: useMe, useLogin, useRegister, useLogout - Vitest: 7 API istemcisi testi (toplam 29) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
26 lines
1.4 KiB
JSON
26 lines
1.4 KiB
JSON
{
|
||
"name": "kakeibo",
|
||
"private": true,
|
||
"description": "Kakeibo — Kişisel Ev Finans Defteri",
|
||
"scripts": {
|
||
"postinstall": "npm --prefix frontend install",
|
||
"predev": "npm run db:up",
|
||
"dev": "concurrently -k -n api,web -c blue,green \"npm:dev:api\" \"npm:dev:web\"",
|
||
"dev:api": "cd backend && cargo watch -q -c -w src -w Cargo.toml -x run",
|
||
"dev:web": "npm --prefix frontend run dev",
|
||
"predev:host": "npm run db:up",
|
||
"dev:host": "concurrently -k -n api,web -c blue,green \"npm:dev:api\" \"npm --prefix frontend run dev -- --host\"",
|
||
"db:up": "docker compose -f docker-compose.dev.yml up -d --wait",
|
||
"db:down": "docker compose -f docker-compose.dev.yml stop",
|
||
"db:seed": "echo 'Seed betiği Faz 1-4 arasında eklenecek.'",
|
||
"db:reset": "docker exec kakeibo-mongo mongosh --quiet --eval \"db.getSiblingDB('kakeibo_dev').dropDatabase(); db.adminCommand({listDatabases:1}).databases.filter(d => d.name.startsWith('kakeibo_test_')).forEach(d => db.getSiblingDB(d.name).dropDatabase()); print('kakeibo_dev ve test veritabanları sıfırlandı.')\"",
|
||
"test": "cd backend && cargo test && cd .. && npm --prefix frontend test",
|
||
"lint": "cd backend && cargo clippy && cd .. && npm --prefix frontend run lint",
|
||
"icons": "bash scripts/icons.sh",
|
||
"types": "cd backend && cargo test -q export_bindings"
|
||
},
|
||
"devDependencies": {
|
||
"concurrently": "^10.0.7"
|
||
}
|
||
}
|