{
  "name": "kargo-ui",
  "version": "0.0.1",
  "main": "index.js",
  "scripts": {
    "dev": "vite --host 0.0.0.0",
    "dev:local-api": "API_URL=http://localhost:8080 vite",
    "build": "vite build",
    "lint": "eslint . --max-warnings=0",
    "lint:fix": "eslint . --fix",
    "generate:proto-extensions": "node hack/generate-proto-extensions.mjs",
    "generate:schema": "zx ./hack/generate-schema.mjs && node hack/generate-directive-schema.mjs",
    "typecheck": "tsc --project ./tsconfig.json --noEmit",
    "test": "vitest"
  },
  "license": "ISC",
  "devDependencies": {
    "@apidevtools/json-schema-ref-parser": "^11.7.0",
    "@eslint/compat": "^1.1.1",
    "@openapi-contrib/openapi-schema-to-json-schema": "^5.1.0",
    "@tanstack/react-query-devtools": "^5.59.0",
    "@types/json-schema": "^7.0.15",
    "@types/node": "^22.7.4",
    "@types/react": "^18.3.11",
    "@types/react-dom": "^18.3.0",
    "@types/react-infinite-scroller": "^1.2.5",
    "@types/semver": "^7.5.8",
    "@typescript-eslint/eslint-plugin": "^8.7.0",
    "@typescript-eslint/parser": "^8.7.0",
    "@vitejs/plugin-react": "^4.3.2",
    "autoprefixer": "^10.4.20",
    "cssnano": "^7.0.6",
    "eslint": "^9.11.1",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-import": "^2.30.0",
    "eslint-plugin-prettier": "^5.2.1",
    "eslint-plugin-react": "^7.36.1",
    "eslint-plugin-react-refresh": "^0.4.12",
    "globals": "^15.9.0",
    "json-stable-stringify": "^1.1.1",
    "less": "^4.2.0",
    "postcss": "^8.4.47",
    "prettier": "^3.3.3",
    "tailwindcss": "^3.4.13",
    "ts-morph": "^23.0.0",
    "typescript": "^5.6.2",
    "vite": "^5.4.8",
    "vite-plugin-compression": "^0.5.1",
    "vite-tsconfig-paths": "^5.0.1",
    "vitest": "^2.1.2",
    "zx": "^8.1.8"
  },
  "packageManager": "pnpm@9.0.3",
  "dependencies": {
    "@bufbuild/protobuf": "1.10.0",
    "@connectrpc/connect": "1.5.0",
    "@connectrpc/connect-query": "1.4.2",
    "@connectrpc/connect-web": "1.5.0",
    "@fortawesome/fontawesome-svg-core": "^6.6.0",
    "@fortawesome/free-brands-svg-icons": "^6.6.0",
    "@fortawesome/free-solid-svg-icons": "^6.6.0",
    "@fortawesome/react-fontawesome": "^0.2.2",
    "@hookform/resolvers": "^3.9.0",
    "@monaco-editor/react": "^4.6.0",
    "@rjsf/antd": "^5.21.1",
    "@rjsf/core": "^5.21.1",
    "@rjsf/utils": "^5.21.2",
    "@rjsf/validator-ajv8": "^5.21.1",
    "@tanstack/react-query": "^5.56.2",
    "@types/dagre": "^0.7.52",
    "antd": "^5.21.2",
    "classnames": "^2.5.1",
    "dagre": "^0.8.5",
    "date-fns": "^4.1.0",
    "moment": "^2.30.1",
    "monaco-editor": "^0.52.0",
    "monaco-yaml": "^5.2.2",
    "oauth4webapi": "^2.17.0",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "react-hook-form": "^7.53.0",
    "react-router-dom": "^6.26.2",
    "recharts": "^2.12.7",
    "semver": "^7.6.3",
    "vite-plugin-monaco-editor": "^1.1.0",
    "yaml": "^2.5.1",
    "zod": "^3.23.8"
  }
}
