{ "name": "web", "version": "0.1.1", "private": true, "scripts": { "dev": "next dev --turbo", "build": "next build", "start": "next start", "lint": "next lint", "test": "jest", "test:watch": "jest --watch", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", "analyze": "ANALYZE=true next build", "test:e2e": "playwright test", "test:e2e:ui": "playwright test --ui", "test:e2e:debug": "playwright test --debug" }, "engines": { "node": ">=22.9.0" }, "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/modifiers": "^9.0.0", "@dnd-kit/sortable": "^10.0.0", "@faker-js/faker": "^9.7.0", "@monaco-editor/react": "^4.7.0", "@radix-ui/react-avatar": "^1.1.9", "@radix-ui/react-checkbox": "^1.3.1", "@radix-ui/react-collapsible": "^1.1.10", "@radix-ui/react-context-menu": "^2.2.14", "@radix-ui/react-dialog": "^1.1.13", "@radix-ui/react-dropdown-menu": "^2.1.14", "@radix-ui/react-label": "^2.1.6", "@radix-ui/react-popover": "^1.1.13", "@radix-ui/react-scroll-area": "^1.2.8", "@radix-ui/react-select": "^2.2.4", "@radix-ui/react-separator": "^1.1.6", "@radix-ui/react-slider": "^1.3.4", "@radix-ui/react-switch": "^1.2.4", "@radix-ui/react-tabs": "^1.1.11", "@radix-ui/react-tooltip": "^1.2.6", "@supabase/ssr": "^0.6.1", "@supabase/supabase-js": "^2.49.4", "@tanstack/query-sync-storage-persister": "^5.75.5", "@tanstack/react-form": "^1.9.0", "@tanstack/react-query": "^5.75.5", "@tanstack/react-query-devtools": "^5.75.5", "@tanstack/react-query-persist-client": "^5.75.5", "@tanstack/react-table": "^8.21.3", "@tanstack/react-virtual": "^3.13.8", "@types/jest": "^29.5.14", "@types/prettier": "^2.7.3", "@types/react-color": "^3.0.13", "axios": "^1.9.0", "canvas-confetti": "^1.9.3", "chart.js": "4.4.9", "chartjs-adapter-dayjs-4": "^1.0.4", "chartjs-plugin-annotation": "^3.1.0", "chartjs-plugin-datalabels": "^2.2.0", "chartjs-plugin-deferred": "^2.0.0", "class-variance-authority": "^0.7.1", "cmdk": "^1.1.1", "dayjs": "^1.11.13", "dom-to-image": "^2.6.0", "email-validator": "^2.0.4", "font-color-contrast": "^11.1.0", "framer-motion": "^12.10.4", "intersection-observer": "^0.12.2", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "js-cookie": "^3.0.5", "js-yaml": "^4.1.0", "jwt-decode": "^4.0.0", "lodash": "^4.17.21", "monaco-sql-languages": "^0.13.1", "monaco-yaml": "^5.3.1", "mutative": "^1.1.0", "next": "14.2.28", "next-themes": "^0.4.6", "papaparse": "^5.5.2", "pluralize": "^8.0.0", "posthog-js": "^1.240.5", "prettier": "^3.5.3", "prettier-plugin-tailwindcss": "^0.6.11", "react": "^18", "react-color": "^2.19.3", "react-colorful": "^5.6.1", "react-day-picker": "8.10.1", "react-dom": "^18", "react-hotkeys-hook": "^5.0.1", "react-markdown": "^10.1.0", "react-syntax-highlighter": "^15.6.1", "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.1", "sonner": "^2.0.3", "tailwind-merge": "^3.2.0", "ts-jest": "^29.3.2", "use-context-selector": "^2.0.0", "utility-types": "^3.11.0", "valibot": "^1.1.0", "virtua": "^0.41.0", "zustand": "^5.0.4" }, "devDependencies": { "@chromatic-com/storybook": "^3.2.6", "@eslint/eslintrc": "^3", "@next/bundle-analyzer": "^15.3.2", "@playwright/test": "^1.52.0", "@storybook/addon-controls": "^8.6.12", "@storybook/addon-essentials": "^8.6.12", "@storybook/addon-interactions": "^8.6.12", "@storybook/blocks": "^8.6.12", "@storybook/nextjs": "^8.6.12", "@storybook/react": "^8.6.12", "@storybook/test": "^8.6.12", "@tailwindcss/postcss": "4.1.5", "@testing-library/react": "^16.3.0", "@types/canvas-confetti": "^1.9.0", "@types/dotenv": "^8.2.3", "@types/js-cookie": "^3.0.6", "@types/js-yaml": "^4.0.9", "@types/lodash": "^4.17.16", "@types/node": "^20", "@types/papaparse": "^5.3.16", "@types/pluralize": "^0.0.33", "@types/react": "^18", "@types/react-dom": "^18", "@types/react-scroll-to-bottom": "^4.2.5", "@types/react-syntax-highlighter": "^15.5.13", "dotenv": "^16.5.0", "eslint": "^9", "eslint-config-next": "15.3.2", "eslint-config-prettier": "^10.1.3", "eslint-plugin-storybook": "^0.12.0", "msw-storybook-addon": "^2.0.4", "sass": "^1.87.0", "tailwind-scrollbar": "^4.0.2", "tailwindcss": "4.1.5", "tailwindcss-animate": "^1.0.7", "typescript": "^5" }, "msw": { "workerDirectory": [ "public" ] } }