{ "name": "canvas-management", "version": "0.1.0", "private": true, "type": "module", "scripts": { "devNoSocket": "next dev", "dev": "pnpm install --config.confirmModulesPurge=false && node src/websocket.js", "build": "next build", "startNoSocket": "next start", "start": "NODE_ENV=production node src/websocket.js", "lint": "eslint . --config eslint.config.mjs && tsc && next lint", "test": "vitest" }, "dependencies": { "@next/env": "^15.3.5", "@tailwindcss/postcss": "^4.1.11", "@tanstack/react-query": "^5.81.5", "@tanstack/react-query-devtools": "^5.81.5", "@trpc/client": "11.4.3", "@trpc/next": "^11.4.3", "@trpc/react-query": "11.4.3", "@trpc/server": "11.4.3", "@trpc/tanstack-react-query": "^11.4.3", "@types/ws": "^8.18.1", "@typescript-eslint/parser": "^8.37.0", "chokidar": "^4.0.3", "dotenv": "^17.0.1", "form-data": "^4.0.3", "jsdom": "^26.1.0", "marked-katex-extension": "^5.1.5", "next": "^15.3.5", "react": "^19.1.0", "react-dom": "^19.1.0", "socket.io": "^4.8.1", "superjson": "^2.2.2", "ws": "^8.18.3", "zod": "^3.25.75" }, "devDependencies": { "@eslint/eslintrc": "^3", "@monaco-editor/loader": "^1.5.0", "@monaco-editor/react": "^4.7.0", "@next/eslint-plugin-next": "^15.3.5", "@testing-library/dom": "^10.4.0", "@testing-library/react": "^16.3.0", "@types/node": "^24.0.10", "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", "@vitejs/plugin-react": "^4.6.0", "axios": "^1.10.0", "eslint": "^9.30.1", "eslint-config-next": "^15.3.5", "eslint-config-prettier": "^10.1.5", "eslint-plugin-react-hooks": "^5.2.0", "isomorphic-dompurify": "^2.26.0", "marked": "^16.0.0", "monaco-editor": "^0.52.2", "postcss": "^8.5.6", "react-error-boundary": "^6.0.0", "react-hot-toast": "^2.5.2", "socket.io-client": "^4.8.1", "tailwindcss": "^4.1.11", "typescript": "^5.8.3", "vitest": "^3.2.4", "yaml": "^2.8.0" } }