sentry-uniapp 1.0.11 → 2.8.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 (170) hide show
  1. package/README.md +112 -143
  2. package/dist/client.d.ts +38 -40
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +46 -38
  5. package/dist/client.js.map +1 -1
  6. package/dist/crossPlatform.d.ts +1 -1
  7. package/dist/crossPlatform.js +11 -10
  8. package/dist/crossPlatform.js.map +1 -1
  9. package/dist/eventbuilder.d.ts +9 -10
  10. package/dist/eventbuilder.d.ts.map +1 -1
  11. package/dist/eventbuilder.js +131 -58
  12. package/dist/eventbuilder.js.map +1 -1
  13. package/dist/flags.js +1 -0
  14. package/dist/flags.js.map +1 -1
  15. package/dist/index.d.ts +10 -9
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +84 -21
  18. package/dist/index.js.map +1 -1
  19. package/dist/integrations/globalhandlers.d.ts +10 -44
  20. package/dist/integrations/globalhandlers.d.ts.map +1 -1
  21. package/dist/integrations/globalhandlers.js +101 -134
  22. package/dist/integrations/globalhandlers.js.map +1 -1
  23. package/dist/integrations/ignoreMpcrawlerErrors.d.ts +3 -18
  24. package/dist/integrations/ignoreMpcrawlerErrors.d.ts.map +1 -1
  25. package/dist/integrations/ignoreMpcrawlerErrors.js +28 -28
  26. package/dist/integrations/ignoreMpcrawlerErrors.js.map +1 -1
  27. package/dist/integrations/index.d.ts +4 -6
  28. package/dist/integrations/index.d.ts.map +1 -1
  29. package/dist/integrations/index.js +12 -10
  30. package/dist/integrations/index.js.map +1 -1
  31. package/dist/integrations/router.d.ts +6 -24
  32. package/dist/integrations/router.d.ts.map +1 -1
  33. package/dist/integrations/router.js +39 -42
  34. package/dist/integrations/router.js.map +1 -1
  35. package/dist/integrations/system.d.ts +5 -16
  36. package/dist/integrations/system.d.ts.map +1 -1
  37. package/dist/integrations/system.js +62 -60
  38. package/dist/integrations/system.js.map +1 -1
  39. package/dist/parsers.d.ts +2 -2
  40. package/dist/parsers.d.ts.map +1 -1
  41. package/dist/parsers.js +27 -26
  42. package/dist/parsers.js.map +1 -1
  43. package/dist/sdk.d.ts +9 -85
  44. package/dist/sdk.d.ts.map +1 -1
  45. package/dist/sdk.js +55 -129
  46. package/dist/sdk.js.map +1 -1
  47. package/dist/tracekit.js +35 -33
  48. package/dist/tracekit.js.map +1 -1
  49. package/dist/transport.d.ts +7 -0
  50. package/dist/transport.d.ts.map +1 -0
  51. package/dist/transport.js +45 -0
  52. package/dist/transport.js.map +1 -0
  53. package/dist/transports/index.d.ts +1 -2
  54. package/dist/transports/index.d.ts.map +1 -1
  55. package/dist/transports/index.js +4 -4
  56. package/dist/transports/index.js.map +1 -1
  57. package/dist/version.d.ts +1 -1
  58. package/dist/version.d.ts.map +1 -1
  59. package/dist/version.js +2 -1
  60. package/dist/version.js.map +1 -1
  61. package/esm/client.d.ts +38 -40
  62. package/esm/client.d.ts.map +1 -1
  63. package/esm/client.js +43 -37
  64. package/esm/client.js.map +1 -1
  65. package/esm/crossPlatform.d.ts +1 -1
  66. package/esm/crossPlatform.js +10 -10
  67. package/esm/crossPlatform.js.map +1 -1
  68. package/esm/eventbuilder.d.ts +9 -10
  69. package/esm/eventbuilder.d.ts.map +1 -1
  70. package/esm/eventbuilder.js +125 -52
  71. package/esm/eventbuilder.js.map +1 -1
  72. package/esm/flags.js +1 -1
  73. package/esm/flags.js.map +1 -1
  74. package/esm/index.d.ts +10 -9
  75. package/esm/index.d.ts.map +1 -1
  76. package/esm/index.js +13 -8
  77. package/esm/index.js.map +1 -1
  78. package/esm/integrations/globalhandlers.d.ts +10 -44
  79. package/esm/integrations/globalhandlers.d.ts.map +1 -1
  80. package/esm/integrations/globalhandlers.js +99 -133
  81. package/esm/integrations/globalhandlers.js.map +1 -1
  82. package/esm/integrations/ignoreMpcrawlerErrors.d.ts +3 -18
  83. package/esm/integrations/ignoreMpcrawlerErrors.d.ts.map +1 -1
  84. package/esm/integrations/ignoreMpcrawlerErrors.js +25 -26
  85. package/esm/integrations/ignoreMpcrawlerErrors.js.map +1 -1
  86. package/esm/integrations/index.d.ts +4 -6
  87. package/esm/integrations/index.d.ts.map +1 -1
  88. package/esm/integrations/index.js +5 -6
  89. package/esm/integrations/index.js.map +1 -1
  90. package/esm/integrations/router.d.ts +6 -24
  91. package/esm/integrations/router.d.ts.map +1 -1
  92. package/esm/integrations/router.js +37 -41
  93. package/esm/integrations/router.js.map +1 -1
  94. package/esm/integrations/system.d.ts +5 -16
  95. package/esm/integrations/system.d.ts.map +1 -1
  96. package/esm/integrations/system.js +60 -59
  97. package/esm/integrations/system.js.map +1 -1
  98. package/esm/parsers.d.ts +2 -2
  99. package/esm/parsers.d.ts.map +1 -1
  100. package/esm/parsers.js +20 -19
  101. package/esm/parsers.js.map +1 -1
  102. package/esm/sdk.d.ts +9 -85
  103. package/esm/sdk.d.ts.map +1 -1
  104. package/esm/sdk.js +49 -122
  105. package/esm/sdk.js.map +1 -1
  106. package/esm/tracekit.js +33 -31
  107. package/esm/tracekit.js.map +1 -1
  108. package/esm/transport.d.ts +7 -0
  109. package/esm/transport.d.ts.map +1 -0
  110. package/esm/transport.js +41 -0
  111. package/esm/transport.js.map +1 -0
  112. package/esm/transports/index.d.ts +1 -2
  113. package/esm/transports/index.d.ts.map +1 -1
  114. package/esm/transports/index.js +1 -2
  115. package/esm/transports/index.js.map +1 -1
  116. package/esm/version.d.ts +1 -1
  117. package/esm/version.d.ts.map +1 -1
  118. package/esm/version.js +2 -2
  119. package/esm/version.js.map +1 -1
  120. package/package.json +24 -28
  121. package/dist/backend.d.ts +0 -41
  122. package/dist/backend.d.ts.map +0 -1
  123. package/dist/backend.js +0 -68
  124. package/dist/backend.js.map +0 -1
  125. package/dist/helpers.d.ts +0 -35
  126. package/dist/helpers.d.ts.map +0 -1
  127. package/dist/helpers.js +0 -236
  128. package/dist/helpers.js.map +0 -1
  129. package/dist/integrations/linkederrors.d.ts +0 -40
  130. package/dist/integrations/linkederrors.d.ts.map +0 -1
  131. package/dist/integrations/linkederrors.js +0 -65
  132. package/dist/integrations/linkederrors.js.map +0 -1
  133. package/dist/integrations/trycatch.d.ts +0 -26
  134. package/dist/integrations/trycatch.d.ts.map +0 -1
  135. package/dist/integrations/trycatch.js +0 -166
  136. package/dist/integrations/trycatch.js.map +0 -1
  137. package/dist/sentry-uniapp.min.js +0 -17
  138. package/dist/sentry-uniapp.min.js.map +0 -1
  139. package/dist/transports/base.d.ts +0 -22
  140. package/dist/transports/base.d.ts.map +0 -1
  141. package/dist/transports/base.js +0 -28
  142. package/dist/transports/base.js.map +0 -1
  143. package/dist/transports/xhr.d.ts +0 -10
  144. package/dist/transports/xhr.d.ts.map +0 -1
  145. package/dist/transports/xhr.js +0 -42
  146. package/dist/transports/xhr.js.map +0 -1
  147. package/esm/backend.d.ts +0 -41
  148. package/esm/backend.d.ts.map +0 -1
  149. package/esm/backend.js +0 -66
  150. package/esm/backend.js.map +0 -1
  151. package/esm/helpers.d.ts +0 -35
  152. package/esm/helpers.d.ts.map +0 -1
  153. package/esm/helpers.js +0 -229
  154. package/esm/helpers.js.map +0 -1
  155. package/esm/integrations/linkederrors.d.ts +0 -40
  156. package/esm/integrations/linkederrors.d.ts.map +0 -1
  157. package/esm/integrations/linkederrors.js +0 -63
  158. package/esm/integrations/linkederrors.js.map +0 -1
  159. package/esm/integrations/trycatch.d.ts +0 -26
  160. package/esm/integrations/trycatch.d.ts.map +0 -1
  161. package/esm/integrations/trycatch.js +0 -164
  162. package/esm/integrations/trycatch.js.map +0 -1
  163. package/esm/transports/base.d.ts +0 -22
  164. package/esm/transports/base.d.ts.map +0 -1
  165. package/esm/transports/base.js +0 -26
  166. package/esm/transports/base.js.map +0 -1
  167. package/esm/transports/xhr.d.ts +0 -10
  168. package/esm/transports/xhr.d.ts.map +0 -1
  169. package/esm/transports/xhr.js +0 -40
  170. package/esm/transports/xhr.js.map +0 -1
package/dist/sdk.js CHANGED
@@ -1,156 +1,82 @@
1
+ "use strict";
1
2
  Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.wrap = exports.close = exports.flush = exports.lastEventId = exports.showReportDialog = exports.init = exports.defaultIntegrations = void 0;
3
- var core_1 = require("@sentry/core");
4
- var utils_1 = require("@sentry/utils");
5
- var client_1 = require("./client");
6
- var helpers_1 = require("./helpers");
7
- var index_1 = require("./integrations/index");
8
- exports.defaultIntegrations = [
9
- new core_1.Integrations.InboundFilters(),
10
- new core_1.Integrations.FunctionToString(),
11
- new index_1.TryCatch(),
12
- new index_1.GlobalHandlers(),
13
- new index_1.LinkedErrors(),
14
- new index_1.System(),
15
- new index_1.Router(),
16
- new index_1.IgnoreMpcrawlerErrors(),
17
- ];
3
+ exports.init = init;
4
+ exports.showReportDialog = showReportDialog;
5
+ exports.lastEventId = lastEventId;
6
+ exports.flush = flush;
7
+ exports.close = close;
8
+ const core_1 = require("@sentry/core");
9
+ const core_2 = require("@sentry/core");
10
+ const client_1 = require("./client");
11
+ const transport_1 = require("./transport");
12
+ const integrations_1 = require("./integrations");
13
+ /** Get the default integrations for the Uniapp SDK. */
14
+ function getDefaultIntegrations(options) {
15
+ const integrations = [
16
+ (0, core_1.inboundFiltersIntegration)(),
17
+ (0, core_1.functionToStringIntegration)(),
18
+ (0, core_1.linkedErrorsIntegration)(),
19
+ (0, core_1.dedupeIntegration)(),
20
+ (0, integrations_1.globalHandlersIntegration)(options.extraOptions),
21
+ (0, integrations_1.systemIntegration)(),
22
+ (0, integrations_1.routerIntegration)(),
23
+ ];
24
+ return integrations;
25
+ }
18
26
  /**
19
- * The Sentry Uniapp SDK Client.
20
- *
21
- * To use this SDK, call the {@link init} function as early as possible when
22
- * launching the app. To set context information or send manual events, use
23
- * the provided methods.
24
- *
25
- * @example
26
- * ```
27
- * import { init } from 'sentry-uniapp';
28
- *
29
- * init({
30
- * dsn: '__DSN__',
31
- * // ...
32
- * });
33
- * ```
34
- *
35
- * @example
36
- * ```
37
- * import { configureScope } from 'sentry-uniapp';
38
- *
39
- * configureScope((scope: Scope) => {
40
- * scope.setExtra({ battery: 0.7 });
41
- * scope.setTag({ user_mode: 'admin' });
42
- * scope.setUser({ id: '4711' });
43
- * });
44
- * ```
45
- *
46
- * @example
47
- * ```
48
- * import { addBreadcrumb } from 'sentry-uniapp';
49
- *
50
- * addBreadcrumb({
51
- * message: 'My Breadcrumb',
52
- * // ...
53
- * });
54
- * ```
55
- *
56
- * @example
57
- * ```
58
- * import * as Sentry from 'sentry-uniapp';
59
- *
60
- * Sentry.captureMessage('Hello, world!');
61
- * Sentry.captureException(new Error('Good bye'));
62
- * Sentry.captureEvent({
63
- * message: 'Manual',
64
- * stacktrace: [
65
- * // ...
66
- * ],
67
- * });
68
- * ```
69
- *
70
- * @see {@link MiniappOptions} for documentation on configuration options.
27
+ * Initialize the Sentry Uniapp SDK.
71
28
  */
72
- function init(options) {
73
- if (options === void 0) { options = {}; }
74
- // 如果将 options.defaultIntegrations 设置为 false,则不会添加默认集成,否则将在内部将其设置为建议的默认集成。
75
- // tslint:disable-next-line: strict-comparisons
76
- if (options.defaultIntegrations === undefined) {
77
- options.defaultIntegrations = exports.defaultIntegrations;
78
- }
79
- // https://github.com/uappkit/sentry-uniapp/issues/23
80
- options.normalizeDepth = options.normalizeDepth || 5;
81
- if (options.defaultIntegrations) {
82
- options.defaultIntegrations[3].setExtraOptions(options.extraOptions);
29
+ function init(options = {}) {
30
+ const finalOptions = {
31
+ stackParser: (0, core_2.createStackParser)((0, core_2.nodeStackLineParser)()),
32
+ transport: transport_1.makeUniappTransport,
33
+ integrations: [],
34
+ ...options,
35
+ };
36
+ // Set default integrations if not provided
37
+ if (!options.integrations) {
38
+ finalOptions.integrations = getDefaultIntegrations(finalOptions);
83
39
  }
84
- core_1.initAndBind(client_1.MiniappClient, options);
40
+ const client = new client_1.UniappClient(finalOptions);
41
+ const scope = (0, core_1.getCurrentScope)();
42
+ scope.setClient(client);
43
+ client.init();
85
44
  }
86
- exports.init = init;
87
45
  /**
88
46
  * Present the user with a report dialog.
89
- * 向用户显示报告对话框。小程序上暂时不考虑实现该功能。
90
- *
91
- * @param options Everything is optional, we try to fetch all info need from the global scope.
47
+ * Not supported in miniapp environment - this is a no-op.
92
48
  */
93
- function showReportDialog(options) {
94
- if (options === void 0) { options = {}; }
95
- if (!options.eventId) {
96
- options.eventId = core_1.getCurrentHub().lastEventId();
97
- }
98
- var client = core_1.getCurrentHub().getClient();
99
- if (client) {
100
- client.showReportDialog(options);
49
+ function showReportDialog(options = {}) {
50
+ // Not supported in miniapp environment
51
+ if (typeof console !== 'undefined' && console.warn) {
52
+ console.warn('sentry-uniapp: showReportDialog is not supported in miniapp environment');
101
53
  }
102
54
  }
103
- exports.showReportDialog = showReportDialog;
104
55
  /**
105
- * This is the getter for lastEventId. 获取 lastEventId。
106
- *
107
- * @returns The last event id of a captured event.
56
+ * Get the last event ID captured.
108
57
  */
109
58
  function lastEventId() {
110
- return core_1.getCurrentHub().lastEventId();
59
+ const scope = (0, core_1.getCurrentScope)();
60
+ return scope.lastEventId();
111
61
  }
112
- exports.lastEventId = lastEventId;
113
62
  /**
114
- * A promise that resolves when all current events have been sent.
115
- * If you provide a timeout and the queue takes longer to drain the promise returns false.
116
- * 在发送所有当前事件时会变为 resolved 状态的 promise。如果提供了一个超时时间并且队列需要更长时间来消耗,则 promise 将返回 false。
117
- *
118
- * @param timeout Maximum time in ms the client should wait.
63
+ * Flush all pending events.
119
64
  */
120
- function flush(timeout) {
121
- var client = core_1.getCurrentHub().getClient();
65
+ async function flush(timeout) {
66
+ const client = (0, core_1.getClient)();
122
67
  if (client) {
123
68
  return client.flush(timeout);
124
69
  }
125
- return utils_1.resolvedSyncPromise(false);
70
+ return Promise.resolve(false);
126
71
  }
127
- exports.flush = flush;
128
72
  /**
129
- * A promise that resolves when all current events have been sent.
130
- * If you provide a timeout and the queue takes longer to drain the promise returns false.
131
- *
132
- * @param timeout Maximum time in ms the client should wait.
73
+ * Close the SDK and flush all pending events.
133
74
  */
134
- function close(timeout) {
135
- var client = core_1.getCurrentHub().getClient();
75
+ async function close(timeout) {
76
+ const client = (0, core_1.getClient)();
136
77
  if (client) {
137
78
  return client.close(timeout);
138
79
  }
139
- return utils_1.resolvedSyncPromise(false);
140
- }
141
- exports.close = close;
142
- /**
143
- * Wrap code within a try/catch block so the SDK is able to capture errors.
144
- * 在 try / catch 块中包装代码,以便 SDK 能够捕获错误。
145
- * 实际上是 ./helpers 文件中 warp 方法的进一步封装。
146
- *
147
- * @param fn A function to wrap.
148
- *
149
- * @returns The result of wrapped function call.
150
- */
151
- function wrap(fn) {
152
- // tslint:disable-next-line: no-unsafe-any
153
- return helpers_1.wrap(fn)();
80
+ return Promise.resolve(false);
154
81
  }
155
- exports.wrap = wrap;
156
82
  //# sourceMappingURL=sdk.js.map
package/dist/sdk.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":";;AAAA,qCAIsB;AACtB,uCAAoD;AAGpD,mCAA8D;AAC9D,qCAAiD;AACjD,8CAO8B;AAEjB,QAAA,mBAAmB,GAAG;IACjC,IAAI,mBAAgB,CAAC,cAAc,EAAE;IACrC,IAAI,mBAAgB,CAAC,gBAAgB,EAAE;IACvC,IAAI,gBAAQ,EAAE;IACd,IAAI,sBAAc,EAAE;IACpB,IAAI,oBAAY,EAAE;IAElB,IAAI,cAAM,EAAE;IACZ,IAAI,cAAM,EAAE;IACZ,IAAI,6BAAqB,EAAE;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,SAAgB,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,2BAAmB,CAAC;KACnD;IAED,qDAAqD;IACrD,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;IAErD,IAAI,OAAO,CAAC,mBAAmB,EAAE;QAC9B,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;KAC1F;IAED,kBAAW,CAAC,sBAAa,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAfD,oBAeC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,OAAiC;IAAjC,wBAAA,EAAA,YAAiC;IAChE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,OAAO,GAAG,oBAAa,EAAE,CAAC,WAAW,EAAE,CAAC;KACjD;IACD,IAAM,MAAM,GAAG,oBAAa,EAAE,CAAC,SAAS,EAAiB,CAAC;IAC1D,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;KAClC;AACH,CAAC;AARD,4CAQC;AAED;;;;GAIG;AACH,SAAgB,WAAW;IACzB,OAAO,oBAAa,EAAE,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC;AAFD,kCAEC;AAED;;;;;;GAMG;AACH,SAAgB,KAAK,CAAC,OAAgB;IACpC,IAAM,MAAM,GAAG,oBAAa,EAAE,CAAC,SAAS,EAAiB,CAAC;IAC1D,IAAI,MAAM,EAAE;QACV,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAC9B;IACD,OAAO,2BAAmB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAND,sBAMC;AAED;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,OAAgB;IACpC,IAAM,MAAM,GAAG,oBAAa,EAAE,CAAC,SAAS,EAAiB,CAAC;IAC1D,IAAI,MAAM,EAAE;QACV,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAC9B;IACD,OAAO,2BAAmB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAND,sBAMC;AAED;;;;;;;;GAQG;AACH,SAAgB,IAAI,CAAC,EAAY;IAC/B,0CAA0C;IAC1C,OAAO,cAAY,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5B,CAAC;AAHD,oBAGC","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 // https://github.com/uappkit/sentry-uniapp/issues/23\n options.normalizeDepth = options.normalizeDepth || 5;\n\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":";;AAqCA,oBAkBC;AAMD,4CAKC;AAKD,kCAGC;AAKD,sBAMC;AAKD,sBAMC;AAhGD,uCAOsB;AACtB,uCAAsE;AAGtE,qCAA4E;AAC5E,2CAAkD;AAClD,iDAIwB;AAExB,uDAAuD;AACvD,SAAS,sBAAsB,CAAC,OAAsB;IACpD,MAAM,YAAY,GAAG;QACnB,IAAA,gCAAyB,GAAE;QAC3B,IAAA,kCAA2B,GAAE;QAC7B,IAAA,8BAAuB,GAAE;QACzB,IAAA,wBAAiB,GAAE;QACnB,IAAA,wCAAyB,EAAC,OAAO,CAAC,YAAY,CAAC;QAC/C,IAAA,gCAAiB,GAAE;QACnB,IAAA,gCAAiB,GAAE;KACpB,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,IAAI,CAAC,UAAkC,EAAE;IACvD,MAAM,YAAY,GAAkB;QAClC,WAAW,EAAE,IAAA,wBAAiB,EAAC,IAAA,0BAAmB,GAAE,CAAC;QACrD,SAAS,EAAE,+BAAmB;QAC9B,YAAY,EAAE,EAAE;QAChB,GAAG,OAAO;KACX,CAAC;IAEF,2CAA2C;IAC3C,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,YAAY,CAAC,YAAY,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,qBAAY,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAA,sBAAe,GAAE,CAAC;IAEhC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,CAAC,IAAI,EAAE,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,UAA+B,EAAE;IAChE,uCAAuC;IACvC,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW;IACzB,MAAM,KAAK,GAAG,IAAA,sBAAe,GAAE,CAAC;IAChC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,KAAK,CAAC,OAAgB;IAC1C,MAAM,MAAM,GAAG,IAAA,gBAAS,GAAgB,CAAC;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,KAAK,CAAC,OAAgB;IAC1C,MAAM,MAAM,GAAG,IAAA,gBAAS,GAAgB,CAAC;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
package/dist/tracekit.js CHANGED
@@ -1,25 +1,25 @@
1
+ "use strict";
1
2
  // tslint:disable:object-literal-sort-keys
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.computeStackTrace = void 0;
4
- var tslib_1 = require("tslib");
4
+ exports.computeStackTrace = computeStackTrace;
5
5
  // global reference to slice
6
- var UNKNOWN_FUNCTION = "?";
6
+ const UNKNOWN_FUNCTION = "?";
7
7
  // Chromium based browsers: Chrome, Brave, new Opera, new Edge
8
- var chrome = /^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[-a-z]+:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
8
+ const chrome = /^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[-a-z]+:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
9
9
  // gecko regex: `(?:bundle|\d+\.js)`: `bundle` is for react native, `\d+\.js` also but specifically for ram bundles because it
10
10
  // generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js
11
11
  // We need this specific case for now because we want no other regex to match.
12
- var gecko = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i;
13
- var winjs = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
14
- var geckoEval = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
15
- var chromeEval = /\((\S*)(?::(\d+))(?::(\d+))\)/;
16
- var miniapp = /^\s*at (\w.*) \((\w*.js):(\d*):(\d*)/i;
12
+ const gecko = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i;
13
+ const winjs = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
14
+ const geckoEval = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
15
+ const chromeEval = /\((\S*)(?::(\d+))(?::(\d+))\)/;
16
+ const miniapp = /^\s*at (\w.*) \((\w*.js):(\d*):(\d*)/i;
17
17
  /** JSDoc */
18
18
  function computeStackTrace(ex) {
19
19
  // console.log('computeStackTrace', ex)
20
20
  // tslint:disable:no-unsafe-any
21
- var stack = null;
22
- var popSize = ex && ex.framesToPop;
21
+ let stack = null;
22
+ const popSize = ex && ex.framesToPop;
23
23
  try {
24
24
  // This must be tried first because Opera 10 *destroys*
25
25
  // its stacktrace property if you try to access the stack
@@ -50,7 +50,6 @@ function computeStackTrace(ex) {
50
50
  failed: true,
51
51
  };
52
52
  }
53
- exports.computeStackTrace = computeStackTrace;
54
53
  /** JSDoc */
55
54
  // tslint:disable-next-line:cyclomatic-complexity
56
55
  function computeStackTraceFromStackProp(ex) {
@@ -58,17 +57,17 @@ function computeStackTraceFromStackProp(ex) {
58
57
  if (!ex || !ex.stack) {
59
58
  return null;
60
59
  }
61
- var stack = [];
62
- var lines = ex.stack.split("\n");
63
- var isEval;
64
- var submatch;
65
- var parts;
66
- var element;
60
+ const stack = [];
61
+ const lines = ex.stack.split("\n");
62
+ let isEval;
63
+ let submatch;
64
+ let parts;
65
+ let element;
67
66
  // console.log('lines', lines)
68
- for (var i = 0; i < lines.length; ++i) {
67
+ for (let i = 0; i < lines.length; ++i) {
69
68
  // console.log(lines[i], chrome.exec(lines[i]), winjs.exec(lines[i]), gecko.exec(lines[i]))
70
69
  if ((parts = chrome.exec(lines[i]))) {
71
- var isNative = parts[2] && parts[2].indexOf("native") === 0; // start of line
70
+ const isNative = parts[2] && parts[2].indexOf("native") === 0; // start of line
72
71
  isEval = parts[2] && parts[2].indexOf("eval") === 0; // start of line
73
72
  if (isEval && (submatch = chromeEval.exec(parts[2]))) {
74
73
  // throw out eval line/column and use top-most line/column number
@@ -97,7 +96,7 @@ function computeStackTraceFromStackProp(ex) {
97
96
  isEval = parts[3] && parts[3].indexOf(" > eval") > -1;
98
97
  if (isEval && (submatch = geckoEval.exec(parts[3]))) {
99
98
  // throw out eval line/column and use top-most line number
100
- parts[1] = parts[1] || "eval";
99
+ parts[1] = parts[1] || `eval`;
101
100
  parts[3] = submatch[1];
102
101
  parts[4] = submatch[2];
103
102
  parts[5] = ""; // no column when eval
@@ -140,7 +139,7 @@ function computeStackTraceFromStackProp(ex) {
140
139
  return {
141
140
  message: extractMessage(ex),
142
141
  name: ex.name,
143
- stack: stack,
142
+ stack,
144
143
  };
145
144
  }
146
145
  /** JSDoc */
@@ -151,15 +150,15 @@ function computeStackTraceFromStacktraceProp(ex) {
151
150
  // Access and store the stacktrace property before doing ANYTHING
152
151
  // else to it because Opera is not very good at providing it
153
152
  // reliably in other circumstances.
154
- var stacktrace = ex.stacktrace;
155
- var opera10Regex = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i;
156
- var opera11Regex = / line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i;
157
- var lines = stacktrace.split("\n");
158
- var stack = [];
159
- var parts;
160
- for (var line = 0; line < lines.length; line += 2) {
153
+ const stacktrace = ex.stacktrace;
154
+ const opera10Regex = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i;
155
+ const opera11Regex = / line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i;
156
+ const lines = stacktrace.split("\n");
157
+ const stack = [];
158
+ let parts;
159
+ for (let line = 0; line < lines.length; line += 2) {
161
160
  // tslint:disable:no-conditional-assignment
162
- var element = null;
161
+ let element = null;
163
162
  if ((parts = opera10Regex.exec(lines[line]))) {
164
163
  element = {
165
164
  url: parts[2],
@@ -191,13 +190,16 @@ function computeStackTraceFromStacktraceProp(ex) {
191
190
  return {
192
191
  message: extractMessage(ex),
193
192
  name: ex.name,
194
- stack: stack,
193
+ stack,
195
194
  };
196
195
  }
197
196
  /** Remove N number of frames from the stack */
198
197
  function popFrames(stacktrace, popSize) {
199
198
  try {
200
- return tslib_1.__assign(tslib_1.__assign({}, stacktrace), { stack: stacktrace.stack.slice(popSize) });
199
+ return {
200
+ ...stacktrace,
201
+ stack: stacktrace.stack.slice(popSize),
202
+ };
201
203
  }
202
204
  catch (e) {
203
205
  return stacktrace;
@@ -209,7 +211,7 @@ function popFrames(stacktrace, popSize) {
209
211
  * In this specific case we try to extract stacktrace.message.error.message
210
212
  */
211
213
  function extractMessage(ex) {
212
- var message = ex && ex.message;
214
+ const message = ex && ex.message;
213
215
  // console.log('message',message)
214
216
  if (!message) {
215
217
  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;AAKpH;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,oBAAoB,GAC9B,SAAS,CAoCX;AAGD,eAAO,MAAM,YAAY,4BAAsB,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XHRTransport = void 0;
4
+ exports.makeUniappTransport = makeUniappTransport;
5
+ const core_1 = require("@sentry/core");
6
+ const crossPlatform_1 = require("./crossPlatform");
7
+ /**
8
+ * Creates a Transport that uses UniApp's request API
9
+ */
10
+ function makeUniappTransport(options) {
11
+ function makeRequest(request) {
12
+ const requestFunc = crossPlatform_1.sdk.request || crossPlatform_1.sdk.httpRequest;
13
+ if (!requestFunc) {
14
+ return (0, core_1.rejectedSyncPromise)(new Error('No request function available'));
15
+ }
16
+ return new Promise((resolve, reject) => {
17
+ requestFunc({
18
+ url: options.url,
19
+ method: 'POST',
20
+ data: request.body,
21
+ header: {
22
+ 'Content-Type': 'application/x-sentry-envelope',
23
+ },
24
+ success(res) {
25
+ const status = res.statusCode;
26
+ const headers = res.header || {};
27
+ resolve({
28
+ statusCode: status,
29
+ headers: {
30
+ 'x-sentry-rate-limits': headers['x-sentry-rate-limits'] || headers['X-Sentry-Rate-Limits'] || null,
31
+ 'retry-after': headers['retry-after'] || headers['Retry-After'] || null,
32
+ },
33
+ });
34
+ },
35
+ fail(error) {
36
+ reject(error);
37
+ },
38
+ });
39
+ });
40
+ }
41
+ return (0, core_1.createTransport)(options, makeRequest);
42
+ }
43
+ // Export as XHRTransport for backward compatibility
44
+ exports.XHRTransport = makeUniappTransport;
45
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":";;;AAQA,kDAsCC;AA7CD,uCAAoE;AAEpE,mDAAsC;AAEtC;;GAEG;AACH,SAAgB,mBAAmB,CAC/B,OAA6B;IAE7B,SAAS,WAAW,CAAC,OAAyB;QAC1C,MAAM,WAAW,GAAG,mBAAG,CAAC,OAAO,IAAI,mBAAG,CAAC,WAAW,CAAC;QAEnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO,IAAA,0BAAmB,EAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,IAAI,OAAO,CAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjE,WAAW,CAAC;gBACR,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE;oBACJ,cAAc,EAAE,+BAA+B;iBAClD;gBACD,OAAO,CAAC,GAA4D;oBAChE,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;oBAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;oBAEjC,OAAO,CAAC;wBACJ,UAAU,EAAE,MAAM;wBAClB,OAAO,EAAE;4BACL,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,CAAC,IAAI,OAAO,CAAC,sBAAsB,CAAC,IAAI,IAAI;4BAClG,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI;yBAC1E;qBACJ,CAAC,CAAC;gBACP,CAAC;gBACD,IAAI,CAAC,KAAU;oBACX,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,IAAA,sBAAe,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACjD,CAAC;AAED,oDAAoD;AACvC,QAAA,YAAY,GAAG,mBAAmB,CAAC"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
@@ -1,6 +1,6 @@
1
+ "use strict";
1
2
  Object.defineProperty(exports, "__esModule", { value: true });
2
- var base_1 = require("./base");
3
- Object.defineProperty(exports, "BaseTransport", { enumerable: true, get: function () { return base_1.BaseTransport; } });
4
- var xhr_1 = require("./xhr");
5
- Object.defineProperty(exports, "XHRTransport", { enumerable: true, get: function () { return xhr_1.XHRTransport; } });
3
+ exports.XHRTransport = void 0;
4
+ var transport_1 = require("../transport");
5
+ Object.defineProperty(exports, "XHRTransport", { enumerable: true, get: function () { return transport_1.XHRTransport; } });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transports/index.ts"],"names":[],"mappings":";AAAA,+BAAuC;AAA9B,qGAAA,aAAa,OAAA;AACtB,6BAAqC;AAA5B,mGAAA,YAAY,OAAA","sourcesContent":["export { BaseTransport } from \"./base\";\nexport { XHRTransport } from \"./xhr\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transports/index.ts"],"names":[],"mappings":";;;AAAA,0CAA4C;AAAnC,yGAAA,YAAY,OAAA"}
package/dist/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export declare const SDK_NAME = "sentry.javascript.uniapp";
2
- export declare const SDK_VERSION = "1.0.11";
2
+ export declare const SDK_VERSION = "2.8.0";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,6BAA6B,CAAC;AACnD,eAAO,MAAM,WAAW,WAAW,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,6BAA6B,CAAC;AACnD,eAAO,MAAM,WAAW,UAAU,CAAA"}
package/dist/version.js CHANGED
@@ -1,5 +1,6 @@
1
+ "use strict";
1
2
  Object.defineProperty(exports, "__esModule", { value: true });
2
3
  exports.SDK_VERSION = exports.SDK_NAME = void 0;
3
4
  exports.SDK_NAME = "sentry.javascript.uniapp";
4
- exports.SDK_VERSION = "1.0.11";
5
+ exports.SDK_VERSION = "2.8.0";
5
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;AAAa,QAAA,QAAQ,GAAG,0BAA0B,CAAC;AACtC,QAAA,WAAW,GAAG,QAAQ,CAAC","sourcesContent":["export const SDK_NAME = \"sentry.javascript.uniapp\";\nexport const SDK_VERSION = \"1.0.11\";\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,0BAA0B,CAAC;AACtC,QAAA,WAAW,GAAG,OAAO,CAAA"}