{"_id":"@brightdb/perf-advisor-ui","name":"@brightdb/perf-advisor-ui","dist-tags":{"latest":"1.0.14"},"versions":{"1.0.14":{"name":"@brightdb/perf-advisor-ui","version":"1.0.14","main":"dist/cjs/index.js","types":"dist/types.d.ts","author":{"name":"Rajagopalan Madhavan"},"license":"MIT","devDependencies":{"@rollup/plugin-commonjs":"^24.1.0","@rollup/plugin-image":"2.1.1","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.2","@rollup/plugin-replace":"5.0.2","@rollup/plugin-terser":"0.4.4","@rollup/plugin-typescript":"^11.1.0","@testing-library/jest-dom":"^5.16.5","@testing-library/user-event":"^13.5.0","@types/mui-datatables":"3.7.4","@typescript-eslint/eslint-plugin":"5.62.0","@typescript-eslint/parser":"5.62.0","eslint-config-prettier":"8.3.0","eslint-plugin-import":"2.23.4","reverse-sourcemap":"^1.0.4","rollup":"2.79.1","rollup-plugin-dts":"4.2.3","rollup-plugin-peer-deps-external":"2.2.4","rollup-plugin-postcss":"^4.0.2","rollup-plugin-visualizer":"5.12.0","source-map-explorer":"^2.5.3","standard-version":"9.5.0"},"dependencies":{"@material-ui/core":"4.12.3","@material-ui/icons":"4.11.2","@material-ui/lab":"4.0.0-alpha.58","@svgr/rollup":"6.5.1","@types/lodash-es":"4.17.6","@types/node":"18.14.0","@types/react":"17.0.4","@types/react-dom":"17.0.3","@types/react-router":"3.0.24","@types/react-router-dom":"5.3.3","axios":"0.21.3","clsx":"1.1.1","date-fns":"2.30.0","date-fns-tz":"2.0.1","highlight.js":"11.7.0","lodash-es":"4.17.21","material-ui-pickers-v4":"3.3.12","mui-datatables":"3.8.5","plotly.js":"2.28.0","postcss":"^8.5.10","prettier":"2.1.0","react":"17.0.2","react-dom":"17.0.2","react-hook-form":"7.40.0","react-query":"3.32.1","react-router":"3.2.6","react-router-dom":"5.3.3","react-toastify":"7.0.3","typescript":"4.9.3","vis-timeline":"7.7.3","web-vitals":"2.1.4"},"prettier":{"printWidth":100,"singleQuote":true,"trailingComma":"none"},"peerDependencies":{"@material-ui/core":"4.12.3","@material-ui/icons":"4.11.2","@material-ui/lab":"4.0.0-alpha.58","mui-datatables":"3.8.5","react":"17.0.2","react-dom":"17.0.2","react-query":"3.32.1","vis-timeline":"7.7.3"},"scripts":{"start":"rollup start","build":"NODE_ENV=production rollup -c --bundleConfigAsCjs","build:dev":"NODE_ENV=development rollup -c --bundleConfigAsCjs","changelog":"standard-version","release":"npm install && npm run build && npm publish"},"sideEffects":false,"eslintConfig":{"extends":["react-app","react-app/jest"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_id":"@brightdb/perf-advisor-ui@1.0.14","description":"BrightDB Performance Advisor React UI 组件库，用于诊断和分析 BrightDB 应用问题。","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-4YUVGVZIeRwO5W1a+p+1b63wn+qbMdmqZHTuQyMRj6t+3ekO6aL45tEOfpV87+xa28QAOwmDvlsvwFvSqjdZ7g==","shasum":"0e6ce2acf8e4d5a0de19e566ef2a3fc139790868","tarball":"https://registry.npmjs.org/@brightdb/perf-advisor-ui/-/perf-advisor-ui-1.0.14.tgz","fileCount":97,"unpackedSize":8452737,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAV+4xeEvvk7H0fny97VDU3DXXnU8VOYSf/PO5KPOdN7AiBuPZqX0277aHOkWJkRw2i3bkXmqE+P2rdcRN4ccueOgw=="}]},"_npmUser":{"name":"xueyongsheng","email":"641260476@qq.com"},"directories":{},"maintainers":[{"name":"xueyongsheng","email":"641260476@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/perf-advisor-ui_1.0.14_1776672692621_0.17408113418871585"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-20T08:11:32.533Z","1.0.14":"2026-04-20T08:11:32.869Z","modified":"2026-04-20T08:11:33.073Z"},"maintainers":[{"name":"xueyongsheng","email":"641260476@qq.com"}],"description":"BrightDB Performance Advisor React UI 组件库，用于诊断和分析 BrightDB 应用问题。","author":{"name":"Rajagopalan Madhavan"},"license":"MIT","readme":"# @brightdb/perf-advisor-ui\n\nBrightDB Performance Advisor React UI 组件库，用于诊断和分析 BrightDB 应用问题。\n\n## 技术栈\n\n- **React** 17.0.2\n- **TypeScript** 4.9.3\n- **Material-UI** 4.12.3\n- **react-query** 3.32.1 (数据获取/缓存)\n- **plotly.js** 2.28.0 (图表)\n- **vis-timeline** 7.7.3 (时间线)\n- **Rollup** 2.79.1 (构建)\n\n## 安装\n\n```bash\nnpm install @brightdb/perf-advisor-ui\n```\n\n## 使用方法\n\n```tsx\nimport { PerfAdvisorEntry, AppName } from '@brightdb/perf-advisor-ui';\n\nfunction App() {\n  return (\n    <PerfAdvisorEntry\n      universeUuid=\"your-universe-uuid\"\n      timezone=\"Asia/Shanghai\"\n      appName={AppName.BMA}\n      apiUrl=\"https://your-api.com\"\n      onSelectedIssue={(issue) => console.log(issue)}\n      onSelectedQuery={(query) => console.log(query)}\n    />\n  );\n}\n```\n\n## 主要组件\n\n### 业务组件\n\n| 组件 | 说明 |\n|------|------|\n| `PerfAdvisorEntry` | 主入口组件 |\n| `PerfAdvisorTabs` | 选项卡导航 (Anomalies, Queries, Metrics, Insights) |\n| `PerfAdvisorGantChart` | 时间线/甘特图 |\n| `GraphView` | Plotly 图表渲染 |\n| `AnomalyRCAView` | Root Cause Analysis 视图 |\n\n### 通用组件\n\n| 组件 | 说明 |\n|------|------|\n| `BMButton` | 按钮 (支持 primary, secondary, ghost, pill 变体) |\n| `BMAlert` | 警告提示 |\n| `BMInput` / `BMInputField` | 输入框 |\n| `BMSelect` | 下拉选择 |\n| `BMModal` / `BMSidePanel` | 弹窗/侧边栏 |\n| `BMTable` | 表格 |\n| `BMDateTimePicker` | 日期时间选择 |\n| `BMToggle` | 开关 |\n| `useToast` | Toast 通知 |\n\n## API 层\n\n```typescript\nimport { PerfAdvisorAPI, QUERY_KEY } from '@brightdb/perf-advisor-ui';\n\n// 获取异常列表\nconst anomalies = await PerfAdvisorAPI.fetchAnomalies(universeUuid, startTime, endTime);\n\n// 获取图表数据\nconst graphs = await PerfAdvisorAPI.fetchGraphs(universeUuid, params, apiUrl);\n```\n\n## 类型定义\n\n```typescript\nimport { AppName, MetricMeasure, AnomalyCategory, SplitMode } from '@brightdb/perf-advisor-ui';\n\nconst measure = MetricMeasure.OVERALL;\nconst category = AnomalyCategory.DB;\n```\n\n## 开发\n\n```bash\n# 安装依赖\nnpm install\n\n# 开发构建\nnpm run build:dev\n\n# 生产构建\nnpm run build\n\n# 发布\nnpm run release\n```\n\n## 项目结构\n\n```\nsrc/\n├── api.ts                 # API 服务层\n├── index.ts               # 入口文件\n├── assets/                # SVG 资源\n├── common/                # 通用 UI 组件\n│   ├── BMButton/\n│   ├── BMAlert/\n│   ├── BMModal/\n│   ├── BMTable/\n│   └── ...\n├── components/            # 业务组件\n│   ├── PrimaryDashboard/  # 主仪表板\n│   ├── SecondaryDashboard/ # 详情分析\n│   ├── ConfigureUniverse/  # Universe 配置\n│   └── RuntimeConfigs/     # 运行时配置\n├── helpers/               # 工具函数\n│   ├── constants.ts        # 常量\n│   ├── dtos.ts            # 类型定义\n│   ├── utils.ts           # 工具函数\n│   └── objectUtils.ts     # 对象工具\n└── types/                 # TypeScript 类型声明\n    └── svg.d.ts           # SVG 模块声明\n```\n\n## 构建产物\n\n```\ndist/cjs/\n├── index.js      # 编译后的 JavaScript\n├── index.css     # 样式文件\n└── types/        # TypeScript 类型声明\n```\n\n## License\n\nMIT","readmeFilename":"README.md","_rev":"1-5365bc2d81205ba207806171661b4a66"}