{ "name": "customer-portal", "version": "1.0.0", "description": "Customer portal with BFF architecture", "private": true, "engines": { "node": ">=22.0.0", "pnpm": ">=10.0.0" }, "packageManager": "pnpm@10.15.0", "scripts": { "dev": "pnpm --parallel --recursive run dev", "build": "pnpm --recursive run build", "start": "pnpm --parallel --filter portal --filter @customer-portal/bff run start", "test": "pnpm --recursive run test", "lint": "pnpm --recursive run lint", "type-check": "pnpm --recursive run type-check", "clean": "pnpm --recursive run clean", "start:all": "node tools/dev/dev-start.js", "start:simple": "pnpm docker:up && pnpm db:wait && pnpm dev", "start:services": "docker-compose -f tools/deployment/docker-compose.yml up -d", "stop:services": "docker-compose -f tools/deployment/docker-compose.yml down", "restart:all": "pnpm stop:services && pnpm start:all", "restart:services": "docker-compose -f tools/deployment/docker-compose.yml restart", "docker:up": "docker-compose -f tools/deployment/docker-compose.yml up -d", "docker:down": "docker-compose -f tools/deployment/docker-compose.yml down", "docker:logs": "docker-compose -f tools/deployment/docker-compose.yml logs -f", "db:wait": "node -e \"const { execSync } = require('child_process'); let attempts = 0; const maxAttempts = 30; const wait = () => { try { execSync('docker exec portal-postgres pg_isready -U app -d portal', { stdio: 'ignore' }); console.log('✅ Database is ready!'); } catch (e) { attempts++; if (attempts >= maxAttempts) { console.error('❌ Database failed to start after 30 attempts'); process.exit(1); } console.log('⏳ Waiting for database... (' + attempts + '/30)'); setTimeout(wait, 1000); } }; wait();\"", "db:migrate": "pnpm --filter @customer-portal/bff run db:migrate", "db:studio": "pnpm --filter @customer-portal/bff run db:studio", "db:reset": "pnpm --filter @customer-portal/bff run db:reset", "logs": "pnpm docker:logs", "status": "docker-compose -f tools/deployment/docker-compose.yml ps", "dev:start": "./tools/dev/dev.sh start", "dev:stop": "./tools/dev/dev.sh stop", "dev:restart": "./tools/dev/dev.sh restart", "dev:logs": "./tools/dev/dev.sh logs", "dev:status": "./tools/dev/dev.sh status", "update:check": "pnpm outdated --recursive", "update:all": "pnpm update --recursive --latest && pnpm audit && pnpm type-check", "update:safe": "pnpm update --recursive && pnpm audit && pnpm type-check" }, "devDependencies": { "@types/node": "^24.3.0", "eslint": "^9.33.0", "prettier": "^3.6.2", "typescript": "^5.9.2" } }