{ "name": "aiyu", "version": "6.0.3", "private": true, "scripts": { "dev": "next dev", "test": "vitest run", "test:watch": "vitest", "test:ui": "playwright test", "test:ui:headed": "playwright test --headed", "test:all": "vitest run && playwright test", "build": "next build", "start": "next start", "lint": "eslint .", "postinstall": "prisma generate", "db:generate": "prisma generate", "db:migrate": "prisma migrate dev", "db:migrate:deploy": "prisma migrate deploy", "db:studio": "prisma studio", "db:seed": "node --env-file=.env scripts/seed.mjs", "db:up": "docker compose -f docker-compose-dev.yml up -d", "db:down": "docker compose -f docker-compose-dev.yml down", "migrate:mongo": "node --env-file=.env scripts/migrate-mongodb-to-postgres.mjs", "perf:k6:public": "k6 run scripts/k6/public-routes.js", "security-check": "node scripts/security-check.mjs", "seo:audit": "node scripts/seo-audit.mjs", "docker:build": "docker-compose build --no-cache", "docker:up": "docker-compose up -d", "docker:up:dev": "docker compose --env-file .env.production -f docker-compose-local.yml up -d --build", "docker:up:prod": "docker compose --env-file .env.production -f docker-compose.yml up -d", "docker:down": "docker-compose down", "docker:logs": "docker-compose logs -f app", "docker:verify": "bash scripts/verify-security.sh", "emergency:cleanup": "bash scripts/emergency-cleanup.sh", "screenshots:install": "npx playwright install chromium", "screenshots:capture": "node scripts/capture-screenshots.mjs", "record": "node scripts/record-story.mjs", "record:desktop": "node scripts/record-story.mjs --device desktop", "record:mobile": "node scripts/record-story.mjs --device mobile", "hf:sync": "node scripts/sync-hyperframes.mjs", "hf:check": "cd hyperframes/story && npx --yes hyperframes@0.8.78 check && cd ../boot && npx --yes hyperframes@0.8.78 check" }, "dependencies": { "@codemirror/legacy-modes": "^6.5.3", "@codemirror/theme-one-dark": "^6.1.3", "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@google/genai": "^2.9.0", "@google/generative-ai": "^0.24.1", "@gsap/react": "^2.1.2", "@hyperframes/player": "^0.8.78", "@modelcontextprotocol/sdk": "^1.29.0", "@prisma/client": "^6.19.3", "@tailwindcss/typography": "^0.5.20", "adm-zip": "^0.6.0", "archiver": "^7.0.1", "canvas-confetti": "^1.9.4", "clsx": "^2.1.1", "codemirror": "^6.0.2", "critters": "^0.0.25", "date-fns-tz": "^3.2.0", "eventemitter3": "^5.0.4", "form-data": "^4.0.5", "formdata-node": "^6.0.3", "framer-motion": "^13.2.0", "gsap": "^3.15.0", "hast-util-raw": "^9.1.0", "hast-util-sanitize": "^5.0.2", "hast-util-to-jsx-runtime": "^2.3.6", "heic-convert": "^2.1.0", "jose": "^6.2.2", "js-cookie": "^3.0.8", "lenis": "^1.3.23", "lodash-es": "^4.18.1", "lucide-react": "^1.25.0", "next": "^16.3.3", "node-fetch": "^3.3.2", "prisma": "^6.19.3", "react": "^19.2.7", "react-confetti": "^6.4.0", "react-datepicker": "^9.1.0", "react-dom": "^19.2.7", "react-icons": "^5.6.0", "react-markdown": "^10.1.0", "react-masonry-css": "^1.0.16", "react-syntax-highlighter": "^16.1.1", "react-vertical-timeline-component": "^4.0.0", "rehype-raw": "^7.0.0", "rehype-sanitize": "^6.0.0", "remark-gfm": "^4.0.1", "sharp": "^0.35.3", "simple-icons": "^16.25.0", "three": "^0.185.1", "yet-another-react-lightbox": "^3.32.0" }, "devDependencies": { "@eslint/eslintrc": "^3", "@eslint/js": "^10.0.1", "@playwright/test": "^1.63.0", "@tailwindcss/postcss": "^4", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@vitejs/plugin-react": "^6.0.2", "eslint": "^10.7.0", "eslint-config-next": "16.3.4", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.1.1", "globals": "^17.12.0", "jsdom": "^29.1.1", "playwright": "^1.51.1", "tailwindcss": "^4.3.3", "vitest": "^4.1.11" }, "overrides": { "postcss": "^8.5.10", "sharp": "^0.35.3", "@hono/node-server": "^2.0.5" } }