{
  "name": "gitroom",
  "version": "0.0.0",
  "license": "MIT",
  "engines": {
    "node": ">=20.0.0 <21.0.0"
  },
  "scripts": {
    "dev": "npx nx run-many --target=serve --projects=frontend,backend,workers --parallel=4",
    "dev:stripe": "npx concurrently \"stripe listen --forward-to localhost:3000/stripe\" \"npm run dev\"",
    "build": "npx nx run-many --target=build --projects=frontend,backend,workers,cron",
    "build:frontend": "npx nx run frontend:build:production",
    "dev:frontend": "npx nx run frontend:serve:development",
    "dev:backend": "npx nx run backend:serve:development",
    "update-plugins": "node build.plugins.js",
    "dev:workers": "npx nx run workers:serve:development",
    "dev:cron": "npx nx run cron:serve:development",
    "dev:docker": "docker compose -f ./docker-compose.dev.yaml up -d",
    "start:prod": "node dist/apps/backend/main.js",
    "start:prod:frontend": "nx run frontend:serve:production",
    "start:prod:workers": "node dist/apps/workers/main.js",
    "start:prod:cron": "node dist/apps/cron/main.js",
    "workers": "npx nx run workers:serve:development",
    "cron": "npx nx run cron:serve:development",
    "command": "rm -rf dist/apps/commands && npx nx run commands:build && npx nx run commands:command",
    "prisma-generate": "cd ./libraries/nestjs-libraries/src/database/prisma && npx prisma generate",
    "prisma-db-push": "cd ./libraries/nestjs-libraries/src/database/prisma && npx prisma db push",
    "prisma-reset": "cd ./libraries/nestjs-libraries/src/database/prisma && npx prisma db push --force-reset && npx prisma db push",
    "docker-build": "./var/docker/docker-build.sh",
    "docker-create": "./var/docker/docker-create.sh",
    "postinstall": "npm run update-plugins && npm run prisma-generate"
  },
  "private": true,
  "dependencies": {
    "@atproto/api": "^0.13.11",
    "@aws-sdk/client-s3": "^3.410.0",
    "@aws-sdk/s3-request-presigner": "^3.410.0",
    "@casl/ability": "^6.5.0",
    "@copilotkit/react-core": "1.1.0",
    "@copilotkit/react-textarea": "1.1.0",
    "@copilotkit/react-ui": "1.1.0",
    "@copilotkit/runtime": "1.1.0",
    "@hookform/resolvers": "^3.3.4",
    "@mantine/core": "^5.10.5",
    "@mantine/dates": "^5.10.5",
    "@mantine/hooks": "^5.10.5",
    "@mantine/modals": "^5.10.5",
    "@nestjs/common": "^10.0.2",
    "@nestjs/core": "^10.0.2",
    "@nestjs/microservices": "^10.3.1",
    "@nestjs/platform-express": "^10.0.2",
    "@nestjs/schedule": "^4.0.0",
    "@nestjs/swagger": "^7.3.0",
    "@nx/eslint": "19.7.2",
    "@nx/eslint-plugin": "19.7.2",
    "@nx/jest": "19.7.2",
    "@nx/js": "19.7.2",
    "@nx/nest": "19.7.2",
    "@nx/next": "19.7.2",
    "@nx/node": "19.7.2",
    "@nx/react": "19.7.2",
    "@nx/vite": "19.7.2",
    "@nx/webpack": "19.7.2",
    "@nx/workspace": "19.7.2",
    "@prisma/client": "^5.8.1",
    "@swc/helpers": "0.5.13",
    "@sweetalert2/theme-dark": "^5.0.16",
    "@types/bcrypt": "^5.0.2",
    "@types/concat-stream": "^2.0.3",
    "@types/jsonwebtoken": "^9.0.5",
    "@types/lodash": "^4.14.202",
    "@types/md5": "^2.3.5",
    "@types/mime": "^4.0.0",
    "@types/mime-types": "^2.1.4",
    "@types/multer": "^1.4.11",
    "@types/nodemailer": "^6.4.16",
    "@types/remove-markdown": "^0.3.4",
    "@types/sha256": "^0.2.2",
    "@types/stripe": "^8.0.417",
    "@types/yup": "^0.32.0",
    "@uidotdev/usehooks": "^2.4.1",
    "@uiw/react-md-editor": "^4.0.3",
    "@uppy/aws-s3": "^4.1.0",
    "@uppy/core": "^4.2.0",
    "@uppy/dashboard": "^4.1.0",
    "@uppy/drag-drop": "^4.0.2",
    "@uppy/file-input": "^4.0.1",
    "@uppy/progress-bar": "^4.0.0",
    "@uppy/react": "^4.0.2",
    "@uppy/status-bar": "^4.0.3",
    "@uppy/xhr-upload": "^4.1.0",
    "array-move": "^4.0.0",
    "axios": "^1.7.7",
    "bcrypt": "^5.1.1",
    "bufferutil": "^4.0.8",
    "bullmq": "^5.12.12",
    "canvas": "^2.11.2",
    "chart.js": "^4.4.1",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.14.1",
    "clsx": "^2.1.0",
    "concat-stream": "^2.0.0",
    "cookie-parser": "^1.4.7",
    "copy-to-clipboard": "^3.3.3",
    "crypto-hash": "^3.0.0",
    "dayjs": "^1.11.10",
    "google-auth-library": "^9.11.0",
    "googleapis": "^137.1.0",
    "ioredis": "^5.3.2",
    "json-to-graphql-query": "^2.2.5",
    "jsonwebtoken": "^9.0.2",
    "lodash": "^4.17.21",
    "md5": "^2.3.0",
    "mime": "^3.0.0",
    "mime-types": "^2.1.35",
    "multer": "^1.4.5-lts.1",
    "nestjs-command": "^3.1.4",
    "next": "^14.2.14",
    "next-plausible": "^3.12.0",
    "nodemailer": "^6.9.15",
    "nx": "19.7.2",
    "openai": "^4.47.1",
    "polotno": "^2.10.5",
    "react": "18.3.1",
    "react-colorful": "^5.6.1",
    "react-dnd": "^16.0.1",
    "react-dnd-html5-backend": "^16.0.1",
    "react-dom": "18.3.1",
    "react-hook-form": "^7.50.1",
    "react-loading": "^2.0.3",
    "react-tag-autocomplete": "^7.2.0",
    "react-tooltip": "^5.26.2",
    "react-use-keypress": "^1.3.1",
    "redis": "^4.6.12",
    "reflect-metadata": "^0.1.13",
    "remove-markdown": "^0.5.0",
    "resend": "^3.2.0",
    "rxjs": "^7.8.0",
    "sha256": "^0.2.0",
    "sharp": "^0.33.4",
    "simple-statistics": "^7.8.3",
    "stripe": "^15.5.0",
    "sweetalert2": "^11.6.13",
    "swr": "^2.2.5",
    "tailwind-scrollbar": "^3.1.0",
    "tailwindcss": "3.4.3",
    "tldts": "^6.1.47",
    "tslib": "^2.3.0",
    "twitter-api-v2": "^1.16.0",
    "use-debounce": "^10.0.0",
    "utf-8-validate": "^5.0.10",
    "uuid": "^10.0.0",
    "yargs": "^17.7.2",
    "yup": "^1.4.0"
  },
  "devDependencies": {
    "@nestjs/schematics": "^10.0.1",
    "@nestjs/testing": "^10.0.2",
    "@pmmmwh/react-refresh-webpack-plugin": "^0.5.7",
    "@svgr/webpack": "^8.0.1",
    "@swc-node/register": "1.9.2",
    "@swc/cli": "0.3.14",
    "@swc/core": "1.5.7",
    "@testing-library/react": "15.0.6",
    "@types/cache-manager-redis-store": "^2.0.4",
    "@types/cookie-parser": "^1.4.6",
    "@types/jest": "29.5.12",
    "@types/node": "18.16.9",
    "@types/react": "18.3.1",
    "@types/react-dom": "18.3.0",
    "@types/uuid": "^9.0.8",
    "@types/yargs": "^17.0.32",
    "@typescript-eslint/eslint-plugin": "7.18.0",
    "@typescript-eslint/parser": "7.18.0",
    "@vitejs/plugin-react": "^4.2.0",
    "@vitest/coverage-v8": "1.6.0",
    "@vitest/ui": "1.6.0",
    "autoprefixer": "^10.4.17",
    "babel-jest": "29.7.0",
    "eslint": "8.57.0",
    "eslint-config-next": "14.2.3",
    "eslint-config-prettier": "^9.0.0",
    "eslint-plugin-import": "2.27.5",
    "eslint-plugin-jsx-a11y": "6.7.1",
    "eslint-plugin-react": "7.32.2",
    "eslint-plugin-react-hooks": "4.6.0",
    "jest": "29.7.0",
    "jest-environment-jsdom": "29.7.0",
    "jest-environment-node": "^29.4.1",
    "jsdom": "~22.1.0",
    "postcss": "8.4.38",
    "prettier": "^2.6.2",
    "prisma": "^5.8.1",
    "react-refresh": "^0.10.0",
    "sass": "1.62.1",
    "ts-jest": "^29.1.0",
    "ts-node": "10.9.1",
    "typescript": "5.5.4",
    "vite": "^5.0.0",
    "vitest": "1.6.0"
  },
  "volta": {
    "node": "20.17.0"
  }
}
