{ "name": "bangui-frontend", "private": true, "version": "0.9.4", "description": "BanGUI frontend — fail2ban web management interface", "type": "module", "scripts": { "dev": "vite", "build": "tsc --noEmit && vite build", "preview": "vite preview", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "typecheck": "tsc --noEmit", "format": "prettier --write 'src/**/*.{ts,tsx,css}'", "test": "vitest run --config vitest.config.ts", "coverage": "vitest run --config vitest.config.ts --coverage" }, "dependencies": { "@fluentui/react-components": "^9.55.0", "@fluentui/react-icons": "^2.0.257", "@types/react-simple-maps": "^3.0.6", "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^6.27.0", "react-simple-maps": "^3.0.0", "recharts": "^3.8.0" }, "devDependencies": { "@eslint/js": "^9.13.0", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@types/node": "^25.3.2", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@typescript-eslint/eslint-plugin": "^8.13.0", "@typescript-eslint/parser": "^8.13.0", "@vitejs/plugin-react": "^4.3.3", "@vitest/coverage-v8": "^4.0.18", "eslint": "^9.13.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-react-hooks": "^5.0.0", "jiti": "^2.6.1", "jsdom": "^28.1.0", "prettier": "^3.3.3", "typescript": "^5.6.3", "typescript-eslint": "^8.56.1", "vite": "^5.4.11", "vitest": "^4.0.18" } }