@grafana/faro-web-sdk 1.0.0-beta2 → 1.0.0-beta4

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 (194) hide show
  1. package/README.md +15 -8
  2. package/dist/bundle/faro-web-sdk.iife.js +1 -0
  3. package/dist/cjs/config/getWebInstrumentations.js.map +1 -1
  4. package/dist/cjs/config/index.js.map +1 -1
  5. package/dist/cjs/config/makeCoreConfig.js.map +1 -1
  6. package/dist/cjs/config/types.js.map +1 -1
  7. package/dist/cjs/consts.js.map +1 -1
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/initialize.js.map +1 -1
  10. package/dist/cjs/instrumentations/console/index.js.map +1 -1
  11. package/dist/cjs/instrumentations/console/instrumentation.js.map +1 -1
  12. package/dist/cjs/instrumentations/console/types.js.map +1 -1
  13. package/dist/cjs/instrumentations/errors/const.js.map +1 -1
  14. package/dist/cjs/instrumentations/errors/getErrorDetails.js.map +1 -1
  15. package/dist/cjs/instrumentations/errors/getValueAndTypeFromMessage.js.map +1 -1
  16. package/dist/cjs/instrumentations/errors/index.js.map +1 -1
  17. package/dist/cjs/instrumentations/errors/instrumentation.js.map +1 -1
  18. package/dist/cjs/instrumentations/errors/registerOnerror.js.map +1 -1
  19. package/dist/cjs/instrumentations/errors/registerOnunhandledrejection.js.map +1 -1
  20. package/dist/cjs/instrumentations/errors/stackFrames/buildStackFrame.js.map +1 -1
  21. package/dist/cjs/instrumentations/errors/stackFrames/const.js.map +1 -1
  22. package/dist/cjs/instrumentations/errors/stackFrames/getDataFromSafariExtensions.js.map +1 -1
  23. package/dist/cjs/instrumentations/errors/stackFrames/getStackFramesFromError.js.map +1 -1
  24. package/dist/cjs/instrumentations/errors/stackFrames/index.js.map +1 -1
  25. package/dist/cjs/instrumentations/errors/stackFrames/parseStacktrace.js.map +1 -1
  26. package/dist/cjs/instrumentations/errors/types.js.map +1 -1
  27. package/dist/cjs/instrumentations/index.js.map +1 -1
  28. package/dist/cjs/instrumentations/session/index.js.map +1 -1
  29. package/dist/cjs/instrumentations/session/instrumentation.js.map +1 -1
  30. package/dist/cjs/instrumentations/webVitals/index.js.map +1 -1
  31. package/dist/cjs/instrumentations/webVitals/instrumentation.js.map +1 -1
  32. package/dist/cjs/metas/browser/index.js.map +1 -1
  33. package/dist/cjs/metas/browser/meta.js.map +1 -1
  34. package/dist/cjs/metas/const.js.map +1 -1
  35. package/dist/cjs/metas/index.js.map +1 -1
  36. package/dist/cjs/metas/page/index.js.map +1 -1
  37. package/dist/cjs/metas/page/meta.js.map +1 -1
  38. package/dist/cjs/session.js.map +1 -1
  39. package/dist/cjs/transports/console/index.js.map +1 -1
  40. package/dist/cjs/transports/console/transport.js.map +1 -1
  41. package/dist/cjs/transports/console/types.js.map +1 -1
  42. package/dist/cjs/transports/fetch/index.js.map +1 -1
  43. package/dist/cjs/transports/fetch/transport.js +1 -1
  44. package/dist/cjs/transports/fetch/transport.js.map +1 -1
  45. package/dist/cjs/transports/fetch/types.js.map +1 -1
  46. package/dist/cjs/transports/index.js.map +1 -1
  47. package/dist/esm/config/getWebInstrumentations.js.map +1 -1
  48. package/dist/esm/config/index.js.map +1 -1
  49. package/dist/esm/config/makeCoreConfig.js.map +1 -1
  50. package/dist/esm/config/types.js.map +1 -1
  51. package/dist/esm/consts.js.map +1 -1
  52. package/dist/esm/index.js.map +1 -1
  53. package/dist/esm/initialize.js.map +1 -1
  54. package/dist/esm/instrumentations/console/index.js.map +1 -1
  55. package/dist/esm/instrumentations/console/instrumentation.js.map +1 -1
  56. package/dist/esm/instrumentations/console/types.js.map +1 -1
  57. package/dist/esm/instrumentations/errors/const.js.map +1 -1
  58. package/dist/esm/instrumentations/errors/getErrorDetails.js.map +1 -1
  59. package/dist/esm/instrumentations/errors/getValueAndTypeFromMessage.js.map +1 -1
  60. package/dist/esm/instrumentations/errors/index.js.map +1 -1
  61. package/dist/esm/instrumentations/errors/instrumentation.js.map +1 -1
  62. package/dist/esm/instrumentations/errors/registerOnerror.js.map +1 -1
  63. package/dist/esm/instrumentations/errors/registerOnunhandledrejection.js.map +1 -1
  64. package/dist/esm/instrumentations/errors/stackFrames/buildStackFrame.js.map +1 -1
  65. package/dist/esm/instrumentations/errors/stackFrames/const.js.map +1 -1
  66. package/dist/esm/instrumentations/errors/stackFrames/getDataFromSafariExtensions.js.map +1 -1
  67. package/dist/esm/instrumentations/errors/stackFrames/getStackFramesFromError.js.map +1 -1
  68. package/dist/esm/instrumentations/errors/stackFrames/index.js.map +1 -1
  69. package/dist/esm/instrumentations/errors/stackFrames/parseStacktrace.js.map +1 -1
  70. package/dist/esm/instrumentations/errors/types.js.map +1 -1
  71. package/dist/esm/instrumentations/index.js.map +1 -1
  72. package/dist/esm/instrumentations/session/index.js.map +1 -1
  73. package/dist/esm/instrumentations/session/instrumentation.js.map +1 -1
  74. package/dist/esm/instrumentations/webVitals/index.js.map +1 -1
  75. package/dist/esm/instrumentations/webVitals/instrumentation.js.map +1 -1
  76. package/dist/esm/metas/browser/index.js.map +1 -1
  77. package/dist/esm/metas/browser/meta.js.map +1 -1
  78. package/dist/esm/metas/const.js.map +1 -1
  79. package/dist/esm/metas/index.js.map +1 -1
  80. package/dist/esm/metas/page/index.js.map +1 -1
  81. package/dist/esm/metas/page/meta.js.map +1 -1
  82. package/dist/esm/session.js.map +1 -1
  83. package/dist/esm/transports/console/index.js.map +1 -1
  84. package/dist/esm/transports/console/transport.js.map +1 -1
  85. package/dist/esm/transports/console/types.js.map +1 -1
  86. package/dist/esm/transports/fetch/index.js.map +1 -1
  87. package/dist/esm/transports/fetch/transport.js.map +1 -1
  88. package/dist/esm/transports/fetch/types.js.map +1 -1
  89. package/dist/esm/transports/index.js.map +1 -1
  90. package/dist/{cjs → types}/config/getWebInstrumentations.d.ts +0 -0
  91. package/dist/{cjs → types}/config/index.d.ts +0 -0
  92. package/dist/{cjs → types}/config/makeCoreConfig.d.ts +0 -0
  93. package/dist/{cjs → types}/config/types.d.ts +0 -0
  94. package/dist/{cjs → types}/consts.d.ts +0 -0
  95. package/dist/{cjs → types}/index.d.ts +1 -1
  96. package/dist/{cjs → types}/initialize.d.ts +0 -0
  97. package/dist/{cjs → types}/instrumentations/console/index.d.ts +0 -0
  98. package/dist/{cjs → types}/instrumentations/console/instrumentation.d.ts +1 -1
  99. package/dist/{cjs → types}/instrumentations/console/types.d.ts +0 -0
  100. package/dist/{cjs → types}/instrumentations/errors/const.d.ts +0 -0
  101. package/dist/{cjs → types}/instrumentations/errors/getErrorDetails.d.ts +0 -0
  102. package/dist/{cjs → types}/instrumentations/errors/getValueAndTypeFromMessage.d.ts +0 -0
  103. package/dist/{cjs → types}/instrumentations/errors/index.d.ts +0 -0
  104. package/dist/{esm → types}/instrumentations/errors/instrumentation.d.ts +1 -1
  105. package/dist/{cjs → types}/instrumentations/errors/registerOnerror.d.ts +0 -0
  106. package/dist/{cjs → types}/instrumentations/errors/registerOnunhandledrejection.d.ts +0 -0
  107. package/dist/{cjs → types}/instrumentations/errors/stackFrames/buildStackFrame.d.ts +0 -0
  108. package/dist/{cjs → types}/instrumentations/errors/stackFrames/const.d.ts +0 -0
  109. package/dist/{cjs → types}/instrumentations/errors/stackFrames/getDataFromSafariExtensions.d.ts +0 -0
  110. package/dist/{cjs → types}/instrumentations/errors/stackFrames/getStackFramesFromError.d.ts +0 -0
  111. package/dist/{cjs → types}/instrumentations/errors/stackFrames/index.d.ts +0 -0
  112. package/dist/{cjs → types}/instrumentations/errors/stackFrames/parseStacktrace.d.ts +0 -0
  113. package/dist/{esm → types}/instrumentations/errors/types.d.ts +1 -1
  114. package/dist/{cjs → types}/instrumentations/index.d.ts +0 -0
  115. package/dist/{cjs → types}/instrumentations/session/index.d.ts +0 -0
  116. package/dist/{cjs → types}/instrumentations/session/instrumentation.d.ts +0 -0
  117. package/dist/{cjs → types}/instrumentations/webVitals/index.d.ts +0 -0
  118. package/dist/{esm → types}/instrumentations/webVitals/instrumentation.d.ts +1 -1
  119. package/dist/{cjs → types}/metas/browser/index.d.ts +0 -0
  120. package/dist/{cjs → types}/metas/browser/meta.d.ts +0 -0
  121. package/dist/{cjs → types}/metas/const.d.ts +0 -0
  122. package/dist/{cjs → types}/metas/index.d.ts +0 -0
  123. package/dist/{cjs → types}/metas/page/index.d.ts +0 -0
  124. package/dist/{cjs → types}/metas/page/meta.d.ts +0 -0
  125. package/dist/{cjs → types}/session.d.ts +0 -0
  126. package/dist/{cjs → types}/transports/console/index.d.ts +0 -0
  127. package/dist/{esm → types}/transports/console/transport.d.ts +1 -1
  128. package/dist/{cjs → types}/transports/console/types.d.ts +0 -0
  129. package/dist/{cjs → types}/transports/fetch/index.d.ts +0 -0
  130. package/dist/{cjs → types}/transports/fetch/transport.d.ts +1 -1
  131. package/dist/{cjs → types}/transports/fetch/types.d.ts +1 -1
  132. package/dist/{cjs → types}/transports/index.d.ts +0 -0
  133. package/package.json +30 -13
  134. package/dist/cjs/instrumentations/errors/instrumentation.d.ts +0 -6
  135. package/dist/cjs/instrumentations/errors/registerOnerror.test.d.ts +0 -1
  136. package/dist/cjs/instrumentations/errors/registerOnerror.test.js +0 -23
  137. package/dist/cjs/instrumentations/errors/registerOnerror.test.js.map +0 -1
  138. package/dist/cjs/instrumentations/errors/types.d.ts +0 -8
  139. package/dist/cjs/instrumentations/session/instrumentation.test.d.ts +0 -1
  140. package/dist/cjs/instrumentations/session/instrumentation.test.js +0 -47
  141. package/dist/cjs/instrumentations/session/instrumentation.test.js.map +0 -1
  142. package/dist/cjs/instrumentations/webVitals/instrumentation.d.ts +0 -14
  143. package/dist/cjs/transports/console/transport.d.ts +0 -10
  144. package/dist/cjs/transports/fetch/transport.test.d.ts +0 -1
  145. package/dist/cjs/transports/fetch/transport.test.js +0 -193
  146. package/dist/cjs/transports/fetch/transport.test.js.map +0 -1
  147. package/dist/esm/config/getWebInstrumentations.d.ts +0 -3
  148. package/dist/esm/config/index.d.ts +0 -3
  149. package/dist/esm/config/makeCoreConfig.d.ts +0 -3
  150. package/dist/esm/config/types.d.ts +0 -9
  151. package/dist/esm/consts.d.ts +0 -1
  152. package/dist/esm/index.d.ts +0 -12
  153. package/dist/esm/initialize.d.ts +0 -3
  154. package/dist/esm/instrumentations/console/index.d.ts +0 -2
  155. package/dist/esm/instrumentations/console/instrumentation.d.ts +0 -10
  156. package/dist/esm/instrumentations/console/types.d.ts +0 -4
  157. package/dist/esm/instrumentations/errors/const.d.ts +0 -7
  158. package/dist/esm/instrumentations/errors/getErrorDetails.d.ts +0 -3
  159. package/dist/esm/instrumentations/errors/getValueAndTypeFromMessage.d.ts +0 -1
  160. package/dist/esm/instrumentations/errors/index.d.ts +0 -3
  161. package/dist/esm/instrumentations/errors/registerOnerror.d.ts +0 -2
  162. package/dist/esm/instrumentations/errors/registerOnerror.test.d.ts +0 -1
  163. package/dist/esm/instrumentations/errors/registerOnerror.test.js +0 -21
  164. package/dist/esm/instrumentations/errors/registerOnerror.test.js.map +0 -1
  165. package/dist/esm/instrumentations/errors/registerOnunhandledrejection.d.ts +0 -2
  166. package/dist/esm/instrumentations/errors/stackFrames/buildStackFrame.d.ts +0 -2
  167. package/dist/esm/instrumentations/errors/stackFrames/const.d.ts +0 -15
  168. package/dist/esm/instrumentations/errors/stackFrames/getDataFromSafariExtensions.d.ts +0 -1
  169. package/dist/esm/instrumentations/errors/stackFrames/getStackFramesFromError.d.ts +0 -2
  170. package/dist/esm/instrumentations/errors/stackFrames/index.d.ts +0 -4
  171. package/dist/esm/instrumentations/errors/stackFrames/parseStacktrace.d.ts +0 -2
  172. package/dist/esm/instrumentations/index.d.ts +0 -6
  173. package/dist/esm/instrumentations/session/index.d.ts +0 -1
  174. package/dist/esm/instrumentations/session/instrumentation.d.ts +0 -8
  175. package/dist/esm/instrumentations/session/instrumentation.test.d.ts +0 -1
  176. package/dist/esm/instrumentations/session/instrumentation.test.js +0 -45
  177. package/dist/esm/instrumentations/session/instrumentation.test.js.map +0 -1
  178. package/dist/esm/instrumentations/webVitals/index.d.ts +0 -1
  179. package/dist/esm/metas/browser/index.d.ts +0 -1
  180. package/dist/esm/metas/browser/meta.d.ts +0 -2
  181. package/dist/esm/metas/const.d.ts +0 -2
  182. package/dist/esm/metas/index.d.ts +0 -3
  183. package/dist/esm/metas/page/index.d.ts +0 -1
  184. package/dist/esm/metas/page/meta.d.ts +0 -2
  185. package/dist/esm/session.d.ts +0 -2
  186. package/dist/esm/transports/console/index.d.ts +0 -2
  187. package/dist/esm/transports/console/types.d.ts +0 -4
  188. package/dist/esm/transports/fetch/index.d.ts +0 -2
  189. package/dist/esm/transports/fetch/transport.d.ts +0 -16
  190. package/dist/esm/transports/fetch/transport.test.d.ts +0 -1
  191. package/dist/esm/transports/fetch/transport.test.js +0 -119
  192. package/dist/esm/transports/fetch/transport.test.js.map +0 -1
  193. package/dist/esm/transports/fetch/types.d.ts +0 -13
  194. package/dist/esm/transports/index.d.ts +0 -4
package/package.json CHANGED
@@ -1,7 +1,16 @@
1
1
  {
2
2
  "name": "@grafana/faro-web-sdk",
3
- "version": "1.0.0-beta2",
3
+ "version": "1.0.0-beta4",
4
4
  "description": "Faro instrumentations, metas, transports for web.",
5
+ "keywords": [
6
+ "observability",
7
+ "apm",
8
+ "rum",
9
+ "logs",
10
+ "traces",
11
+ "metrics",
12
+ "browser"
13
+ ],
5
14
  "license": "Apache-2.0",
6
15
  "author": "Grafana Labs",
7
16
  "homepage": "https://github.com/grafana/faro-web-sdk",
@@ -9,11 +18,11 @@
9
18
  "repository": {
10
19
  "type": "git",
11
20
  "url": "https://github.com/grafana/faro-web-sdk.git",
12
- "directory": "packages/web"
21
+ "directory": "packages/web-sdk"
13
22
  },
14
- "main": "dist/cjs/index.js",
15
- "module": "dist/esm/index.js",
16
- "types": "dist/cjs/index.d.ts",
23
+ "main": "./dist/cjs/index.js",
24
+ "module": "./dist/esm/index.js",
25
+ "types": "./dist/types/index.d.ts",
17
26
  "files": [
18
27
  "dist",
19
28
  "globals.ts",
@@ -21,22 +30,30 @@
21
30
  "LICENSE"
22
31
  ],
23
32
  "scripts": {
24
- "start": "yarn build -w",
25
- "build": "tsc --build tsconfig.all.json",
33
+ "start": "yarn watch",
34
+ "build": "run-s build:*",
35
+ "build:compile": "run-p build:compile:*",
36
+ "build:compile:cjs": "tsc --build tsconfig.cjs.json",
37
+ "build:compile:esm": "tsc --build tsconfig.esm.json",
38
+ "build:compile:bundle": "run-s build:compile:bundle:*",
39
+ "build:compile:bundle:create": "rollup -c ./rollup.config.js",
40
+ "build:compile:bundle:remove-extras": "rimraf dist/bundle/dist",
41
+ "watch": "run-s watch:compile",
42
+ "watch:compile": "yarn build:compile:cjs -w",
26
43
  "clean": "rimraf dist/ yarn-error.log",
27
44
  "quality": "run-s quality:*",
28
45
  "quality:test": "jest",
29
- "quality:format": "prettier --ignore-path ../../.prettierignore -w \"./**/*.{js,jsx,ts,tsx,css,scss,md,yaml,yml,json}\"",
46
+ "quality:format": "prettier --cache --cache-location=../../.cache/prettier/webSdk --ignore-path ../../.prettierignore -w \"./**/*.{js,jsx,ts,tsx,css,scss,md,yaml,yml,json}\"",
30
47
  "quality:lint": "run-s quality:lint:*",
31
- "quality:lint:eslint": "eslint --ignore-path ../../.eslintignore \"./**/*.{js,jsx,ts,tsx}\"",
32
- "quality:lint:prettier": "prettier --ignore-path ../../.prettierignore -c \"./**/*.{js,jsx,ts,tsx,css,scss,md,yaml,yml,json}\"",
48
+ "quality:lint:eslint": "eslint --cache --cache-location ../../.cache/eslint/webSdk --ignore-path ../../.eslintignore \"./**/*.{js,jsx,ts,tsx}\"",
49
+ "quality:lint:prettier": "prettier --cache --cache-location=../../.cache/prettier/webSdk --ignore-path ../../.prettierignore -c \"./**/*.{js,jsx,ts,tsx,css,scss,md,yaml,yml,json}\"",
33
50
  "quality:lint:md": "markdownlint README.md",
34
51
  "quality:circular-deps": "madge --circular ."
35
52
  },
36
53
  "dependencies": {
37
- "@grafana/faro-core": "^1.0.0-beta2",
54
+ "@grafana/faro-core": "^1.0.0-beta4",
38
55
  "ua-parser-js": "^1.0.32",
39
- "web-vitals": "^3.0.4"
56
+ "web-vitals": "^3.1.0"
40
57
  },
41
58
  "devDependencies": {
42
59
  "@types/ua-parser-js": "^0.7.36"
@@ -44,5 +61,5 @@
44
61
  "publishConfig": {
45
62
  "access": "public"
46
63
  },
47
- "gitHead": "908d0abf71a64a38bd9d5cc1bbba26d52e4ae063"
64
+ "gitHead": "88ab57b93286d22830db932a7dc74bcaf2dd4c3d"
48
65
  }
@@ -1,6 +0,0 @@
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
- }
@@ -1,23 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,8 +0,0 @@
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
- };
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var faro_core_1 = require("@grafana/faro-core");
4
- var testUtils_1 = require("@grafana/faro-core/src/testUtils");
5
- var session_1 = require("../../session");
6
- var instrumentation_1 = require("./instrumentation");
7
- describe('SessionInstrumentation', function () {
8
- it('will send session start event on initialize', function () {
9
- var _a, _b;
10
- var transport = new testUtils_1.MockTransport();
11
- var session = (0, session_1.createSession)({ foo: 'bar' });
12
- var config = (0, testUtils_1.mockConfig)({
13
- transports: [transport],
14
- instrumentations: [new instrumentation_1.SessionInstrumentation()],
15
- session: session,
16
- });
17
- (0, faro_core_1.initializeFaro)(config);
18
- expect(transport.items).toHaveLength(1);
19
- var event = transport.items[0];
20
- expect(event.payload.name).toEqual(faro_core_1.Conventions.EventNames.SESSION_START);
21
- expect((_a = event.meta.session) === null || _a === void 0 ? void 0 : _a.attributes).toEqual({ foo: 'bar' });
22
- expect((_b = event.meta.session) === null || _b === void 0 ? void 0 : _b.id).toEqual(session.id);
23
- });
24
- it('will send session new start event if setSession is called.', function () {
25
- var _a, _b;
26
- var transport = new testUtils_1.MockTransport();
27
- var session = (0, session_1.createSession)({ foo: 'bar' });
28
- var config = (0, testUtils_1.mockConfig)({
29
- transports: [transport],
30
- instrumentations: [new instrumentation_1.SessionInstrumentation()],
31
- session: session,
32
- });
33
- var faro = (0, faro_core_1.initializeFaro)(config);
34
- expect(transport.items).toHaveLength(1);
35
- var event = transport.items[0];
36
- expect(event.payload.name).toEqual(faro_core_1.Conventions.EventNames.SESSION_START);
37
- expect((_a = event.meta.session) === null || _a === void 0 ? void 0 : _a.id).toEqual(session.id);
38
- faro.metas.add({ user: { id: 'foo' } });
39
- expect(transport.items).toHaveLength(1);
40
- var newSession = (0, session_1.createSession)();
41
- faro.api.setSession(newSession);
42
- expect(transport.items).toHaveLength(2);
43
- event = transport.items[0];
44
- expect((_b = event.meta.session) === null || _b === void 0 ? void 0 : _b.id).toEqual(session.id);
45
- });
46
- });
47
- //# sourceMappingURL=instrumentation.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"instrumentation.test.js","sourceRoot":"","sources":["../../../../src/instrumentations/session/instrumentation.test.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { BaseInstrumentation } from '@grafana/faro-core';
2
- export declare class WebVitalsInstrumentation extends BaseInstrumentation {
3
- readonly name = "@grafana/faro-web-sdk:instrumentation-web-vitals";
4
- readonly version = "1.0.0-beta1";
5
- static mapping: {
6
- cls: (onReport: import("web-vitals").CLSReportCallback, opts?: import("web-vitals").ReportOpts | undefined) => void;
7
- fcp: (onReport: import("web-vitals").FCPReportCallback, opts?: import("web-vitals").ReportOpts | undefined) => void;
8
- fid: (onReport: import("web-vitals").ReportHandler, opts?: import("web-vitals").ReportOpts | undefined) => void;
9
- inp: (onReport: import("web-vitals").ReportHandler, opts?: import("web-vitals").ReportOpts | undefined) => void;
10
- lcp: (onReport: import("web-vitals").ReportHandler, opts?: import("web-vitals").ReportOpts | undefined) => void;
11
- ttfb: (onReport: import("web-vitals").ReportHandler, opts?: import("web-vitals").ReportOpts | undefined) => void;
12
- };
13
- initialize(): void;
14
- }
@@ -1,10 +0,0 @@
1
- import { BaseTransport } from '@grafana/faro-core';
2
- import type { TransportItem } from '@grafana/faro-core';
3
- import type { ConsoleTransportOptions } from './types';
4
- export declare class ConsoleTransport extends BaseTransport {
5
- private options;
6
- readonly name = "@grafana/faro-web-sdk:transport-console";
7
- readonly version = "1.0.0-beta1";
8
- constructor(options?: ConsoleTransportOptions);
9
- send(item: TransportItem): void;
10
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,193 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- var faro_core_1 = require("@grafana/faro-core");
40
- var transport_1 = require("./transport");
41
- var fetch = jest.fn(function () { return Promise.resolve({ status: 202 }); });
42
- global.fetch = fetch;
43
- var item = {
44
- type: faro_core_1.TransportItemType.LOG,
45
- payload: {
46
- context: {},
47
- level: faro_core_1.LogLevel.INFO,
48
- message: 'hi',
49
- timestamp: new Date().toISOString(),
50
- },
51
- meta: {},
52
- };
53
- describe('FetchTransport', function () {
54
- beforeEach(function () {
55
- fetch.mockClear();
56
- });
57
- it('will send event over fetch', function () {
58
- var transport = new transport_1.FetchTransport({
59
- url: 'http://example.com/collect',
60
- });
61
- transport.send(item);
62
- expect(fetch).toHaveBeenCalledTimes(1);
63
- expect(fetch).toHaveBeenCalledWith('http://example.com/collect', {
64
- body: JSON.stringify((0, faro_core_1.getTransportBody)(item)),
65
- headers: {
66
- 'Content-Type': 'application/json',
67
- },
68
- keepalive: true,
69
- method: 'POST',
70
- });
71
- });
72
- it('will not sending events if buffer size is exhausted', function () {
73
- var transport = new transport_1.FetchTransport({
74
- url: 'http://example.com/collect',
75
- bufferSize: 3,
76
- });
77
- for (var idx = 0; idx < 6; idx++) {
78
- transport.send(item);
79
- }
80
- expect(fetch).toHaveBeenCalledTimes(3);
81
- });
82
- it('will back off on 429 for default interval if no retry-after header present', function () { return __awaiter(void 0, void 0, void 0, function () {
83
- var now, transport;
84
- return __generator(this, function (_a) {
85
- switch (_a.label) {
86
- case 0:
87
- now = Date.now();
88
- transport = new transport_1.FetchTransport({
89
- url: 'http://example.com/collect',
90
- defaultRateLimitBackoffMs: 1000,
91
- getNow: function () { return now; },
92
- });
93
- fetch.mockImplementationOnce(function () {
94
- return Promise.resolve({
95
- status: 429,
96
- headers: {
97
- get: function () { return ''; },
98
- },
99
- });
100
- });
101
- return [4 /*yield*/, transport.send(item)];
102
- case 1:
103
- _a.sent();
104
- expect(fetch).toHaveBeenCalledTimes(1);
105
- return [4 /*yield*/, transport.send(item)];
106
- case 2:
107
- _a.sent();
108
- expect(fetch).toHaveBeenCalledTimes(1);
109
- now += 1001;
110
- return [4 /*yield*/, transport.send(item)];
111
- case 3:
112
- _a.sent();
113
- expect(fetch).toHaveBeenCalledTimes(2);
114
- return [2 /*return*/];
115
- }
116
- });
117
- }); });
118
- it('will back off on 429 for default interval if retry-after header present, with delay', function () { return __awaiter(void 0, void 0, void 0, function () {
119
- var now, transport;
120
- return __generator(this, function (_a) {
121
- switch (_a.label) {
122
- case 0:
123
- now = Date.now();
124
- transport = new transport_1.FetchTransport({
125
- url: 'http://example.com/collect',
126
- defaultRateLimitBackoffMs: 1000,
127
- getNow: function () { return now; },
128
- });
129
- fetch.mockImplementationOnce(function () {
130
- return Promise.resolve({
131
- status: 429,
132
- headers: {
133
- get: function () { return '2'; },
134
- },
135
- });
136
- });
137
- return [4 /*yield*/, transport.send(item)];
138
- case 1:
139
- _a.sent();
140
- expect(fetch).toHaveBeenCalledTimes(1);
141
- now += 1001;
142
- return [4 /*yield*/, transport.send(item)];
143
- case 2:
144
- _a.sent();
145
- expect(fetch).toHaveBeenCalledTimes(1);
146
- now += 1001;
147
- return [4 /*yield*/, transport.send(item)];
148
- case 3:
149
- _a.sent();
150
- expect(fetch).toHaveBeenCalledTimes(2);
151
- return [2 /*return*/];
152
- }
153
- });
154
- }); });
155
- it('will back off on 429 for default interval if retry-after header present, with delay', function () { return __awaiter(void 0, void 0, void 0, function () {
156
- var now, transport;
157
- return __generator(this, function (_a) {
158
- switch (_a.label) {
159
- case 0:
160
- now = Date.now();
161
- transport = new transport_1.FetchTransport({
162
- url: 'http://example.com/collect',
163
- defaultRateLimitBackoffMs: 1000,
164
- getNow: function () { return now; },
165
- });
166
- fetch.mockImplementationOnce(function () {
167
- return Promise.resolve({
168
- status: 429,
169
- headers: {
170
- get: function () { return new Date(now + 3000).toISOString(); },
171
- },
172
- });
173
- });
174
- return [4 /*yield*/, transport.send(item)];
175
- case 1:
176
- _a.sent();
177
- expect(fetch).toHaveBeenCalledTimes(1);
178
- now += 1001;
179
- return [4 /*yield*/, transport.send(item)];
180
- case 2:
181
- _a.sent();
182
- expect(fetch).toHaveBeenCalledTimes(1);
183
- now += 2001;
184
- return [4 /*yield*/, transport.send(item)];
185
- case 3:
186
- _a.sent();
187
- expect(fetch).toHaveBeenCalledTimes(2);
188
- return [2 /*return*/];
189
- }
190
- });
191
- }); });
192
- });
193
- //# sourceMappingURL=transport.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport.test.js","sourceRoot":"","sources":["../../../../src/transports/fetch/transport.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA4G;AAE5G,yCAA6C;AAE7C,IAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAhC,CAAgC,CAAC,CAAC;AAE7D,MAAc,CAAC,KAAK,GAAG,KAAK,CAAC;AAE9B,IAAM,IAAI,GAA4B;IACpC,IAAI,EAAE,6BAAiB,CAAC,GAAG;IAC3B,OAAO,EAAE;QACP,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,oBAAQ,CAAC,IAAI;QACpB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC;IACD,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,QAAQ,CAAC,gBAAgB,EAAE;IACzB,UAAU,CAAC;QACT,KAAK,CAAC,SAAS,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE;QAC/B,IAAM,SAAS,GAAG,IAAI,0BAAc,CAAC;YACnC,GAAG,EAAE,4BAA4B;SAClC,CAAC,CAAC;QAEH,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErB,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,4BAA4B,EAAE;YAC/D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAA,4BAAgB,EAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE;QACxD,IAAM,SAAS,GAAG,IAAI,0BAAc,CAAC;YACnC,GAAG,EAAE,4BAA4B;YACjC,UAAU,EAAE,CAAC;SACd,CAAC,CAAC;QAEH,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE;YAChC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtB;QAED,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE;;;;;oBAC3E,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAEf,SAAS,GAAG,IAAI,0BAAc,CAAC;wBACnC,GAAG,EAAE,4BAA4B;wBACjC,yBAAyB,EAAE,IAAI;wBAC/B,MAAM,EAAE,cAAM,OAAA,GAAG,EAAH,CAAG;qBAClB,CAAC,CAAC;oBAEH,KAAK,CAAC,sBAAsB,CAAC;wBAC3B,OAAA,OAAO,CAAC,OAAO,CAAC;4BACd,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE;gCACP,GAAG,EAAE,cAAM,OAAA,EAAE,EAAF,CAAE;6BACd;yBACF,CAAC;oBALF,CAKE,CACH,CAAC;oBAEF,qBAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;oBAA1B,SAA0B,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBAEvC,qBAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;oBAA1B,SAA0B,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBAEvC,GAAG,IAAI,IAAI,CAAC;oBACZ,qBAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;oBAA1B,SAA0B,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;;;;SACxC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE;;;;;oBACpF,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAEf,SAAS,GAAG,IAAI,0BAAc,CAAC;wBACnC,GAAG,EAAE,4BAA4B;wBACjC,yBAAyB,EAAE,IAAI;wBAC/B,MAAM,EAAE,cAAM,OAAA,GAAG,EAAH,CAAG;qBAClB,CAAC,CAAC;oBAEH,KAAK,CAAC,sBAAsB,CAAC;wBAC3B,OAAA,OAAO,CAAC,OAAO,CAAC;4BACd,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE;gCACP,GAAG,EAAE,cAAM,OAAA,GAAG,EAAH,CAAG;6BACf;yBACF,CAAC;oBALF,CAKE,CACH,CAAC;oBAEF,qBAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;oBAA1B,SAA0B,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBAEvC,GAAG,IAAI,IAAI,CAAC;oBACZ,qBAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;oBAA1B,SAA0B,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBAEvC,GAAG,IAAI,IAAI,CAAC;oBACZ,qBAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;oBAA1B,SAA0B,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;;;;SACxC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE;;;;;oBACpF,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAEf,SAAS,GAAG,IAAI,0BAAc,CAAC;wBACnC,GAAG,EAAE,4BAA4B;wBACjC,yBAAyB,EAAE,IAAI;wBAC/B,MAAM,EAAE,cAAM,OAAA,GAAG,EAAH,CAAG;qBAClB,CAAC,CAAC;oBAEH,KAAK,CAAC,sBAAsB,CAAC;wBAC3B,OAAA,OAAO,CAAC,OAAO,CAAC;4BACd,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE;gCACP,GAAG,EAAE,cAAM,OAAA,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAlC,CAAkC;6BAC9C;yBACF,CAAC;oBALF,CAKE,CACH,CAAC;oBAEF,qBAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;oBAA1B,SAA0B,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBAEvC,GAAG,IAAI,IAAI,CAAC;oBACZ,qBAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;oBAA1B,SAA0B,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBAEvC,GAAG,IAAI,IAAI,CAAC;oBACZ,qBAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;oBAA1B,SAA0B,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;;;;SACxC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Instrumentation } from '@grafana/faro-core';
2
- import type { GetWebInstrumentationsOptions } from './types';
3
- export declare function getWebInstrumentations(options?: GetWebInstrumentationsOptions): Instrumentation[];
@@ -1,3 +0,0 @@
1
- export { getWebInstrumentations } from './getWebInstrumentations';
2
- export { makeCoreConfig } from './makeCoreConfig';
3
- export type { BrowserConfig, GetWebInstrumentationsOptions } from './types';
@@ -1,3 +0,0 @@
1
- import type { Config } from '@grafana/faro-core';
2
- import type { BrowserConfig } from './types';
3
- export declare function makeCoreConfig(browserConfig: BrowserConfig): Config | undefined;
@@ -1,9 +0,0 @@
1
- import type { Config, LogLevel } from '@grafana/faro-core';
2
- export interface BrowserConfig extends Partial<Omit<Config, 'app' | 'parseStacktrace'>>, Pick<Config, 'app'> {
3
- url?: string;
4
- apiKey?: string;
5
- }
6
- export interface GetWebInstrumentationsOptions {
7
- captureConsole?: boolean;
8
- captureConsoleDisabledLevels?: LogLevel[];
9
- }
@@ -1 +0,0 @@
1
- export declare const defaultEventDomain = "browser";
@@ -1,12 +0,0 @@
1
- export { getWebInstrumentations, makeCoreConfig } from './config';
2
- export type { BrowserConfig } from './config';
3
- export { defaultEventDomain } from './consts';
4
- export { initializeFaro } from './initialize';
5
- export { buildStackFrame, ConsoleInstrumentation, ErrorsInstrumentation, getDataFromSafariExtensions, getStackFramesFromError, parseStacktrace, WebVitalsInstrumentation, } from './instrumentations';
6
- export type { ConsoleInstrumentationOptions, ErrorEvent, ExtendedPromiseRejectionEvent } from './instrumentations';
7
- export { browserMeta, defaultMetas, pageMeta } from './metas';
8
- export { createSession } from './session';
9
- export { ConsoleTransport, FetchTransport } from './transports';
10
- export type { ClockFn, ConsoleTransportOptions, FetchTransportOptions, FetchTransportRequestOptions, } from './transports';
11
- export { faro, allLogLevels, BaseExtension, BaseInstrumentation, BaseTransport, Conventions, createInternalLogger, createPromiseBuffer, deepEqual, defaultExceptionType, defaultGlobalObjectKey, defaultInternalLoggerLevel, defaultLogLevel, getCurrentTimestamp, getInternalFaroFromGlobalObject, getTransportBody, globalObject, internalGlobalObjectKey, isArray, isBoolean, isDomError, isDomException, isElement, isElementDefined, isError, isErrorDefined, isErrorEvent, isEvent, isEventDefined, isFunction, isInstanceOf, isInt, isInternalFaroOnGlobalObject, isMap, isMapDefined, isNull, isNumber, isObject, isPrimitive, isRegExp, isString, isSymbol, isSyntheticEvent, isThenable, isToString, isTypeof, isUndefined, InternalLoggerLevel, LogLevel, noop, setInternalFaroOnGlobalObject, TransportItemType, transportItemTypeToBodyKey, VERSION, } from '@grafana/faro-core';
12
- export type { Faro, API, APIEvent, BaseObject, BaseObjectKey, BaseObjectPrimitiveValue, BaseObjectValue, BeforeSendHook, BufferItem, Config, ExceptionEvent, ExceptionStackFrame, ExceptionsAPI, ExtendedError, GlobalObject, Instrumentation, InstrumentationLibrarySpan, Instrumentations, InternalLogger, LogContext, LogEvent, LogsAPI, MeasurementEvent, MeasurementsAPI, Meta, MetaAPI, MetaApp, MetaAttributes, MetaBrowser, MetaGetter, MetaItem, MetaPage, Metas, MetaSDK, MetaSDKIntegration, MetaSession, MetaUser, OTELApi, Patterns, PromiseBuffer, PromiseBufferOptions, PromiseProducer, PushErrorOptions, PushLogOptions, PushMeasurementOptions, ResourceSpan, Stacktrace, StacktraceParser, TraceContext, TraceEvent, TracesAPI, Transport, TransportBody, TransportItem, TransportItemPayload, Transports, UnpatchedConsole, EventEvent, EventsAPI, } from '@grafana/faro-core';
@@ -1,3 +0,0 @@
1
- import type { Faro } from '@grafana/faro-core';
2
- import type { BrowserConfig } from './config';
3
- export declare function initializeFaro(config: BrowserConfig): Faro;
@@ -1,2 +0,0 @@
1
- export { ConsoleInstrumentation } from './instrumentation';
2
- export type { ConsoleInstrumentationOptions } from './types';
@@ -1,10 +0,0 @@
1
- import { BaseInstrumentation, LogLevel } from '@grafana/faro-core';
2
- import type { ConsoleInstrumentationOptions } from './types';
3
- export declare class ConsoleInstrumentation extends BaseInstrumentation {
4
- private options;
5
- readonly name = "@grafana/faro-web-sdk:instrumentation-console";
6
- readonly version = "1.0.0-beta1";
7
- static defaultDisabledLevels: LogLevel[];
8
- constructor(options?: ConsoleInstrumentationOptions);
9
- initialize(): void;
10
- }
@@ -1,4 +0,0 @@
1
- import type { LogLevel } from '@grafana/faro-core';
2
- export interface ConsoleInstrumentationOptions {
3
- disabledLevels?: LogLevel[];
4
- }
@@ -1,7 +0,0 @@
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;
@@ -1,3 +0,0 @@
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[]];
@@ -1 +0,0 @@
1
- export declare function getValueAndTypeFromMessage(message: string): [string, string];
@@ -1,3 +0,0 @@
1
- export { ErrorsInstrumentation } from './instrumentation';
2
- export { buildStackFrame, getDataFromSafariExtensions, getStackFramesFromError, parseStacktrace } from './stackFrames';
3
- export type { ErrorEvent, ExtendedPromiseRejectionEvent } from './types';
@@ -1,2 +0,0 @@
1
- import { Faro } from '@grafana/faro-core';
2
- export declare function registerOnerror(faro: Faro): void;
@@ -1,21 +0,0 @@
1
- import { mockConfig, MockTransport } from '@grafana/faro-core/src/testUtils';
2
- import { initializeFaro } from '../../initialize';
3
- import { registerOnerror } from './registerOnerror';
4
- describe('registerOnerror', () => {
5
- it('will preserve the old callback', () => {
6
- let called = false;
7
- window.onerror = () => {
8
- called = true;
9
- };
10
- const transport = new MockTransport();
11
- const config = mockConfig({
12
- transports: [transport],
13
- });
14
- const faro = initializeFaro(config);
15
- registerOnerror(faro);
16
- window.onerror('boo', 'some file', 10, 10, new Error('boo'));
17
- expect(called).toBe(true);
18
- expect(transport.items).toHaveLength(1);
19
- });
20
- });
21
- //# sourceMappingURL=registerOnerror.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerOnerror.test.js","sourceRoot":"","sources":["../../../../src/instrumentations/errors/registerOnerror.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;YACpB,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,UAAU,CAAC;YACxB,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACpC,eAAe,CAAC,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"}
@@ -1,2 +0,0 @@
1
- import { Faro } from '@grafana/faro-core';
2
- export declare function registerOnunhandledrejection(faro: Faro): void;
@@ -1,2 +0,0 @@
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;
@@ -1,15 +0,0 @@
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;
@@ -1 +0,0 @@
1
- export declare function getDataFromSafariExtensions(func: string | undefined, filename: string | undefined): [string | undefined, string | undefined];
@@ -1,2 +0,0 @@
1
- import type { ExceptionStackFrame, ExtendedError } from '@grafana/faro-core';
2
- export declare function getStackFramesFromError(error: ExtendedError): ExceptionStackFrame[];
@@ -1,4 +0,0 @@
1
- export { buildStackFrame } from './buildStackFrame';
2
- export { getDataFromSafariExtensions } from './getDataFromSafariExtensions';
3
- export { getStackFramesFromError } from './getStackFramesFromError';
4
- export { parseStacktrace } from './parseStacktrace';
@@ -1,2 +0,0 @@
1
- import type { ExtendedError, Stacktrace } from '@grafana/faro-core';
2
- export declare function parseStacktrace(error: ExtendedError): Stacktrace;
@@ -1,6 +0,0 @@
1
- export { SessionInstrumentation } from './session';
2
- export { ConsoleInstrumentation } from './console';
3
- export type { ConsoleInstrumentationOptions } from './console';
4
- export { buildStackFrame, ErrorsInstrumentation, getDataFromSafariExtensions, getStackFramesFromError, parseStacktrace, } from './errors';
5
- export type { ErrorEvent, ExtendedPromiseRejectionEvent } from './errors';
6
- export { WebVitalsInstrumentation } from './webVitals';
@@ -1 +0,0 @@
1
- export { SessionInstrumentation } from './instrumentation';
@@ -1,8 +0,0 @@
1
- import { BaseInstrumentation } from '@grafana/faro-core';
2
- export declare class SessionInstrumentation extends BaseInstrumentation {
3
- readonly name = "@grafana/faro-web-sdk:instrumentation-session";
4
- readonly version: string;
5
- private notifiedSession;
6
- private sendSessionStartEvent;
7
- initialize(): void;
8
- }