Introduces a localStorage-backed messy-desktop challenge with sub-steps, drag-and-drop and Places/Back navigation, IBM Plex Mono, and a /api/health endpoint. Adds Vitest coverage for the API and level logic plus Playwright smoke tests. Made-with: Cursor
138 lines
4.3 KiB
JSON
138 lines
4.3 KiB
JSON
{
|
|
"name": "folder-game-challenge",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "next build",
|
|
"check": "next lint && tsc --noEmit",
|
|
"db:generate": "prisma migrate dev",
|
|
"db:migrate": "prisma migrate deploy",
|
|
"db:push": "prisma db push",
|
|
"db:studio": "prisma studio",
|
|
"dev": "next dev --turbo",
|
|
"format:check": "prettier --check \"**/*.{ts,tsx,js,jsx,mdx}\" --cache",
|
|
"format:write": "prettier --write \"**/*.{ts,tsx,js,jsx,mdx}\" --cache",
|
|
"postinstall": "prisma generate",
|
|
"lint": "next lint",
|
|
"lint:fix": "next lint --fix",
|
|
"preview": "next build && next start",
|
|
"start": "next start",
|
|
"test": "vitest run",
|
|
"test:e2e": "playwright test",
|
|
"test:e2e:ui": "playwright test --ui",
|
|
"test:watch": "vitest",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@auth/prisma-adapter": "^2.7.2",
|
|
"@aws-sdk/client-s3": "^3.477.0",
|
|
"@aws-sdk/s3-request-presigner": "^3.477.0",
|
|
"@cloudflare/stream-react": "^1.9.1",
|
|
"@colyseus/ws-transport": "^0.15.3",
|
|
"@emotion/react": "^11.14.0",
|
|
"@emotion/server": "^11.11.0",
|
|
"@livekit/components-react": "^2.9.20",
|
|
"@livekit/components-styles": "^1.2.0",
|
|
"@mantine/carousel": "^7.10.0",
|
|
"@mantine/core": "^7.10.0",
|
|
"@mantine/dates": "^7.10.0",
|
|
"@mantine/form": "^7.10.0",
|
|
"@mantine/hooks": "^7.10.0",
|
|
"@mantine/next": "^6.0.21",
|
|
"@mantine/notifications": "^7.10.0",
|
|
"@mantine/tiptap": "^7.10.0",
|
|
"@next/third-parties": "^15.5.14",
|
|
"@prisma/client": "^6.6.0",
|
|
"@sendgrid/mail": "^7.7.0",
|
|
"@t3-oss/env-nextjs": "^0.12.0",
|
|
"@tabler/icons-react": "^2.44.0",
|
|
"@tanstack/react-query": "^5.69.0",
|
|
"@tiptap/core": "^2.27.2",
|
|
"@tiptap/extension-blockquote": "^2.27.2",
|
|
"@tiptap/extension-bold": "^2.27.2",
|
|
"@tiptap/extension-highlight": "^2.27.2",
|
|
"@tiptap/extension-link": "^2.27.2",
|
|
"@tiptap/extension-subscript": "^2.27.2",
|
|
"@tiptap/extension-superscript": "^2.27.2",
|
|
"@tiptap/extension-text-align": "^2.27.2",
|
|
"@tiptap/extension-underline": "^2.27.2",
|
|
"@tiptap/pm": "^2.27.2",
|
|
"@tiptap/react": "^2.27.2",
|
|
"@tiptap/starter-kit": "^2.27.2",
|
|
"@trpc/client": "^11.0.0",
|
|
"@trpc/react-query": "^11.0.0",
|
|
"@trpc/server": "^11.0.0",
|
|
"archiver": "^7.0.1",
|
|
"argon2": "^0.31.1",
|
|
"axios": "^1.14.0",
|
|
"colyseus.js": "^0.15.28",
|
|
"date-fns": "^4.1.0",
|
|
"dayjs": "^1.11.20",
|
|
"embla-carousel-react": "^8.1.3",
|
|
"formidable": "^3.5.4",
|
|
"gifuct-js": "^2.1.2",
|
|
"hls.js": "^1.6.15",
|
|
"jszip": "^3.10.1",
|
|
"konva": "^10.2.3",
|
|
"livekit-client": "^2.18.1",
|
|
"livekit-server-sdk": "^2.15.0",
|
|
"motion": "^12.38.0",
|
|
"nanoid": "^5.0.3",
|
|
"next": "^15.2.3",
|
|
"next-auth": "5.0.0-beta.25",
|
|
"phaser": "^3.90.0",
|
|
"prism-react-renderer": "^2.4.1",
|
|
"react": "^19.0.0",
|
|
"react-calendly": "^4.3.0",
|
|
"react-dom": "^19.0.0",
|
|
"react-konva": "^18.2.14",
|
|
"react-qr-code": "^2.0.18",
|
|
"react-quill": "^2.0.0",
|
|
"server-only": "^0.0.1",
|
|
"socket.io": "^4.8.3",
|
|
"socket.io-client": "^4.7.5",
|
|
"superjson": "^2.2.1",
|
|
"zod": "^3.24.2"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/eslintrc": "^3.3.1",
|
|
"@playwright/test": "^1.59.1",
|
|
"@tailwindcss/postcss": "^4.0.15",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/archiver": "^6.0.4",
|
|
"@types/formidable": "^3.5.0",
|
|
"@types/jszip": "^3.4.0",
|
|
"@types/node": "^20.14.10",
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-dom": "^19.0.0",
|
|
"@vitejs/plugin-react": "^5.2.0",
|
|
"@vitest/coverage-v8": "^4.1.2",
|
|
"@vitest/ui": "^4.1.2",
|
|
"dotenv": "^17.4.1",
|
|
"eslint": "^9.23.0",
|
|
"eslint-config-next": "^15.2.3",
|
|
"eslint-config-prettier": "^9.1.0",
|
|
"eslint-plugin-prettier": "^5.0.1",
|
|
"eslint-plugin-sort-imports-es6-autofix": "^0.6.0",
|
|
"happy-dom": "^20.8.9",
|
|
"jsdom": "^28.1.0",
|
|
"playwright": "^1.59.1",
|
|
"postcss": "^8.5.3",
|
|
"prettier": "^3.5.3",
|
|
"prettier-plugin-tailwindcss": "^0.6.11",
|
|
"prisma": "^6.6.0",
|
|
"tailwindcss": "^4.0.15",
|
|
"ts-node": "^10.9.2",
|
|
"typescript": "^5.8.2",
|
|
"typescript-eslint": "^8.27.0",
|
|
"vitest": "^4.1.2"
|
|
},
|
|
"ct3aMetadata": {
|
|
"initVersion": "7.40.0"
|
|
},
|
|
"packageManager": "npm@10.9.0"
|
|
}
|