File size: 2,599 Bytes
48ae63b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
{
	"name": "open-webui",
	"version": "0.3.7",
	"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": "^2.0.0",
		"@sveltejs/adapter-static": "^2.0.3",
		"@sveltejs/kit": "^1.30.0",
		"@tailwindcss/typography": "^0.5.10",
		"@types/bun": "latest",
		"@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": "^8.5.0",
		"eslint-plugin-cypress": "^3.0.2",
		"eslint-plugin-svelte": "^2.30.0",
		"i18next-parser": "^8.13.0",
		"postcss": "^8.4.31",
		"prettier": "^2.8.0",
		"prettier-plugin-svelte": "^2.10.1",
		"svelte": "^4.0.5",
		"svelte-check": "^3.4.3",
		"svelte-confetti": "^1.3.2",
		"tailwindcss": "^3.3.3",
		"tslib": "^2.4.1",
		"typescript": "^5.0.0",
		"vite": "^4.4.2",
		"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": "^1.3.1",
		"async": "^3.2.5",
		"bits-ui": "^0.19.7",
		"codemirror": "^6.0.1",
		"crc-32": "^1.2.2",
		"dayjs": "^1.11.10",
		"eventsource-parser": "^1.1.2",
		"file-saver": "^2.0.5",
		"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",
		"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"
	}
}