{ "name": "invicanvas", "version": "1.0.0", "description": "Collaborative pixel-art web game", "main": "server/index.js", "scripts": { "dev": "PORT=3000 concurrently \"PORT=3000 npm run server\" \"npm run client\"", "server": "tsx watch server/index.ts", "client": "cd client && npm run dev", "build": "npm run build:client", "build:client": "cd client && npm run build", "build:all": "npm run build:client && npx tsc", "start": "npx tsx server/index.ts", "start:prod": "node dist/server/index.js" }, "keywords": [ "pixel-art", "collaborative", "canvas" ], "author": "", "license": "MIT", "dependencies": { "@types/connect-sqlite3": "^0.9.6", "@types/cookie-parser": "^1.4.10", "@types/express-session": "^1.18.2", "@types/express-socket.io-session": "^1.3.9", "@types/passport": "^1.0.17", "@types/passport-github2": "^1.2.9", "better-sqlite3": "^11.7.0", "connect-sqlite3": "^0.9.16", "cookie-parser": "^1.4.7", "cors": "^2.8.5", "dotenv": "^16.3.1", "express": "^4.18.2", "express-rate-limit": "^7.1.5", "express-session": "^1.18.2", "express-socket.io-session": "^1.3.5", "helmet": "^7.1.0", "passport": "^0.7.0", "passport-github2": "^0.1.12", "socket.io": "^4.7.2", "winston": "^3.11.0" }, "devDependencies": { "@types/better-sqlite3": "^7.6.13", "@types/cors": "^2.8.17", "@types/express": "^4.17.21", "@types/node": "^20.10.5", "concurrently": "^8.2.2", "tsx": "^4.7.0", "typescript": "^5.3.3" } }