sentry-uniapp 1.0.12 → 2.8.1

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 (375) hide show
  1. package/README.md +11 -9
  2. package/dist/client.d.ts +42 -40
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +62 -41
  5. package/dist/client.js.map +1 -1
  6. package/dist/crossPlatform.d.ts +1 -1
  7. package/dist/crossPlatform.d.ts.map +1 -1
  8. package/dist/crossPlatform.js +26 -10
  9. package/dist/crossPlatform.js.map +1 -1
  10. package/dist/debug.d.ts +4 -0
  11. package/dist/debug.d.ts.map +1 -0
  12. package/dist/debug.js +23 -0
  13. package/dist/debug.js.map +1 -0
  14. package/dist/eventbuilder.d.ts +9 -10
  15. package/dist/eventbuilder.d.ts.map +1 -1
  16. package/dist/eventbuilder.js +131 -58
  17. package/dist/eventbuilder.js.map +1 -1
  18. package/dist/flags.js +1 -0
  19. package/dist/flags.js.map +1 -1
  20. package/dist/index.d.ts +10 -9
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +84 -21
  23. package/dist/index.js.map +1 -1
  24. package/dist/integrations/globalhandlers.d.ts +10 -44
  25. package/dist/integrations/globalhandlers.d.ts.map +1 -1
  26. package/dist/integrations/globalhandlers.js +101 -134
  27. package/dist/integrations/globalhandlers.js.map +1 -1
  28. package/dist/integrations/ignoreMpcrawlerErrors.d.ts +3 -18
  29. package/dist/integrations/ignoreMpcrawlerErrors.d.ts.map +1 -1
  30. package/dist/integrations/ignoreMpcrawlerErrors.js +28 -28
  31. package/dist/integrations/ignoreMpcrawlerErrors.js.map +1 -1
  32. package/dist/integrations/index.d.ts +4 -6
  33. package/dist/integrations/index.d.ts.map +1 -1
  34. package/dist/integrations/index.js +12 -10
  35. package/dist/integrations/index.js.map +1 -1
  36. package/dist/integrations/router.d.ts +6 -24
  37. package/dist/integrations/router.d.ts.map +1 -1
  38. package/dist/integrations/router.js +39 -42
  39. package/dist/integrations/router.js.map +1 -1
  40. package/dist/integrations/system.d.ts +5 -16
  41. package/dist/integrations/system.d.ts.map +1 -1
  42. package/dist/integrations/system.js +62 -60
  43. package/dist/integrations/system.js.map +1 -1
  44. package/dist/parsers.d.ts +2 -2
  45. package/dist/parsers.d.ts.map +1 -1
  46. package/dist/parsers.js +27 -26
  47. package/dist/parsers.js.map +1 -1
  48. package/dist/polyfills.d.ts +5 -0
  49. package/dist/polyfills.d.ts.map +1 -0
  50. package/dist/polyfills.js +100 -0
  51. package/dist/polyfills.js.map +1 -0
  52. package/dist/sdk.d.ts +10 -85
  53. package/dist/sdk.d.ts.map +1 -1
  54. package/dist/sdk.js +69 -127
  55. package/dist/sdk.js.map +1 -1
  56. package/dist/tracekit.js +35 -33
  57. package/dist/tracekit.js.map +1 -1
  58. package/dist/transport.d.ts +7 -0
  59. package/dist/transport.d.ts.map +1 -0
  60. package/dist/transport.js +75 -0
  61. package/dist/transport.js.map +1 -0
  62. package/dist/transports/index.d.ts +1 -2
  63. package/dist/transports/index.d.ts.map +1 -1
  64. package/dist/transports/index.js +4 -4
  65. package/dist/transports/index.js.map +1 -1
  66. package/dist/version.d.ts +1 -1
  67. package/dist/version.d.ts.map +1 -1
  68. package/dist/version.js +2 -2
  69. package/dist/version.js.map +1 -1
  70. package/esm/client.d.ts +42 -40
  71. package/esm/client.d.ts.map +1 -1
  72. package/esm/client.js +59 -40
  73. package/esm/client.js.map +1 -1
  74. package/esm/crossPlatform.d.ts +1 -1
  75. package/esm/crossPlatform.d.ts.map +1 -1
  76. package/esm/crossPlatform.js +25 -10
  77. package/esm/crossPlatform.js.map +1 -1
  78. package/esm/debug.d.ts +4 -0
  79. package/esm/debug.d.ts.map +1 -0
  80. package/esm/debug.js +18 -0
  81. package/esm/debug.js.map +1 -0
  82. package/esm/eventbuilder.d.ts +9 -10
  83. package/esm/eventbuilder.d.ts.map +1 -1
  84. package/esm/eventbuilder.js +125 -52
  85. package/esm/eventbuilder.js.map +1 -1
  86. package/esm/flags.js +1 -1
  87. package/esm/flags.js.map +1 -1
  88. package/esm/index.d.ts +10 -9
  89. package/esm/index.d.ts.map +1 -1
  90. package/esm/index.js +13 -8
  91. package/esm/index.js.map +1 -1
  92. package/esm/integrations/globalhandlers.d.ts +10 -44
  93. package/esm/integrations/globalhandlers.d.ts.map +1 -1
  94. package/esm/integrations/globalhandlers.js +99 -133
  95. package/esm/integrations/globalhandlers.js.map +1 -1
  96. package/esm/integrations/ignoreMpcrawlerErrors.d.ts +3 -18
  97. package/esm/integrations/ignoreMpcrawlerErrors.d.ts.map +1 -1
  98. package/esm/integrations/ignoreMpcrawlerErrors.js +25 -26
  99. package/esm/integrations/ignoreMpcrawlerErrors.js.map +1 -1
  100. package/esm/integrations/index.d.ts +4 -6
  101. package/esm/integrations/index.d.ts.map +1 -1
  102. package/esm/integrations/index.js +5 -6
  103. package/esm/integrations/index.js.map +1 -1
  104. package/esm/integrations/router.d.ts +6 -24
  105. package/esm/integrations/router.d.ts.map +1 -1
  106. package/esm/integrations/router.js +37 -41
  107. package/esm/integrations/router.js.map +1 -1
  108. package/esm/integrations/system.d.ts +5 -16
  109. package/esm/integrations/system.d.ts.map +1 -1
  110. package/esm/integrations/system.js +60 -59
  111. package/esm/integrations/system.js.map +1 -1
  112. package/esm/parsers.d.ts +2 -2
  113. package/esm/parsers.d.ts.map +1 -1
  114. package/esm/parsers.js +20 -19
  115. package/esm/parsers.js.map +1 -1
  116. package/esm/polyfills.d.ts +5 -0
  117. package/esm/polyfills.d.ts.map +1 -0
  118. package/esm/polyfills.js +100 -0
  119. package/esm/polyfills.js.map +1 -0
  120. package/esm/sdk.d.ts +10 -85
  121. package/esm/sdk.d.ts.map +1 -1
  122. package/esm/sdk.js +63 -120
  123. package/esm/sdk.js.map +1 -1
  124. package/esm/tracekit.js +33 -31
  125. package/esm/tracekit.js.map +1 -1
  126. package/esm/transport.d.ts +7 -0
  127. package/esm/transport.d.ts.map +1 -0
  128. package/esm/transport.js +71 -0
  129. package/esm/transport.js.map +1 -0
  130. package/esm/transports/index.d.ts +1 -2
  131. package/esm/transports/index.d.ts.map +1 -1
  132. package/esm/transports/index.js +1 -2
  133. package/esm/transports/index.js.map +1 -1
  134. package/esm/version.d.ts +1 -1
  135. package/esm/version.d.ts.map +1 -1
  136. package/esm/version.js +2 -3
  137. package/esm/version.js.map +1 -1
  138. package/package.json +23 -27
  139. package/dist/backend.d.ts +0 -41
  140. package/dist/backend.d.ts.map +0 -1
  141. package/dist/backend.js +0 -68
  142. package/dist/backend.js.map +0 -1
  143. package/dist/helpers.d.ts +0 -35
  144. package/dist/helpers.d.ts.map +0 -1
  145. package/dist/helpers.js +0 -236
  146. package/dist/helpers.js.map +0 -1
  147. package/dist/integrations/linkederrors.d.ts +0 -40
  148. package/dist/integrations/linkederrors.d.ts.map +0 -1
  149. package/dist/integrations/linkederrors.js +0 -65
  150. package/dist/integrations/linkederrors.js.map +0 -1
  151. package/dist/integrations/trycatch.d.ts +0 -26
  152. package/dist/integrations/trycatch.d.ts.map +0 -1
  153. package/dist/integrations/trycatch.js +0 -166
  154. package/dist/integrations/trycatch.js.map +0 -1
  155. package/dist/package.json +0 -52
  156. package/dist/sentry-uniapp.min.js +0 -3
  157. package/dist/sentry-uniapp.min.js.LICENSE.txt +0 -14
  158. package/dist/sentry-uniapp.min.js.map +0 -1
  159. package/dist/src/backend.d.ts +0 -41
  160. package/dist/src/backend.d.ts.map +0 -1
  161. package/dist/src/backend.js +0 -68
  162. package/dist/src/backend.js.map +0 -1
  163. package/dist/src/client.d.ts +0 -55
  164. package/dist/src/client.d.ts.map +0 -1
  165. package/dist/src/client.js +0 -51
  166. package/dist/src/client.js.map +0 -1
  167. package/dist/src/crossPlatform.d.ts +0 -18
  168. package/dist/src/crossPlatform.d.ts.map +0 -1
  169. package/dist/src/crossPlatform.js +0 -80
  170. package/dist/src/crossPlatform.js.map +0 -1
  171. package/dist/src/eventbuilder.d.ts +0 -11
  172. package/dist/src/eventbuilder.d.ts.map +0 -1
  173. package/dist/src/eventbuilder.js +0 -79
  174. package/dist/src/eventbuilder.js.map +0 -1
  175. package/dist/src/flags.d.ts +0 -3
  176. package/dist/src/flags.d.ts.map +0 -1
  177. package/dist/src/flags.js +0 -18
  178. package/dist/src/flags.js.map +0 -1
  179. package/dist/src/helpers.d.ts +0 -35
  180. package/dist/src/helpers.d.ts.map +0 -1
  181. package/dist/src/helpers.js +0 -236
  182. package/dist/src/helpers.js.map +0 -1
  183. package/dist/src/index.d.ts +0 -10
  184. package/dist/src/index.d.ts.map +0 -1
  185. package/dist/src/index.js +0 -40
  186. package/dist/src/index.js.map +0 -1
  187. package/dist/src/integrations/globalhandlers.d.ts +0 -47
  188. package/dist/src/integrations/globalhandlers.d.ts.map +0 -1
  189. package/dist/src/integrations/globalhandlers.js +0 -153
  190. package/dist/src/integrations/globalhandlers.js.map +0 -1
  191. package/dist/src/integrations/ignoreMpcrawlerErrors.d.ts +0 -21
  192. package/dist/src/integrations/ignoreMpcrawlerErrors.d.ts.map +0 -1
  193. package/dist/src/integrations/ignoreMpcrawlerErrors.js +0 -40
  194. package/dist/src/integrations/ignoreMpcrawlerErrors.js.map +0 -1
  195. package/dist/src/integrations/index.d.ts +0 -7
  196. package/dist/src/integrations/index.d.ts.map +0 -1
  197. package/dist/src/integrations/index.js +0 -14
  198. package/dist/src/integrations/index.js.map +0 -1
  199. package/dist/src/integrations/linkederrors.d.ts +0 -40
  200. package/dist/src/integrations/linkederrors.d.ts.map +0 -1
  201. package/dist/src/integrations/linkederrors.js +0 -65
  202. package/dist/src/integrations/linkederrors.js.map +0 -1
  203. package/dist/src/integrations/router.d.ts +0 -28
  204. package/dist/src/integrations/router.d.ts.map +0 -1
  205. package/dist/src/integrations/router.js +0 -47
  206. package/dist/src/integrations/router.js.map +0 -1
  207. package/dist/src/integrations/system.d.ts +0 -17
  208. package/dist/src/integrations/system.d.ts.map +0 -1
  209. package/dist/src/integrations/system.js +0 -65
  210. package/dist/src/integrations/system.js.map +0 -1
  211. package/dist/src/integrations/trycatch.d.ts +0 -26
  212. package/dist/src/integrations/trycatch.d.ts.map +0 -1
  213. package/dist/src/integrations/trycatch.js +0 -166
  214. package/dist/src/integrations/trycatch.js.map +0 -1
  215. package/dist/src/parsers.d.ts +0 -21
  216. package/dist/src/parsers.d.ts.map +0 -1
  217. package/dist/src/parsers.js +0 -97
  218. package/dist/src/parsers.js.map +0 -1
  219. package/dist/src/sdk.d.ts +0 -99
  220. package/dist/src/sdk.d.ts.map +0 -1
  221. package/dist/src/sdk.js +0 -155
  222. package/dist/src/sdk.js.map +0 -1
  223. package/dist/src/tracekit.d.ts +0 -38
  224. package/dist/src/tracekit.d.ts.map +0 -1
  225. package/dist/src/tracekit.js +0 -222
  226. package/dist/src/tracekit.js.map +0 -1
  227. package/dist/src/transports/base.d.ts +0 -22
  228. package/dist/src/transports/base.d.ts.map +0 -1
  229. package/dist/src/transports/base.js +0 -28
  230. package/dist/src/transports/base.js.map +0 -1
  231. package/dist/src/transports/index.d.ts +0 -3
  232. package/dist/src/transports/index.d.ts.map +0 -1
  233. package/dist/src/transports/index.js +0 -6
  234. package/dist/src/transports/index.js.map +0 -1
  235. package/dist/src/transports/xhr.d.ts +0 -10
  236. package/dist/src/transports/xhr.d.ts.map +0 -1
  237. package/dist/src/transports/xhr.js +0 -42
  238. package/dist/src/transports/xhr.js.map +0 -1
  239. package/dist/src/version.d.ts +0 -3
  240. package/dist/src/version.d.ts.map +0 -1
  241. package/dist/src/version.js +0 -6
  242. package/dist/src/version.js.map +0 -1
  243. package/dist/transports/base.d.ts +0 -22
  244. package/dist/transports/base.d.ts.map +0 -1
  245. package/dist/transports/base.js +0 -28
  246. package/dist/transports/base.js.map +0 -1
  247. package/dist/transports/xhr.d.ts +0 -10
  248. package/dist/transports/xhr.d.ts.map +0 -1
  249. package/dist/transports/xhr.js +0 -42
  250. package/dist/transports/xhr.js.map +0 -1
  251. package/dist/utils/debug-build.d.ts +0 -7
  252. package/dist/utils/debug-build.d.ts.map +0 -1
  253. package/dist/utils/debug-build.js +0 -9
  254. package/dist/utils/debug-build.js.map +0 -1
  255. package/dist/utils/logger.d.ts +0 -16
  256. package/dist/utils/logger.d.ts.map +0 -1
  257. package/dist/utils/logger.js +0 -50
  258. package/dist/utils/logger.js.map +0 -1
  259. package/esm/backend.d.ts +0 -41
  260. package/esm/backend.d.ts.map +0 -1
  261. package/esm/backend.js +0 -66
  262. package/esm/backend.js.map +0 -1
  263. package/esm/helpers.d.ts +0 -35
  264. package/esm/helpers.d.ts.map +0 -1
  265. package/esm/helpers.js +0 -229
  266. package/esm/helpers.js.map +0 -1
  267. package/esm/integrations/linkederrors.d.ts +0 -40
  268. package/esm/integrations/linkederrors.d.ts.map +0 -1
  269. package/esm/integrations/linkederrors.js +0 -63
  270. package/esm/integrations/linkederrors.js.map +0 -1
  271. package/esm/integrations/trycatch.d.ts +0 -26
  272. package/esm/integrations/trycatch.d.ts.map +0 -1
  273. package/esm/integrations/trycatch.js +0 -164
  274. package/esm/integrations/trycatch.js.map +0 -1
  275. package/esm/package.json +0 -52
  276. package/esm/src/backend.d.ts +0 -41
  277. package/esm/src/backend.d.ts.map +0 -1
  278. package/esm/src/backend.js +0 -66
  279. package/esm/src/backend.js.map +0 -1
  280. package/esm/src/client.d.ts +0 -55
  281. package/esm/src/client.d.ts.map +0 -1
  282. package/esm/src/client.js +0 -49
  283. package/esm/src/client.js.map +0 -1
  284. package/esm/src/crossPlatform.d.ts +0 -18
  285. package/esm/src/crossPlatform.d.ts.map +0 -1
  286. package/esm/src/crossPlatform.js +0 -77
  287. package/esm/src/crossPlatform.js.map +0 -1
  288. package/esm/src/eventbuilder.d.ts +0 -11
  289. package/esm/src/eventbuilder.d.ts.map +0 -1
  290. package/esm/src/eventbuilder.js +0 -75
  291. package/esm/src/eventbuilder.js.map +0 -1
  292. package/esm/src/flags.d.ts +0 -3
  293. package/esm/src/flags.d.ts.map +0 -1
  294. package/esm/src/flags.js +0 -16
  295. package/esm/src/flags.js.map +0 -1
  296. package/esm/src/helpers.d.ts +0 -35
  297. package/esm/src/helpers.d.ts.map +0 -1
  298. package/esm/src/helpers.js +0 -229
  299. package/esm/src/helpers.js.map +0 -1
  300. package/esm/src/index.d.ts +0 -10
  301. package/esm/src/index.d.ts.map +0 -1
  302. package/esm/src/index.js +0 -9
  303. package/esm/src/index.js.map +0 -1
  304. package/esm/src/integrations/globalhandlers.d.ts +0 -47
  305. package/esm/src/integrations/globalhandlers.d.ts.map +0 -1
  306. package/esm/src/integrations/globalhandlers.js +0 -151
  307. package/esm/src/integrations/globalhandlers.js.map +0 -1
  308. package/esm/src/integrations/ignoreMpcrawlerErrors.d.ts +0 -21
  309. package/esm/src/integrations/ignoreMpcrawlerErrors.d.ts.map +0 -1
  310. package/esm/src/integrations/ignoreMpcrawlerErrors.js +0 -38
  311. package/esm/src/integrations/ignoreMpcrawlerErrors.js.map +0 -1
  312. package/esm/src/integrations/index.d.ts +0 -7
  313. package/esm/src/integrations/index.d.ts.map +0 -1
  314. package/esm/src/integrations/index.js +0 -7
  315. package/esm/src/integrations/index.js.map +0 -1
  316. package/esm/src/integrations/linkederrors.d.ts +0 -40
  317. package/esm/src/integrations/linkederrors.d.ts.map +0 -1
  318. package/esm/src/integrations/linkederrors.js +0 -63
  319. package/esm/src/integrations/linkederrors.js.map +0 -1
  320. package/esm/src/integrations/router.d.ts +0 -28
  321. package/esm/src/integrations/router.d.ts.map +0 -1
  322. package/esm/src/integrations/router.js +0 -45
  323. package/esm/src/integrations/router.js.map +0 -1
  324. package/esm/src/integrations/system.d.ts +0 -17
  325. package/esm/src/integrations/system.d.ts.map +0 -1
  326. package/esm/src/integrations/system.js +0 -63
  327. package/esm/src/integrations/system.js.map +0 -1
  328. package/esm/src/integrations/trycatch.d.ts +0 -26
  329. package/esm/src/integrations/trycatch.d.ts.map +0 -1
  330. package/esm/src/integrations/trycatch.js +0 -164
  331. package/esm/src/integrations/trycatch.js.map +0 -1
  332. package/esm/src/parsers.d.ts +0 -21
  333. package/esm/src/parsers.d.ts.map +0 -1
  334. package/esm/src/parsers.js +0 -91
  335. package/esm/src/parsers.js.map +0 -1
  336. package/esm/src/sdk.d.ts +0 -99
  337. package/esm/src/sdk.d.ts.map +0 -1
  338. package/esm/src/sdk.js +0 -147
  339. package/esm/src/sdk.js.map +0 -1
  340. package/esm/src/tracekit.d.ts +0 -38
  341. package/esm/src/tracekit.d.ts.map +0 -1
  342. package/esm/src/tracekit.js +0 -219
  343. package/esm/src/tracekit.js.map +0 -1
  344. package/esm/src/transports/base.d.ts +0 -22
  345. package/esm/src/transports/base.d.ts.map +0 -1
  346. package/esm/src/transports/base.js +0 -26
  347. package/esm/src/transports/base.js.map +0 -1
  348. package/esm/src/transports/index.d.ts +0 -3
  349. package/esm/src/transports/index.d.ts.map +0 -1
  350. package/esm/src/transports/index.js +0 -3
  351. package/esm/src/transports/index.js.map +0 -1
  352. package/esm/src/transports/xhr.d.ts +0 -10
  353. package/esm/src/transports/xhr.d.ts.map +0 -1
  354. package/esm/src/transports/xhr.js +0 -40
  355. package/esm/src/transports/xhr.js.map +0 -1
  356. package/esm/src/version.d.ts +0 -3
  357. package/esm/src/version.d.ts.map +0 -1
  358. package/esm/src/version.js +0 -4
  359. package/esm/src/version.js.map +0 -1
  360. package/esm/transports/base.d.ts +0 -22
  361. package/esm/transports/base.d.ts.map +0 -1
  362. package/esm/transports/base.js +0 -26
  363. package/esm/transports/base.js.map +0 -1
  364. package/esm/transports/xhr.d.ts +0 -10
  365. package/esm/transports/xhr.d.ts.map +0 -1
  366. package/esm/transports/xhr.js +0 -40
  367. package/esm/transports/xhr.js.map +0 -1
  368. package/esm/utils/debug-build.d.ts +0 -7
  369. package/esm/utils/debug-build.d.ts.map +0 -1
  370. package/esm/utils/debug-build.js +0 -7
  371. package/esm/utils/debug-build.js.map +0 -1
  372. package/esm/utils/logger.d.ts +0 -25
  373. package/esm/utils/logger.d.ts.map +0 -1
  374. package/esm/utils/logger.js +0 -42
  375. package/esm/utils/logger.js.map +0 -1
package/esm/sdk.d.ts CHANGED
@@ -1,99 +1,24 @@
1
- import { Integrations as CoreIntegrations } from "@sentry/core";
2
- import { MiniappOptions } from "./backend";
3
- import { ReportDialogOptions } from "./client";
4
- import { GlobalHandlers, IgnoreMpcrawlerErrors, LinkedErrors, Router, System, TryCatch } from "./integrations/index";
5
- export declare const defaultIntegrations: (CoreIntegrations.FunctionToString | CoreIntegrations.InboundFilters | GlobalHandlers | TryCatch | LinkedErrors | System | Router | IgnoreMpcrawlerErrors)[];
1
+ import './polyfills';
2
+ import { UniappOptions, ReportDialogOptions } from './client';
6
3
  /**
7
- * The Sentry Uniapp SDK Client.
8
- *
9
- * To use this SDK, call the {@link init} function as early as possible when
10
- * launching the app. To set context information or send manual events, use
11
- * the provided methods.
12
- *
13
- * @example
14
- * ```
15
- * import { init } from 'sentry-uniapp';
16
- *
17
- * init({
18
- * dsn: '__DSN__',
19
- * // ...
20
- * });
21
- * ```
22
- *
23
- * @example
24
- * ```
25
- * import { configureScope } from 'sentry-uniapp';
26
- *
27
- * configureScope((scope: Scope) => {
28
- * scope.setExtra({ battery: 0.7 });
29
- * scope.setTag({ user_mode: 'admin' });
30
- * scope.setUser({ id: '4711' });
31
- * });
32
- * ```
33
- *
34
- * @example
35
- * ```
36
- * import { addBreadcrumb } from 'sentry-uniapp';
37
- *
38
- * addBreadcrumb({
39
- * message: 'My Breadcrumb',
40
- * // ...
41
- * });
42
- * ```
43
- *
44
- * @example
45
- * ```
46
- * import * as Sentry from 'sentry-uniapp';
47
- *
48
- * Sentry.captureMessage('Hello, world!');
49
- * Sentry.captureException(new Error('Good bye'));
50
- * Sentry.captureEvent({
51
- * message: 'Manual',
52
- * stacktrace: [
53
- * // ...
54
- * ],
55
- * });
56
- * ```
57
- *
58
- * @see {@link MiniappOptions} for documentation on configuration options.
4
+ * Initialize the Sentry Uniapp SDK.
59
5
  */
60
- export declare function init(options?: MiniappOptions): void;
6
+ export declare function init(options?: Partial<UniappOptions>): void;
61
7
  /**
62
8
  * Present the user with a report dialog.
63
- * 向用户显示报告对话框。小程序上暂时不考虑实现该功能。
64
- *
65
- * @param options Everything is optional, we try to fetch all info need from the global scope.
9
+ * Not supported in miniapp environment - this is a no-op.
66
10
  */
67
11
  export declare function showReportDialog(options?: ReportDialogOptions): void;
68
12
  /**
69
- * This is the getter for lastEventId. 获取 lastEventId。
70
- *
71
- * @returns The last event id of a captured event.
13
+ * Get the last event ID captured.
72
14
  */
73
15
  export declare function lastEventId(): string | undefined;
74
16
  /**
75
- * A promise that resolves when all current events have been sent.
76
- * If you provide a timeout and the queue takes longer to drain the promise returns false.
77
- * 在发送所有当前事件时会变为 resolved 状态的 promise。如果提供了一个超时时间并且队列需要更长时间来消耗,则 promise 将返回 false。
78
- *
79
- * @param timeout Maximum time in ms the client should wait.
17
+ * Flush all pending events.
80
18
  */
81
- export declare function flush(timeout?: number): PromiseLike<boolean>;
19
+ export declare function flush(timeout?: number): Promise<boolean>;
82
20
  /**
83
- * A promise that resolves when all current events have been sent.
84
- * If you provide a timeout and the queue takes longer to drain the promise returns false.
85
- *
86
- * @param timeout Maximum time in ms the client should wait.
21
+ * Close the SDK and flush all pending events.
87
22
  */
88
- export declare function close(timeout?: number): PromiseLike<boolean>;
89
- /**
90
- * Wrap code within a try/catch block so the SDK is able to capture errors.
91
- * 在 try / catch 块中包装代码,以便 SDK 能够捕获错误。
92
- * 实际上是 ./helpers 文件中 warp 方法的进一步封装。
93
- *
94
- * @param fn A function to wrap.
95
- *
96
- * @returns The result of wrapped function call.
97
- */
98
- export declare function wrap(fn: Function): any;
23
+ export declare function close(timeout?: number): Promise<boolean>;
99
24
  //# sourceMappingURL=sdk.d.ts.map
package/esm/sdk.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,IAAI,gBAAgB,EACjC,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAiB,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE9D,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,MAAM,EACN,MAAM,EACN,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,mBAAmB,8JAU/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,cAAmB,GAAG,IAAI,CAavD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,mBAAwB,GAAG,IAAI,CAQxE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,MAAM,GAAG,SAAS,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAM5D;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAM5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,EAAE,EAAE,QAAQ,GAAG,GAAG,CAGtC"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAYA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAgB,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAwB5E;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,IAAI,CAmC/D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,mBAAwB,GAAG,IAAI,CAKxE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,GAAG,SAAS,CAGhD;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAM9D;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAM9D"}
package/esm/sdk.js CHANGED
@@ -1,147 +1,90 @@
1
- import { getCurrentHub, initAndBind, Integrations as CoreIntegrations, } from "@sentry/core";
2
- import { resolvedSyncPromise } from "@sentry/utils";
3
- import { MiniappClient } from "./client";
4
- import { wrap as internalWrap } from "./helpers";
5
- import { GlobalHandlers, IgnoreMpcrawlerErrors, LinkedErrors, Router, System, TryCatch, } from "./integrations/index";
6
- export var defaultIntegrations = [
7
- new CoreIntegrations.InboundFilters(),
8
- new CoreIntegrations.FunctionToString(),
9
- new TryCatch(),
10
- new GlobalHandlers(),
11
- new LinkedErrors(),
12
- new System(),
13
- new Router(),
14
- new IgnoreMpcrawlerErrors(),
15
- ];
1
+ import { inboundFiltersIntegration, functionToStringIntegration, linkedErrorsIntegration, dedupeIntegration, getClient, getCurrentScope, } from '@sentry/core';
2
+ import { createStackParser, nodeStackLineParser } from '@sentry/core';
3
+ // Import polyfills for WeChat miniprogram compatibility
4
+ import './polyfills';
5
+ import { UniappClient } from './client';
6
+ import { makeUniappTransport } from './transport';
7
+ import { globalHandlersIntegration, systemIntegration, routerIntegration, } from './integrations';
8
+ import { setDebugEnabled, debugLog } from './debug';
9
+ /** Get the default integrations for the Uniapp SDK. */
10
+ function getDefaultIntegrations(options) {
11
+ const integrations = [
12
+ inboundFiltersIntegration(),
13
+ functionToStringIntegration(),
14
+ linkedErrorsIntegration(),
15
+ dedupeIntegration(),
16
+ globalHandlersIntegration(options.extraOptions),
17
+ systemIntegration(),
18
+ routerIntegration(),
19
+ ];
20
+ return integrations;
21
+ }
16
22
  /**
17
- * The Sentry Uniapp SDK Client.
18
- *
19
- * To use this SDK, call the {@link init} function as early as possible when
20
- * launching the app. To set context information or send manual events, use
21
- * the provided methods.
22
- *
23
- * @example
24
- * ```
25
- * import { init } from 'sentry-uniapp';
26
- *
27
- * init({
28
- * dsn: '__DSN__',
29
- * // ...
30
- * });
31
- * ```
32
- *
33
- * @example
34
- * ```
35
- * import { configureScope } from 'sentry-uniapp';
36
- *
37
- * configureScope((scope: Scope) => {
38
- * scope.setExtra({ battery: 0.7 });
39
- * scope.setTag({ user_mode: 'admin' });
40
- * scope.setUser({ id: '4711' });
41
- * });
42
- * ```
43
- *
44
- * @example
45
- * ```
46
- * import { addBreadcrumb } from 'sentry-uniapp';
47
- *
48
- * addBreadcrumb({
49
- * message: 'My Breadcrumb',
50
- * // ...
51
- * });
52
- * ```
53
- *
54
- * @example
55
- * ```
56
- * import * as Sentry from 'sentry-uniapp';
57
- *
58
- * Sentry.captureMessage('Hello, world!');
59
- * Sentry.captureException(new Error('Good bye'));
60
- * Sentry.captureEvent({
61
- * message: 'Manual',
62
- * stacktrace: [
63
- * // ...
64
- * ],
65
- * });
66
- * ```
67
- *
68
- * @see {@link MiniappOptions} for documentation on configuration options.
23
+ * Initialize the Sentry Uniapp SDK.
69
24
  */
70
- export function init(options) {
71
- if (options === void 0) { options = {}; }
72
- // 如果将 options.defaultIntegrations 设置为 false,则不会添加默认集成,否则将在内部将其设置为建议的默认集成。
73
- // tslint:disable-next-line: strict-comparisons
74
- if (options.defaultIntegrations === undefined) {
75
- options.defaultIntegrations = defaultIntegrations;
25
+ export function init(options = {}) {
26
+ // Enable debug mode if requested
27
+ if (options.debug) {
28
+ setDebugEnabled(true);
76
29
  }
77
- options.normalizeDepth = options.normalizeDepth || 5;
78
- if (options.defaultIntegrations) {
79
- options.defaultIntegrations[3].setExtraOptions(options.extraOptions);
30
+ debugLog('[Sentry SDK] init() called with options:', options);
31
+ const finalOptions = {
32
+ stackParser: createStackParser(nodeStackLineParser()),
33
+ transport: makeUniappTransport,
34
+ integrations: [],
35
+ ...options,
36
+ };
37
+ debugLog('[Sentry SDK] finalOptions.transport:', typeof finalOptions.transport);
38
+ debugLog('[Sentry SDK] finalOptions.dsn:', finalOptions.dsn);
39
+ // Set default integrations if not provided
40
+ if (!options.integrations) {
41
+ finalOptions.integrations = getDefaultIntegrations(finalOptions);
42
+ debugLog('[Sentry SDK] Using default integrations, count:', finalOptions.integrations.length);
80
43
  }
81
- initAndBind(MiniappClient, options);
44
+ debugLog('[Sentry SDK] Creating UniappClient...');
45
+ const client = new UniappClient(finalOptions);
46
+ const scope = getCurrentScope();
47
+ debugLog('[Sentry SDK] Setting client to scope...');
48
+ scope.setClient(client);
49
+ debugLog('[Sentry SDK] Initializing client...');
50
+ client.init();
51
+ debugLog('[Sentry SDK] Initialization complete!');
82
52
  }
83
53
  /**
84
54
  * Present the user with a report dialog.
85
- * 向用户显示报告对话框。小程序上暂时不考虑实现该功能。
86
- *
87
- * @param options Everything is optional, we try to fetch all info need from the global scope.
55
+ * Not supported in miniapp environment - this is a no-op.
88
56
  */
89
- export function showReportDialog(options) {
90
- if (options === void 0) { options = {}; }
91
- if (!options.eventId) {
92
- options.eventId = getCurrentHub().lastEventId();
93
- }
94
- var client = getCurrentHub().getClient();
95
- if (client) {
96
- client.showReportDialog(options);
57
+ export function showReportDialog(options = {}) {
58
+ // Not supported in miniapp environment
59
+ if (typeof console !== 'undefined' && console.warn) {
60
+ console.warn('sentry-uniapp: showReportDialog is not supported in miniapp environment');
97
61
  }
98
62
  }
99
63
  /**
100
- * This is the getter for lastEventId. 获取 lastEventId。
101
- *
102
- * @returns The last event id of a captured event.
64
+ * Get the last event ID captured.
103
65
  */
104
66
  export function lastEventId() {
105
- return getCurrentHub().lastEventId();
67
+ const scope = getCurrentScope();
68
+ return scope.lastEventId();
106
69
  }
107
70
  /**
108
- * A promise that resolves when all current events have been sent.
109
- * If you provide a timeout and the queue takes longer to drain the promise returns false.
110
- * 在发送所有当前事件时会变为 resolved 状态的 promise。如果提供了一个超时时间并且队列需要更长时间来消耗,则 promise 将返回 false。
111
- *
112
- * @param timeout Maximum time in ms the client should wait.
71
+ * Flush all pending events.
113
72
  */
114
- export function flush(timeout) {
115
- var client = getCurrentHub().getClient();
73
+ export async function flush(timeout) {
74
+ const client = getClient();
116
75
  if (client) {
117
76
  return client.flush(timeout);
118
77
  }
119
- return resolvedSyncPromise(false);
78
+ return Promise.resolve(false);
120
79
  }
121
80
  /**
122
- * A promise that resolves when all current events have been sent.
123
- * If you provide a timeout and the queue takes longer to drain the promise returns false.
124
- *
125
- * @param timeout Maximum time in ms the client should wait.
81
+ * Close the SDK and flush all pending events.
126
82
  */
127
- export function close(timeout) {
128
- var client = getCurrentHub().getClient();
83
+ export async function close(timeout) {
84
+ const client = getClient();
129
85
  if (client) {
130
86
  return client.close(timeout);
131
87
  }
132
- return resolvedSyncPromise(false);
133
- }
134
- /**
135
- * Wrap code within a try/catch block so the SDK is able to capture errors.
136
- * 在 try / catch 块中包装代码,以便 SDK 能够捕获错误。
137
- * 实际上是 ./helpers 文件中 warp 方法的进一步封装。
138
- *
139
- * @param fn A function to wrap.
140
- *
141
- * @returns The result of wrapped function call.
142
- */
143
- export function wrap(fn) {
144
- // tslint:disable-next-line: no-unsafe-any
145
- return internalWrap(fn)();
88
+ return Promise.resolve(false);
146
89
  }
147
90
  //# sourceMappingURL=sdk.js.map
package/esm/sdk.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,IAAI,gBAAgB,GACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAuB,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,MAAM,EACN,MAAM,EACN,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,IAAM,mBAAmB,GAAG;IACjC,IAAI,gBAAgB,CAAC,cAAc,EAAE;IACrC,IAAI,gBAAgB,CAAC,gBAAgB,EAAE;IACvC,IAAI,QAAQ,EAAE;IACd,IAAI,cAAc,EAAE;IACpB,IAAI,YAAY,EAAE;IAElB,IAAI,MAAM,EAAE;IACZ,IAAI,MAAM,EAAE;IACZ,IAAI,qBAAqB,EAAE;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,MAAM,UAAU,IAAI,CAAC,OAA4B;IAA5B,wBAAA,EAAA,YAA4B;IAC/C,0EAA0E;IAC1E,+CAA+C;IAC/C,IAAI,OAAO,CAAC,mBAAmB,KAAK,SAAS,EAAE;QAC7C,OAAO,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;KACnD;IAED,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,mBAAmB,EAAE;QAC9B,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;KAC1F;IAED,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAiC;IAAjC,wBAAA,EAAA,YAAiC;IAChE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,OAAO,GAAG,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC;KACjD;IACD,IAAM,MAAM,GAAG,aAAa,EAAE,CAAC,SAAS,EAAiB,CAAC;IAC1D,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;KAClC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,OAAgB;IACpC,IAAM,MAAM,GAAG,aAAa,EAAE,CAAC,SAAS,EAAiB,CAAC;IAC1D,IAAI,MAAM,EAAE;QACV,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAC9B;IACD,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,OAAgB;IACpC,IAAM,MAAM,GAAG,aAAa,EAAE,CAAC,SAAS,EAAiB,CAAC;IAC1D,IAAI,MAAM,EAAE;QACV,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAC9B;IACD,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,IAAI,CAAC,EAAY;IAC/B,0CAA0C;IAC1C,OAAO,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5B,CAAC","sourcesContent":["import {\n getCurrentHub,\n initAndBind,\n Integrations as CoreIntegrations,\n} from \"@sentry/core\";\nimport { resolvedSyncPromise } from \"@sentry/utils\";\n\nimport { MiniappOptions } from \"./backend\";\nimport { MiniappClient, ReportDialogOptions } from \"./client\";\nimport { wrap as internalWrap } from \"./helpers\";\nimport {\n GlobalHandlers,\n IgnoreMpcrawlerErrors,\n LinkedErrors,\n Router,\n System,\n TryCatch,\n} from \"./integrations/index\";\n\nexport const defaultIntegrations = [\n new CoreIntegrations.InboundFilters(),\n new CoreIntegrations.FunctionToString(),\n new TryCatch(),\n new GlobalHandlers(),\n new LinkedErrors(),\n\n new System(),\n new Router(),\n new IgnoreMpcrawlerErrors(),\n];\n\n/**\n * The Sentry Uniapp SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * launching the app. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n * ```\n * import { init } from 'sentry-uniapp';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n * import { configureScope } from 'sentry-uniapp';\n *\n * configureScope((scope: Scope) => {\n * scope.setExtra({ battery: 0.7 });\n * scope.setTag({ user_mode: 'admin' });\n * scope.setUser({ id: '4711' });\n * });\n * ```\n *\n * @example\n * ```\n * import { addBreadcrumb } from 'sentry-uniapp';\n *\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n * import * as Sentry from 'sentry-uniapp';\n *\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link MiniappOptions} for documentation on configuration options.\n */\nexport function init(options: MiniappOptions = {}): void {\n // 如果将 options.defaultIntegrations 设置为 false,则不会添加默认集成,否则将在内部将其设置为建议的默认集成。\n // tslint:disable-next-line: strict-comparisons\n if (options.defaultIntegrations === undefined) {\n options.defaultIntegrations = defaultIntegrations;\n }\n\n options.normalizeDepth = options.normalizeDepth || 5;\n if (options.defaultIntegrations) {\n (options.defaultIntegrations[3] as GlobalHandlers).setExtraOptions(options.extraOptions);\n }\n\n initAndBind(MiniappClient, options);\n}\n\n/**\n * Present the user with a report dialog.\n * 向用户显示报告对话框。小程序上暂时不考虑实现该功能。\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\nexport function showReportDialog(options: ReportDialogOptions = {}): void {\n if (!options.eventId) {\n options.eventId = getCurrentHub().lastEventId();\n }\n const client = getCurrentHub().getClient<MiniappClient>();\n if (client) {\n client.showReportDialog(options);\n }\n}\n\n/**\n * This is the getter for lastEventId. 获取 lastEventId。\n *\n * @returns The last event id of a captured event.\n */\nexport function lastEventId(): string | undefined {\n return getCurrentHub().lastEventId();\n}\n\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n * 在发送所有当前事件时会变为 resolved 状态的 promise。如果提供了一个超时时间并且队列需要更长时间来消耗,则 promise 将返回 false。\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function flush(timeout?: number): PromiseLike<boolean> {\n const client = getCurrentHub().getClient<MiniappClient>();\n if (client) {\n return client.flush(timeout);\n }\n return resolvedSyncPromise(false);\n}\n\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function close(timeout?: number): PromiseLike<boolean> {\n const client = getCurrentHub().getClient<MiniappClient>();\n if (client) {\n return client.close(timeout);\n }\n return resolvedSyncPromise(false);\n}\n\n/**\n * Wrap code within a try/catch block so the SDK is able to capture errors.\n * 在 try / catch 块中包装代码,以便 SDK 能够捕获错误。\n * 实际上是 ./helpers 文件中 warp 方法的进一步封装。\n *\n * @param fn A function to wrap.\n *\n * @returns The result of wrapped function call.\n */\nexport function wrap(fn: Function): any {\n // tslint:disable-next-line: no-unsafe-any\n return internalWrap(fn)();\n}\n"]}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
package/esm/tracekit.js CHANGED
@@ -1,23 +1,22 @@
1
1
  // tslint:disable:object-literal-sort-keys
2
- import { __assign } from "tslib";
3
2
  // global reference to slice
4
- var UNKNOWN_FUNCTION = "?";
3
+ const UNKNOWN_FUNCTION = "?";
5
4
  // Chromium based browsers: Chrome, Brave, new Opera, new Edge
6
- var chrome = /^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[-a-z]+:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
5
+ const chrome = /^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[-a-z]+:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
7
6
  // gecko regex: `(?:bundle|\d+\.js)`: `bundle` is for react native, `\d+\.js` also but specifically for ram bundles because it
8
7
  // generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js
9
8
  // We need this specific case for now because we want no other regex to match.
10
- var gecko = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i;
11
- var winjs = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
12
- var geckoEval = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
13
- var chromeEval = /\((\S*)(?::(\d+))(?::(\d+))\)/;
14
- var miniapp = /^\s*at (\w.*) \((\w*.js):(\d*):(\d*)/i;
9
+ const gecko = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i;
10
+ const winjs = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
11
+ const geckoEval = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
12
+ const chromeEval = /\((\S*)(?::(\d+))(?::(\d+))\)/;
13
+ const miniapp = /^\s*at (\w.*) \((\w*.js):(\d*):(\d*)/i;
15
14
  /** JSDoc */
16
15
  export function computeStackTrace(ex) {
17
16
  // console.log('computeStackTrace', ex)
18
17
  // tslint:disable:no-unsafe-any
19
- var stack = null;
20
- var popSize = ex && ex.framesToPop;
18
+ let stack = null;
19
+ const popSize = ex && ex.framesToPop;
21
20
  try {
22
21
  // This must be tried first because Opera 10 *destroys*
23
22
  // its stacktrace property if you try to access the stack
@@ -55,17 +54,17 @@ function computeStackTraceFromStackProp(ex) {
55
54
  if (!ex || !ex.stack) {
56
55
  return null;
57
56
  }
58
- var stack = [];
59
- var lines = ex.stack.split("\n");
60
- var isEval;
61
- var submatch;
62
- var parts;
63
- var element;
57
+ const stack = [];
58
+ const lines = ex.stack.split("\n");
59
+ let isEval;
60
+ let submatch;
61
+ let parts;
62
+ let element;
64
63
  // console.log('lines', lines)
65
- for (var i = 0; i < lines.length; ++i) {
64
+ for (let i = 0; i < lines.length; ++i) {
66
65
  // console.log(lines[i], chrome.exec(lines[i]), winjs.exec(lines[i]), gecko.exec(lines[i]))
67
66
  if ((parts = chrome.exec(lines[i]))) {
68
- var isNative = parts[2] && parts[2].indexOf("native") === 0; // start of line
67
+ const isNative = parts[2] && parts[2].indexOf("native") === 0; // start of line
69
68
  isEval = parts[2] && parts[2].indexOf("eval") === 0; // start of line
70
69
  if (isEval && (submatch = chromeEval.exec(parts[2]))) {
71
70
  // throw out eval line/column and use top-most line/column number
@@ -94,7 +93,7 @@ function computeStackTraceFromStackProp(ex) {
94
93
  isEval = parts[3] && parts[3].indexOf(" > eval") > -1;
95
94
  if (isEval && (submatch = geckoEval.exec(parts[3]))) {
96
95
  // throw out eval line/column and use top-most line number
97
- parts[1] = parts[1] || "eval";
96
+ parts[1] = parts[1] || `eval`;
98
97
  parts[3] = submatch[1];
99
98
  parts[4] = submatch[2];
100
99
  parts[5] = ""; // no column when eval
@@ -137,7 +136,7 @@ function computeStackTraceFromStackProp(ex) {
137
136
  return {
138
137
  message: extractMessage(ex),
139
138
  name: ex.name,
140
- stack: stack,
139
+ stack,
141
140
  };
142
141
  }
143
142
  /** JSDoc */
@@ -148,15 +147,15 @@ function computeStackTraceFromStacktraceProp(ex) {
148
147
  // Access and store the stacktrace property before doing ANYTHING
149
148
  // else to it because Opera is not very good at providing it
150
149
  // reliably in other circumstances.
151
- var stacktrace = ex.stacktrace;
152
- var opera10Regex = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i;
153
- var opera11Regex = / line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i;
154
- var lines = stacktrace.split("\n");
155
- var stack = [];
156
- var parts;
157
- for (var line = 0; line < lines.length; line += 2) {
150
+ const stacktrace = ex.stacktrace;
151
+ const opera10Regex = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i;
152
+ const opera11Regex = / line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i;
153
+ const lines = stacktrace.split("\n");
154
+ const stack = [];
155
+ let parts;
156
+ for (let line = 0; line < lines.length; line += 2) {
158
157
  // tslint:disable:no-conditional-assignment
159
- var element = null;
158
+ let element = null;
160
159
  if ((parts = opera10Regex.exec(lines[line]))) {
161
160
  element = {
162
161
  url: parts[2],
@@ -188,13 +187,16 @@ function computeStackTraceFromStacktraceProp(ex) {
188
187
  return {
189
188
  message: extractMessage(ex),
190
189
  name: ex.name,
191
- stack: stack,
190
+ stack,
192
191
  };
193
192
  }
194
193
  /** Remove N number of frames from the stack */
195
194
  function popFrames(stacktrace, popSize) {
196
195
  try {
197
- return __assign(__assign({}, stacktrace), { stack: stacktrace.stack.slice(popSize) });
196
+ return {
197
+ ...stacktrace,
198
+ stack: stacktrace.stack.slice(popSize),
199
+ };
198
200
  }
199
201
  catch (e) {
200
202
  return stacktrace;
@@ -206,7 +208,7 @@ function popFrames(stacktrace, popSize) {
206
208
  * In this specific case we try to extract stacktrace.message.error.message
207
209
  */
208
210
  function extractMessage(ex) {
209
- var message = ex && ex.message;
211
+ const message = ex && ex.message;
210
212
  // console.log('message',message)
211
213
  if (!message) {
212
214
  return "No error message";
@@ -1 +1 @@
1
- {"version":3,"file":"tracekit.js","sourceRoot":"","sources":["../src/tracekit.ts"],"names":[],"mappings":"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","sourcesContent":["// tslint:disable:object-literal-sort-keys\n\n/**\n * This was originally forked from https://github.com/occ/TraceKit, but has since been\n * largely modified and is now maintained as part of Sentry JS SDK.\n */\n\n/**\n * An object representing a single stack frame.\n * {Object} StackFrame\n * {string} url The JavaScript or HTML file URL.\n * {string} func The function name, or empty for anonymous functions (if guessing did not work).\n * {string[]?} args The arguments passed to the function, if known.\n * {number=} line The line number, if known.\n * {number=} column The column number, if known.\n * {string[]} context An array of source code lines; the middle element corresponds to the correct line#.\n */\nexport interface StackFrame {\n url: string;\n func: string;\n args: string[];\n line: number | null;\n column: number | null;\n}\n\n/**\n * An object representing a JavaScript stack trace.\n * {Object} StackTrace\n * {string} name The name of the thrown exception.\n * {string} message The exception error message.\n * {TraceKit.StackFrame[]} stack An array of stack frames.\n */\nexport interface StackTrace {\n name: string;\n message: string;\n mechanism?: string;\n stack: StackFrame[];\n failed?: boolean;\n}\n\n// global reference to slice\nconst UNKNOWN_FUNCTION = \"?\";\n\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nconst chrome = /^\\s*at (?:(.*?) ?\\()?((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[-a-z]+:|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nconst gecko = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js))(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst winjs = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nconst geckoEval = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nconst chromeEval = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\nconst miniapp = /^\\s*at (\\w.*) \\((\\w*.js):(\\d*):(\\d*)/i;\n\n/** JSDoc */\nexport function computeStackTrace(ex: any): StackTrace {\n // console.log('computeStackTrace', ex)\n // tslint:disable:no-unsafe-any\n\n let stack = null;\n const popSize: number = ex && ex.framesToPop;\n\n try {\n // This must be tried first because Opera 10 *destroys*\n // its stacktrace property if you try to access the stack\n // property first!!\n stack = computeStackTraceFromStacktraceProp(ex);\n if (stack) {\n // console.log('computeStackTraceFromStacktraceProp', stack, popSize, popFrames(stack, popSize))\n return popFrames(stack, popSize);\n }\n } catch (e) {\n // no-empty\n }\n\n try {\n stack = computeStackTraceFromStackProp(ex);\n if (stack) {\n // console.log('computeStackTraceFromStackProp', stack, popSize, popFrames(stack, popSize))\n return popFrames(stack, popSize);\n }\n } catch (e) {\n // no-empty\n }\n\n return {\n message: extractMessage(ex),\n name: ex && ex.name,\n stack: [],\n failed: true,\n };\n}\n\n/** JSDoc */\n// tslint:disable-next-line:cyclomatic-complexity\nfunction computeStackTraceFromStackProp(ex: any): StackTrace | null {\n // tslint:disable:no-conditional-assignment\n if (!ex || !ex.stack) {\n return null;\n }\n\n const stack = [];\n const lines = ex.stack.split(\"\\n\");\n let isEval;\n let submatch;\n let parts;\n let element;\n // console.log('lines', lines)\n\n for (let i = 0; i < lines.length; ++i) {\n // console.log(lines[i], chrome.exec(lines[i]), winjs.exec(lines[i]), gecko.exec(lines[i]))\n if ((parts = chrome.exec(lines[i]))) {\n const isNative = parts[2] && parts[2].indexOf(\"native\") === 0; // start of line\n isEval = parts[2] && parts[2].indexOf(\"eval\") === 0; // start of line\n if (isEval && (submatch = chromeEval.exec(parts[2]))) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n element = {\n url: parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: isNative ? [parts[2]] : [],\n line: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null,\n };\n } else if ((parts = winjs.exec(lines[i]))) {\n element = {\n url: parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: [],\n line: +parts[3],\n column: parts[4] ? +parts[4] : null,\n };\n } else if ((parts = gecko.exec(lines[i]))) {\n isEval = parts[3] && parts[3].indexOf(\" > eval\") > -1;\n if (isEval && (submatch = geckoEval.exec(parts[3]))) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || `eval`;\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = \"\"; // no column when eval\n } else if (i === 0 && !parts[5] && ex.columnNumber !== void 0) {\n // FireFox uses this awesome columnNumber property for its top frame\n // Also note, Firefox's column number is 0-based and everything else expects 1-based,\n // so adding 1\n // NOTE: this hack doesn't work if top-most frame is eval\n stack[0].column = (ex.columnNumber as number) + 1;\n }\n element = {\n url: parts[3],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: parts[2] ? parts[2].split(\",\") : [],\n line: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null,\n };\n } else if ((parts = miniapp.exec(lines[i]))) {\n element = {\n url: parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: [],\n line: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null,\n };\n } else {\n continue;\n }\n\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n\n stack.push(element);\n }\n\n if (!stack.length) {\n return null;\n }\n\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack,\n };\n}\n\n/** JSDoc */\nfunction computeStackTraceFromStacktraceProp(ex: any): StackTrace | null {\n if (!ex || !ex.stacktrace) {\n return null;\n }\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n const stacktrace = ex.stacktrace;\n const opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n const opera11Regex = / line (\\d+), column (\\d+)\\s*(?:in (?:<anonymous function: ([^>]+)>|([^\\)]+))\\((.*)\\))? in (.*):\\s*$/i;\n const lines = stacktrace.split(\"\\n\");\n const stack = [];\n let parts;\n\n for (let line = 0; line < lines.length; line += 2) {\n // tslint:disable:no-conditional-assignment\n let element = null;\n if ((parts = opera10Regex.exec(lines[line]))) {\n element = {\n url: parts[2],\n func: parts[3],\n args: [],\n line: +parts[1],\n column: null,\n };\n } else if ((parts = opera11Regex.exec(lines[line]))) {\n element = {\n url: parts[6],\n func: parts[3] || parts[4],\n args: parts[5] ? parts[5].split(\",\") : [],\n line: +parts[1],\n column: +parts[2],\n };\n }\n\n if (element) {\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n stack.push(element);\n }\n }\n\n if (!stack.length) {\n return null;\n }\n\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack,\n };\n}\n\n/** Remove N number of frames from the stack */\nfunction popFrames(stacktrace: StackTrace, popSize: number): StackTrace {\n try {\n return {\n ...stacktrace,\n stack: stacktrace.stack.slice(popSize),\n };\n } catch (e) {\n return stacktrace;\n }\n}\n\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nfunction extractMessage(ex: any): string {\n const message = ex && ex.message;\n // console.log('message',message)\n if (!message) {\n return \"No error message\";\n }\n if (message.error && typeof message.error.message === \"string\") {\n return message.error.message;\n }\n return message;\n}\n"]}
1
+ {"version":3,"file":"tracekit.js","sourceRoot":"","sources":["../src/tracekit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { BaseTransportOptions, Transport } from '@sentry/core';
2
+ /**
3
+ * Creates a Transport that uses UniApp's request API
4
+ */
5
+ export declare function makeUniappTransport(options: BaseTransportOptions): Transport;
6
+ export declare const XHRTransport: typeof makeUniappTransport;
7
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAkD,MAAM,cAAc,CAAC;AAMpH;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,oBAAoB,GAC9B,SAAS,CAqEX;AAGD,eAAO,MAAM,YAAY,4BAAsB,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { createTransport, rejectedSyncPromise } from '@sentry/core';
2
+ import { sdk } from './crossPlatform';
3
+ import { debugLog, debugError } from './debug';
4
+ /**
5
+ * Creates a Transport that uses UniApp's request API
6
+ */
7
+ export function makeUniappTransport(options) {
8
+ debugLog('[Sentry Transport] makeUniappTransport factory called');
9
+ debugLog('[Sentry Transport] options.url:', options.url);
10
+ function makeRequest(request) {
11
+ var _a;
12
+ debugLog('[Sentry Transport] makeRequest called');
13
+ debugLog('[Sentry Transport] options.url:', options.url);
14
+ debugLog('[Sentry Transport] request.body length:', (_a = request.body) === null || _a === void 0 ? void 0 : _a.length);
15
+ const requestFunc = sdk.request || sdk.httpRequest;
16
+ debugLog('[Sentry Transport] requestFunc available:', !!requestFunc);
17
+ debugLog('[Sentry Transport] sdk.request:', !!sdk.request, 'sdk.httpRequest:', !!sdk.httpRequest);
18
+ if (!requestFunc) {
19
+ debugError('[Sentry Transport] No request function available!');
20
+ return rejectedSyncPromise(new Error('No request function available'));
21
+ }
22
+ // Convert string to ArrayBuffer for better compatibility with WeChat miniprogram
23
+ // WeChat miniprogram doesn't handle string data well with non-standard Content-Types
24
+ const textEncoder = typeof TextEncoder !== 'undefined' ? new TextEncoder() : null;
25
+ const bodyStr = request.body;
26
+ const requestData = textEncoder ? textEncoder.encode(bodyStr).buffer : bodyStr;
27
+ debugLog('[Sentry Transport] Using TextEncoder:', !!textEncoder);
28
+ debugLog('[Sentry Transport] requestData type:', typeof requestData);
29
+ debugLog('[Sentry Transport] requestData is ArrayBuffer:', requestData instanceof ArrayBuffer);
30
+ debugLog('[Sentry Transport] Calling requestFunc with:', {
31
+ url: options.url,
32
+ method: 'POST',
33
+ dataType: typeof requestData,
34
+ hasHeader: true,
35
+ });
36
+ return new Promise((resolve, reject) => {
37
+ requestFunc({
38
+ url: options.url,
39
+ method: 'POST',
40
+ data: requestData,
41
+ dataType: 'text', // Expect text response
42
+ responseType: 'text', // Response should be text
43
+ header: {
44
+ 'Content-Type': 'application/x-sentry-envelope',
45
+ },
46
+ timeout: 30000, // 30 seconds timeout
47
+ success(res) {
48
+ debugLog('[Sentry Transport] Request SUCCESS!', res.statusCode);
49
+ const status = res.statusCode;
50
+ const headers = res.header || {};
51
+ resolve({
52
+ statusCode: status,
53
+ headers: {
54
+ 'x-sentry-rate-limits': headers['x-sentry-rate-limits'] || headers['X-Sentry-Rate-Limits'] || null,
55
+ 'retry-after': headers['retry-after'] || headers['Retry-After'] || null,
56
+ },
57
+ });
58
+ },
59
+ fail(error) {
60
+ debugError('[Sentry Transport] Request FAILED:', error);
61
+ reject(error);
62
+ },
63
+ });
64
+ debugLog('[Sentry Transport] requestFunc called, waiting for response...');
65
+ });
66
+ }
67
+ return createTransport(options, makeRequest);
68
+ }
69
+ // Export as XHRTransport for backward compatibility
70
+ export const XHRTransport = makeUniappTransport;
71
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- export { BaseTransport } from "./base";
2
- export { XHRTransport } from "./xhr";
1
+ export { XHRTransport } from '../transport';
3
2
  //# sourceMappingURL=index.d.ts.map