| { | |
| "name": "@librechat/frontend", | |
| "version": "v0.8.1", | |
| "description": "", | |
| "type": "module", | |
| "scripts": { | |
| "typecheck": "tsc --noEmit", | |
| "data-provider": "cd .. && npm run build:data-provider", | |
| "build:file": "cross-env NODE_ENV=production vite build --debug > vite-output.log 2>&1", | |
| "build": "cross-env NODE_ENV=production vite build && node ./scripts/post-build.cjs", | |
| "build:ci": "cross-env NODE_ENV=development vite build --mode ci", | |
| "dev": "cross-env NODE_ENV=development vite", | |
| "preview-prod": "cross-env NODE_ENV=development vite preview", | |
| "test": "cross-env NODE_ENV=development jest --watch", | |
| "test:ci": "cross-env NODE_ENV=development jest --ci", | |
| "b:test": "NODE_ENV=test bunx jest --watch", | |
| "b:build": "NODE_ENV=production bun --bun vite build", | |
| "b:dev": "NODE_ENV=development bunx vite" | |
| }, | |
| "repository": { | |
| "type": "git", | |
| "url": "git+https://github.com/danny-avila/LibreChat.git" | |
| }, | |
| "keywords": [], | |
| "author": "", | |
| "license": "ISC", | |
| "bugs": { | |
| "url": "https://github.com/danny-avila/LibreChat/issues" | |
| }, | |
| "homepage": "https://librechat.ai", | |
| "dependencies": { | |
| "@ariakit/react": "^0.4.15", | |
| "@ariakit/react-core": "^0.4.17", | |
| "@codesandbox/sandpack-react": "^2.19.10", | |
| "@dicebear/collection": "^9.2.2", | |
| "@dicebear/core": "^9.2.2", | |
| "@headlessui/react": "^2.1.2", | |
| "@librechat/client": "*", | |
| "@marsidev/react-turnstile": "^1.1.0", | |
| "@mcp-ui/client": "^5.7.0", | |
| "@radix-ui/react-accordion": "^1.1.2", | |
| "@radix-ui/react-alert-dialog": "^1.0.2", | |
| "@radix-ui/react-checkbox": "^1.0.3", | |
| "@radix-ui/react-collapsible": "^1.0.3", | |
| "@radix-ui/react-dialog": "^1.0.2", | |
| "@radix-ui/react-dropdown-menu": "^2.1.1", | |
| "@radix-ui/react-hover-card": "^1.0.5", | |
| "@radix-ui/react-icons": "^1.3.0", | |
| "@radix-ui/react-label": "^2.0.0", | |
| "@radix-ui/react-popover": "^1.0.7", | |
| "@radix-ui/react-progress": "^1.1.2", | |
| "@radix-ui/react-radio-group": "^1.1.3", | |
| "@radix-ui/react-select": "^2.0.0", | |
| "@radix-ui/react-separator": "^1.0.3", | |
| "@radix-ui/react-slider": "^1.1.1", | |
| "@radix-ui/react-switch": "^1.0.3", | |
| "@radix-ui/react-tabs": "^1.0.3", | |
| "@radix-ui/react-toast": "^1.1.5", | |
| "@react-spring/web": "^9.7.5", | |
| "@tanstack/react-query": "^4.28.0", | |
| "@tanstack/react-table": "^8.11.7", | |
| "class-variance-authority": "^0.7.1", | |
| "clsx": "^2.1.1", | |
| "copy-to-clipboard": "^3.3.3", | |
| "cross-env": "^7.0.3", | |
| "date-fns": "^3.3.1", | |
| "dompurify": "^3.3.0", | |
| "downloadjs": "^1.4.7", | |
| "export-from-json": "^1.7.2", | |
| "filenamify": "^6.0.0", | |
| "framer-motion": "^11.5.4", | |
| "heic-to": "^1.1.14", | |
| "html-to-image": "^1.11.11", | |
| "i18next": "^24.2.2", | |
| "i18next-browser-languagedetector": "^8.0.3", | |
| "input-otp": "^1.4.2", | |
| "jotai": "^2.12.5", | |
| "js-cookie": "^3.0.5", | |
| "librechat-data-provider": "*", | |
| "lodash": "^4.17.21", | |
| "lucide-react": "^0.394.0", | |
| "match-sorter": "^8.1.0", | |
| "micromark-extension-llm-math": "^3.1.0", | |
| "qrcode.react": "^4.2.0", | |
| "rc-input-number": "^7.4.2", | |
| "react": "^18.2.0", | |
| "react-avatar-editor": "^13.0.2", | |
| "react-dnd": "^16.0.1", | |
| "react-dnd-html5-backend": "^16.0.1", | |
| "react-dom": "^18.2.0", | |
| "react-flip-toolkit": "^7.1.0", | |
| "react-gtm-module": "^2.0.11", | |
| "react-hook-form": "^7.43.9", | |
| "react-i18next": "^15.4.0", | |
| "react-lazy-load-image-component": "^1.6.0", | |
| "react-markdown": "^9.0.1", | |
| "react-resizable-panels": "^3.0.6", | |
| "react-router-dom": "^6.11.2", | |
| "react-speech-recognition": "^3.10.0", | |
| "react-textarea-autosize": "^8.4.0", | |
| "react-transition-group": "^4.4.5", | |
| "react-virtualized": "^9.22.6", | |
| "recoil": "^0.7.7", | |
| "regenerator-runtime": "^0.14.1", | |
| "rehype-highlight": "^6.0.0", | |
| "rehype-katex": "^6.0.3", | |
| "remark-directive": "^3.0.0", | |
| "remark-gfm": "^4.0.0", | |
| "remark-math": "^6.0.0", | |
| "remark-supersub": "^1.0.0", | |
| "sse.js": "^2.5.0", | |
| "tailwind-merge": "^1.9.1", | |
| "tailwindcss-animate": "^1.0.5", | |
| "tailwindcss-radix": "^2.8.0", | |
| "zod": "^3.22.4" | |
| }, | |
| "devDependencies": { | |
| "@babel/plugin-transform-runtime": "^7.22.15", | |
| "@babel/preset-env": "^7.22.15", | |
| "@babel/preset-react": "^7.22.15", | |
| "@babel/preset-typescript": "^7.22.15", | |
| "@tanstack/react-query-devtools": "^4.29.0", | |
| "@testing-library/dom": "^9.3.0", | |
| "@testing-library/jest-dom": "^5.16.5", | |
| "@testing-library/react": "^14.0.0", | |
| "@testing-library/user-event": "^14.4.3", | |
| "@types/jest": "^29.5.14", | |
| "@types/js-cookie": "^3.0.6", | |
| "@types/lodash": "^4.17.15", | |
| "@types/node": "^20.3.0", | |
| "@types/react": "^18.2.11", | |
| "@types/react-dom": "^18.2.4", | |
| "@vitejs/plugin-react": "^4.3.4", | |
| "autoprefixer": "^10.4.20", | |
| "babel-plugin-replace-ts-export-assignment": "^0.0.2", | |
| "babel-plugin-root-import": "^6.6.0", | |
| "babel-plugin-transform-import-meta": "^2.3.2", | |
| "babel-plugin-transform-vite-meta-env": "^1.0.3", | |
| "eslint-plugin-jest": "^29.1.0", | |
| "fs-extra": "^11.3.2", | |
| "identity-obj-proxy": "^3.0.0", | |
| "jest": "^30.2.0", | |
| "jest-canvas-mock": "^2.5.2", | |
| "jest-environment-jsdom": "^29.7.0", | |
| "jest-file-loader": "^1.0.3", | |
| "jest-junit": "^16.0.0", | |
| "postcss": "^8.4.31", | |
| "postcss-loader": "^7.1.0", | |
| "postcss-preset-env": "^8.2.0", | |
| "tailwindcss": "^3.4.1", | |
| "typescript": "^5.3.3", | |
| "vite": "^6.4.1", | |
| "vite-plugin-compression2": "^2.2.1", | |
| "vite-plugin-node-polyfills": "^0.23.0", | |
| "vite-plugin-pwa": "^0.21.2" | |
| } | |
| } | |