{ "name": "opsxapi", "private": true, "type": "module", "scripts": { "dev": "vite --host 127.0.0.1 --port 5173", "dev:ui": "vite --host 127.0.0.1 --port 5173", "build": "npm run typecheck && vite build", "build:ui": "npm run build", "preview": "vite preview --host 127.0.0.1 --port 5173", "tauri": "tauri", "dev:desktop": "tauri dev", "build:desktop": "tauri build", "test": "vitest run", "test:core": "vitest run src/core", "test:transport": "vitest run src/transport", "test:ui": "vitest run src/features", "typecheck": "tsc -p tsconfig.app.json --noEmit" }, "engines": { "node": ">=20" }, "dependencies": { "@tauri-apps/api": "^2.5.0", "@tauri-apps/plugin-opener": "^2.7.1", "js-yaml": "^5.4.2", "mqtt": "^5.16.0", "react": "^19.0.0", "react-dom": "^19.0.0", "socket.io-client": "^4.8.3", "zustand": "^5.0.15" }, "devDependencies": { "@tauri-apps/cli": "^2.4.0", "@types/js-yaml": "^4.0.9", "@types/node": "^22.20.3", "@types/react": "^19.0.10", "@types/react-dom": "^19.0.4", "@vitejs/plugin-react": "^4.4.1", "autoprefixer": "^10.4.21", "playwright": "^1.55.0", "postcss": "^8.5.3", "tailwindcss": "^3.4.17", "typescript": "^5.8.2", "vite": "^6.2.2", "vitest": "^3.2.7" } }