144 lines
4.5 KiB
JSON
144 lines
4.5 KiB
JSON
{
|
|
"name": "@janhq/web-app",
|
|
"private": true,
|
|
"version": "0.7.6",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc -b && vite build",
|
|
"lint": "eslint .",
|
|
"preview": "vite preview",
|
|
"test": "vitest --run",
|
|
"test:coverage": "vitest --coverage --run"
|
|
},
|
|
"dependencies": {
|
|
"@ai-sdk/anthropic": "^2.0.0",
|
|
"@ai-sdk/openai": "^2.0.0",
|
|
"@ai-sdk/openai-compatible": "^1.0.28",
|
|
"@ai-sdk/react": "^2.0.109",
|
|
"@ai-sdk/xai": "^2.0.0",
|
|
"@dnd-kit/core": "6.3.1",
|
|
"@dnd-kit/modifiers": "9.0.0",
|
|
"@dnd-kit/sortable": "10.0.0",
|
|
"@janhq/core": "workspace:*",
|
|
"@janhq/interfaces": "0.0.2",
|
|
"@radix-ui/react-accordion": "1.2.11",
|
|
"@radix-ui/react-avatar": "1.1.10",
|
|
"@radix-ui/react-collapsible": "^1.1.12",
|
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
"@radix-ui/react-hover-card": "^1.1.15",
|
|
"@radix-ui/react-popover": "1.1.14",
|
|
"@radix-ui/react-progress": "1.1.4",
|
|
"@radix-ui/react-radio-group": "^1.3.8",
|
|
"@radix-ui/react-separator": "^1.1.8",
|
|
"@radix-ui/react-slider": "^1.3.6",
|
|
"@radix-ui/react-slot": "^1.2.4",
|
|
"@radix-ui/react-switch": "1.2.2",
|
|
"@radix-ui/react-tooltip": "^1.2.8",
|
|
"@streamdown/cjk": "^1.0.1",
|
|
"@streamdown/code": "^1.0.1",
|
|
"@streamdown/math": "^1.0.1",
|
|
"@streamdown/mermaid": "^1.0.1",
|
|
"@tabler/icons-react": "3.34.0",
|
|
"@tailwindcss/vite": "4.1.4",
|
|
"@tanstack/react-router": "^1.121.34",
|
|
"@tanstack/react-router-devtools": "1.121.34",
|
|
"@tanstack/react-virtual": "3.13.12",
|
|
"@tauri-apps/api": "2.8.0",
|
|
"@tauri-apps/plugin-deep-link": "2.4.3",
|
|
"@tauri-apps/plugin-http": "2.5.0",
|
|
"@tauri-apps/plugin-opener": "2.5.2",
|
|
"@tauri-apps/plugin-os": "2.2.1",
|
|
"@tauri-apps/plugin-store": "^2.4.2",
|
|
"@tauri-apps/plugin-updater": "2.8.1",
|
|
"@types/react-syntax-highlighter": "15.5.13",
|
|
"@types/uuid": "10.0.0",
|
|
"@uiw/react-textarea-code-editor": "3.1.1",
|
|
"ai": "^5.0.121",
|
|
"class-variance-authority": "^0.7.1",
|
|
"culori": "4.0.1",
|
|
"emoji-picker-react": "4.12.2",
|
|
"framer-motion": "12.23.12",
|
|
"fuse.js": "7.1.0",
|
|
"fzf": "0.5.2",
|
|
"i18next": "25.0.2",
|
|
"katex": "0.16.22",
|
|
"lodash.clonedeep": "4.5.0",
|
|
"lodash.debounce": "4.0.8",
|
|
"lucide-react": "^0.563.0",
|
|
"matter-js": "^0.20.0",
|
|
"motion": "^12.35.0",
|
|
"next-themes": "0.4.6",
|
|
"posthog-js": "1.255.1",
|
|
"radix-ui": "^1.4.3",
|
|
"react": "19.0.0",
|
|
"react-colorful": "5.6.1",
|
|
"react-dom": "19.0.0",
|
|
"react-i18next": "15.5.1",
|
|
"react-markdown": "10.1.0",
|
|
"react-resizable-panels": "3.0.5",
|
|
"react-syntax-highlighter": "15.6.1",
|
|
"react-syntax-highlighter-virtualized-renderer": "1.1.0",
|
|
"react-textarea-autosize": "8.5.9",
|
|
"rehype-katex": "7.0.1",
|
|
"rehype-raw": "7.0.0",
|
|
"remark-breaks": "4.0.0",
|
|
"remark-emoji": "5.0.1",
|
|
"remark-gfm": "4.0.1",
|
|
"remark-math": "6.0.0",
|
|
"shiki": "^3.19.0",
|
|
"sonner": "2.0.5",
|
|
"streamdown": "npm:@janhq/streamdown@^2.1.1",
|
|
"tailwindcss": "4.1.17",
|
|
"tw-animate-css": "1.2.8",
|
|
"ulidx": "2.4.1",
|
|
"unified": "11.0.5",
|
|
"unist-util-visit": "^5.0.0",
|
|
"use-stick-to-bottom": "^1.0.48",
|
|
"uuid": "11.1.0",
|
|
"vaul": "^1.1.2",
|
|
"zod": "^4.1.13",
|
|
"zustand": "5.0.3"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "8.57.0",
|
|
"@tanstack/router-plugin": "1.121.34",
|
|
"@testing-library/dom": "10.4.1",
|
|
"@testing-library/jest-dom": "6.8.0",
|
|
"@testing-library/react": "16.3.0",
|
|
"@testing-library/user-event": "14.6.1",
|
|
"@types/culori": "2.1.1",
|
|
"@types/istanbul-lib-report": "3.0.3",
|
|
"@types/istanbul-reports": "3.0.4",
|
|
"@types/lodash.clonedeep": "4.5.9",
|
|
"@types/lodash.debounce": "4.0.9",
|
|
"@types/matter-js": "^0",
|
|
"@types/mdast": "^4.0.4",
|
|
"@types/node": "22.14.1",
|
|
"@types/react": "19.1.2",
|
|
"@types/react-dom": "19.1.2",
|
|
"@types/unist": "^3.0.3",
|
|
"@vitejs/plugin-react": "4.4.1",
|
|
"@vitest/coverage-v8": "3.2.4",
|
|
"clsx": "2.1.1",
|
|
"eslint": "9.25.1",
|
|
"eslint-plugin-react-hooks": "5.2.0",
|
|
"eslint-plugin-react-refresh": "0.4.20",
|
|
"globals": "16.0.0",
|
|
"istanbul-api": "3.0.0",
|
|
"istanbul-lib-coverage": "2.0.5",
|
|
"istanbul-lib-report": "2.0.8",
|
|
"istanbul-reports": "3.1.7",
|
|
"jsdom": "26.1.0",
|
|
"serve": "14.2.5",
|
|
"tailwind-merge": "3.3.1",
|
|
"typescript": "5.9.2",
|
|
"typescript-eslint": "8.31.0",
|
|
"vite": "6.3.2",
|
|
"vite-plugin-node-polyfills": "0.23.0",
|
|
"vite-plugin-pwa": "1.0.3",
|
|
"vitest": "3.2.4"
|
|
}
|
|
}
|