Files
kolaytercih/package.json
bilalgursen a773ac7beb feat(veri): 2026 yükleme hattı — yıl kilitli refresh, geçmiş doldurma, arşiv, kalite kapısı (P-A)
- yokatlas-goc: idempotent şema göçü (yıl kolonları, son_kilavuz_yili, eski_kod,
  programs_arsiv, veri_meta) + betiklerin ortak yardımcıları
- refresh: --yil/--db zorunlu, YIL KİLİDİ (…1 = DB sira<yil-1> ≥%95 ve eksiz ≠),
  yıl asla r.yil'den türetilmez; ham veri data/ham/*.jsonl.gz, --ham ile API'siz
  tekrar; benzersiz kod = totalElements; tek transaction + önceki yıl sağlaması;
  yeni programda …1/2/3 → üç önceki yıl; efektif indeks EFEKTIF_SIRA_SQL ile
- gecmis-doldur: yalnız NULL alan; API …1/2/3 → eski_kod → kanıtlı 1:1 ad eşleşmesi
- eski-arsivle: güncel kılavuzda olmayanlar → programs_arsiv, netler yeni koda; --kuru
- detay: netler bağımsız + yıl sağlaması; kırılım yalnız --kirilim, alan yoksa durur,
  mevcut değerin üstüne NULL yazılmaz; `yil - 1` varsayımı kalktı
- veri-kalite: salt okunur kalite kapısı, zorunlu kontrol kalırsa çıkış kodu 1
- docs/veri/yillik-guncelleme.md: adım adım runbook + geri alma

DB commit'lenmedi (arşivleme kararı [Bilal]).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 17:03:01 +03:00

83 lines
2.2 KiB
JSON

{
"name": "kolaytercih",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint",
"ingest": "tsx scripts/ingest.ts",
"refresh": "tsx scripts/refresh.ts",
"detay": "tsx scripts/detay.ts",
"yokatlas:goc": "tsx scripts/yokatlas-goc.ts",
"gecmis-doldur": "tsx scripts/gecmis-doldur.ts",
"eski-arsivle": "tsx scripts/eski-arsivle.ts",
"veri-kalite": "tsx scripts/veri-kalite.ts",
"db:index": "tsx scripts/db-index.ts",
"logolar": "tsx scripts/logo-indir.ts",
"db:push": "drizzle-kit push",
"db:generate": "drizzle-kit generate",
"db:migrate": "node scripts/db-goc.mjs",
"tadimlik": "tsx scripts/tadimlik-uret.ts"
},
"dependencies": {
"@cds/city": "^1.1.0",
"@libsql/client": "^0.17.4",
"@number-flow/react": "^0.6.2",
"better-auth": "^1.6.23",
"better-sqlite3": "^12.11.1",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"drizzle-orm": "^0.45.2",
"iyzipay": "^2.0.69",
"lucide-react": "^1.25.0",
"marked": "^18.0.7",
"mermaid": "^11.16.0",
"motion": "^12.42.2",
"next": "16.2.10",
"next-themes": "^0.4.6",
"openai": "^7.4.0",
"radix-ui": "^1.6.3",
"react": "19.2.4",
"react-dom": "19.2.4",
"react-markdown": "^10.1.0",
"react-use-measure": "^2.1.7",
"remark-breaks": "^4.0.0",
"remark-gfm": "^4.0.1",
"resend": "^6.18.0",
"server-only": "^0.0.1",
"shiki": "^4.3.1",
"sonner": "^2.0.7",
"tailwind-merge": "^3.6.0",
"turkey-map-react": "^2.0.5",
"tw-animate-css": "^1.4.0",
"use-stick-to-bottom": "^1.1.6",
"vaul": "^1.1.2",
"zod": "^4.4.3"
},
"devDependencies": {
"@tailwindcss/postcss": "^4",
"@types/better-sqlite3": "^7.6.13",
"@types/iyzipay": "^2.0.3",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"drizzle-kit": "^0.31.10",
"eslint": "^9",
"eslint-config-next": "16.2.10",
"shadcn": "^4.13.1",
"tailwindcss": "^4",
"tsx": "^4.23.1",
"typescript": "^5"
},
"pnpm": {
"onlyBuiltDependencies": [
"better-sqlite3",
"esbuild",
"sharp",
"unrs-resolver"
]
}
}