{ "name": "homelab-topology", "private": true, "version": "1.0.0", "type": "module", "scripts": { "dev": "vite", "build": "tsc -b && vite build", "lint": "eslint .", "preview": "vite preview", "discover": "npx tsx src/services/sshDiscovery.ts", "server": "tsx server/index.ts" }, "dependencies": { "@types/cors": "^2.8.19", "@types/dagre": "^0.7.53", "@types/express": "^5.0.6", "@xterm/addon-fit": "^0.11.0", "@xterm/xterm": "^6.0.0", "@xyflow/react": "^12.4.4", "cors": "^2.8.6", "dagre": "^0.8.5", "express": "^5.2.1", "lucide-react": "^0.468.0", "react": "^18.3.1", "react-dom": "^18.3.1", "recharts": "^2.15.0", "zustand": "^5.0.2" }, "devDependencies": { "@eslint/js": "^9.17.0", "@types/node": "^22.0.0", "@types/react": "^18.3.18", "@types/react-dom": "^18.3.5", "@types/ssh2": "^1.15.0", "@vitejs/plugin-react": "^4.3.4", "autoprefixer": "^10.4.20", "eslint": "^9.17.0", "eslint-plugin-react-hooks": "^5.0.0", "eslint-plugin-react-refresh": "^0.4.16", "globals": "^15.14.0", "postcss": "^8.4.49", "tailwindcss": "^3.4.17", "tsx": "^4.19.0", "typescript": "~5.6.2", "typescript-eslint": "^8.18.2", "vite": "^6.0.5" } }