package.json 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. {
  2. "name": "open-webui",
  3. "version": "0.6.32",
  4. "private": true,
  5. "scripts": {
  6. "dev": "npm run pyodide:fetch && vite dev --host",
  7. "dev:5050": "npm run pyodide:fetch && vite dev --port 5050",
  8. "build": "npm run pyodide:fetch && vite build",
  9. "build:watch": "npm run pyodide:fetch && vite build --watch",
  10. "preview": "vite preview",
  11. "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
  12. "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
  13. "lint": "npm run lint:frontend ; npm run lint:types ; npm run lint:backend",
  14. "lint:frontend": "eslint . --fix",
  15. "lint:types": "npm run check",
  16. "lint:backend": "pylint backend/",
  17. "format": "prettier --plugin-search-dir --write \"**/*.{js,ts,svelte,css,md,html,json}\"",
  18. "format:backend": "black . --exclude \".venv/|/venv/\"",
  19. "i18n:parse": "i18next --config i18next-parser.config.ts && prettier --write \"src/lib/i18n/**/*.{js,json}\"",
  20. "cy:open": "cypress open",
  21. "test:frontend": "vitest --passWithNoTests",
  22. "pyodide:fetch": "node scripts/prepare-pyodide.js"
  23. },
  24. "devDependencies": {
  25. "@sveltejs/adapter-auto": "3.2.2",
  26. "@sveltejs/adapter-static": "^3.0.2",
  27. "@sveltejs/kit": "^2.5.20",
  28. "@sveltejs/vite-plugin-svelte": "^3.1.1",
  29. "@tailwindcss/container-queries": "^0.1.1",
  30. "@tailwindcss/postcss": "^4.0.0",
  31. "@tailwindcss/typography": "^0.5.13",
  32. "@typescript-eslint/eslint-plugin": "^8.31.1",
  33. "@typescript-eslint/parser": "^8.31.1",
  34. "cypress": "^13.15.0",
  35. "eslint": "^8.56.0",
  36. "eslint-config-prettier": "^9.1.0",
  37. "eslint-plugin-cypress": "^3.4.0",
  38. "eslint-plugin-svelte": "^2.43.0",
  39. "i18next-parser": "^9.0.1",
  40. "postcss": "^8.4.31",
  41. "prettier": "^3.3.3",
  42. "prettier-plugin-svelte": "^3.2.6",
  43. "sass-embedded": "^1.81.0",
  44. "svelte": "^4.2.18",
  45. "svelte-check": "^3.8.5",
  46. "svelte-confetti": "^1.3.2",
  47. "tailwindcss": "^4.0.0",
  48. "tslib": "^2.4.1",
  49. "typescript": "^5.5.4",
  50. "vite": "^5.4.14",
  51. "vitest": "^1.6.1"
  52. },
  53. "type": "module",
  54. "dependencies": {
  55. "@azure/msal-browser": "^4.5.0",
  56. "@codemirror/lang-javascript": "^6.2.2",
  57. "@codemirror/lang-python": "^6.1.6",
  58. "@codemirror/language-data": "^6.5.1",
  59. "@codemirror/theme-one-dark": "^6.1.2",
  60. "@floating-ui/dom": "^1.7.2",
  61. "@huggingface/transformers": "^3.0.0",
  62. "@joplin/turndown-plugin-gfm": "^1.0.62",
  63. "@mediapipe/tasks-vision": "^0.10.17",
  64. "@pyscript/core": "^0.4.32",
  65. "@sveltejs/adapter-node": "^2.0.0",
  66. "@sveltejs/svelte-virtual-list": "^3.0.1",
  67. "@tiptap/core": "^3.0.7",
  68. "@tiptap/extension-bubble-menu": "^2.26.1",
  69. "@tiptap/extension-code-block-lowlight": "^3.0.7",
  70. "@tiptap/extension-drag-handle": "^3.4.5",
  71. "@tiptap/extension-file-handler": "^3.0.7",
  72. "@tiptap/extension-floating-menu": "^2.26.1",
  73. "@tiptap/extension-highlight": "^3.3.0",
  74. "@tiptap/extension-image": "^3.0.7",
  75. "@tiptap/extension-link": "^3.0.7",
  76. "@tiptap/extension-list": "^3.0.7",
  77. "@tiptap/extension-mention": "^3.0.9",
  78. "@tiptap/extension-table": "^3.0.7",
  79. "@tiptap/extension-typography": "^3.0.7",
  80. "@tiptap/extension-youtube": "^3.0.7",
  81. "@tiptap/extensions": "^3.0.7",
  82. "@tiptap/pm": "^3.0.7",
  83. "@tiptap/starter-kit": "^3.0.7",
  84. "@tiptap/suggestion": "^3.4.2",
  85. "@xyflow/svelte": "^0.1.19",
  86. "alpinejs": "^3.15.0",
  87. "async": "^3.2.5",
  88. "bits-ui": "^0.21.15",
  89. "chart.js": "^4.5.0",
  90. "codemirror": "^6.0.1",
  91. "codemirror-lang-elixir": "^4.0.0",
  92. "codemirror-lang-hcl": "^0.1.0",
  93. "crc-32": "^1.2.2",
  94. "dayjs": "^1.11.10",
  95. "dompurify": "^3.2.6",
  96. "eventsource-parser": "^1.1.2",
  97. "file-saver": "^2.0.5",
  98. "focus-trap": "^7.6.4",
  99. "fuse.js": "^7.0.0",
  100. "heic2any": "^0.0.4",
  101. "highlight.js": "^11.9.0",
  102. "html-entities": "^2.5.3",
  103. "html2canvas-pro": "^1.5.11",
  104. "i18next": "^23.10.0",
  105. "i18next-browser-languagedetector": "^7.2.0",
  106. "i18next-resources-to-backend": "^1.2.0",
  107. "idb": "^7.1.1",
  108. "js-sha256": "^0.10.1",
  109. "jspdf": "^3.0.0",
  110. "katex": "^0.16.22",
  111. "kokoro-js": "^1.1.1",
  112. "leaflet": "^1.9.4",
  113. "lowlight": "^3.3.0",
  114. "marked": "^9.1.0",
  115. "mermaid": "^11.10.1",
  116. "paneforge": "^0.0.6",
  117. "panzoom": "^9.4.3",
  118. "pdfjs-dist": "^5.4.149",
  119. "prosemirror-collab": "^1.3.1",
  120. "prosemirror-commands": "^1.6.0",
  121. "prosemirror-example-setup": "^1.2.3",
  122. "prosemirror-history": "^1.4.1",
  123. "prosemirror-keymap": "^1.2.2",
  124. "prosemirror-markdown": "^1.13.1",
  125. "prosemirror-model": "^1.23.0",
  126. "prosemirror-schema-basic": "^1.2.3",
  127. "prosemirror-schema-list": "^1.5.1",
  128. "prosemirror-state": "^1.4.3",
  129. "prosemirror-tables": "^1.7.1",
  130. "prosemirror-view": "^1.34.3",
  131. "pyodide": "^0.28.2",
  132. "socket.io-client": "^4.2.0",
  133. "sortablejs": "^1.15.6",
  134. "svelte-sonner": "^0.3.19",
  135. "tippy.js": "^6.3.7",
  136. "turndown": "^7.2.0",
  137. "turndown-plugin-gfm": "^1.0.2",
  138. "undici": "^7.3.0",
  139. "uuid": "^9.0.1",
  140. "vega": "^6.2.0",
  141. "vega-lite": "^6.4.1",
  142. "vite-plugin-static-copy": "^2.2.0",
  143. "y-prosemirror": "^1.3.7",
  144. "yaml": "^2.7.1",
  145. "yjs": "^13.6.27"
  146. },
  147. "engines": {
  148. "node": ">=18.13.0 <=22.x.x",
  149. "npm": ">=6.0.0"
  150. }
  151. }