Repository navigation
Expand file tree
/
Copy pathpackage.json
More file actions
88 lines (88 loc) · 2.45 KB
/
Copy pathpackage.json
File metadata and controls
88 lines (88 loc) · 2.45 KB
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
82
83
84
85
86
87
88
{
"name": "personal-workbench",
"private": true,
"version": "1.0.0",
"type": "module",
"description": "Self-hosted homelab dashboard — tasks, Proxmox VE monitoring, AI news feed, knowledge base and an AI assistant. 面向家庭实验室的单人控制台。",
"keywords": [
"homelab",
"homelab-dashboard",
"self-hosted",
"dashboard",
"control-panel",
"proxmox",
"proxmox-ve",
"home-assistant",
"monitoring",
"power-consumption",
"ai-news",
"ai-assistant",
"knowledge-base",
"task-management",
"react",
"typescript",
"vite",
"tailwindcss",
"express",
"mysql",
"家庭实验室",
"个人工作台"
],
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/yjscloud/personal-workbench.git"
},
"homepage": "https://github.com/yjscloud/personal-workbench#readme",
"bugs": {
"url": "https://github.com/yjscloud/personal-workbench/issues"
},
"scripts": {
"dev": "concurrently -n api,web -c \"#E9A23B,#58C7E0\" \"npm:dev:server\" \"npm:dev:web\"",
"dev:server": "node --watch server/index.js",
"dev:web": "vite",
"build": "vite build",
"typecheck": "tsc --noEmit",
"start": "cross-env NODE_ENV=production node server/index.js",
"preview": "vite preview",
"db:init": "mysql -uroot -p < server/db/bootstrap.sql",
"db:migrate": "node server/db/migrate.js",
"hermes:probe": "node server/tools/hermes-probe.js",
"auth:reset": "node server/tools/auth-reset.js"
},
"dependencies": {
"@mixmark-io/domino": "^2.2.0",
"cors": "^2.8.5",
"d3-force": "^3.0.0",
"dotenv": "^16.4.5",
"express": "^4.19.2",
"github-slugger": "^2.0.0",
"mysql2": "^3.24.5",
"node-cron": "^3.0.3",
"react-markdown": "^10.1.0",
"rehype-slug": "^6.0.0",
"remark-breaks": "^4.0.0",
"remark-gfm": "^4.0.1",
"turndown": "^7.2.4",
"turndown-plugin-gfm": "^1.0.2"
},
"devDependencies": {
"@types/d3-force": "^3.0.10",
"@types/node": "^22.5.0",
"@types/react": "^18.3.5",
"@types/react-dom": "^18.3.0",
"@vitejs/plugin-react": "^4.3.1",
"autoprefixer": "^10.4.20",
"concurrently": "^9.0.1",
"cross-env": "^7.0.3",
"lucide-react": "^0.441.0",
"postcss": "^8.4.45",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-router-dom": "^6.26.2",
"recharts": "^2.12.7",
"tailwindcss": "^3.4.10",
"typescript": "^5.5.4",
"vite": "^5.4.3"
}
}