{"_id":"@damenluo/sentry-miniapp","_rev":"3-dd1f563d1de05a7d66d9c2ae4158c1d4","name":"@damenluo/sentry-miniapp","dist-tags":{"latest":"10.27.0-rc.3"},"versions":{"10.27.0-rc.1":{"name":"@damenluo/sentry-miniapp","version":"10.27.0-rc.1","keywords":["sentry","miniprogram","miniapp","weapp","wechat","alipay","bytedance","baidu","dingtalk","taro","error-tracking","monitoring","tracing","performance","apm"],"author":{"name":"junqing258"},"license":"BSD-3-Clause","_id":"@damenluo/sentry-miniapp@10.27.0-rc.1","maintainers":[{"name":"junqing258","email":"junqing258@gmail.com"}],"homepage":"https://github.com/junqing258/sentry-miniapp#readme","bugs":{"url":"https://github.com/junqing258/sentry-miniapp/issues"},"dist":{"shasum":"a03520f72bed9e48965f44edb12c6b0ecc194102","tarball":"https://registry.npmjs.org/@damenluo/sentry-miniapp/-/sentry-miniapp-10.27.0-rc.1.tgz","fileCount":6,"integrity":"sha512-yFG4K6WsCd/Wa5l2gIPYHYzC+xXQYBoOIiQZtDwDqxEa69YMJYsnDTWGG87QAh1zOVav4eixSqiR+8WN3KtSPQ==","signatures":[{"sig":"MEYCIQDnYqXt/LE0DdQm0EK/t8d9ThLo1oSz0XFrBY8YbFOeJgIhALBFXOXh4f2nXrA7OuPF/YgKySIdSlr9XwG9d1SgrkNc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400545},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"ae9ecda535ae1b7c802e2a2e7ea0d9129d70845e","scripts":{"lint":"tsc --noEmit","test":"echo \"Error: no test specified\" && exit 1","build":"vite build --minify terser","prepack":"vite build","version":"node ./scripts/versionbump.js src/version.ts","dev:weapp":"vite build --mode dev --watch --outDir examples/weapp/libs/sentry"},"_npmUser":{"name":"junqing258","email":"junqing258@gmail.com"},"repository":{"url":"git+https://github.com/junqing258/sentry-miniapp.git","type":"git"},"_npmVersion":"10.9.3","description":"用于小程序/小游戏平台的 Sentry SDK","directories":{},"miniprogram":"dist","sideEffects":["./src/polyfills/*.ts","./dist/index.js","./dist/index.mjs","./dist/index.cjs"],"_nodeVersion":"22.20.0","dependencies":{"@sentry/core":"10.27.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.0","terser":"^5.37.0","install":"^0.13.0","minimist":"^1.2.8","@swc/core":"^1.15.3","typescript":"^5.7.2","@types/node":"^12.7.1","change-case":"^5.4.4","replace-in-file":"^8.3.0","vite-plugin-dts":"^4.5.4","miniprogram-api-typings":"^4.0.4"},"_npmOperationalInternal":{"tmp":"tmp/sentry-miniapp_10.27.0-rc.1_1764352506934_0.7613600258866682","host":"s3://npm-registry-packages-npm-production"}},"10.27.0-rc.2":{"name":"@damenluo/sentry-miniapp","version":"10.27.0-rc.2","keywords":["sentry","miniprogram","miniapp","weapp","wechat","alipay","bytedance","baidu","dingtalk","taro","error-tracking","monitoring","tracing","performance","apm"],"author":{"name":"junqing258"},"license":"BSD-3-Clause","_id":"@damenluo/sentry-miniapp@10.27.0-rc.2","maintainers":[{"name":"junqing258","email":"junqing258@gmail.com"}],"homepage":"https://github.com/junqing258/sentry-miniapp#readme","bugs":{"url":"https://github.com/junqing258/sentry-miniapp/issues"},"dist":{"shasum":"1daff176cd97ff8d4b50591c6d53c6e8b258dc1d","tarball":"https://registry.npmjs.org/@damenluo/sentry-miniapp/-/sentry-miniapp-10.27.0-rc.2.tgz","fileCount":8,"integrity":"sha512-zVIBXkjmwwvhT4a5htYjtxzoXfhHTHLx9FtjqPpYw5PSB5MT43eMXgOpmBY1bXi7se7tkEubw9R1Ff+BK3PJww==","signatures":[{"sig":"MEYCIQDOz+mbBoHyZKZ5EIXZkuAoNt8mKgLN+Je67SqskePcOwIhAIJFj366Mgal/FN/U/5JXPcGyQe+yeZ6vFkdc7VqffzV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2131439},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"9a37a01f8a342679a3ce5db629ea0271fad618e6","scripts":{"lint":"tsc --noEmit","test":"echo \"Error: no test specified\" && exit 1","build":"vite build --minify terser","prepack":"vite build","version":"node ./scripts/versionbump.js src/version.ts","dev:weapp":"vite build --mode dev --watch --outDir examples/weapp/vendor/sentry","dev:alipay":"vite build --mode dev --watch --outDir examples/alipay/vendor/sentry"},"_npmUser":{"name":"junqing258","email":"junqing258@gmail.com"},"repository":{"url":"git+https://github.com/junqing258/sentry-miniapp.git","type":"git"},"_npmVersion":"10.9.3","description":"用于小程序/小游戏平台的 Sentry SDK","directories":{},"miniprogram":"dist","sideEffects":["./src/polyfills/*.ts","./dist/index.js","./dist/index.js","./dist/index.cjs"],"_nodeVersion":"22.20.0","dependencies":{"@sentry/core":"10.27.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.0","terser":"^5.37.0","install":"^0.13.0","minimist":"^1.2.8","@swc/core":"^1.15.3","typescript":"^5.7.2","@types/node":"^12.7.1","change-case":"^5.4.4","replace-in-file":"^8.3.0","vite-plugin-dts":"^4.5.4","miniprogram-api-typings":"^4.0.4"},"_npmOperationalInternal":{"tmp":"tmp/sentry-miniapp_10.27.0-rc.2_1765435145840_0.8215367796487152","host":"s3://npm-registry-packages-npm-production"}},"10.27.0-rc.3":{"name":"@damenluo/sentry-miniapp","version":"10.27.0-rc.3","description":"用于小程序/小游戏平台的 Sentry SDK","repository":{"type":"git","url":"git+https://github.com/junqing258/sentry-miniapp.git"},"homepage":"https://github.com/junqing258/sentry-miniapp#readme","bugs":{"url":"https://github.com/junqing258/sentry-miniapp/issues"},"license":"BSD-3-Clause","author":{"name":"junqing258"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"miniprogram":"dist","type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs","default":"./dist/index.js"},"./package.json":"./package.json"},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","sideEffects":["./src/polyfills/*.ts","./dist/index.js","./dist/index.js","./dist/index.cjs"],"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"vite build --minify terser","dev:weapp":"vite build --mode dev --watch --outDir examples/weapp/vendor/sentry","dev:alipay":"vite build --mode dev --watch --outDir examples/alipay/vendor/sentry","prepack":"vite build","lint":"tsc --noEmit","version":"node ./scripts/versionbump.js src/version.ts"},"keywords":["sentry","miniprogram","miniapp","weapp","wechat","alipay","bytedance","baidu","dingtalk","taro","error-tracking","monitoring","tracing","performance","apm"],"engines":{"node":">=16"},"devDependencies":{"@swc/core":"^1.15.3","@types/node":"^12.7.1","change-case":"^5.4.4","install":"^0.13.0","minimist":"^1.2.8","miniprogram-api-typings":"^4.0.4","replace-in-file":"^8.3.0","terser":"^5.37.0","typescript":"^5.7.2","vite":"^7.2.0","vite-plugin-dts":"^4.5.4"},"dependencies":{"@sentry/core":"10.27.0"},"_id":"@damenluo/sentry-miniapp@10.27.0-rc.3","gitHead":"d6f4d277f87a2114e4eed8662210f0b777981141","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-I9s/0k86J97htVH7EKEFM7VcZ/MMFEJPgdksDgbfPSStUp7uC5WYpZxtPuprFPMk7j7yYApTtAlaIClUUECFlQ==","shasum":"082fb397b3b26afaa298d46e67e39c675f4d8b6e","tarball":"https://registry.npmjs.org/@damenluo/sentry-miniapp/-/sentry-miniapp-10.27.0-rc.3.tgz","fileCount":8,"unpackedSize":2129101,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHUpUpoVFMgb89p9sOtjlDsQ3PTP+gsV9qRvDmSYrWfXAiAkF8dWa4XQua059dbxwb6CPT+tUir3P+2tyoBDOQ6Qlg=="}]},"_npmUser":{"name":"junqing258","email":"junqing258@gmail.com"},"directories":{},"maintainers":[{"name":"junqing258","email":"junqing258@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sentry-miniapp_10.27.0-rc.3_1767610723296_0.17198164869569155"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-28T17:55:06.886Z","modified":"2026-01-05T10:58:43.735Z","10.27.0-rc.1":"2025-11-28T17:55:07.135Z","10.27.0-rc.2":"2025-12-11T06:39:06.052Z","10.27.0-rc.3":"2026-01-05T10:58:43.508Z"},"bugs":{"url":"https://github.com/junqing258/sentry-miniapp/issues"},"author":{"name":"junqing258"},"license":"BSD-3-Clause","homepage":"https://github.com/junqing258/sentry-miniapp#readme","keywords":["sentry","miniprogram","miniapp","weapp","wechat","alipay","bytedance","baidu","dingtalk","taro","error-tracking","monitoring","tracing","performance","apm"],"repository":{"type":"git","url":"git+https://github.com/junqing258/sentry-miniapp.git"},"description":"用于小程序/小游戏平台的 Sentry SDK","maintainers":[{"name":"junqing258","email":"junqing258@gmail.com"}],"readme":"# Sentry 小程序 SDK\n\n[![npm version](https://img.shields.io/npm/v/@damenluo/sentry-miniapp.svg)](https://www.npmjs.com/package/@damenluo/sentry-miniapp)\n[![npm downloads](https://img.shields.io/npm/dm/@damenluo/sentry-miniapp.svg)](https://www.npmjs.com/package/@damenluo/sentry-miniapp)\n[![license](https://img.shields.io/npm/l/@damenluo/sentry-miniapp.svg)](https://github.com/junqing258/sentry-miniapp/blob/master/LICENSE)\n[![Sentry](https://img.shields.io/badge/sentry-10.27.0-blueviolet)](https://github.com/getsentry/sentry-javascript)\n\n> 用于小程序/小游戏平台的 Sentry SDK，支持错误监控、性能追踪 (Tracing)、日志记录 (Logger) 和指标收集 (Metrics)。\n\n## ✨ 功能特点\n\n### 平台支持\n\n| 平台           | 错误监控 | Tracing | Logger | Metrics |\n| -------------- | :------: | :-----: | :----: | :-----: |\n| 微信小程序     |    ✅    |   ✅    |   ✅   |   ✅    |ß\n| 微信小游戏     |    ✅    |   🚫    |   ✅   |   ✅    |\n| 支付宝小程序   |    ✅    |   ✅    |   ✅   |   ✅    |\n| 字节跳动小程序 |          |         |        |         |\n| 钉钉小程序     |          |         |        |         |\n| 百度小程序     |          |         |        |         |\n\n### 核心功能\n\n- **错误监控** - 自动捕获 `onError`、`onUnhandledRejection`、`onPageNotFound`、`onMemoryWarning` 事件\n- **性能追踪** - 支持页面加载、导航、网络请求的自动埋点\n- **日志记录** - 支持 `Sentry.logger` 结构化日志\n- **指标收集** - 支持 `Sentry.metrics` 自定义指标\n- **路由追踪** - 自动上报异常发生时的路由栈\n- **设备信息** - 自动收集设备、操作系统、应用版本信息\n- **框架兼容** - 支持 [Taro](https://taro.aotu.io/)、[uni-app](https://uniapp.dcloud.io/) 等第三方框架\n- **模块支持** - 同时支持 `ES Module` 和 `CommonJS`\n\n## 📦 安装\n\n### 方式一：NPM 安装\n\n```bash\nnpm install @damenluo/sentry-miniapp\n```\n\n### 方式二：复制 dist 产物\n\n将 `dist` 目录拷贝到项目中（如 `/libs/sentry/`）。\n\n## 🚀 快速开始\n\n在 `app.js` 或入口文件中初始化：\n\n```ts\nimport * as Sentry from \"@damenluo/sentry-miniapp\";\n// 或复制方式：import * as Sentry from '@/vendor/sentry-miniapp/index.js';\n\nSentry.init({\n  dsn: \"YOUR_SENTRY_DSN\",\n  tracesSampleRate: 1.0,\n  integrations: [\n    Sentry.miniappTracingIntegration({\n      traceContinuityMode: \"link\",\n    }),\n  ],\n});\n\n// 设置用户信息\nSentry.setUser({ id: \"12345\" });\nSentry.setTag(\"environment\", \"production\");\n```\n\n## ⚙️ 配置选项\n\n### 基础配置\n\n| 选项               | 类型      | 默认值         | 说明                 |\n| ------------------ | --------- | -------------- | -------------------- |\n| `dsn`              | `string`  | -              | Sentry DSN（必填）   |\n| `tracesSampleRate` | `number`  | `0`            | 性能追踪采样率 (0-1) |\n| `debug`            | `boolean` | `false`        | 是否开启调试模式     |\n| `environment`      | `string`  | `'production'` | 环境标识             |\n| `release`          | `string`  | -              | 版本标识             |\n\n### Tracing 配置\n\n通过 `miniappTracingIntegration` 配置性能追踪：\n\n```ts\nSentry.miniappTracingIntegration({\n  // Trace 连续性模式\n  // 'session' - 整个会话共享同一个 traceId\n  // 'link'    - 每次导航新 traceId，通过 span link 关联（推荐）\n  // 'off'     - 每次导航完全独立\n  traceContinuityMode: \"link\",\n\n  // 继承前一个 trace 的采样决定\n  consistentTraceSampling: false,\n\n  // 自动埋点页面加载\n  instrumentPageLoad: true,\n\n  // 自动埋点页面导航\n  instrumentNavigation: true,\n\n  // Idle span 超时时间 (ms)\n  idleTimeout: 1000,\n\n  // 最大 span 持续时间 (ms)\n  finalTimeout: 30000,\n\n  // 子 span 超时时间 (ms)\n  childSpanTimeout: 15000,\n\n  // 自定义 span 名称\n  beforeStartSpan: (options) => ({\n    ...options,\n    name: `Custom: ${options.name}`,\n  }),\n});\n```\n\n## 📖 API 参考\n\n### 错误捕获\n\n```ts\n// 捕获异常\nSentry.captureException(new Error(\"Something went wrong\"));\n\n// 捕获消息\nSentry.captureMessage(\"User clicked button\");\n\n// 捕获自定义事件\nSentry.captureEvent({\n  message: \"Custom event\",\n  level: \"info\",\n});\n```\n\n### 用户上下文\n\n```ts\n// 设置用户\nSentry.setUser({ id: \"12345\", email: \"user@example.com\" });\n\n// 设置标签\nSentry.setTag(\"page\", \"home\");\nSentry.setTags({ feature: \"checkout\", version: \"1.0.0\" });\n\n// 设置额外数据\nSentry.setExtra(\"order_id\", \"98765\");\nSentry.setContext(\"device\", { battery: 0.8 });\n```\n\n### 面包屑\n\n```ts\nSentry.addBreadcrumb({\n  category: \"ui\",\n  message: \"User clicked checkout button\",\n  level: \"info\",\n});\n```\n\n### 性能追踪\n\n```ts\n// 手动创建 span\nSentry.startSpan({ name: \"fetchData\", op: \"http.client\" }, async (span) => {\n  const data = await fetchData();\n  span.setStatus({ code: 1, message: \"ok\" });\n  return data;\n});\n\n// 获取当前活跃 span\nconst activeSpan = Sentry.getActiveSpan();\n```\n\n### 日志记录\n\n```ts\nSentry.logger.info(\"User logged in\", { userId: \"12345\" });\nSentry.logger.warn(\"API response slow\", { duration: 2000 });\nSentry.logger.error(\"Payment failed\", { orderId: \"98765\" });\n```\n\n### 指标收集\n\n```ts\n// 计数器\nSentry.metrics.count(\"button_clicks\", 1, { tags: { button: \"checkout\" } });\n\n// 分布\nSentry.metrics.distribution(\"api_latency\", 150, { unit: \"millisecond\" });\n\n// 计量\nSentry.metrics.gauge(\"active_users\", 42);\n```\n\n## 🔧 高级用法\n\n### 自定义 Integrations\n\n```ts\nSentry.init({\n  dsn: \"YOUR_DSN\",\n  integrations: [\n    // 自定义控制台捕获\n    Sentry.captureConsoleIntegration({ levels: [\"error\", \"warn\"] }),\n    // 额外错误数据\n    Sentry.extraErrorDataIntegration(),\n    // 重写堆栈帧\n    Sentry.rewriteFramesIntegration({ root: \"/\" }),\n  ],\n});\n```\n\n### 作用域管理\n\n```ts\nSentry.withScope((scope) => {\n  scope.setTag(\"transaction\", \"payment\");\n  scope.setLevel(\"warning\");\n  Sentry.captureMessage(\"Payment processing\");\n});\n```\n\n## 📋 更新日志\n\n项目基于 [sentry-miniapp](https://github.com/lizhiyao/sentry-miniapp) 优化，主要改进：\n\n- **fix** - 修复微信小程序异常信息栈解析问题\n- **feat** - 新增小程序 Tracing 性能追踪支持\n- **feat** - 新增 Logger 结构化日志支持\n- **feat** - 新增 Metrics 指标收集支持\n- **chore** - 升级 @sentry/core 至 10.27.0\n- **chore** - 使用 Vite 优化打包构建\n\n## 🤝 贡献\n\n欢迎提交 Issue 和 Pull Request！\n\n## 📄 License\n\n[BSD-3-Clause](./LICENSE)\n","readmeFilename":"README.md"}