7d7dd61c60
- scripts/bootstrap.ts: replica set/PRIMARY kontrolü, migration'lar, production'da ilk admin - esbuild ile tek dosya (dist/bootstrap.mjs), docker-entrypoint.sh ile uygulamadan önce - /api/health yanıtında replicaSet alanı; healthcheck başlangıç payı 60 sn Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
72 lines
2.7 KiB
JSON
72 lines
2.7 KiB
JSON
{
|
||
"name": "butcem",
|
||
"version": "1.0.0",
|
||
"private": true,
|
||
"description": "BÜTÇEM — aile bütçe, cari, birikim, ev stoğu ve akıllı alışveriş uygulaması",
|
||
"engines": {
|
||
"node": ">=26 <27"
|
||
},
|
||
"scripts": {
|
||
"dev": "next dev",
|
||
"build": "next build",
|
||
"start": "next start",
|
||
"lint": "eslint",
|
||
"typecheck": "next typegen && tsc --noEmit",
|
||
"test": "vitest run",
|
||
"test:watch": "vitest",
|
||
"format": "prettier --write .",
|
||
"format:check": "prettier --check .",
|
||
"db:up": "docker compose up -d --wait",
|
||
"db:down": "docker compose down",
|
||
"seed": "tsx --conditions=react-server --env-file=.env.local scripts/seed.ts",
|
||
"seed:reset": "tsx --conditions=react-server --env-file=.env.local scripts/seed.ts --reset",
|
||
"icons": "tsx scripts/generate-icons.ts",
|
||
"test:integration": "vitest run --config vitest.integration.config.mts",
|
||
"migrate": "tsx --conditions=react-server --env-file=.env.local scripts/migrate.ts",
|
||
"bootstrap": "tsx --conditions=react-server --env-file=.env.local scripts/bootstrap.ts",
|
||
"build:scripts": "esbuild scripts/bootstrap.ts --bundle --platform=node --format=esm --target=node22 --conditions=react-server --outfile=dist/bootstrap.mjs --external:sharp --external:kerberos --external:snappy --external:socks --external:aws4 --external:@mongodb-js/zstd --external:mongodb-client-encryption --external:gcp-metadata --external:@aws-sdk/credential-providers --banner:js=\"import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);\" --log-level=warning",
|
||
"cleanup": "tsx --conditions=react-server --env-file=.env.local scripts/cleanup.ts"
|
||
},
|
||
"dependencies": {
|
||
"@hookform/resolvers": "^7.0.2",
|
||
"@tanstack/react-table": "^9.3.1",
|
||
"better-auth": "^1.7.17",
|
||
"class-variance-authority": "^0.7.1",
|
||
"cn": "^0.5.2",
|
||
"embla-carousel-react": "^8.6.0",
|
||
"heic-decode": "^2.1.0",
|
||
"lucide-react": "^1.68.0",
|
||
"mongodb": "~7.7",
|
||
"mongoose": "^9.11.4",
|
||
"next": "16.4.5",
|
||
"next-themes": "^0.4.6",
|
||
"radix-ui": "^1.8.1",
|
||
"react": "^19.3.1",
|
||
"react-dom": "^19.3.1",
|
||
"react-hook-form": "^7.91.0",
|
||
"recharts": "^3.8.0",
|
||
"server-only": "^0.0.1",
|
||
"shadcn": "^4.23.0",
|
||
"sharp": "^0.35.5",
|
||
"sonner": "^2.0.8",
|
||
"tw-animate-css": "^1.4.0",
|
||
"vaul": "^1.1.2",
|
||
"zod": "^4.6.7"
|
||
},
|
||
"devDependencies": {
|
||
"@faker-js/faker": "^10.6.0",
|
||
"@tailwindcss/turbopack": "^4",
|
||
"@types/node": "^26.6.6",
|
||
"@types/react": "^19",
|
||
"@types/react-dom": "^19",
|
||
"eslint": "^9",
|
||
"eslint-config-next": "16.4.5",
|
||
"prettier": "^3.9.10",
|
||
"prettier-plugin-tailwindcss": "^0.8.1",
|
||
"tailwindcss": "^4",
|
||
"tsx": "^4.23.15",
|
||
"typescript": "^5",
|
||
"vitest": "^5.1.0"
|
||
}
|
||
}
|