|
{ |
|
"name": "open-webui", |
|
"version": "0.3.28", |
|
"private": true, |
|
"scripts": { |
|
"dev": "npm run pyodide:fetch && vite dev --host", |
|
"build": "npm run pyodide:fetch && vite build", |
|
"preview": "vite preview", |
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", |
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", |
|
"lint": "npm run lint:frontend ; npm run lint:types ; npm run lint:backend", |
|
"lint:frontend": "eslint . --fix", |
|
"lint:types": "npm run check", |
|
"lint:backend": "pylint backend/", |
|
"format": "prettier --plugin-search-dir --write \"**/*.{js,ts,svelte,css,md,html,json}\"", |
|
"format:backend": "black . --exclude \".venv/|/venv/\"", |
|
"i18n:parse": "i18next --config i18next-parser.config.ts && prettier --write \"src/lib/i18n/**/*.{js,json}\"", |
|
"cy:open": "cypress open", |
|
"test:frontend": "vitest --passWithNoTests", |
|
"pyodide:fetch": "node scripts/prepare-pyodide.js" |
|
}, |
|
"devDependencies": { |
|
"@sveltejs/adapter-auto": "3.2.2", |
|
"@sveltejs/adapter-static": "^3.0.2", |
|
"@sveltejs/kit": "^2.5.20", |
|
"@sveltejs/vite-plugin-svelte": "^3.1.1", |
|
"@tailwindcss/typography": "^0.5.13", |
|
"@typescript-eslint/eslint-plugin": "^6.17.0", |
|
"@typescript-eslint/parser": "^6.17.0", |
|
"autoprefixer": "^10.4.16", |
|
"cypress": "^13.8.1", |
|
"eslint": "^8.56.0", |
|
"eslint-config-prettier": "^9.1.0", |
|
"eslint-plugin-cypress": "^3.4.0", |
|
"eslint-plugin-svelte": "^2.43.0", |
|
"i18next-parser": "^9.0.1", |
|
"postcss": "^8.4.31", |
|
"prettier": "^3.3.3", |
|
"prettier-plugin-svelte": "^3.2.6", |
|
"svelte": "^4.2.18", |
|
"svelte-check": "^3.8.5", |
|
"svelte-confetti": "^1.3.2", |
|
"tailwindcss": "^3.3.3", |
|
"tslib": "^2.4.1", |
|
"typescript": "^5.5.4", |
|
"vite": "^5.3.5", |
|
"vitest": "^1.6.0" |
|
}, |
|
"type": "module", |
|
"dependencies": { |
|
"@codemirror/lang-javascript": "^6.2.2", |
|
"@codemirror/lang-python": "^6.1.6", |
|
"@codemirror/theme-one-dark": "^6.1.2", |
|
"@pyscript/core": "^0.4.32", |
|
"@sveltejs/adapter-node": "^2.0.0", |
|
"@xyflow/svelte": "^0.1.19", |
|
"async": "^3.2.5", |
|
"bits-ui": "^0.19.7", |
|
"codemirror": "^6.0.1", |
|
"crc-32": "^1.2.2", |
|
"dayjs": "^1.11.10", |
|
"dompurify": "^3.1.6", |
|
"eventsource-parser": "^1.1.2", |
|
"file-saver": "^2.0.5", |
|
"fuse.js": "^7.0.0", |
|
"highlight.js": "^11.9.0", |
|
"i18next": "^23.10.0", |
|
"i18next-browser-languagedetector": "^7.2.0", |
|
"i18next-resources-to-backend": "^1.2.0", |
|
"idb": "^7.1.1", |
|
"js-sha256": "^0.10.1", |
|
"katex": "^0.16.9", |
|
"marked": "^9.1.0", |
|
"mermaid": "^10.9.1", |
|
"paneforge": "^0.0.6", |
|
"pyodide": "^0.26.1", |
|
"socket.io-client": "^4.2.0", |
|
"sortablejs": "^1.15.2", |
|
"svelte-sonner": "^0.3.19", |
|
"tippy.js": "^6.3.7", |
|
"turndown": "^7.2.0", |
|
"uuid": "^9.0.1" |
|
}, |
|
"engines": { |
|
"node": ">=18.13.0 <=21.x.x", |
|
"npm": ">=6.0.0" |
|
} |
|
} |
|
|