{
  "name": "codeflash-webapp",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": " npm install --loglevel verbose && npx prisma generate && npx next build",
    "deploy": "az webapp up -n codeflash-webapp-2 --sku P1V2 --runtime NODE:20-lts",
    "start": "node_modules/next/dist/bin/next start",
    "lint": "next lint --fix",
    "lint:check": "next lint",
    "test": "vitest",
    "type-check": "tsc --noEmit",
    "prisma:generate": "npx prisma generate",
    "prisma:migrate": "npx prisma migrate dev",
    "prepare": "simple-git-hooks",
    "postinstall": "cp node_modules/web-tree-sitter/web-tree-sitter.wasm public/ && npx tree-sitter build --wasm node_modules/tree-sitter-python -o public/tree-sitter-python.wasm",
    "format": "prettier --write \"**/*.{js,ts,tsx,json,md}\"",
    "format:check": "prettier --check \"**/*.{js,ts,tsx,json,md}\""
  },
  "dependencies": {
    "@auth0/nextjs-auth0": "^3.3.0",
    "@azure/msal-node": "^3.7.3",
    "@codeflash-ai/common": "^1.0.30",
    "@hookform/resolvers": "^3.3.2",
    "@monaco-editor/react": "^4.7.0",
    "@prisma/client": "^6.7.0",
    "@radix-ui/react-dialog": "^1.0.5",
    "@radix-ui/react-dropdown-menu": "^2.0.6",
    "@radix-ui/react-label": "^2.0.2",
    "@radix-ui/react-navigation-menu": "^1.1.4",
    "@radix-ui/react-progress": "^1.1.2",
    "@radix-ui/react-select": "^2.0.0",
    "@radix-ui/react-separator": "^1.0.3",
    "@radix-ui/react-slot": "^1.0.2",
    "@radix-ui/react-tabs": "^1.1.3",
    "@radix-ui/react-toast": "^1.1.5",
    "@radix-ui/react-tooltip": "^1.1.4",
    "@sentry/nextjs": "^9.34.0",
    "@types/node": "^24.3.0",
    "@types/pg": "^8.10.9",
    "@types/react": "^18",
    "@types/react-dom": "^18",
    "@types/react-syntax-highlighter": "^15.5.13",
    "chart.js": "^4.4.9",
    "class-variance-authority": "^0.7.0",
    "clsx": "^2.0.0",
    "date-fns": "^4.1.0",
    "diff": "^8.0.2",
    "framer-motion": "^12.12.1",
    "github-markdown-css": "^5.4.0",
    "jsonwebtoken": "^9.0.2",
    "lucide-react": "^0.381.0",
    "marked": "^16.1.1",
    "next": "^14.2.32",
    "next-themes": "^0.3.0",
    "node-ts-cache": "^4.4.0",
    "node-ts-cache-storage-memory": "^4.4.0",
    "pg": "^8.11.3",
    "postcss": "^8",
    "posthog-js": "1.127.0",
    "posthog-node": "^4.0.1",
    "prism-react-renderer": "^2.4.1",
    "react": "^18",
    "react-chartjs-2": "^5.3.0",
    "react-dom": "^18",
    "react-hook-form": "^7.48.2",
    "react-markdown": "^9.0.1",
    "react-papaparse": "^4.4.0",
    "react-syntax-highlighter": "^16.1.0",
    "remark-gfm": "^4.0.0",
    "sharp": "^0.34.2",
    "sonner": "^2.0.6",
    "tailwind-merge": "^2.0.0",
    "tailwindcss": "^3.3.0",
    "tailwindcss-animate": "^1.0.7",
    "web-tree-sitter": "^0.26.5",
    "zod": "^3.22.4"
  },
  "devDependencies": {
    "@testing-library/react": "^16.0.0",
    "@types/jsonwebtoken": "^9.0.10",
    "@typescript-eslint/eslint-plugin": "^8.50.1",
    "@typescript-eslint/parser": "^8.50.1",
    "@vitejs/plugin-react": "^4.3.1",
    "autoprefixer": "^10.0.1",
    "baseline-browser-mapping": "^2.9.11",
    "eslint": "^8.57.0",
    "eslint-config-next": "15.5.2",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-import": "^2.29.0",
    "eslint-plugin-n": "^16.6.2",
    "eslint-plugin-promise": "^6.1.1",
    "eslint-plugin-react": "^7.33.2",
    "jsdom": "^24.1.0",
    "lint-staged": "^15.4.3",
    "prettier": "3.2.5",
    "prisma": "^6.7.0",
    "simple-git-hooks": "^2.9.0",
    "tree-sitter-cli": "^0.26.3",
    "tree-sitter-python": "^0.25.0",
    "typescript": "^5.4.5",
    "vitest": "^3.0.8"
  },
  "engines": {
    "node": ">=20.0.0"
  },
  "simple-git-hooks": {
    "pre-commit": "npx lint-staged"
  },
  "lint-staged": {
    "**/*.{js,ts,tsx}": [
      "prettier --write"
    ],
    "**/*.{json,md}": [
      "prettier --write"
    ]
  }
}
