@grafana/faro-web-sdk 1.0.0-beta1

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 (280) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +86 -0
  3. package/dist/cjs/config/getWebInstrumentations.d.ts +3 -0
  4. package/dist/cjs/config/getWebInstrumentations.js +20 -0
  5. package/dist/cjs/config/getWebInstrumentations.js.map +1 -0
  6. package/dist/cjs/config/index.d.ts +3 -0
  7. package/dist/cjs/config/index.js +8 -0
  8. package/dist/cjs/config/index.js.map +1 -0
  9. package/dist/cjs/config/makeCoreConfig.d.ts +3 -0
  10. package/dist/cjs/config/makeCoreConfig.js +51 -0
  11. package/dist/cjs/config/makeCoreConfig.js.map +1 -0
  12. package/dist/cjs/config/types.d.ts +9 -0
  13. package/dist/cjs/config/types.js +3 -0
  14. package/dist/cjs/config/types.js.map +1 -0
  15. package/dist/cjs/consts.d.ts +1 -0
  16. package/dist/cjs/consts.js +5 -0
  17. package/dist/cjs/consts.js.map +1 -0
  18. package/dist/cjs/index.d.ts +12 -0
  19. package/dist/cjs/index.js +84 -0
  20. package/dist/cjs/index.js.map +1 -0
  21. package/dist/cjs/initialize.d.ts +3 -0
  22. package/dist/cjs/initialize.js +14 -0
  23. package/dist/cjs/initialize.js.map +1 -0
  24. package/dist/cjs/instrumentations/console/index.d.ts +2 -0
  25. package/dist/cjs/instrumentations/console/index.js +6 -0
  26. package/dist/cjs/instrumentations/console/index.js.map +1 -0
  27. package/dist/cjs/instrumentations/console/instrumentation.d.ts +10 -0
  28. package/dist/cjs/instrumentations/console/instrumentation.js +59 -0
  29. package/dist/cjs/instrumentations/console/instrumentation.js.map +1 -0
  30. package/dist/cjs/instrumentations/console/types.d.ts +4 -0
  31. package/dist/cjs/instrumentations/console/types.js +3 -0
  32. package/dist/cjs/instrumentations/console/types.js.map +1 -0
  33. package/dist/cjs/instrumentations/errors/const.d.ts +7 -0
  34. package/dist/cjs/instrumentations/errors/const.js +11 -0
  35. package/dist/cjs/instrumentations/errors/const.js.map +1 -0
  36. package/dist/cjs/instrumentations/errors/getErrorDetails.d.ts +3 -0
  37. package/dist/cjs/instrumentations/errors/getErrorDetails.js +34 -0
  38. package/dist/cjs/instrumentations/errors/getErrorDetails.js.map +1 -0
  39. package/dist/cjs/instrumentations/errors/getValueAndTypeFromMessage.d.ts +1 -0
  40. package/dist/cjs/instrumentations/errors/getValueAndTypeFromMessage.js +14 -0
  41. package/dist/cjs/instrumentations/errors/getValueAndTypeFromMessage.js.map +1 -0
  42. package/dist/cjs/instrumentations/errors/index.d.ts +3 -0
  43. package/dist/cjs/instrumentations/errors/index.js +11 -0
  44. package/dist/cjs/instrumentations/errors/index.js.map +1 -0
  45. package/dist/cjs/instrumentations/errors/instrumentation.d.ts +6 -0
  46. package/dist/cjs/instrumentations/errors/instrumentation.js +38 -0
  47. package/dist/cjs/instrumentations/errors/instrumentation.js.map +1 -0
  48. package/dist/cjs/instrumentations/errors/registerOnerror.d.ts +2 -0
  49. package/dist/cjs/instrumentations/errors/registerOnerror.js +47 -0
  50. package/dist/cjs/instrumentations/errors/registerOnerror.js.map +1 -0
  51. package/dist/cjs/instrumentations/errors/registerOnerror.test.d.ts +1 -0
  52. package/dist/cjs/instrumentations/errors/registerOnerror.test.js +23 -0
  53. package/dist/cjs/instrumentations/errors/registerOnerror.test.js.map +1 -0
  54. package/dist/cjs/instrumentations/errors/registerOnunhandledrejection.d.ts +2 -0
  55. package/dist/cjs/instrumentations/errors/registerOnunhandledrejection.js +33 -0
  56. package/dist/cjs/instrumentations/errors/registerOnunhandledrejection.js.map +1 -0
  57. package/dist/cjs/instrumentations/errors/stackFrames/buildStackFrame.d.ts +2 -0
  58. package/dist/cjs/instrumentations/errors/stackFrames/buildStackFrame.js +19 -0
  59. package/dist/cjs/instrumentations/errors/stackFrames/buildStackFrame.js.map +1 -0
  60. package/dist/cjs/instrumentations/errors/stackFrames/const.d.ts +15 -0
  61. package/dist/cjs/instrumentations/errors/stackFrames/const.js +19 -0
  62. package/dist/cjs/instrumentations/errors/stackFrames/const.js.map +1 -0
  63. package/dist/cjs/instrumentations/errors/stackFrames/getDataFromSafariExtensions.d.ts +1 -0
  64. package/dist/cjs/instrumentations/errors/stackFrames/getDataFromSafariExtensions.js +17 -0
  65. package/dist/cjs/instrumentations/errors/stackFrames/getDataFromSafariExtensions.js.map +1 -0
  66. package/dist/cjs/instrumentations/errors/stackFrames/getStackFramesFromError.d.ts +2 -0
  67. package/dist/cjs/instrumentations/errors/stackFrames/getStackFramesFromError.js +70 -0
  68. package/dist/cjs/instrumentations/errors/stackFrames/getStackFramesFromError.js.map +1 -0
  69. package/dist/cjs/instrumentations/errors/stackFrames/index.d.ts +4 -0
  70. package/dist/cjs/instrumentations/errors/stackFrames/index.js +12 -0
  71. package/dist/cjs/instrumentations/errors/stackFrames/index.js.map +1 -0
  72. package/dist/cjs/instrumentations/errors/stackFrames/parseStacktrace.d.ts +2 -0
  73. package/dist/cjs/instrumentations/errors/stackFrames/parseStacktrace.js +11 -0
  74. package/dist/cjs/instrumentations/errors/stackFrames/parseStacktrace.js.map +1 -0
  75. package/dist/cjs/instrumentations/errors/types.d.ts +8 -0
  76. package/dist/cjs/instrumentations/errors/types.js +3 -0
  77. package/dist/cjs/instrumentations/errors/types.js.map +1 -0
  78. package/dist/cjs/instrumentations/index.d.ts +6 -0
  79. package/dist/cjs/instrumentations/index.js +16 -0
  80. package/dist/cjs/instrumentations/index.js.map +1 -0
  81. package/dist/cjs/instrumentations/session/index.d.ts +1 -0
  82. package/dist/cjs/instrumentations/session/index.js +6 -0
  83. package/dist/cjs/instrumentations/session/index.js.map +1 -0
  84. package/dist/cjs/instrumentations/session/instrumentation.d.ts +8 -0
  85. package/dist/cjs/instrumentations/session/instrumentation.js +46 -0
  86. package/dist/cjs/instrumentations/session/instrumentation.js.map +1 -0
  87. package/dist/cjs/instrumentations/session/instrumentation.test.d.ts +1 -0
  88. package/dist/cjs/instrumentations/session/instrumentation.test.js +47 -0
  89. package/dist/cjs/instrumentations/session/instrumentation.test.js.map +1 -0
  90. package/dist/cjs/instrumentations/webVitals/index.d.ts +1 -0
  91. package/dist/cjs/instrumentations/webVitals/index.js +6 -0
  92. package/dist/cjs/instrumentations/webVitals/index.js.map +1 -0
  93. package/dist/cjs/instrumentations/webVitals/instrumentation.d.ts +14 -0
  94. package/dist/cjs/instrumentations/webVitals/instrumentation.js +56 -0
  95. package/dist/cjs/instrumentations/webVitals/instrumentation.js.map +1 -0
  96. package/dist/cjs/metas/browser/index.d.ts +1 -0
  97. package/dist/cjs/metas/browser/index.js +6 -0
  98. package/dist/cjs/metas/browser/index.js.map +1 -0
  99. package/dist/cjs/metas/browser/meta.d.ts +2 -0
  100. package/dist/cjs/metas/browser/meta.js +21 -0
  101. package/dist/cjs/metas/browser/meta.js.map +1 -0
  102. package/dist/cjs/metas/const.d.ts +2 -0
  103. package/dist/cjs/metas/const.js +7 -0
  104. package/dist/cjs/metas/const.js.map +1 -0
  105. package/dist/cjs/metas/index.d.ts +3 -0
  106. package/dist/cjs/metas/index.js +10 -0
  107. package/dist/cjs/metas/index.js.map +1 -0
  108. package/dist/cjs/metas/page/index.d.ts +1 -0
  109. package/dist/cjs/metas/page/index.js +6 -0
  110. package/dist/cjs/metas/page/index.js.map +1 -0
  111. package/dist/cjs/metas/page/meta.d.ts +2 -0
  112. package/dist/cjs/metas/page/meta.js +10 -0
  113. package/dist/cjs/metas/page/meta.js.map +1 -0
  114. package/dist/cjs/session.d.ts +2 -0
  115. package/dist/cjs/session.js +12 -0
  116. package/dist/cjs/session.js.map +1 -0
  117. package/dist/cjs/transports/console/index.d.ts +2 -0
  118. package/dist/cjs/transports/console/index.js +6 -0
  119. package/dist/cjs/transports/console/index.js.map +1 -0
  120. package/dist/cjs/transports/console/transport.d.ts +10 -0
  121. package/dist/cjs/transports/console/transport.js +37 -0
  122. package/dist/cjs/transports/console/transport.js.map +1 -0
  123. package/dist/cjs/transports/console/types.d.ts +4 -0
  124. package/dist/cjs/transports/console/types.js +3 -0
  125. package/dist/cjs/transports/console/types.js.map +1 -0
  126. package/dist/cjs/transports/fetch/index.d.ts +2 -0
  127. package/dist/cjs/transports/fetch/index.js +6 -0
  128. package/dist/cjs/transports/fetch/index.js.map +1 -0
  129. package/dist/cjs/transports/fetch/transport.d.ts +16 -0
  130. package/dist/cjs/transports/fetch/transport.js +160 -0
  131. package/dist/cjs/transports/fetch/transport.js.map +1 -0
  132. package/dist/cjs/transports/fetch/transport.test.d.ts +1 -0
  133. package/dist/cjs/transports/fetch/transport.test.js +193 -0
  134. package/dist/cjs/transports/fetch/transport.test.js.map +1 -0
  135. package/dist/cjs/transports/fetch/types.d.ts +13 -0
  136. package/dist/cjs/transports/fetch/types.js +3 -0
  137. package/dist/cjs/transports/fetch/types.js.map +1 -0
  138. package/dist/cjs/transports/index.d.ts +4 -0
  139. package/dist/cjs/transports/index.js +8 -0
  140. package/dist/cjs/transports/index.js.map +1 -0
  141. package/dist/esm/config/getWebInstrumentations.d.ts +3 -0
  142. package/dist/esm/config/getWebInstrumentations.js +15 -0
  143. package/dist/esm/config/getWebInstrumentations.js.map +1 -0
  144. package/dist/esm/config/index.d.ts +3 -0
  145. package/dist/esm/config/index.js +3 -0
  146. package/dist/esm/config/index.js.map +1 -0
  147. package/dist/esm/config/makeCoreConfig.d.ts +3 -0
  148. package/dist/esm/config/makeCoreConfig.js +47 -0
  149. package/dist/esm/config/makeCoreConfig.js.map +1 -0
  150. package/dist/esm/config/types.d.ts +9 -0
  151. package/dist/esm/config/types.js +2 -0
  152. package/dist/esm/config/types.js.map +1 -0
  153. package/dist/esm/consts.d.ts +1 -0
  154. package/dist/esm/consts.js +2 -0
  155. package/dist/esm/consts.js.map +1 -0
  156. package/dist/esm/index.d.ts +12 -0
  157. package/dist/esm/index.js +9 -0
  158. package/dist/esm/index.js.map +1 -0
  159. package/dist/esm/initialize.d.ts +3 -0
  160. package/dist/esm/initialize.js +10 -0
  161. package/dist/esm/initialize.js.map +1 -0
  162. package/dist/esm/instrumentations/console/index.d.ts +2 -0
  163. package/dist/esm/instrumentations/console/index.js +2 -0
  164. package/dist/esm/instrumentations/console/index.js.map +1 -0
  165. package/dist/esm/instrumentations/console/instrumentation.d.ts +10 -0
  166. package/dist/esm/instrumentations/console/instrumentation.js +30 -0
  167. package/dist/esm/instrumentations/console/instrumentation.js.map +1 -0
  168. package/dist/esm/instrumentations/console/types.d.ts +4 -0
  169. package/dist/esm/instrumentations/console/types.js +2 -0
  170. package/dist/esm/instrumentations/console/types.js.map +1 -0
  171. package/dist/esm/instrumentations/errors/const.d.ts +7 -0
  172. package/dist/esm/instrumentations/errors/const.js +8 -0
  173. package/dist/esm/instrumentations/errors/const.js.map +1 -0
  174. package/dist/esm/instrumentations/errors/getErrorDetails.d.ts +3 -0
  175. package/dist/esm/instrumentations/errors/getErrorDetails.js +30 -0
  176. package/dist/esm/instrumentations/errors/getErrorDetails.js.map +1 -0
  177. package/dist/esm/instrumentations/errors/getValueAndTypeFromMessage.d.ts +1 -0
  178. package/dist/esm/instrumentations/errors/getValueAndTypeFromMessage.js +10 -0
  179. package/dist/esm/instrumentations/errors/getValueAndTypeFromMessage.js.map +1 -0
  180. package/dist/esm/instrumentations/errors/index.d.ts +3 -0
  181. package/dist/esm/instrumentations/errors/index.js +3 -0
  182. package/dist/esm/instrumentations/errors/index.js.map +1 -0
  183. package/dist/esm/instrumentations/errors/instrumentation.d.ts +6 -0
  184. package/dist/esm/instrumentations/errors/instrumentation.js +16 -0
  185. package/dist/esm/instrumentations/errors/instrumentation.js.map +1 -0
  186. package/dist/esm/instrumentations/errors/registerOnerror.d.ts +2 -0
  187. package/dist/esm/instrumentations/errors/registerOnerror.js +38 -0
  188. package/dist/esm/instrumentations/errors/registerOnerror.js.map +1 -0
  189. package/dist/esm/instrumentations/errors/registerOnerror.test.d.ts +1 -0
  190. package/dist/esm/instrumentations/errors/registerOnerror.test.js +21 -0
  191. package/dist/esm/instrumentations/errors/registerOnerror.test.js.map +1 -0
  192. package/dist/esm/instrumentations/errors/registerOnunhandledrejection.d.ts +2 -0
  193. package/dist/esm/instrumentations/errors/registerOnunhandledrejection.js +28 -0
  194. package/dist/esm/instrumentations/errors/registerOnunhandledrejection.js.map +1 -0
  195. package/dist/esm/instrumentations/errors/stackFrames/buildStackFrame.d.ts +2 -0
  196. package/dist/esm/instrumentations/errors/stackFrames/buildStackFrame.js +15 -0
  197. package/dist/esm/instrumentations/errors/stackFrames/buildStackFrame.js.map +1 -0
  198. package/dist/esm/instrumentations/errors/stackFrames/const.d.ts +15 -0
  199. package/dist/esm/instrumentations/errors/stackFrames/const.js +16 -0
  200. package/dist/esm/instrumentations/errors/stackFrames/const.js.map +1 -0
  201. package/dist/esm/instrumentations/errors/stackFrames/getDataFromSafariExtensions.d.ts +1 -0
  202. package/dist/esm/instrumentations/errors/stackFrames/getDataFromSafariExtensions.js +13 -0
  203. package/dist/esm/instrumentations/errors/stackFrames/getDataFromSafariExtensions.js.map +1 -0
  204. package/dist/esm/instrumentations/errors/stackFrames/getStackFramesFromError.d.ts +2 -0
  205. package/dist/esm/instrumentations/errors/stackFrames/getStackFramesFromError.js +65 -0
  206. package/dist/esm/instrumentations/errors/stackFrames/getStackFramesFromError.js.map +1 -0
  207. package/dist/esm/instrumentations/errors/stackFrames/index.d.ts +4 -0
  208. package/dist/esm/instrumentations/errors/stackFrames/index.js +5 -0
  209. package/dist/esm/instrumentations/errors/stackFrames/index.js.map +1 -0
  210. package/dist/esm/instrumentations/errors/stackFrames/parseStacktrace.d.ts +2 -0
  211. package/dist/esm/instrumentations/errors/stackFrames/parseStacktrace.js +7 -0
  212. package/dist/esm/instrumentations/errors/stackFrames/parseStacktrace.js.map +1 -0
  213. package/dist/esm/instrumentations/errors/types.d.ts +8 -0
  214. package/dist/esm/instrumentations/errors/types.js +2 -0
  215. package/dist/esm/instrumentations/errors/types.js.map +1 -0
  216. package/dist/esm/instrumentations/index.d.ts +6 -0
  217. package/dist/esm/instrumentations/index.js +5 -0
  218. package/dist/esm/instrumentations/index.js.map +1 -0
  219. package/dist/esm/instrumentations/session/index.d.ts +1 -0
  220. package/dist/esm/instrumentations/session/index.js +2 -0
  221. package/dist/esm/instrumentations/session/index.js.map +1 -0
  222. package/dist/esm/instrumentations/session/instrumentation.d.ts +8 -0
  223. package/dist/esm/instrumentations/session/instrumentation.js +24 -0
  224. package/dist/esm/instrumentations/session/instrumentation.js.map +1 -0
  225. package/dist/esm/instrumentations/session/instrumentation.test.d.ts +1 -0
  226. package/dist/esm/instrumentations/session/instrumentation.test.js +45 -0
  227. package/dist/esm/instrumentations/session/instrumentation.test.js.map +1 -0
  228. package/dist/esm/instrumentations/webVitals/index.d.ts +1 -0
  229. package/dist/esm/instrumentations/webVitals/index.js +2 -0
  230. package/dist/esm/instrumentations/webVitals/index.js.map +1 -0
  231. package/dist/esm/instrumentations/webVitals/instrumentation.d.ts +14 -0
  232. package/dist/esm/instrumentations/webVitals/instrumentation.js +31 -0
  233. package/dist/esm/instrumentations/webVitals/instrumentation.js.map +1 -0
  234. package/dist/esm/metas/browser/index.d.ts +1 -0
  235. package/dist/esm/metas/browser/index.js +2 -0
  236. package/dist/esm/metas/browser/index.js.map +1 -0
  237. package/dist/esm/metas/browser/meta.d.ts +2 -0
  238. package/dist/esm/metas/browser/meta.js +17 -0
  239. package/dist/esm/metas/browser/meta.js.map +1 -0
  240. package/dist/esm/metas/const.d.ts +2 -0
  241. package/dist/esm/metas/const.js +4 -0
  242. package/dist/esm/metas/const.js.map +1 -0
  243. package/dist/esm/metas/index.d.ts +3 -0
  244. package/dist/esm/metas/index.js +4 -0
  245. package/dist/esm/metas/index.js.map +1 -0
  246. package/dist/esm/metas/page/index.d.ts +1 -0
  247. package/dist/esm/metas/page/index.js +2 -0
  248. package/dist/esm/metas/page/index.js.map +1 -0
  249. package/dist/esm/metas/page/meta.d.ts +2 -0
  250. package/dist/esm/metas/page/meta.js +6 -0
  251. package/dist/esm/metas/page/meta.js.map +1 -0
  252. package/dist/esm/session.d.ts +2 -0
  253. package/dist/esm/session.js +8 -0
  254. package/dist/esm/session.js.map +1 -0
  255. package/dist/esm/transports/console/index.d.ts +2 -0
  256. package/dist/esm/transports/console/index.js +2 -0
  257. package/dist/esm/transports/console/index.js.map +1 -0
  258. package/dist/esm/transports/console/transport.d.ts +10 -0
  259. package/dist/esm/transports/console/transport.js +14 -0
  260. package/dist/esm/transports/console/transport.js.map +1 -0
  261. package/dist/esm/transports/console/types.d.ts +4 -0
  262. package/dist/esm/transports/console/types.js +2 -0
  263. package/dist/esm/transports/console/types.js.map +1 -0
  264. package/dist/esm/transports/fetch/index.d.ts +2 -0
  265. package/dist/esm/transports/fetch/index.js +2 -0
  266. package/dist/esm/transports/fetch/index.js.map +1 -0
  267. package/dist/esm/transports/fetch/transport.d.ts +16 -0
  268. package/dist/esm/transports/fetch/transport.js +88 -0
  269. package/dist/esm/transports/fetch/transport.js.map +1 -0
  270. package/dist/esm/transports/fetch/transport.test.d.ts +1 -0
  271. package/dist/esm/transports/fetch/transport.test.js +119 -0
  272. package/dist/esm/transports/fetch/transport.test.js.map +1 -0
  273. package/dist/esm/transports/fetch/types.d.ts +13 -0
  274. package/dist/esm/transports/fetch/types.js +2 -0
  275. package/dist/esm/transports/fetch/types.js.map +1 -0
  276. package/dist/esm/transports/index.d.ts +4 -0
  277. package/dist/esm/transports/index.js +3 -0
  278. package/dist/esm/transports/index.js.map +1 -0
  279. package/globals.ts +7 -0
  280. package/package.json +48 -0
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ConsoleInstrumentation = void 0;
19
+ var faro_core_1 = require("@grafana/faro-core");
20
+ var ConsoleInstrumentation = /** @class */ (function (_super) {
21
+ __extends(ConsoleInstrumentation, _super);
22
+ function ConsoleInstrumentation(options) {
23
+ if (options === void 0) { options = {}; }
24
+ var _this = _super.call(this) || this;
25
+ _this.options = options;
26
+ _this.name = '@grafana/faro-web-sdk:instrumentation-console';
27
+ _this.version = faro_core_1.VERSION;
28
+ return _this;
29
+ }
30
+ ConsoleInstrumentation.prototype.initialize = function () {
31
+ var _this = this;
32
+ this.logDebug('Initializing\n', this.options);
33
+ faro_core_1.allLogLevels
34
+ .filter(function (level) { var _a; return !((_a = _this.options.disabledLevels) !== null && _a !== void 0 ? _a : ConsoleInstrumentation.defaultDisabledLevels).includes(level); })
35
+ .forEach(function (level) {
36
+ /* eslint-disable-next-line no-console */
37
+ console[level] = function () {
38
+ var _a;
39
+ var args = [];
40
+ for (var _i = 0; _i < arguments.length; _i++) {
41
+ args[_i] = arguments[_i];
42
+ }
43
+ try {
44
+ _this.faro.api.pushLog(args, { level: level });
45
+ }
46
+ catch (err) {
47
+ _this.logError(err);
48
+ }
49
+ finally {
50
+ (_a = _this.faro.unpatchedConsole)[level].apply(_a, args);
51
+ }
52
+ };
53
+ });
54
+ };
55
+ ConsoleInstrumentation.defaultDisabledLevels = [faro_core_1.LogLevel.DEBUG, faro_core_1.LogLevel.TRACE, faro_core_1.LogLevel.LOG];
56
+ return ConsoleInstrumentation;
57
+ }(faro_core_1.BaseInstrumentation));
58
+ exports.ConsoleInstrumentation = ConsoleInstrumentation;
59
+ //# sourceMappingURL=instrumentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../../src/instrumentations/console/instrumentation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gDAA0F;AAI1F;IAA4C,0CAAmB;IAM7D,gCAAoB,OAA2C;QAA3C,wBAAA,EAAA,YAA2C;QAA/D,YACE,iBAAO,SACR;QAFmB,aAAO,GAAP,OAAO,CAAoC;QALtD,UAAI,GAAG,+CAA+C,CAAC;QACvD,aAAO,GAAG,mBAAO,CAAC;;IAM3B,CAAC;IAED,2CAAU,GAAV;QAAA,iBAiBC;QAhBC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE9C,wBAAY;aACT,MAAM,CAAC,UAAC,KAAK,YAAK,OAAA,CAAC,CAAC,MAAA,KAAI,CAAC,OAAO,CAAC,cAAc,mCAAI,sBAAsB,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC;aACjH,OAAO,CAAC,UAAC,KAAK;YACb,yCAAyC;YACzC,OAAO,CAAC,KAAK,CAAC,GAAG;;gBAAC,cAAO;qBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;oBAAP,yBAAO;;gBACvB,IAAI;oBACF,KAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;iBACxC;gBAAC,OAAO,GAAG,EAAE;oBACZ,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;iBACpB;wBAAS;oBACR,CAAA,KAAA,KAAI,CAAC,IAAI,CAAC,gBAAgB,CAAA,CAAC,KAAK,CAAC,WAAI,IAAI,EAAE;iBAC5C;YACH,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAvBM,4CAAqB,GAAe,CAAC,oBAAQ,CAAC,KAAK,EAAE,oBAAQ,CAAC,KAAK,EAAE,oBAAQ,CAAC,GAAG,CAAC,CAAC;IAwB5F,6BAAC;CAAA,AA5BD,CAA4C,+BAAmB,GA4B9D;AA5BY,wDAAsB"}
@@ -0,0 +1,4 @@
1
+ import type { LogLevel } from '@grafana/faro-core';
2
+ export interface ConsoleInstrumentationOptions {
3
+ disabledLevels?: LogLevel[];
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/instrumentations/console/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export declare const primitiveUnhandledValue = "Non-Error promise rejection captured with value:";
2
+ export declare const primitiveUnhandledType = "UnhandledRejection";
3
+ export declare const domErrorType = "DOMError";
4
+ export declare const domExceptionType = "DOMException";
5
+ export declare const objectEventValue = "Non-Error exception captured with keys:";
6
+ export declare const unknownString = "?";
7
+ export declare const valueTypeRegex: RegExp;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.valueTypeRegex = exports.unknownString = exports.objectEventValue = exports.domExceptionType = exports.domErrorType = exports.primitiveUnhandledType = exports.primitiveUnhandledValue = void 0;
4
+ exports.primitiveUnhandledValue = 'Non-Error promise rejection captured with value:';
5
+ exports.primitiveUnhandledType = 'UnhandledRejection';
6
+ exports.domErrorType = 'DOMError';
7
+ exports.domExceptionType = 'DOMException';
8
+ exports.objectEventValue = 'Non-Error exception captured with keys:';
9
+ exports.unknownString = '?';
10
+ exports.valueTypeRegex = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;
11
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,kDAAkD,CAAC;AAC7E,QAAA,sBAAsB,GAAG,oBAAoB,CAAC;AAE9C,QAAA,YAAY,GAAG,UAAU,CAAC;AAC1B,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAElC,QAAA,gBAAgB,GAAG,yCAAyC,CAAC;AAE7D,QAAA,aAAa,GAAG,GAAG,CAAC;AAEpB,QAAA,cAAc,GACzB,0GAA0G,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ExceptionStackFrame } from '@grafana/faro-core';
2
+ import type { ErrorEvent } from './types';
3
+ export declare function getErrorDetails(evt: ErrorEvent): [string | undefined, string | undefined, ExceptionStackFrame[]];
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getErrorDetails = void 0;
4
+ var faro_core_1 = require("@grafana/faro-core");
5
+ var const_1 = require("./const");
6
+ var stackFrames_1 = require("./stackFrames");
7
+ function getErrorDetails(evt) {
8
+ var value;
9
+ var type;
10
+ var stackFrames = [];
11
+ var isDomErrorRes;
12
+ var isEventRes;
13
+ if ((0, faro_core_1.isErrorEvent)(evt) && evt.error) {
14
+ value = evt.error.message;
15
+ type = evt.error.name;
16
+ stackFrames = (0, stackFrames_1.getStackFramesFromError)(evt.error);
17
+ }
18
+ else if ((isDomErrorRes = (0, faro_core_1.isDomError)(evt)) || (0, faro_core_1.isDomException)(evt)) {
19
+ var name_1 = evt.name, message = evt.message;
20
+ type = name_1 !== null && name_1 !== void 0 ? name_1 : (isDomErrorRes ? const_1.domErrorType : const_1.domExceptionType);
21
+ value = message ? "".concat(type, ": ").concat(message) : type;
22
+ }
23
+ else if ((0, faro_core_1.isError)(evt)) {
24
+ value = evt.message;
25
+ stackFrames = (0, stackFrames_1.getStackFramesFromError)(evt);
26
+ }
27
+ else if ((0, faro_core_1.isObject)(evt) || (isEventRes = (0, faro_core_1.isEvent)(evt))) {
28
+ type = isEventRes ? evt.constructor.name : undefined;
29
+ value = "".concat(const_1.objectEventValue, " ").concat(Object.keys(evt));
30
+ }
31
+ return [value, type, stackFrames];
32
+ }
33
+ exports.getErrorDetails = getErrorDetails;
34
+ //# sourceMappingURL=getErrorDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getErrorDetails.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/getErrorDetails.ts"],"names":[],"mappings":";;;AAAA,gDAA0G;AAG1G,iCAA2E;AAC3E,6CAAwD;AAGxD,SAAgB,eAAe,CAAC,GAAe;IAC7C,IAAI,KAAyB,CAAC;IAC9B,IAAI,IAAwB,CAAC;IAC7B,IAAI,WAAW,GAA0B,EAAE,CAAC;IAC5C,IAAI,aAAkC,CAAC;IACvC,IAAI,UAA+B,CAAC;IAEpC,IAAI,IAAA,wBAAY,EAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE;QAClC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAC1B,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QACtB,WAAW,GAAG,IAAA,qCAAuB,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KAClD;SAAM,IAAI,CAAC,aAAa,GAAG,IAAA,sBAAU,EAAC,GAAG,CAAC,CAAC,IAAI,IAAA,0BAAc,EAAC,GAAG,CAAC,EAAE;QAC3D,IAAA,MAAI,GAAc,GAAG,KAAjB,EAAE,OAAO,GAAK,GAAG,QAAR,CAAS;QAE9B,IAAI,GAAG,MAAI,aAAJ,MAAI,cAAJ,MAAI,GAAI,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAY,CAAC,CAAC,CAAC,wBAAgB,CAAC,CAAC;QACjE,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,UAAG,IAAI,eAAK,OAAO,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KAChD;SAAM,IAAI,IAAA,mBAAO,EAAC,GAAG,CAAC,EAAE;QACvB,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;QACpB,WAAW,GAAG,IAAA,qCAAuB,EAAC,GAAG,CAAC,CAAC;KAC5C;SAAM,IAAI,IAAA,oBAAQ,EAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAA,mBAAO,EAAC,GAAG,CAAC,CAAC,EAAE;QACvD,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACrD,KAAK,GAAG,UAAG,wBAAgB,cAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;KACnD;IAED,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AACpC,CAAC;AAzBD,0CAyBC"}
@@ -0,0 +1 @@
1
+ export declare function getValueAndTypeFromMessage(message: string): [string, string];
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getValueAndTypeFromMessage = void 0;
4
+ var faro_core_1 = require("@grafana/faro-core");
5
+ var const_1 = require("./const");
6
+ function getValueAndTypeFromMessage(message) {
7
+ var _a, _b;
8
+ var groups = message.match(const_1.valueTypeRegex);
9
+ var type = (_a = groups === null || groups === void 0 ? void 0 : groups[1]) !== null && _a !== void 0 ? _a : faro_core_1.defaultExceptionType;
10
+ var value = (_b = groups === null || groups === void 0 ? void 0 : groups[2]) !== null && _b !== void 0 ? _b : message;
11
+ return [value, type];
12
+ }
13
+ exports.getValueAndTypeFromMessage = getValueAndTypeFromMessage;
14
+ //# sourceMappingURL=getValueAndTypeFromMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getValueAndTypeFromMessage.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/getValueAndTypeFromMessage.ts"],"names":[],"mappings":";;;AAAA,gDAA0D;AAE1D,iCAAyC;AAEzC,SAAgB,0BAA0B,CAAC,OAAe;;IACxD,IAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAc,CAAC,CAAC;IAE7C,IAAM,IAAI,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,mCAAI,gCAAoB,CAAC;IACjD,IAAM,KAAK,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,mCAAI,OAAO,CAAC;IAErC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACvB,CAAC;AAPD,gEAOC"}
@@ -0,0 +1,3 @@
1
+ export { ErrorsInstrumentation } from './instrumentation';
2
+ export { buildStackFrame, getDataFromSafariExtensions, getStackFramesFromError, parseStacktrace } from './stackFrames';
3
+ export type { ErrorEvent, ExtendedPromiseRejectionEvent } from './types';
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseStacktrace = exports.getStackFramesFromError = exports.getDataFromSafariExtensions = exports.buildStackFrame = exports.ErrorsInstrumentation = void 0;
4
+ var instrumentation_1 = require("./instrumentation");
5
+ Object.defineProperty(exports, "ErrorsInstrumentation", { enumerable: true, get: function () { return instrumentation_1.ErrorsInstrumentation; } });
6
+ var stackFrames_1 = require("./stackFrames");
7
+ Object.defineProperty(exports, "buildStackFrame", { enumerable: true, get: function () { return stackFrames_1.buildStackFrame; } });
8
+ Object.defineProperty(exports, "getDataFromSafariExtensions", { enumerable: true, get: function () { return stackFrames_1.getDataFromSafariExtensions; } });
9
+ Object.defineProperty(exports, "getStackFramesFromError", { enumerable: true, get: function () { return stackFrames_1.getStackFramesFromError; } });
10
+ Object.defineProperty(exports, "parseStacktrace", { enumerable: true, get: function () { return stackFrames_1.parseStacktrace; } });
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/index.ts"],"names":[],"mappings":";;;AAAA,qDAA0D;AAAjD,wHAAA,qBAAqB,OAAA;AAE9B,6CAAuH;AAA9G,8GAAA,eAAe,OAAA;AAAE,0HAAA,2BAA2B,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AAAE,8GAAA,eAAe,OAAA"}
@@ -0,0 +1,6 @@
1
+ import { BaseInstrumentation } from '@grafana/faro-core';
2
+ export declare class ErrorsInstrumentation extends BaseInstrumentation {
3
+ readonly name = "@grafana/faro-web-sdk:instrumentation-errors";
4
+ readonly version = "1.0.0-beta1";
5
+ initialize(): void;
6
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ErrorsInstrumentation = void 0;
19
+ var faro_core_1 = require("@grafana/faro-core");
20
+ var registerOnerror_1 = require("./registerOnerror");
21
+ var registerOnunhandledrejection_1 = require("./registerOnunhandledrejection");
22
+ var ErrorsInstrumentation = /** @class */ (function (_super) {
23
+ __extends(ErrorsInstrumentation, _super);
24
+ function ErrorsInstrumentation() {
25
+ var _this = _super !== null && _super.apply(this, arguments) || this;
26
+ _this.name = '@grafana/faro-web-sdk:instrumentation-errors';
27
+ _this.version = faro_core_1.VERSION;
28
+ return _this;
29
+ }
30
+ ErrorsInstrumentation.prototype.initialize = function () {
31
+ this.logDebug('Initializing');
32
+ (0, registerOnerror_1.registerOnerror)(this.faro);
33
+ (0, registerOnunhandledrejection_1.registerOnunhandledrejection)(this.faro);
34
+ };
35
+ return ErrorsInstrumentation;
36
+ }(faro_core_1.BaseInstrumentation));
37
+ exports.ErrorsInstrumentation = ErrorsInstrumentation;
38
+ //# sourceMappingURL=instrumentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/instrumentation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gDAAkE;AAElE,qDAAoD;AACpD,+EAA8E;AAE9E;IAA2C,yCAAmB;IAA9D;QAAA,qEAWC;QAVU,UAAI,GAAG,8CAA8C,CAAC;QACtD,aAAO,GAAG,mBAAO,CAAC;;IAS7B,CAAC;IAPC,0CAAU,GAAV;QACE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAE9B,IAAA,iCAAe,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAA,2DAA4B,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACH,4BAAC;AAAD,CAAC,AAXD,CAA2C,+BAAmB,GAW7D;AAXY,sDAAqB"}
@@ -0,0 +1,2 @@
1
+ import { Faro } from '@grafana/faro-core';
2
+ export declare function registerOnerror(faro: Faro): void;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerOnerror = void 0;
4
+ var faro_core_1 = require("@grafana/faro-core");
5
+ var const_1 = require("./const");
6
+ var getErrorDetails_1 = require("./getErrorDetails");
7
+ var getValueAndTypeFromMessage_1 = require("./getValueAndTypeFromMessage");
8
+ var stackFrames_1 = require("./stackFrames");
9
+ function registerOnerror(faro) {
10
+ // The error event is a little bit different than other events when it comes to the listener
11
+ // window.addEventListener does not provide all parameters, hence we need to use the window.onerror syntax
12
+ // TODO: investigate https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror
13
+ var oldOnerror = window.onerror;
14
+ window.onerror = function () {
15
+ var _a, _b;
16
+ var args = [];
17
+ for (var _i = 0; _i < arguments.length; _i++) {
18
+ args[_i] = arguments[_i];
19
+ }
20
+ try {
21
+ var evt = args[0], source = args[1], lineno = args[2], colno = args[3], error = args[4];
22
+ var value = void 0;
23
+ var type = void 0;
24
+ var stackFrames = [];
25
+ var eventIsString = (0, faro_core_1.isString)(evt);
26
+ var initialStackFrame = (0, stackFrames_1.buildStackFrame)(source, const_1.unknownString, lineno, colno);
27
+ if (error || !eventIsString) {
28
+ _a = (0, getErrorDetails_1.getErrorDetails)((error !== null && error !== void 0 ? error : evt)), value = _a[0], type = _a[1], stackFrames = _a[2];
29
+ if (stackFrames.length === 0) {
30
+ stackFrames = [initialStackFrame];
31
+ }
32
+ }
33
+ else if (eventIsString) {
34
+ _b = (0, getValueAndTypeFromMessage_1.getValueAndTypeFromMessage)(evt), value = _b[0], type = _b[1];
35
+ stackFrames = [initialStackFrame];
36
+ }
37
+ if (value) {
38
+ faro.api.pushError(new Error(value), { type: type, stackFrames: stackFrames });
39
+ }
40
+ }
41
+ finally {
42
+ oldOnerror === null || oldOnerror === void 0 ? void 0 : oldOnerror.apply(window, args);
43
+ }
44
+ };
45
+ }
46
+ exports.registerOnerror = registerOnerror;
47
+ //# sourceMappingURL=registerOnerror.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerOnerror.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/registerOnerror.ts"],"names":[],"mappings":";;;AAAA,gDAAoD;AAGpD,iCAAwC;AACxC,qDAAoD;AACpD,2EAA0E;AAC1E,6CAAgD;AAEhD,SAAgB,eAAe,CAAC,IAAU;IACxC,4FAA4F;IAC5F,0GAA0G;IAC1G,iGAAiG;IAEjG,IAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;IAElC,MAAM,CAAC,OAAO,GAAG;;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QACvB,IAAI;YACK,IAAA,GAAG,GAAkC,IAAI,GAAtC,EAAE,MAAM,GAA0B,IAAI,GAA9B,EAAE,MAAM,GAAkB,IAAI,GAAtB,EAAE,KAAK,GAAW,IAAI,GAAf,EAAE,KAAK,GAAI,IAAI,GAAR,CAAS;YACjD,IAAI,KAAK,SAAoB,CAAC;YAC9B,IAAI,IAAI,SAAoB,CAAC;YAC7B,IAAI,WAAW,GAA0B,EAAE,CAAC;YAC5C,IAAM,aAAa,GAAG,IAAA,oBAAQ,EAAC,GAAG,CAAC,CAAC;YACpC,IAAM,iBAAiB,GAAG,IAAA,6BAAe,EAAC,MAAM,EAAE,qBAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAEhF,IAAI,KAAK,IAAI,CAAC,aAAa,EAAE;gBAC3B,KAA6B,IAAA,iCAAe,EAAC,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,GAAG,CAAkB,CAAC,EAA5E,KAAK,QAAA,EAAE,IAAI,QAAA,EAAE,WAAW,QAAA,CAAqD;gBAE9E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC5B,WAAW,GAAG,CAAC,iBAAiB,CAAC,CAAC;iBACnC;aACF;iBAAM,IAAI,aAAa,EAAE;gBACxB,KAAgB,IAAA,uDAA0B,EAAC,GAAG,CAAC,EAA9C,KAAK,QAAA,EAAE,IAAI,QAAA,CAAoC;gBAChD,WAAW,GAAG,CAAC,iBAAiB,CAAC,CAAC;aACnC;YAED,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,MAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;aAC7D;SACF;gBAAS;YACR,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACjC;IACH,CAAC,CAAC;AACJ,CAAC;AAlCD,0CAkCC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var testUtils_1 = require("@grafana/faro-core/src/testUtils");
4
+ var initialize_1 = require("../../initialize");
5
+ var registerOnerror_1 = require("./registerOnerror");
6
+ describe('registerOnerror', function () {
7
+ it('will preserve the old callback', function () {
8
+ var called = false;
9
+ window.onerror = function () {
10
+ called = true;
11
+ };
12
+ var transport = new testUtils_1.MockTransport();
13
+ var config = (0, testUtils_1.mockConfig)({
14
+ transports: [transport],
15
+ });
16
+ var faro = (0, initialize_1.initializeFaro)(config);
17
+ (0, registerOnerror_1.registerOnerror)(faro);
18
+ window.onerror('boo', 'some file', 10, 10, new Error('boo'));
19
+ expect(called).toBe(true);
20
+ expect(transport.items).toHaveLength(1);
21
+ });
22
+ });
23
+ //# sourceMappingURL=registerOnerror.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerOnerror.test.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/registerOnerror.test.ts"],"names":[],"mappings":";;AAAA,8DAA6E;AAE7E,+CAAkD;AAClD,qDAAoD;AAEpD,QAAQ,CAAC,iBAAiB,EAAE;IAC1B,EAAE,CAAC,gCAAgC,EAAE;QACnC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,CAAC,OAAO,GAAG;YACf,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC,CAAC;QACF,IAAM,SAAS,GAAG,IAAI,yBAAa,EAAE,CAAC;QACtC,IAAM,MAAM,GAAG,IAAA,sBAAU,EAAC;YACxB,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB,CAAC,CAAC;QACH,IAAM,IAAI,GAAG,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAC;QACpC,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Faro } from '@grafana/faro-core';
2
+ export declare function registerOnunhandledrejection(faro: Faro): void;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerOnunhandledrejection = void 0;
4
+ var faro_core_1 = require("@grafana/faro-core");
5
+ var const_1 = require("./const");
6
+ var getErrorDetails_1 = require("./getErrorDetails");
7
+ function registerOnunhandledrejection(faro) {
8
+ window.addEventListener('unhandledrejection', function (evt) {
9
+ var _a;
10
+ var _b, _c;
11
+ var error = evt;
12
+ if (error.reason) {
13
+ error = evt.reason;
14
+ }
15
+ else if ((_b = evt.detail) === null || _b === void 0 ? void 0 : _b.reason) {
16
+ error = (_c = evt.detail) === null || _c === void 0 ? void 0 : _c.reason;
17
+ }
18
+ var value;
19
+ var type;
20
+ if ((0, faro_core_1.isPrimitive)(error)) {
21
+ value = "".concat(const_1.primitiveUnhandledValue, " ").concat(String(error));
22
+ type = const_1.primitiveUnhandledType;
23
+ }
24
+ else {
25
+ _a = (0, getErrorDetails_1.getErrorDetails)(error), value = _a[0], type = _a[1];
26
+ }
27
+ if (value) {
28
+ faro.api.pushError(new Error(value), { type: type });
29
+ }
30
+ });
31
+ }
32
+ exports.registerOnunhandledrejection = registerOnunhandledrejection;
33
+ //# sourceMappingURL=registerOnunhandledrejection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerOnunhandledrejection.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/registerOnunhandledrejection.ts"],"names":[],"mappings":";;;AAAA,gDAAuD;AAEvD,iCAA0E;AAC1E,qDAAoD;AAGpD,SAAgB,4BAA4B,CAAC,IAAU;IACrD,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,UAAC,GAAkC;;;QAC/E,IAAI,KAAK,GAAG,GAAG,CAAC;QAEhB,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;SACpB;aAAM,IAAI,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM,EAAE;YAC7B,KAAK,GAAG,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM,CAAC;SAC5B;QAED,IAAI,KAAyB,CAAC;QAC9B,IAAI,IAAwB,CAAC;QAE7B,IAAI,IAAA,uBAAW,EAAC,KAAK,CAAC,EAAE;YACtB,KAAK,GAAG,UAAG,+BAAuB,cAAI,MAAM,CAAC,KAAK,CAAC,CAAE,CAAC;YACtD,IAAI,GAAG,8BAAsB,CAAC;SAC/B;aAAM;YACL,KAAgB,IAAA,iCAAe,EAAC,KAAK,CAAC,EAArC,KAAK,QAAA,EAAE,IAAI,QAAA,CAA2B;SACxC;QAED,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;SAChD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAxBD,oEAwBC"}
@@ -0,0 +1,2 @@
1
+ import type { ExceptionStackFrame } from '@grafana/faro-core';
2
+ export declare function buildStackFrame(filename: string | undefined, func: string | undefined, lineno: number | undefined, colno: number | undefined): ExceptionStackFrame;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildStackFrame = void 0;
4
+ var const_1 = require("./const");
5
+ function buildStackFrame(filename, func, lineno, colno) {
6
+ var stackFrame = {
7
+ filename: filename || document.location.href,
8
+ function: func || const_1.unknownString,
9
+ };
10
+ if (lineno !== undefined) {
11
+ stackFrame.lineno = lineno;
12
+ }
13
+ if (colno !== undefined) {
14
+ stackFrame.colno = colno;
15
+ }
16
+ return stackFrame;
17
+ }
18
+ exports.buildStackFrame = buildStackFrame;
19
+ //# sourceMappingURL=buildStackFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildStackFrame.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/buildStackFrame.ts"],"names":[],"mappings":";;;AAEA,iCAAwC;AAExC,SAAgB,eAAe,CAC7B,QAA4B,EAC5B,IAAwB,EACxB,MAA0B,EAC1B,KAAyB;IAEzB,IAAM,UAAU,GAAwB;QACtC,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI;QAC5C,QAAQ,EAAE,IAAI,IAAI,qBAAa;KAChC,CAAC;IAEF,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;KAC5B;IAED,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;KAC1B;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AApBD,0CAoBC"}
@@ -0,0 +1,15 @@
1
+ export declare const newLineString = "\n";
2
+ export declare const evalString = "eval";
3
+ export declare const unknownString = "?";
4
+ export declare const atString = "@";
5
+ export declare const webkitLineRegex: RegExp;
6
+ export declare const webkitEvalRegex: RegExp;
7
+ export declare const webkitEvalString = "eval";
8
+ export declare const webkitAddressAtString = "address at ";
9
+ export declare const webkitAddressAtStringLength: number;
10
+ export declare const firefoxLineRegex: RegExp;
11
+ export declare const firefoxEvalRegex: RegExp;
12
+ export declare const firefoxEvalString = " > eval";
13
+ export declare const safariExtensionString = "safari-extension";
14
+ export declare const safariWebExtensionString = "safari-web-extension";
15
+ export declare const reactMinifiedRegex: RegExp;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reactMinifiedRegex = exports.safariWebExtensionString = exports.safariExtensionString = exports.firefoxEvalString = exports.firefoxEvalRegex = exports.firefoxLineRegex = exports.webkitAddressAtStringLength = exports.webkitAddressAtString = exports.webkitEvalString = exports.webkitEvalRegex = exports.webkitLineRegex = exports.atString = exports.unknownString = exports.evalString = exports.newLineString = void 0;
4
+ exports.newLineString = '\n';
5
+ exports.evalString = 'eval';
6
+ exports.unknownString = '?';
7
+ exports.atString = '@';
8
+ exports.webkitLineRegex = /^\s*at (?:(.*\).*?|.*?) ?\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
9
+ exports.webkitEvalRegex = /\((\S*)(?::(\d+))(?::(\d+))\)/;
10
+ exports.webkitEvalString = 'eval';
11
+ exports.webkitAddressAtString = 'address at ';
12
+ exports.webkitAddressAtStringLength = exports.webkitAddressAtString.length;
13
+ exports.firefoxLineRegex = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|safari-extension|safari-web-extension|capacitor)?:\/.*?|\[native code]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i;
14
+ exports.firefoxEvalRegex = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
15
+ exports.firefoxEvalString = ' > eval';
16
+ exports.safariExtensionString = 'safari-extension';
17
+ exports.safariWebExtensionString = 'safari-web-extension';
18
+ exports.reactMinifiedRegex = /Minified React error #\d+;/i;
19
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,IAAI,CAAC;AACrB,QAAA,UAAU,GAAG,MAAM,CAAC;AACpB,QAAA,aAAa,GAAG,GAAG,CAAC;AACpB,QAAA,QAAQ,GAAG,GAAG,CAAC;AAEf,QAAA,eAAe,GAC1B,qLAAqL,CAAC;AAC3K,QAAA,eAAe,GAAG,+BAA+B,CAAC;AAClD,QAAA,gBAAgB,GAAG,MAAM,CAAC;AAC1B,QAAA,qBAAqB,GAAG,aAAa,CAAC;AACtC,QAAA,2BAA2B,GAAG,6BAAqB,CAAC,MAAM,CAAC;AAE3D,QAAA,gBAAgB,GAC3B,oOAAoO,CAAC;AAC1N,QAAA,gBAAgB,GAAG,+CAA+C,CAAC;AACnE,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAE9B,QAAA,qBAAqB,GAAG,kBAAkB,CAAC;AAC3C,QAAA,wBAAwB,GAAG,sBAAsB,CAAC;AAElD,QAAA,kBAAkB,GAAG,6BAA6B,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function getDataFromSafariExtensions(func: string | undefined, filename: string | undefined): [string | undefined, string | undefined];
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDataFromSafariExtensions = void 0;
4
+ var const_1 = require("./const");
5
+ function getDataFromSafariExtensions(func, filename) {
6
+ var isSafariExtension = func === null || func === void 0 ? void 0 : func.includes(const_1.safariExtensionString);
7
+ var isSafariWebExtension = !isSafariExtension && (func === null || func === void 0 ? void 0 : func.includes(const_1.safariWebExtensionString));
8
+ if (!isSafariExtension && !isSafariWebExtension) {
9
+ return [func, filename];
10
+ }
11
+ return [
12
+ (func === null || func === void 0 ? void 0 : func.includes(const_1.atString)) ? func.split(const_1.atString)[0] : func,
13
+ isSafariExtension ? "".concat(const_1.safariExtensionString, ":").concat(filename) : "".concat(const_1.safariWebExtensionString, ":").concat(filename),
14
+ ];
15
+ }
16
+ exports.getDataFromSafariExtensions = getDataFromSafariExtensions;
17
+ //# sourceMappingURL=getDataFromSafariExtensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDataFromSafariExtensions.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/getDataFromSafariExtensions.ts"],"names":[],"mappings":";;;AAAA,iCAAoF;AAEpF,SAAgB,2BAA2B,CACzC,IAAwB,EACxB,QAA4B;IAE5B,IAAM,iBAAiB,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,6BAAqB,CAAC,CAAC;IAChE,IAAM,oBAAoB,GAAG,CAAC,iBAAiB,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,gCAAwB,CAAC,CAAA,CAAC;IAE5F,IAAI,CAAC,iBAAiB,IAAI,CAAC,oBAAoB,EAAE;QAC/C,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KACzB;IAED,OAAO;QACL,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,gBAAQ,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACzD,iBAAiB,CAAC,CAAC,CAAC,UAAG,6BAAqB,cAAI,QAAQ,CAAE,CAAC,CAAC,CAAC,UAAG,gCAAwB,cAAI,QAAQ,CAAE;KACvG,CAAC;AACJ,CAAC;AAfD,kEAeC"}
@@ -0,0 +1,2 @@
1
+ import type { ExceptionStackFrame, ExtendedError } from '@grafana/faro-core';
2
+ export declare function getStackFramesFromError(error: ExtendedError): ExceptionStackFrame[];
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStackFramesFromError = void 0;
4
+ var faro_core_1 = require("@grafana/faro-core");
5
+ var buildStackFrame_1 = require("./buildStackFrame");
6
+ var const_1 = require("./const");
7
+ var getDataFromSafariExtensions_1 = require("./getDataFromSafariExtensions");
8
+ function getStackFramesFromError(error) {
9
+ var lines = [];
10
+ if (error.stacktrace) {
11
+ lines = error.stacktrace.split(const_1.newLineString).filter(function (_line, idx) { return idx % 2 === 0; });
12
+ }
13
+ else if (error.stack) {
14
+ lines = error.stack.split(const_1.newLineString);
15
+ }
16
+ var stackFrames = lines.reduce(function (acc, line, idx) {
17
+ var _a, _b;
18
+ var parts;
19
+ var func;
20
+ var filename;
21
+ var lineno;
22
+ var colno;
23
+ if ((parts = const_1.webkitLineRegex.exec(line))) {
24
+ func = parts[1];
25
+ filename = parts[2];
26
+ lineno = parts[3];
27
+ colno = parts[4];
28
+ if (filename === null || filename === void 0 ? void 0 : filename.startsWith(const_1.webkitEvalString)) {
29
+ var submatch = const_1.webkitEvalRegex.exec(filename);
30
+ if (submatch) {
31
+ filename = submatch[1];
32
+ lineno = submatch[2];
33
+ colno = submatch[3];
34
+ }
35
+ }
36
+ filename = (filename === null || filename === void 0 ? void 0 : filename.startsWith(const_1.webkitAddressAtString))
37
+ ? filename.substring(const_1.webkitAddressAtStringLength)
38
+ : filename;
39
+ _a = (0, getDataFromSafariExtensions_1.getDataFromSafariExtensions)(func, filename), func = _a[0], filename = _a[1];
40
+ }
41
+ else if ((parts = const_1.firefoxLineRegex.exec(line))) {
42
+ func = parts[1];
43
+ filename = parts[3];
44
+ lineno = parts[4];
45
+ colno = parts[5];
46
+ if (!!filename && filename.includes(const_1.firefoxEvalString)) {
47
+ var submatch = const_1.firefoxEvalRegex.exec(filename);
48
+ if (submatch) {
49
+ func = func || const_1.evalString;
50
+ filename = submatch[1];
51
+ lineno = submatch[2];
52
+ }
53
+ }
54
+ else if (idx === 0 && !colno && (0, faro_core_1.isNumber)(error.columnNumber)) {
55
+ colno = String(error.columnNumber + 1);
56
+ }
57
+ _b = (0, getDataFromSafariExtensions_1.getDataFromSafariExtensions)(func, filename), func = _b[0], filename = _b[1];
58
+ }
59
+ if (filename || func) {
60
+ acc.push((0, buildStackFrame_1.buildStackFrame)(filename, func, lineno ? Number(lineno) : undefined, colno ? Number(colno) : undefined));
61
+ }
62
+ return acc;
63
+ }, []);
64
+ if (const_1.reactMinifiedRegex.test(error.message)) {
65
+ return stackFrames.slice(1);
66
+ }
67
+ return stackFrames;
68
+ }
69
+ exports.getStackFramesFromError = getStackFramesFromError;
70
+ //# sourceMappingURL=getStackFramesFromError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStackFramesFromError.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/getStackFramesFromError.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { buildStackFrame } from './buildStackFrame';
2
+ export { getDataFromSafariExtensions } from './getDataFromSafariExtensions';
3
+ export { getStackFramesFromError } from './getStackFramesFromError';
4
+ export { parseStacktrace } from './parseStacktrace';
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseStacktrace = exports.getStackFramesFromError = exports.getDataFromSafariExtensions = exports.buildStackFrame = void 0;
4
+ var buildStackFrame_1 = require("./buildStackFrame");
5
+ Object.defineProperty(exports, "buildStackFrame", { enumerable: true, get: function () { return buildStackFrame_1.buildStackFrame; } });
6
+ var getDataFromSafariExtensions_1 = require("./getDataFromSafariExtensions");
7
+ Object.defineProperty(exports, "getDataFromSafariExtensions", { enumerable: true, get: function () { return getDataFromSafariExtensions_1.getDataFromSafariExtensions; } });
8
+ var getStackFramesFromError_1 = require("./getStackFramesFromError");
9
+ Object.defineProperty(exports, "getStackFramesFromError", { enumerable: true, get: function () { return getStackFramesFromError_1.getStackFramesFromError; } });
10
+ var parseStacktrace_1 = require("./parseStacktrace");
11
+ Object.defineProperty(exports, "parseStacktrace", { enumerable: true, get: function () { return parseStacktrace_1.parseStacktrace; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/index.ts"],"names":[],"mappings":";;;AAAA,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AAExB,6EAA4E;AAAnE,0IAAA,2BAA2B,OAAA;AAEpC,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAEhC,qDAAoD;AAA3C,kHAAA,eAAe,OAAA"}
@@ -0,0 +1,2 @@
1
+ import type { ExtendedError, Stacktrace } from '@grafana/faro-core';
2
+ export declare function parseStacktrace(error: ExtendedError): Stacktrace;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseStacktrace = void 0;
4
+ var getStackFramesFromError_1 = require("./getStackFramesFromError");
5
+ function parseStacktrace(error) {
6
+ return {
7
+ frames: (0, getStackFramesFromError_1.getStackFramesFromError)(error),
8
+ };
9
+ }
10
+ exports.parseStacktrace = parseStacktrace;
11
+ //# sourceMappingURL=parseStacktrace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseStacktrace.js","sourceRoot":"","sources":["../../../../../src/instrumentations/errors/stackFrames/parseStacktrace.ts"],"names":[],"mappings":";;;AAEA,qEAAoE;AAEpE,SAAgB,eAAe,CAAC,KAAoB;IAClD,OAAO;QACL,MAAM,EAAE,IAAA,iDAAuB,EAAC,KAAK,CAAC;KACvC,CAAC;AACJ,CAAC;AAJD,0CAIC"}
@@ -0,0 +1,8 @@
1
+ export interface ExtendedPromiseRejectionEvent extends PromiseRejectionEvent {
2
+ detail?: {
3
+ reason: PromiseRejectionEvent['reason'];
4
+ };
5
+ }
6
+ export declare type ErrorEvent = (Error | Event) & {
7
+ error?: Error;
8
+ };