{ "name": "portfolio", "version": "0.1.0", "private": true, "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "eslint .", "lint:fix": "eslint . --fix", "pre-push": "./scripts/pre-push.sh", "buildAnalyze": "cross-env ANALYZE=true next build", "test": "jest", "test:watch": "jest --watch", "test:coverage": "jest --coverage", "db:setup": "chmod +x scripts/setup-db.sh && ./scripts/setup-db.sh", "db:generate": "prisma generate", "db:push": "prisma db push", "db:seed": "tsx prisma/seed.ts", "db:studio": "prisma studio", "db:reset": "prisma db push --force-reset", "docker:build": "docker build -t portfolio-app .", "docker:run": "docker run -p 3000:3000 portfolio-app", "docker:compose": "docker-compose -f docker-compose.prod.yml up -d", "docker:down": "docker-compose -f docker-compose.prod.yml down", "deploy": "./scripts/deploy.sh", "auto-deploy": "./scripts/auto-deploy.sh", "quick-deploy": "./scripts/quick-deploy.sh", "monitor": "./scripts/monitor.sh", "health": "curl -f http://localhost:3000/api/health" }, "prisma": { "seed": "tsx prisma/seed.ts" }, "dependencies": { "@next/bundle-analyzer": "^15.1.7", "@prisma/client": "^5.7.1", "@vercel/og": "^0.6.5", "clsx": "^2.1.0", "dotenv": "^16.4.7", "framer-motion": "^11.0.0", "gray-matter": "^4.0.3", "lucide-react": "^0.542.0", "next": "^15.5.2", "node-cache": "^5.1.2", "node-fetch": "^2.7.0", "nodemailer": "^6.10.0", "prisma": "^5.7.1", "react": "^19.0.0", "react-dom": "^19.0.0", "react-markdown": "^9.0.1", "react-responsive-masonry": "^2.7.1", "redis": "^5.8.2", "tailwind-merge": "^2.2.1" }, "devDependencies": { "@eslint/eslintrc": "^3", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.2.0", "@types/jest": "^29.5.14", "@types/node": "^20.10.0", "@types/node-fetch": "^2.6.13", "@types/nodemailer": "^6.4.17", "@types/react": "^19", "@types/react-dom": "^19", "@types/react-responsive-masonry": "^2.6.0", "@types/react-syntax-highlighter": "^15.5.11", "cross-env": "^7.0.3", "eslint": "^9", "eslint-config-next": "15.1.7", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "nodemailer-mock": "^2.0.8", "postcss": "^8", "tailwindcss": "^3.4.17", "ts-jest": "^29.2.5", "ts-node": "^10.9.2", "tsx": "^4.20.5", "typescript": "^5.7.3", "whatwg-fetch": "^3.6.20" } }