{ "name": "web-studio", "private": true, "type": "module", "imports": { "#/*": "./src/*" }, "scripts": { "dev": "vite dev --port 3000", "build": "vite build", "preview": "vite preview", "test": "vitest run", "lint": "eslint src --ignore-pattern 'src/gen/**' --ignore-pattern 'src/routeTree.gen.ts' --ignore-pattern 'src/components/ui/**'", "format": "prettier --check 'src/**/*.{ts,tsx}'", "check": "prettier --write 'src/**/*.{ts,tsx}' && eslint src --fix --ignore-pattern 'src/gen/**' --ignore-pattern 'src/routeTree.gen.ts' --ignore-pattern 'src/components/ui/**'", "gen-server-client": "sh ./script/gen-server-client/gen-server-client.sh" }, "dependencies": { "@base-ui/react": "^1.3.0", "@codemirror/autocomplete": "^6.20.2", "@codemirror/commands": "^6.10.3", "@codemirror/lang-cpp": "^6.0.3", "@codemirror/lang-css": "^6.3.1", "@codemirror/lang-html": "^6.4.11", "@codemirror/lang-java": "^6.0.2", "@codemirror/lang-javascript": "^6.2.5", "@codemirror/lang-json": "^6.0.2", "@codemirror/lang-markdown": "^6.5.0", "@codemirror/lang-python": "^6.2.1", "@codemirror/lang-rust": "^6.0.2", "@codemirror/lang-sql": "^6.10.0", "@codemirror/lang-xml": "^6.1.0", "@codemirror/lang-yaml": "^6.1.3", "@codemirror/language": "^6.12.3", "@codemirror/lint": "^6.9.6", "@codemirror/search": "^6.7.0", "@codemirror/state": "^6.6.0", "@codemirror/theme-one-dark": "^6.1.3", "@codemirror/view": "^6.42.1", "@fontsource-variable/noto-sans": "^5.2.10", "@microsoft/fetch-event-source": "^2.0.1", "@streamdown/cjk": "^1.0.3", "@streamdown/code": "^1.1.1", "@tailwindcss/vite": "^4.1.18", "@tanstack/react-devtools": "latest", "@tanstack/react-form": "^1.28.6", "@tanstack/react-query": "^5.96.2", "@tanstack/react-router": "latest", "@tanstack/react-router-devtools": "latest", "@tanstack/react-table": "^8.21.3", "@uiw/react-heat-map": "^2.3.3", "axios": "^1.14.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "file-type": "^22.0.1", "gsap": "^3.14.2", "highlight.js": "^11.11.1", "i18next": "^26.0.3", "i18next-browser-languagedetector": "^8.2.1", "lucide-react": "^0.545.0", "next-themes": "^0.4.6", "postprocessing": "^6.39.0", "react": "^19.2.0", "react-dom": "^19.2.0", "react-dropzone": "^15.0.0", "react-i18next": "^17.0.2", "react-markdown": "^10.1.0", "recharts": "^3.8.1", "rehype-raw": "^7.0.0", "rehype-sanitize": "^6.0.0", "remark-breaks": "^4.0.0", "remark-gfm": "^4.0.1", "shadcn": "^4.1.2", "sonner": "^2.0.7", "streamdown": "^2.5.0", "tailwind-merge": "^3.5.0", "tailwindcss": "^4.1.18", "three": "^0.183.2", "tw-animate-css": "^1.4.0", "yaml": "^2.8.1" }, "devDependencies": { "@hey-api/openapi-ts": "^0.95.0", "@tailwindcss/typography": "^0.5.16", "@tanstack/devtools-vite": "latest", "@tanstack/eslint-config": "latest", "@tanstack/router-plugin": "1.167.12", "@testing-library/dom": "^10.4.1", "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.6", "@types/node": "^22.10.2", "@types/react": "^19.2.0", "@types/react-dom": "^19.2.0", "@types/three": "^0.183.1", "@vitejs/plugin-react": "^5.1.4", "eslint": "^9.39.4", "eslint-plugin-i18next": "^6.1.3", "jsdom": "^28.1.0", "openapi-format": "^1.30.1", "prettier": "^3.8.1", "typescript": "^5.7.2", "vite": "^7.3.1", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.0.5" } }