{ "name": "@buster-app/web", "private": true, "type": "module", "version": "0.0.4", "scripts": { "prebuild": "tsx scripts/validate-env.ts", "build:vercel": "pnpm prebuild && cross-env NODE_OPTIONS=--max-old-space-size=8192 vite build -- --typecheck", "build": "pnpm build:local", "build:staging": "cross-env NODE_OPTIONS=--max-old-space-size=8192 pnpm run prebuild && vite build --mode staging -- --typecheck", "build:production": "cross-env NODE_OPTIONS=--max-old-space-size=8192 pnpm run prebuild && vite build --mode production -- --typecheck", "build:local": "pnpm prebuild && cross-env NODE_OPTIONS=--max-old-space-size=12288 vite build -- --typecheck --local", "build-storybook": "storybook build", "build:visualize": "npx vite-bundle-visualizer", "dev": "vite dev --port 3000", "dev:fast": "pnpm run build:local && pnpm run start:local", "generate-routes": "tsr generate", "lint": "biome check --write", "serve": "vite preview", "start": "pnpm start:local", "start:local": "bun ./.output/server/index.mjs", "storybook": "storybook dev -p 6006", "test": "vitest run", "test:ui": "vitest --ui", "test:unit": "pnpm run test", "test:watch": "vitest --watch", "typecheck": "cross-env NODE_OPTIONS=--max-old-space-size=12288 tsc --noEmit", "typecheck:watch": "tsc --noEmit --watch" }, "dependencies": { "@ariakit/react": "^0.4.18", "@buster/env-utils": "workspace:*", "@buster/server-shared": "workspace:*", "@buster/typescript-config": "workspace:*", "@dnd-kit/core": "^6.3.1", "@dnd-kit/modifiers": "^9.0.0", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@electric-sql/client": "catalog:", "@electric-sql/react": "^1.0.10", "@emoji-mart/data": "^1.2.1", "@faker-js/faker": "^10.0.0", "@monaco-editor/react": "^4.7.0", "@platejs/ai": "^50.2.2", "@platejs/autoformat": "^49.0.0", "@platejs/basic-nodes": "^49.0.0", "@platejs/basic-styles": "49.0.0", "@platejs/callout": "^49.0.0", "@platejs/caption": "^49.0.0", "@platejs/code-block": "^49.0.0", "@platejs/combobox": "^49.0.0", "@platejs/comment": "^50.2.0", "@platejs/date": "^49.0.2", "@platejs/dnd": "^49.2.22", "@platejs/docx": "^49.0.0", "@platejs/emoji": "^49.0.0", "@platejs/floating": "^50.2.5", "@platejs/indent": "^49.0.0", "@platejs/juice": "^49.0.0", "@platejs/layout": "^49.2.1", "@platejs/link": "^50.2.5", "@platejs/list": "50.2.0", "@platejs/markdown": "^50.2.0", "@platejs/math": "^49.0.0", "@platejs/media": "49.0.0", "@platejs/mention": "^49.0.0", "@platejs/resizable": "^49.0.0", "@platejs/selection": "^50.2.0", "@platejs/slash-command": "^49.0.0", "@platejs/suggestion": "^50.2.0", "@platejs/table": "49.1.13", "@platejs/toc": "^49.0.0", "@platejs/toggle": "^49.0.0", "@radix-ui/react-alert-dialog": "^1.1.15", "@radix-ui/react-avatar": "^1.1.10", "@radix-ui/react-checkbox": "^1.3.3", "@radix-ui/react-collapsible": "^1.1.12", "@radix-ui/react-context-menu": "^2.2.16", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-dropdown-menu": "^2.1.16", "@radix-ui/react-label": "^2.1.7", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-scroll-area": "^1.2.10", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-separator": "^1.1.7", "@radix-ui/react-slider": "^1.3.6", "@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-switch": "^1.2.6", "@radix-ui/react-tabs": "^1.1.13", "@radix-ui/react-toolbar": "^1.1.11", "@radix-ui/react-tooltip": "^1.2.8", "@radix-ui/react-visually-hidden": "^1.2.3", "@shikijs/langs": "^3.13.0", "@shikijs/themes": "^3.13.0", "@supabase/ssr": "^0.7.0", "@supabase/supabase-js": "catalog:", "@t3-oss/env-core": "^0.13.8", "@tailwindcss/vite": "^4.1.13", "@tanstack/db": "^0.3.2", "@tanstack/match-sorter-utils": "^8.19.4", "@tanstack/query-db-collection": "0.2.20", "@tanstack/react-db": "0.1.21", "@tanstack/react-devtools": "^0.7.0", "@tanstack/react-form": "^1.23.0", "@tanstack/react-query": "^5.90.2", "@tanstack/react-query-devtools": "^5.90.2", "@tanstack/react-query-persist-client": "^5.90.2", "@tanstack/react-router": "^1.131.50", "@tanstack/react-router-devtools": "^1.131.50", "@tanstack/react-router-ssr-query": "^1.131.50", "@tanstack/react-router-with-query": "^1.130.17", "@tanstack/react-start": "^1.131.50", "@tanstack/react-store": "^0.7.7", "@tanstack/react-table": "^8.21.3", "@tanstack/react-virtual": "^3.13.12", "@tanstack/router-plugin": "^1.131.50", "@tanstack/store": "^0.7.7", "@testing-library/jest-dom": "^6.8.0", "@tiptap/core": "^3.5.0", "@tiptap/extension-document": "^3.5.0", "@tiptap/extension-mention": "^3.5.0", "@tiptap/extension-paragraph": "^3.5.0", "@tiptap/extension-text": "^3.5.0", "@tiptap/pm": "^3.5.0", "@tiptap/react": "^3.5.0", "@tiptap/starter-kit": "^3.5.0", "@tiptap/suggestion": "^3.5.0", "@udecode/cn": "^49.0.15", "@uploadthing/react": "^7.3.3", "axios": "catalog:", "canvas-confetti": "^1.9.3", "chart.js": "4.5.0", "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", "clsx": "^2.1.1", "cmdk": "^1.1.1", "dayjs": "^1.11.18", "font-color-contrast": "^11.1.0", "framer-motion": "^12.23.19", "fuse.js": "^7.1.0", "html2canvas-pro": "^1.5.11", "js-cookie": "^3.0.5", "js-yaml": "catalog:", "jwt-decode": "^4.0.0", "ky": "^1.10.0", "lodash": "^4.17.21", "lowlight": "^3.3.0", "monaco-editor": "^0.53.0", "monaco-sql-languages": "^0.15.1", "monaco-yaml": "^5.4.0", "mutative": "^1.3.0", "platejs": "49.2.21", "pluralize": "^8.0.0", "posthog-js": "^1.268.1", "react": "catalog:", "react-colorful": "^5.6.1", "react-day-picker": "^8.10.1", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", "react-dom": "catalog:", "react-error-boundary": "^6.0.0", "react-hotkeys-hook": "^5.1.0", "react-lite-youtube-embed": "^2.5.6", "react-markdown": "^10.1.0", "react-mentions": "^4.4.10", "react-player": "^3.3.3", "react-textarea-autosize": "^8.5.9", "remark-gfm": "^4.0.1", "scheduler": "^0.26.0", "shiki": "^3.13.0", "sonner": "^2.0.7", "tailwind-merge": "^3.3.1", "tailwind-scrollbar": "^4.0.2", "tailwindcss": "^4.1.13", "tw-animate-css": "^1.3.8", "uploadthing": "^7.7.4", "use-context-selector": "^2.0.0", "use-file-picker": "^2.1.4", "utility-types": "^3.11.0", "uuid": "catalog:", "virtua": "^0.43.4", "vite-tsconfig-paths": "^5.1.4", "vitest-browser-react": "^1.0.1", "zod": "catalog:" }, "devDependencies": { "@biomejs/biome": "2.2.4", "@chromatic-com/storybook": "^4.1.1", "@storybook/addon-a11y": "^9.1.8", "@storybook/addon-docs": "^9.1.8", "@storybook/addon-vitest": "^9.1.8", "@storybook/react-vite": "^9.1.8", "@tanstack/devtools-event-client": "^0.3.0", "@tanstack/router-cli": "^1.131.50", "@testing-library/dom": "^10.4.1", "@testing-library/react": "^16.3.0", "@types/canvas-confetti": "^1.9.0", "@types/js-cookie": "^3.0.6", "@types/js-yaml": "catalog:", "@types/lodash": "^4.17.20", "@types/pluralize": "^0.0.33", "@types/react": "catalog:", "@types/react-dom": "catalog:", "@types/react-mentions": "^4.4.1", "@vitejs/plugin-react": "^5.0.3", "@vitest/browser": "3.2.4", "@vitest/coverage-v8": "3.2.4", "@vitest/ui": "3.2.4", "cross-env": "^10.0.0", "jsdom": "^27.0.0", "msw": "^2.11.3", "playwright": "^1.55.1", "sass": "^1.93.1", "storybook": "^9.1.8", "vite": "catalog:", "vite-plugin-checker": "^0.10.3", "vite-plugin-monaco-editor": "^1.1.0", "vite-tsconfig-paths": "catalog:", "vitest": "catalog:", "web-vitals": "^5.1.0" } }