sentry-uniapp 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/LICENSE +29 -0
  2. package/README.md +216 -0
  3. package/dist/backend.d.ts +40 -0
  4. package/dist/backend.d.ts.map +1 -0
  5. package/dist/backend.js +68 -0
  6. package/dist/backend.js.map +1 -0
  7. package/dist/client.d.ts +55 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/client.js +51 -0
  10. package/dist/client.js.map +1 -0
  11. package/dist/crossPlatform.d.ts +21 -0
  12. package/dist/crossPlatform.d.ts.map +1 -0
  13. package/dist/crossPlatform.js +79 -0
  14. package/dist/crossPlatform.js.map +1 -0
  15. package/dist/eventbuilder.d.ts +11 -0
  16. package/dist/eventbuilder.d.ts.map +1 -0
  17. package/dist/eventbuilder.js +79 -0
  18. package/dist/eventbuilder.js.map +1 -0
  19. package/dist/flags.d.ts +3 -0
  20. package/dist/flags.d.ts.map +1 -0
  21. package/dist/flags.js +18 -0
  22. package/dist/flags.js.map +1 -0
  23. package/dist/helpers.d.ts +35 -0
  24. package/dist/helpers.d.ts.map +1 -0
  25. package/dist/helpers.js +236 -0
  26. package/dist/helpers.js.map +1 -0
  27. package/dist/index.d.ts +10 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +40 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/integrations/globalhandlers.d.ts +45 -0
  32. package/dist/integrations/globalhandlers.d.ts.map +1 -0
  33. package/dist/integrations/globalhandlers.js +136 -0
  34. package/dist/integrations/globalhandlers.js.map +1 -0
  35. package/dist/integrations/ignoreMpcrawlerErrors.d.ts +21 -0
  36. package/dist/integrations/ignoreMpcrawlerErrors.d.ts.map +1 -0
  37. package/dist/integrations/ignoreMpcrawlerErrors.js +40 -0
  38. package/dist/integrations/ignoreMpcrawlerErrors.js.map +1 -0
  39. package/dist/integrations/index.d.ts +7 -0
  40. package/dist/integrations/index.d.ts.map +1 -0
  41. package/dist/integrations/index.js +14 -0
  42. package/dist/integrations/index.js.map +1 -0
  43. package/dist/integrations/linkederrors.d.ts +40 -0
  44. package/dist/integrations/linkederrors.d.ts.map +1 -0
  45. package/dist/integrations/linkederrors.js +65 -0
  46. package/dist/integrations/linkederrors.js.map +1 -0
  47. package/dist/integrations/router.d.ts +28 -0
  48. package/dist/integrations/router.d.ts.map +1 -0
  49. package/dist/integrations/router.js +47 -0
  50. package/dist/integrations/router.js.map +1 -0
  51. package/dist/integrations/system.d.ts +17 -0
  52. package/dist/integrations/system.d.ts.map +1 -0
  53. package/dist/integrations/system.js +62 -0
  54. package/dist/integrations/system.js.map +1 -0
  55. package/dist/integrations/trycatch.d.ts +26 -0
  56. package/dist/integrations/trycatch.d.ts.map +1 -0
  57. package/dist/integrations/trycatch.js +166 -0
  58. package/dist/integrations/trycatch.js.map +1 -0
  59. package/dist/parsers.d.ts +21 -0
  60. package/dist/parsers.d.ts.map +1 -0
  61. package/dist/parsers.js +97 -0
  62. package/dist/parsers.js.map +1 -0
  63. package/dist/sdk.d.ts +99 -0
  64. package/dist/sdk.d.ts.map +1 -0
  65. package/dist/sdk.js +153 -0
  66. package/dist/sdk.js.map +1 -0
  67. package/dist/tracekit.d.ts +38 -0
  68. package/dist/tracekit.d.ts.map +1 -0
  69. package/dist/tracekit.js +222 -0
  70. package/dist/tracekit.js.map +1 -0
  71. package/dist/transports/base.d.ts +22 -0
  72. package/dist/transports/base.d.ts.map +1 -0
  73. package/dist/transports/base.js +28 -0
  74. package/dist/transports/base.js.map +1 -0
  75. package/dist/transports/index.d.ts +3 -0
  76. package/dist/transports/index.d.ts.map +1 -0
  77. package/dist/transports/index.js +6 -0
  78. package/dist/transports/index.js.map +1 -0
  79. package/dist/transports/xhr.d.ts +10 -0
  80. package/dist/transports/xhr.d.ts.map +1 -0
  81. package/dist/transports/xhr.js +42 -0
  82. package/dist/transports/xhr.js.map +1 -0
  83. package/dist/version.d.ts +3 -0
  84. package/dist/version.d.ts.map +1 -0
  85. package/dist/version.js +5 -0
  86. package/dist/version.js.map +1 -0
  87. package/esm/backend.d.ts +40 -0
  88. package/esm/backend.d.ts.map +1 -0
  89. package/esm/backend.js +66 -0
  90. package/esm/backend.js.map +1 -0
  91. package/esm/client.d.ts +55 -0
  92. package/esm/client.d.ts.map +1 -0
  93. package/esm/client.js +49 -0
  94. package/esm/client.js.map +1 -0
  95. package/esm/crossPlatform.d.ts +21 -0
  96. package/esm/crossPlatform.d.ts.map +1 -0
  97. package/esm/crossPlatform.js +76 -0
  98. package/esm/crossPlatform.js.map +1 -0
  99. package/esm/eventbuilder.d.ts +11 -0
  100. package/esm/eventbuilder.d.ts.map +1 -0
  101. package/esm/eventbuilder.js +75 -0
  102. package/esm/eventbuilder.js.map +1 -0
  103. package/esm/flags.d.ts +3 -0
  104. package/esm/flags.d.ts.map +1 -0
  105. package/esm/flags.js +16 -0
  106. package/esm/flags.js.map +1 -0
  107. package/esm/helpers.d.ts +35 -0
  108. package/esm/helpers.d.ts.map +1 -0
  109. package/esm/helpers.js +229 -0
  110. package/esm/helpers.js.map +1 -0
  111. package/esm/index.d.ts +10 -0
  112. package/esm/index.d.ts.map +1 -0
  113. package/esm/index.js +9 -0
  114. package/esm/index.js.map +1 -0
  115. package/esm/integrations/globalhandlers.d.ts +45 -0
  116. package/esm/integrations/globalhandlers.d.ts.map +1 -0
  117. package/esm/integrations/globalhandlers.js +134 -0
  118. package/esm/integrations/globalhandlers.js.map +1 -0
  119. package/esm/integrations/ignoreMpcrawlerErrors.d.ts +21 -0
  120. package/esm/integrations/ignoreMpcrawlerErrors.d.ts.map +1 -0
  121. package/esm/integrations/ignoreMpcrawlerErrors.js +38 -0
  122. package/esm/integrations/ignoreMpcrawlerErrors.js.map +1 -0
  123. package/esm/integrations/index.d.ts +7 -0
  124. package/esm/integrations/index.d.ts.map +1 -0
  125. package/esm/integrations/index.js +7 -0
  126. package/esm/integrations/index.js.map +1 -0
  127. package/esm/integrations/linkederrors.d.ts +40 -0
  128. package/esm/integrations/linkederrors.d.ts.map +1 -0
  129. package/esm/integrations/linkederrors.js +63 -0
  130. package/esm/integrations/linkederrors.js.map +1 -0
  131. package/esm/integrations/router.d.ts +28 -0
  132. package/esm/integrations/router.d.ts.map +1 -0
  133. package/esm/integrations/router.js +45 -0
  134. package/esm/integrations/router.js.map +1 -0
  135. package/esm/integrations/system.d.ts +17 -0
  136. package/esm/integrations/system.d.ts.map +1 -0
  137. package/esm/integrations/system.js +60 -0
  138. package/esm/integrations/system.js.map +1 -0
  139. package/esm/integrations/trycatch.d.ts +26 -0
  140. package/esm/integrations/trycatch.d.ts.map +1 -0
  141. package/esm/integrations/trycatch.js +164 -0
  142. package/esm/integrations/trycatch.js.map +1 -0
  143. package/esm/parsers.d.ts +21 -0
  144. package/esm/parsers.d.ts.map +1 -0
  145. package/esm/parsers.js +91 -0
  146. package/esm/parsers.js.map +1 -0
  147. package/esm/sdk.d.ts +99 -0
  148. package/esm/sdk.d.ts.map +1 -0
  149. package/esm/sdk.js +145 -0
  150. package/esm/sdk.js.map +1 -0
  151. package/esm/tracekit.d.ts +38 -0
  152. package/esm/tracekit.d.ts.map +1 -0
  153. package/esm/tracekit.js +219 -0
  154. package/esm/tracekit.js.map +1 -0
  155. package/esm/transports/base.d.ts +22 -0
  156. package/esm/transports/base.d.ts.map +1 -0
  157. package/esm/transports/base.js +26 -0
  158. package/esm/transports/base.js.map +1 -0
  159. package/esm/transports/index.d.ts +3 -0
  160. package/esm/transports/index.d.ts.map +1 -0
  161. package/esm/transports/index.js +3 -0
  162. package/esm/transports/index.js.map +1 -0
  163. package/esm/transports/xhr.d.ts +10 -0
  164. package/esm/transports/xhr.d.ts.map +1 -0
  165. package/esm/transports/xhr.js +40 -0
  166. package/esm/transports/xhr.js.map +1 -0
  167. package/esm/version.d.ts +3 -0
  168. package/esm/version.d.ts.map +1 -0
  169. package/esm/version.js +3 -0
  170. package/esm/version.js.map +1 -0
  171. package/package.json +68 -0
package/LICENSE ADDED
@@ -0,0 +1,29 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2019, Sentry
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ * Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ * Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ * Neither the name of the copyright holder nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package/README.md ADDED
@@ -0,0 +1,216 @@
1
+ # Sentry 小程序 SDK
2
+
3
+ ![npm version](https://img.shields.io/npm/v/sentry-miniapp)
4
+ ![npm download](https://img.shields.io/npm/dm/sentry-miniapp)
5
+ ![github forks](https://img.shields.io/github/forks/lizhiyao/sentry-miniapp?style=social)
6
+ ![github stars](https://img.shields.io/github/stars/lizhiyao/sentry-miniapp?style=social)
7
+ ![github watchers](https://img.shields.io/github/watchers/lizhiyao/sentry-miniapp?style=social)
8
+ ![github license](https://img.shields.io/github/license/lizhiyao/sentry-miniapp)
9
+
10
+ 用于小程序平台的 Sentry SDK
11
+
12
+ ## 功能特点
13
+
14
+ - [x] 基于 [sentry-javascript 最新的基础模块](https://www.yuque.com/lizhiyao/dxy/zevhf1#0GMCN) 封装
15
+ - [x] 遵守[官方统一的 API 设计文档](https://www.yuque.com/lizhiyao/dxy/gc3b9r#vQdTs),使用方式和官方保持一致
16
+ - [x] 使用 [TypeScript](https://www.typescriptlang.org/) 进行编写
17
+ - [x] 包含 Sentry SDK(如:[@sentry/browser](https://github.com/getsentry/sentry-javascript/tree/master/packages/browser))的所有基础功能
18
+ - [x] 支持 `ES6`、`CommonJS` 两种模块系统(支持小程序原生开发方式、使用小程序框架开发方式两种开发模式下使用)
19
+ - [x] 默认监听并上报小程序的 onError、onUnhandledRejection、onPageNotFound、onMemoryWarning 事件返回的信息(各事件支持程度与对应各小程序官方保持一致)
20
+ - [x] 默认上报运行小程序的设备、操作系统、应用版本信息
21
+ - [x] 支持微信小程序
22
+ - [x] 支持微信小游戏
23
+ - [x] 支持字节跳动小程序
24
+ - [x] 支持支付宝小程序
25
+ - [x] 支持钉钉小程序
26
+ - [x] 支持百度小程序
27
+ - [x] 支持在 [Taro](https://taro.aotu.io/) 等第三方小程序框架中使用
28
+ - [x] 默认上报异常发生时的路由栈
29
+ - [ ] 完善的代码测试
30
+
31
+ ## 用法
32
+
33
+ 支持两种使用方式:
34
+
35
+ - 直接引用
36
+ - 通过 npm 方式使用(推荐)
37
+
38
+ ### 注意
39
+
40
+ 1. 无论选择哪种使用方式,都需要开启「微信开发者工具 - 设置 - 项目设置 - 增强编译」功能
41
+ 2. 使用前需要确保有可用的 `Sentry Service`,比如:使用 [官方 Sentry Service](https://sentry.io/welcome/) 服务 或[自己搭建 Sentry Service](https://docs.sentry.io/server/)。如果想直接将异常信息上报到 <https://sentry.io/>,由于其没有备案,可以先将异常信息上报给自己已备案域名下的服务端接口,由服务端进行请求转发。
42
+ 3. 在小程序管理后台配置 `Sentry Service` 对应的 `request` 合法域名
43
+
44
+ ### 直接引用
45
+
46
+ 1. 微信小程序和微信小游戏下载 [sentry-miniapp.wx.min.js](https://github.com/lizhiyao/sentry-miniapp/blob/master/examples/weapp/vendor/sentry-miniapp.wx.min.js);字节跳动小程序下载 [sentry-miniapp.tt.min.js](https://github.com/lizhiyao/sentry-miniapp/blob/master/examples/ttapp/vendor/sentry-miniapp.tt.min.js);支付宝小程序下载 [sentry-miniapp.my.min.js](https://github.com/lizhiyao/sentry-miniapp/blob/master/examples/myapp/vendor/sentry-miniapp.my.min.js),钉钉小程序下载 [sentry-miniapp.dd.min.js](https://github.com/lizhiyao/sentry-miniapp/blob/master/examples/ddapp/vendor/sentry-miniapp.dd.min.js)
47
+ 2. 参照 `/examples` 中各项目使用方式,将 `sentry-miniapp.xx.min.js` 放入项目的合适目录中,比如放入 `vendor` 文件夹
48
+ 3. 参照 `/examples/app.js` 代码,进行 `Sentry` 的初始化
49
+ 4. 对于提供了微信、字节跳动小程序 `sentry-miniapp` 会自动上报 `xx.onError()` 捕获的异常,对于支付宝小程序需要应用开发者在 `App.onError()` 中主动进行异常上报。详情可见 `/docs/cross-platform.md`。
50
+
51
+ ### npm 方式
52
+
53
+ 注意:目前字节跳动小程序不支持 npm 方式。
54
+
55
+ 1. 安装依赖
56
+
57
+ ```bash
58
+ npm install sentry-miniapp --save
59
+ # 或者
60
+ yarn add sentry-miniapp
61
+ ```
62
+
63
+ 2. 使用「微信开发者工具 - 工具 - 构建 npm」进行构建,详情可参考[npm 支持](https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html)
64
+
65
+ 3. 在 `app.js` 中引用并初始化 `Sentry`,根据实际需求设置上报到 Sentry 的元信息
66
+
67
+ ```js
68
+ import * as Sentry from "sentry-miniapp";
69
+
70
+ // init Sentry
71
+ // init options: https://github.com/getsentry/sentry-javascript/blob/master/packages/types/src/options.ts
72
+ Sentry.init({
73
+ dsn: "__DSN__",
74
+ // ...
75
+ });
76
+
77
+ // Set user information, as well as tags and further extras
78
+ Sentry.configureScope((scope) => {
79
+ scope.setExtra("battery", 0.7);
80
+ scope.setTag("user_mode", "admin");
81
+ scope.setUser({ id: "4711" });
82
+ // scope.clear();
83
+ });
84
+
85
+ // Add a breadcrumb for future events
86
+ Sentry.addBreadcrumb({
87
+ message: "My Breadcrumb",
88
+ // ...
89
+ });
90
+
91
+ // Capture exceptions, messages or manual events
92
+ Sentry.captureException(new Error("Good bye"));
93
+ Sentry.captureMessage("Hello, world!");
94
+ Sentry.captureEvent({
95
+ message: "Manual",
96
+ stacktrace: [
97
+ // ...
98
+ ],
99
+ });
100
+ ```
101
+
102
+ ## 开发
103
+
104
+ ### 知识储备
105
+
106
+ 开发前请仔细阅读下面内容:
107
+
108
+ - [sentry-javascript README 中文版](https://www.yuque.com/lizhiyao/dxydance/sentry-javascript-readme-cn)
109
+ - [Sentry 开发指南](https://www.yuque.com/lizhiyao/dxydance/sentry-develop-guide)
110
+ - [sentry-javascript 源码阅读](https://www.yuque.com/lizhiyao/dxydance/sentry-javascript-src)
111
+
112
+ #### sentry-core 设计图
113
+
114
+ ![Dashboard](docs/sentry-core.png)
115
+
116
+ #### sentry-hub 设计图
117
+
118
+ ![Dashboard](docs/sentry-hub.png)
119
+
120
+ #### sentry-miniapp 设计图
121
+
122
+ ![Dashboard](docs/sentry-miniapp.png)
123
+
124
+ ### 相关命令
125
+
126
+ ```bash
127
+ # 根据 package.json 中的版本号更新 SDK 源码中的版本号
128
+ npm run version
129
+
130
+ # 构建供小程序直接引用的 sentry-miniapp.xx.min.js;在本地可直接使用开发者工具打开 examples 下具体项目进行调试
131
+ npm run build:dist
132
+
133
+ # 构建供微信小程序直接引用的 sentry-miniapp.wx.min.js
134
+ npm run build:wx
135
+
136
+ # 构建供支付宝小程序直接引用的 sentry-miniapp.my.min.js
137
+ npm run build:my
138
+
139
+ # 构建供钉钉小程序直接引用的 sentry-miniapp.dd.min.js
140
+ npm run build:dd
141
+
142
+ # 构建供字节跳动小程序直接引用的 sentry-miniapp.tt.min.js
143
+ npm run build:tt
144
+
145
+ # 构建供百度小程序直接引用的 sentry-miniapp.swan.min.js
146
+ npm run build:swan
147
+
148
+ # 构建用于发布到 npm 的 dist 资源
149
+ npm run build
150
+
151
+ # 构建用于发布到 npm 的 esm 资源
152
+ npm run build:esm
153
+
154
+ # 发布到 npm
155
+ npm publish --registry=https://registry.npmjs.org/
156
+ ```
157
+
158
+ ## 效果图
159
+
160
+ ![Dashboard](docs/screenshot/sentry-admin.png)
161
+ ![Error00](docs/screenshot/sentry-error-00.png)
162
+ ![Error01](docs/screenshot/sentry-error-01.png)
163
+ ![Error02](docs/screenshot/sentry-error-02.png)
164
+
165
+ ## 谁在使用 sentry-miniapp
166
+
167
+ ### 微信小程序
168
+
169
+ - 丁香医生
170
+ - 丁香医生医生端
171
+ - 丁香人才
172
+ - 丁香家
173
+
174
+ ### 支付宝小程序
175
+
176
+ - 丁香医生
177
+
178
+ ### 字节跳动小程序
179
+
180
+ - 丁香医生
181
+
182
+ ## 参考资料
183
+
184
+ - [sentry-javascript](https://github.com/getsentry/sentry-javascript)
185
+ - [Sentry Getting Started](https://docs.sentry.io/error-reporting/quickstart/?platform=browsernpm)
186
+ - [Sentry JavaScript SDKs](http://getsentry.github.io/sentry-javascript/)
187
+ - [Sentry TypeScript Configuration](https://github.com/getsentry/sentry-javascript/tree/master/packages/typescript)
188
+ - [wx.request](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html)
189
+ - [小程序 App](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html)
190
+ - [wx.onError、App.onError 疑惑及如何捕获 Promise 异常?](https://developers.weixin.qq.com/community/develop/doc/000c8cf5794770272709f38a756000)
191
+ - [shields.io](https://shields.io/)
192
+ - [字节跳动小程序文档](https://developer.toutiao.com/docs/framework/)
193
+ - [支付宝小程序文档](https://docs.alipay.com/mini/developer)
194
+ - [tt.onError 的疑问](http://forum.microapp.bytedance.com/topic/2806/tt-onerror-%E7%96%91%E9%97%AE)
195
+
196
+ ## 其他小程序异常监控产品
197
+
198
+ - [Fundebug](https://www.fundebug.com/)
199
+ - [FrontJS](https://www.frontjs.com/home/tour)
200
+ - [Bugout](https://bugout.testin.cn/)
201
+
202
+ ## 贡献
203
+
204
+ 欢迎通过 `issue`、`pull request`等方式贡献 `sentry-miniapp`。
205
+
206
+ ## 联系作者
207
+
208
+ PS. 由于微信群二维码有时效性限制,想入群的同学还可以加作者微信(添加时请备注 sentry-miniapp),由作者邀请入群
209
+
210
+ ### sentry-miniapp 微信交流群
211
+
212
+ <img src="docs/qrcode/sentry-miniapp.jpeg" alt="微信交流群二维码" width="300" height="400" />
213
+
214
+ ### 作者微信二维码
215
+
216
+ <img src="docs/qrcode/zhiyao.jpeg" alt="作者微信二维码" width="300" height="300" />
@@ -0,0 +1,40 @@
1
+ import { BaseBackend } from "@sentry/core";
2
+ import { Event, EventHint, Options, Severity, Transport } from "@sentry/types";
3
+ /**
4
+ * Configuration options for the Sentry Miniapp SDK.
5
+ * Sentry Miniapp SDK 的配置选项。
6
+ * @see MiniappClient for more information.
7
+ */
8
+ export interface MiniappOptions extends Options {
9
+ /**
10
+ * A pattern for error URLs which should not be sent to Sentry.
11
+ * To whitelist certain errors instead, use {@link Options.whitelistUrls}.
12
+ * By default, all errors will be sent.
13
+ */
14
+ blacklistUrls?: Array<string | RegExp>;
15
+ /**
16
+ * A pattern for error URLs which should exclusively be sent to Sentry.
17
+ * This is the opposite of {@link Options.blacklistUrls}.
18
+ * By default, all errors will be sent.
19
+ */
20
+ whitelistUrls?: Array<string | RegExp>;
21
+ }
22
+ /**
23
+ * The Sentry Browser SDK Backend.
24
+ * @hidden
25
+ */
26
+ export declare class MiniappBackend extends BaseBackend<MiniappOptions> {
27
+ /**
28
+ * @inheritDoc
29
+ */
30
+ protected _setupTransport(): Transport;
31
+ /**
32
+ * @inheritDoc
33
+ */
34
+ eventFromException(exception: any, hint?: EventHint): PromiseLike<Event>;
35
+ /**
36
+ * @inheritDoc
37
+ */
38
+ eventFromMessage(message: string, level?: Severity, hint?: EventHint): PromiseLike<Event>;
39
+ }
40
+ //# sourceMappingURL=backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAM/E;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAEvC;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACxC;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,WAAW,CAAC,cAAc,CAAC;IAC7D;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,SAAS;IAkBtC;;OAEG;IACI,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC;IAe/E;;OAEG;IACI,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,QAAwB,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC;CAWhH"}
@@ -0,0 +1,68 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.MiniappBackend = void 0;
3
+ var tslib_1 = require("tslib");
4
+ var core_1 = require("@sentry/core");
5
+ var types_1 = require("@sentry/types");
6
+ var utils_1 = require("@sentry/utils");
7
+ var eventbuilder_1 = require("./eventbuilder");
8
+ var index_1 = require("./transports/index");
9
+ /**
10
+ * The Sentry Browser SDK Backend.
11
+ * @hidden
12
+ */
13
+ var MiniappBackend = /** @class */ (function (_super) {
14
+ tslib_1.__extends(MiniappBackend, _super);
15
+ function MiniappBackend() {
16
+ return _super !== null && _super.apply(this, arguments) || this;
17
+ }
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ MiniappBackend.prototype._setupTransport = function () {
22
+ if (!this._options.dsn) {
23
+ // We return the noop transport here in case there is no Dsn.
24
+ return _super.prototype._setupTransport.call(this);
25
+ }
26
+ var transportOptions = tslib_1.__assign(tslib_1.__assign({}, this._options.transportOptions), { dsn: this._options.dsn });
27
+ if (this._options.transport) {
28
+ return new this._options.transport(transportOptions);
29
+ }
30
+ return new index_1.XHRTransport(transportOptions);
31
+ };
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ MiniappBackend.prototype.eventFromException = function (exception, hint) {
36
+ var syntheticException = (hint && hint.syntheticException) || undefined;
37
+ var event = eventbuilder_1.eventFromUnknownInput(exception, syntheticException, {
38
+ attachStacktrace: this._options.attachStacktrace,
39
+ });
40
+ utils_1.addExceptionMechanism(event, {
41
+ handled: true,
42
+ type: 'generic',
43
+ });
44
+ event.level = types_1.Severity.Error;
45
+ if (hint && hint.event_id) {
46
+ event.event_id = hint.event_id;
47
+ }
48
+ return utils_1.resolvedSyncPromise(event);
49
+ };
50
+ /**
51
+ * @inheritDoc
52
+ */
53
+ MiniappBackend.prototype.eventFromMessage = function (message, level, hint) {
54
+ if (level === void 0) { level = types_1.Severity.Info; }
55
+ var syntheticException = (hint && hint.syntheticException) || undefined;
56
+ var event = eventbuilder_1.eventFromString(message, syntheticException, {
57
+ attachStacktrace: this._options.attachStacktrace,
58
+ });
59
+ event.level = level;
60
+ if (hint && hint.event_id) {
61
+ event.event_id = hint.event_id;
62
+ }
63
+ return utils_1.resolvedSyncPromise(event);
64
+ };
65
+ return MiniappBackend;
66
+ }(core_1.BaseBackend));
67
+ exports.MiniappBackend = MiniappBackend;
68
+ //# sourceMappingURL=backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAC3C,uCAA+E;AAC/E,uCAA2E;AAE3E,+CAAwE;AACxE,4CAAkD;AAuBlD;;;GAGG;AACH;IAAoC,0CAA2B;IAA/D;;IAsDA,CAAC;IArDC;;OAEG;IACO,wCAAe,GAAzB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACtB,6DAA6D;YAC7D,OAAO,iBAAM,eAAe,WAAE,CAAC;SAChC;QAED,IAAM,gBAAgB,yCACjB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,KACjC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,GACvB,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC3B,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;SACtD;QAED,OAAO,IAAI,oBAAY,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,2CAAkB,GAAzB,UAA0B,SAAc,EAAE,IAAgB;QACxD,IAAM,kBAAkB,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC;QAC1E,IAAM,KAAK,GAAG,oCAAqB,CAAC,SAAS,EAAE,kBAAkB,EAAE;YACjE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB;SACjD,CAAC,CAAC;QACH,6BAAqB,CAAC,KAAK,EAAE;YAC3B,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,GAAG,gBAAQ,CAAC,KAAK,CAAC;QAC7B,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YACzB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SAChC;QACD,OAAO,2BAAmB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IACD;;OAEG;IACI,yCAAgB,GAAvB,UAAwB,OAAe,EAAE,KAA+B,EAAE,IAAgB;QAAjD,sBAAA,EAAA,QAAkB,gBAAQ,CAAC,IAAI;QACtE,IAAM,kBAAkB,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC;QAC1E,IAAM,KAAK,GAAG,8BAAe,CAAC,OAAO,EAAE,kBAAkB,EAAE;YACzD,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB;SACjD,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YACzB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SAChC;QACD,OAAO,2BAAmB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IACH,qBAAC;AAAD,CAAC,AAtDD,CAAoC,kBAAW,GAsD9C;AAtDY,wCAAc","sourcesContent":["import { BaseBackend } from \"@sentry/core\";\nimport { Event, EventHint, Options, Severity, Transport } from \"@sentry/types\";\nimport { addExceptionMechanism, resolvedSyncPromise } from '@sentry/utils';\n\nimport { eventFromString, eventFromUnknownInput } from './eventbuilder';\nimport { XHRTransport } from \"./transports/index\";\n\n/**\n * Configuration options for the Sentry Miniapp SDK.\n * Sentry Miniapp SDK 的配置选项。\n * @see MiniappClient for more information.\n */\nexport interface MiniappOptions extends Options {\n /**\n * A pattern for error URLs which should not be sent to Sentry.\n * To whitelist certain errors instead, use {@link Options.whitelistUrls}.\n * By default, all errors will be sent.\n */\n blacklistUrls?: Array<string | RegExp>;\n\n /**\n * A pattern for error URLs which should exclusively be sent to Sentry.\n * This is the opposite of {@link Options.blacklistUrls}.\n * By default, all errors will be sent.\n */\n whitelistUrls?: Array<string | RegExp>;\n}\n\n/**\n * The Sentry Browser SDK Backend.\n * @hidden\n */\nexport class MiniappBackend extends BaseBackend<MiniappOptions> {\n /**\n * @inheritDoc\n */\n protected _setupTransport(): Transport {\n if (!this._options.dsn) {\n // We return the noop transport here in case there is no Dsn.\n return super._setupTransport();\n }\n\n const transportOptions = {\n ...this._options.transportOptions,\n dsn: this._options.dsn\n };\n\n if (this._options.transport) {\n return new this._options.transport(transportOptions);\n }\n\n return new XHRTransport(transportOptions);\n }\n\n /**\n * @inheritDoc\n */\n public eventFromException(exception: any, hint?: EventHint): PromiseLike<Event> {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromUnknownInput(exception, syntheticException, {\n attachStacktrace: this._options.attachStacktrace,\n });\n addExceptionMechanism(event, {\n handled: true,\n type: 'generic',\n });\n event.level = Severity.Error;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n }\n /**\n * @inheritDoc\n */\n public eventFromMessage(message: string, level: Severity = Severity.Info, hint?: EventHint): PromiseLike<Event> {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromString(message, syntheticException, {\n attachStacktrace: this._options.attachStacktrace,\n });\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n }\n}\n"]}
@@ -0,0 +1,55 @@
1
+ import { BaseClient, Scope } from "@sentry/core";
2
+ import { DsnLike, Event, EventHint } from "@sentry/types";
3
+ import { MiniappBackend, MiniappOptions } from "./backend";
4
+ /**
5
+ * All properties the report dialog supports
6
+ */
7
+ export interface ReportDialogOptions {
8
+ [key: string]: any;
9
+ eventId?: string;
10
+ dsn?: DsnLike;
11
+ user?: {
12
+ email?: string;
13
+ name?: string;
14
+ };
15
+ lang?: string;
16
+ title?: string;
17
+ subtitle?: string;
18
+ subtitle2?: string;
19
+ labelName?: string;
20
+ labelEmail?: string;
21
+ labelComments?: string;
22
+ labelClose?: string;
23
+ labelSubmit?: string;
24
+ errorGeneric?: string;
25
+ errorFormEntry?: string;
26
+ successMessage?: string;
27
+ /** Callback after reportDialog showed up */
28
+ onLoad?(): void;
29
+ }
30
+ /**
31
+ * The Sentry Miniapp SDK Client.
32
+ *
33
+ * @see MiniappOptions for documentation on configuration options.
34
+ * @see SentryClient for usage documentation.
35
+ */
36
+ export declare class MiniappClient extends BaseClient<MiniappBackend, MiniappOptions> {
37
+ /**
38
+ * Creates a new Miniapp SDK instance.
39
+ *
40
+ * @param options Configuration options for this SDK.
41
+ */
42
+ constructor(options?: MiniappOptions);
43
+ /**
44
+ * @inheritDoc
45
+ */
46
+ protected _prepareEvent(event: Event, scope?: Scope, hint?: EventHint): PromiseLike<Event | null>;
47
+ /**
48
+ * Show a report dialog to the user to send feedback to a specific event.
49
+ * 向用户显示报告对话框以将反馈发送到特定事件。---> 小程序上暂时用不到&不考虑。
50
+ *
51
+ * @param options Set individual options for the dialog
52
+ */
53
+ showReportDialog(options?: ReportDialogOptions): void;
54
+ }
55
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,MAAM,CAAC,IAAI,IAAI,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,UAAU,CAAC,cAAc,EAAE,cAAc,CAAC;IAC3E;;;;OAIG;gBACgB,OAAO,GAAE,cAAmB;IAI/C;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;IAkBjG;;;;;OAKG;IACI,gBAAgB,CAAC,OAAO,GAAE,mBAAwB,GAAG,IAAI;CAIjE"}
package/dist/client.js ADDED
@@ -0,0 +1,51 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.MiniappClient = void 0;
3
+ var tslib_1 = require("tslib");
4
+ var core_1 = require("@sentry/core");
5
+ var backend_1 = require("./backend");
6
+ var version_1 = require("./version");
7
+ /**
8
+ * The Sentry Miniapp SDK Client.
9
+ *
10
+ * @see MiniappOptions for documentation on configuration options.
11
+ * @see SentryClient for usage documentation.
12
+ */
13
+ var MiniappClient = /** @class */ (function (_super) {
14
+ tslib_1.__extends(MiniappClient, _super);
15
+ /**
16
+ * Creates a new Miniapp SDK instance.
17
+ *
18
+ * @param options Configuration options for this SDK.
19
+ */
20
+ function MiniappClient(options) {
21
+ if (options === void 0) { options = {}; }
22
+ return _super.call(this, backend_1.MiniappBackend, options) || this;
23
+ }
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ MiniappClient.prototype._prepareEvent = function (event, scope, hint) {
28
+ event.platform = event.platform || "javascript";
29
+ event.sdk = tslib_1.__assign(tslib_1.__assign({}, event.sdk), { name: version_1.SDK_NAME, packages: tslib_1.__spread(((event.sdk && event.sdk.packages) || []), [
30
+ {
31
+ name: "npm:@sentry/miniapp",
32
+ version: version_1.SDK_VERSION
33
+ }
34
+ ]), version: version_1.SDK_VERSION });
35
+ return _super.prototype._prepareEvent.call(this, event, scope, hint);
36
+ };
37
+ /**
38
+ * Show a report dialog to the user to send feedback to a specific event.
39
+ * 向用户显示报告对话框以将反馈发送到特定事件。---> 小程序上暂时用不到&不考虑。
40
+ *
41
+ * @param options Set individual options for the dialog
42
+ */
43
+ MiniappClient.prototype.showReportDialog = function (options) {
44
+ if (options === void 0) { options = {}; }
45
+ // doesn't work without a document (React Native)
46
+ console.log('sentry-miniapp 暂未实现该方法', options);
47
+ };
48
+ return MiniappClient;
49
+ }(core_1.BaseClient));
50
+ exports.MiniappClient = MiniappClient;
51
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,qCAAiD;AAGjD,qCAA2D;AAC3D,qCAAkD;AA6BlD;;;;;GAKG;AACH;IAAmC,yCAA0C;IAC3E;;;;OAIG;IACH,uBAAmB,OAA4B;QAA5B,wBAAA,EAAA,YAA4B;eAC7C,kBAAM,wBAAc,EAAE,OAAO,CAAC;IAChC,CAAC;IAED;;OAEG;IACO,qCAAa,GAAvB,UAAwB,KAAY,EAAE,KAAa,EAAE,IAAgB;QACnE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC;QAChD,KAAK,CAAC,GAAG,yCACJ,KAAK,CAAC,GAAG,KACZ,IAAI,EAAE,kBAAQ,EACd,QAAQ,mBACH,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC5C;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,qBAAW;iBACrB;gBAEH,OAAO,EAAE,qBAAW,GACrB,CAAC;QAEF,OAAO,iBAAM,aAAa,YAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACI,wCAAgB,GAAvB,UAAwB,OAAiC;QAAjC,wBAAA,EAAA,YAAiC;QACvD,iDAAiD;QACjD,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IACH,oBAAC;AAAD,CAAC,AAzCD,CAAmC,iBAAU,GAyC5C;AAzCY,sCAAa","sourcesContent":["import { BaseClient, Scope } from \"@sentry/core\";\nimport { DsnLike, Event, EventHint } from \"@sentry/types\";\n\nimport { MiniappBackend, MiniappOptions } from \"./backend\";\nimport { SDK_NAME, SDK_VERSION } from \"./version\";\n\n/**\n * All properties the report dialog supports\n */\nexport interface ReportDialogOptions {\n [key: string]: any;\n eventId?: string;\n dsn?: DsnLike;\n user?: {\n email?: string;\n name?: string;\n };\n lang?: string;\n title?: string;\n subtitle?: string;\n subtitle2?: string;\n labelName?: string;\n labelEmail?: string;\n labelComments?: string;\n labelClose?: string;\n labelSubmit?: string;\n errorGeneric?: string;\n errorFormEntry?: string;\n successMessage?: string;\n /** Callback after reportDialog showed up */\n onLoad?(): void;\n}\n\n/**\n * The Sentry Miniapp SDK Client.\n *\n * @see MiniappOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nexport class MiniappClient extends BaseClient<MiniappBackend, MiniappOptions> {\n /**\n * Creates a new Miniapp SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n public constructor(options: MiniappOptions = {}) {\n super(MiniappBackend, options);\n }\n\n /**\n * @inheritDoc\n */\n protected _prepareEvent(event: Event, scope?: Scope, hint?: EventHint): PromiseLike<Event | null> {\n event.platform = event.platform || \"javascript\";\n event.sdk = {\n ...event.sdk,\n name: SDK_NAME,\n packages: [\n ...((event.sdk && event.sdk.packages) || []),\n {\n name: \"npm:@sentry/miniapp\",\n version: SDK_VERSION\n }\n ],\n version: SDK_VERSION\n };\n\n return super._prepareEvent(event, scope, hint);\n }\n\n /**\n * Show a report dialog to the user to send feedback to a specific event.\n * 向用户显示报告对话框以将反馈发送到特定事件。---> 小程序上暂时用不到&不考虑。\n *\n * @param options Set individual options for the dialog\n */\n public showReportDialog(options: ReportDialogOptions = {}): void {\n // doesn't work without a document (React Native)\n console.log('sentry-miniapp 暂未实现该方法', options);\n }\n}\n"]}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 小程序平台 SDK 接口
3
+ */
4
+ interface SDK {
5
+ request: Function;
6
+ httpRequest?: Function;
7
+ getSystemInfoSync: Function;
8
+ onError?: Function;
9
+ onUnhandledRejection?: Function;
10
+ onPageNotFound?: Function;
11
+ onMemoryWarning?: Function;
12
+ getLaunchOptionsSync?: Function;
13
+ }
14
+ /**
15
+ * 小程序平台 接口
16
+ */
17
+ declare type AppName = "uniapp" | "wechat" | "alipay" | "bytedance" | "dingtalk" | "qq" | "swan" | "unknown";
18
+ declare const sdk: SDK;
19
+ declare const appName: AppName;
20
+ export { sdk, appName };
21
+ //# sourceMappingURL=crossPlatform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crossPlatform.d.ts","sourceRoot":"","sources":["../src/crossPlatform.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,UAAU,GAAG;IACX,OAAO,EAAE,QAAQ,CAAC;IAClB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,oBAAoB,CAAC,EAAE,QAAQ,CAAC;IAChC,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,oBAAoB,CAAC,EAAE,QAAQ,CAAC;CACjC;AAED;;GAEG;AACH,aAAK,OAAO,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,UAAU,GACV,IAAI,GACJ,MAAM,GACN,SAAS,CAAC;AAmEd,QAAA,MAAM,GAAG,KAAW,CAAC;AACrB,QAAA,MAAM,OAAO,SAAe,CAAC;AAE7B,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,79 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.appName = exports.sdk = void 0;
3
+ /**
4
+ * 获取跨平台的 SDK
5
+ */
6
+ var getSDK = function () {
7
+ var currentSdk = {
8
+ // tslint:disable-next-line: no-empty
9
+ request: function () { },
10
+ // tslint:disable-next-line: no-empty
11
+ httpRequest: function () { },
12
+ // tslint:disable-next-line: no-empty
13
+ getSystemInfoSync: function () { },
14
+ };
15
+ if (typeof uni === "object") {
16
+ currentSdk = uni;
17
+ }
18
+ else if (typeof wx === "object") {
19
+ // tslint:disable-next-line: no-unsafe-any
20
+ currentSdk = uni;
21
+ }
22
+ else if (typeof my === "object") {
23
+ // tslint:disable-next-line: no-unsafe-any
24
+ currentSdk = my;
25
+ }
26
+ else if (typeof tt === "object") {
27
+ // tslint:disable-next-line: no-unsafe-any
28
+ currentSdk = tt;
29
+ }
30
+ else if (typeof dd === "object") {
31
+ // tslint:disable-next-line: no-unsafe-any
32
+ currentSdk = dd;
33
+ }
34
+ else if (typeof qq === "object") {
35
+ // tslint:disable-next-line: no-unsafe-any
36
+ currentSdk = qq;
37
+ }
38
+ else if (typeof swan === "object") {
39
+ // tslint:disable-next-line: no-unsafe-any
40
+ currentSdk = swan;
41
+ }
42
+ else {
43
+ throw new Error("sentry-miniapp 暂不支持此平台");
44
+ }
45
+ return currentSdk;
46
+ };
47
+ /**
48
+ * 获取平台名称
49
+ */
50
+ var getAppName = function () {
51
+ var currentAppName = "unknown";
52
+ if (typeof uni === "object") {
53
+ currentAppName = "uniapp";
54
+ }
55
+ else if (typeof wx === "object") {
56
+ currentAppName = "wechat";
57
+ }
58
+ else if (typeof my === "object") {
59
+ currentAppName = "alipay";
60
+ }
61
+ else if (typeof tt === "object") {
62
+ currentAppName = "bytedance";
63
+ }
64
+ else if (typeof dd === "object") {
65
+ currentAppName = "dingtalk";
66
+ }
67
+ else if (typeof qq === "object") {
68
+ currentAppName = "qq";
69
+ }
70
+ else if (typeof swan === "object") {
71
+ currentAppName = "swan";
72
+ }
73
+ return currentAppName;
74
+ };
75
+ var sdk = getSDK();
76
+ exports.sdk = sdk;
77
+ var appName = getAppName();
78
+ exports.appName = appName;
79
+ //# sourceMappingURL=crossPlatform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crossPlatform.js","sourceRoot":"","sources":["../src/crossPlatform.ts"],"names":[],"mappings":";;AAmCA;;GAEG;AACH,IAAM,MAAM,GAAG;IACb,IAAI,UAAU,GAAQ;QACpB,qCAAqC;QACrC,OAAO,EAAE,cAAO,CAAC;QACjB,qCAAqC;QACrC,WAAW,EAAE,cAAO,CAAC;QACrB,qCAAqC;QACrC,iBAAiB,EAAE,cAAO,CAAC;KAC5B,CAAC;IAEF,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,UAAU,GAAG,GAAG,CAAC;KAClB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,0CAA0C;QAC1C,UAAU,GAAG,GAAG,CAAC;KAClB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,0CAA0C;QAC1C,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,0CAA0C;QAC1C,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,0CAA0C;QAC1C,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,0CAA0C;QAC1C,UAAU,GAAG,EAAE,CAAC;KACjB;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,0CAA0C;QAC1C,UAAU,GAAG,IAAI,CAAC;KACnB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF;;GAEG;AACH,IAAM,UAAU,GAAG;IACjB,IAAI,cAAc,GAAY,SAAS,CAAC;IAExC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,cAAc,GAAG,QAAQ,CAAC;KAC3B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,QAAQ,CAAC;KAC3B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,QAAQ,CAAC;KAC3B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,WAAW,CAAC;KAC9B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,UAAU,CAAC;KAC7B;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,cAAc,GAAG,IAAI,CAAC;KACvB;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,cAAc,GAAG,MAAM,CAAC;KACzB;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,IAAM,GAAG,GAAG,MAAM,EAAE,CAAC;AAGZ,kBAAG;AAFZ,IAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAEf,0BAAO","sourcesContent":["declare const uni: any; // uniapp\ndeclare const wx: any; // 微信小程序、微信小游戏\ndeclare const my: any; // 支付宝小程序\ndeclare const tt: any; // 字节跳动小程序\ndeclare const dd: any; // 钉钉小程序\ndeclare const qq: any; // QQ 小程序、QQ 小游戏\ndeclare const swan: any; // 百度小程序\n\n/**\n * 小程序平台 SDK 接口\n */\ninterface SDK {\n request: Function;\n httpRequest?: Function; // 针对钉钉小程序\n getSystemInfoSync: Function;\n onError?: Function;\n onUnhandledRejection?: Function;\n onPageNotFound?: Function;\n onMemoryWarning?: Function;\n getLaunchOptionsSync?: Function;\n}\n\n/**\n * 小程序平台 接口\n */\ntype AppName =\n | \"uniapp\"\n | \"wechat\"\n | \"alipay\"\n | \"bytedance\"\n | \"dingtalk\"\n | \"qq\"\n | \"swan\"\n | \"unknown\";\n\n/**\n * 获取跨平台的 SDK\n */\nconst getSDK = () => {\n let currentSdk: SDK = {\n // tslint:disable-next-line: no-empty\n request: () => {},\n // tslint:disable-next-line: no-empty\n httpRequest: () => {},\n // tslint:disable-next-line: no-empty\n getSystemInfoSync: () => {},\n };\n\n if (typeof uni === \"object\") {\n currentSdk = uni;\n } else if (typeof wx === \"object\") {\n // tslint:disable-next-line: no-unsafe-any\n currentSdk = uni;\n } else if (typeof my === \"object\") {\n // tslint:disable-next-line: no-unsafe-any\n currentSdk = my;\n } else if (typeof tt === \"object\") {\n // tslint:disable-next-line: no-unsafe-any\n currentSdk = tt;\n } else if (typeof dd === \"object\") {\n // tslint:disable-next-line: no-unsafe-any\n currentSdk = dd;\n } else if (typeof qq === \"object\") {\n // tslint:disable-next-line: no-unsafe-any\n currentSdk = qq;\n } else if (typeof swan === \"object\") {\n // tslint:disable-next-line: no-unsafe-any\n currentSdk = swan;\n } else {\n throw new Error(\"sentry-miniapp 暂不支持此平台\");\n }\n\n return currentSdk;\n};\n\n/**\n * 获取平台名称\n */\nconst getAppName = () => {\n let currentAppName: AppName = \"unknown\";\n\n if (typeof uni === \"object\") {\n currentAppName = \"uniapp\";\n } else if (typeof wx === \"object\") {\n currentAppName = \"wechat\";\n } else if (typeof my === \"object\") {\n currentAppName = \"alipay\";\n } else if (typeof tt === \"object\") {\n currentAppName = \"bytedance\";\n } else if (typeof dd === \"object\") {\n currentAppName = \"dingtalk\";\n } else if (typeof qq === \"object\") {\n currentAppName = \"qq\";\n } else if (typeof swan === \"object\") {\n currentAppName = \"swan\";\n }\n\n return currentAppName;\n};\n\nconst sdk = getSDK();\nconst appName = getAppName();\n\nexport { sdk, appName };\n"]}
@@ -0,0 +1,11 @@
1
+ import { Event } from '@sentry/types';
2
+ /** JSDoc */
3
+ export declare function eventFromUnknownInput(exception: unknown, syntheticException?: Error, options?: {
4
+ rejection?: boolean;
5
+ attachStacktrace?: boolean;
6
+ }): Event;
7
+ /** JSDoc */
8
+ export declare function eventFromString(input: string, syntheticException?: Error, options?: {
9
+ attachStacktrace?: boolean;
10
+ }): Event;
11
+ //# sourceMappingURL=eventbuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventbuilder.d.ts","sourceRoot":"","sources":["../src/eventbuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAetC,YAAY;AACZ,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,OAAO,EAClB,kBAAkB,CAAC,EAAE,KAAK,EAC1B,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,GACL,KAAK,CAwDP;AAGD,YAAY;AACZ,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,kBAAkB,CAAC,EAAE,KAAK,EAC1B,OAAO,GAAE;IACP,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,GACL,KAAK,CAcP"}