@leaflink/snitch 0.0.0-PR-56--70fa2e6 → 0.0.0-PR-57--f0f591b

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 (37) hide show
  1. package/README.md +5 -1
  2. package/dist/src/index.js.map +1 -0
  3. package/dist/{index.spec.js → src/index.spec.js} +0 -1
  4. package/dist/src/index.spec.js.map +1 -0
  5. package/dist/src/transports/console.js.map +1 -0
  6. package/dist/src/transports/console.spec.js.map +1 -0
  7. package/dist/{transports → src/transports}/datadog.js +4 -4
  8. package/dist/src/transports/datadog.js.map +1 -0
  9. package/dist/{transports → src/transports}/datadog.spec.js +5 -0
  10. package/dist/src/transports/datadog.spec.js.map +1 -0
  11. package/dist/src/transports/sentry.js.map +1 -0
  12. package/dist/src/transports/sentry.spec.js.map +1 -0
  13. package/dist/vite.config.d.ts +2 -0
  14. package/dist/vite.config.js +13 -0
  15. package/dist/vite.config.js.map +1 -0
  16. package/package.json +8 -7
  17. package/dist/index.js.map +0 -1
  18. package/dist/index.spec.js.map +0 -1
  19. package/dist/transports/console.js.map +0 -1
  20. package/dist/transports/console.spec.js.map +0 -1
  21. package/dist/transports/datadog.js.map +0 -1
  22. package/dist/transports/datadog.spec.js.map +0 -1
  23. package/dist/transports/sentry.js.map +0 -1
  24. package/dist/transports/sentry.spec.js.map +0 -1
  25. /package/dist/{index.d.ts → src/index.d.ts} +0 -0
  26. /package/dist/{index.js → src/index.js} +0 -0
  27. /package/dist/{index.spec.d.ts → src/index.spec.d.ts} +0 -0
  28. /package/dist/{transports → src/transports}/console.d.ts +0 -0
  29. /package/dist/{transports → src/transports}/console.js +0 -0
  30. /package/dist/{transports → src/transports}/console.spec.d.ts +0 -0
  31. /package/dist/{transports → src/transports}/console.spec.js +0 -0
  32. /package/dist/{transports → src/transports}/datadog.d.ts +0 -0
  33. /package/dist/{transports → src/transports}/datadog.spec.d.ts +0 -0
  34. /package/dist/{transports → src/transports}/sentry.d.ts +0 -0
  35. /package/dist/{transports → src/transports}/sentry.js +0 -0
  36. /package/dist/{transports → src/transports}/sentry.spec.d.ts +0 -0
  37. /package/dist/{transports → src/transports}/sentry.spec.js +0 -0
package/README.md CHANGED
@@ -28,7 +28,11 @@ Simple and extensible browser logging, inspired by [Winston](https://github.com/
28
28
 
29
29
  ## Installation
30
30
 
31
- `$ npm i @leaflink/snitch`
31
+ ```bash
32
+ npm i @leaflink/snitch
33
+ # or
34
+ pnpm add @leaflink/snitch
35
+ ```
32
36
 
33
37
  ## Transports
34
38
 
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"./src/","sources":["src/index.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAgBF,MAAM,OAAO,MAAM;IACjB,UAAU,CAAc;IAExB,YAAY,IAAkC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;IAC3C,CAAC;IAEO,IAAI,CAAC,KAAe,EAAE,OAAmB,EAAE,IAAc;QAC/D,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAmB,EAAE,IAAc;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,OAAmB,EAAE,IAAc;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,OAAmB,EAAE,IAAc;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,OAAmB,EAAE,IAAc;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAmB,EAAE,IAAc;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,SAAoB;QAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,eAAe;QACb,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;CACF;AAED,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAC5B,eAAe,MAAM,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
@@ -30,7 +30,6 @@ it("calls a transport when the log level is at or below the transport's level",
30
30
  level: 'debug',
31
31
  log: debugSpy,
32
32
  });
33
- // eslint-disable-next-line testing-library/no-debugging-utils
34
33
  logger.debug('debug message', {});
35
34
  expect(errorSpy).not.toHaveBeenCalled();
36
35
  expect(warnSpy).not.toHaveBeenCalled();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.spec.js","sourceRoot":"./src/","sources":["src/index.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console.js","sourceRoot":"./src/","sources":["src/transports/console.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,gBAAgB;IAC3B,KAAK,CAAW;IAChB,GAAG,CAAgE;IAEnE,YAAY,IAA8B;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,OAAO,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAClC,QAAQ,KAAK,EAAE,CAAC;gBACd,KAAK,OAAO;oBACV,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBACnC,MAAM;gBACR,KAAK,MAAM;oBACT,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAClC,MAAM;gBACR,KAAK,OAAO;oBACV,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBACnC,MAAM;gBACR;oBACE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console.spec.js","sourceRoot":"./src/","sources":["src/transports/console.spec.ts"],"names":[],"mappings":"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"}
@@ -57,16 +57,16 @@ export class DatadogTransport {
57
57
  */
58
58
  function callRnDatadogLogger(instance, level, args) {
59
59
  if (level === 'debug') {
60
- instance.debug(...args);
60
+ void instance.debug(...args);
61
61
  }
62
62
  else if (level === 'info') {
63
- instance.info(...args);
63
+ void instance.info(...args);
64
64
  }
65
65
  else if (level === 'warn') {
66
- instance.warn(...args);
66
+ void instance.warn(...args);
67
67
  }
68
68
  else if (level === 'error') {
69
- instance.error(...args);
69
+ void instance.error(...args);
70
70
  }
71
71
  }
72
72
  export class ReactNativeDatadogTransport {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datadog.js","sourceRoot":"./src/","sources":["src/transports/datadog.ts"],"names":[],"mappings":"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"}
@@ -25,28 +25,33 @@ describe('datadog web transport', () => {
25
25
  it('should log error instance correctly as first arg', () => {
26
26
  const customErr = Error('ERR');
27
27
  logger.error(customErr);
28
+ // eslint-disable-next-line @typescript-eslint/unbound-method -- This is a test and we don't need to bind the method.
28
29
  expect(DdInstance.logger.error).toHaveBeenCalledWith(customErr.message, {}, customErr);
29
30
  });
30
31
  it('should log error instance correctly as first arg with meta', () => {
31
32
  const customErr = Error('ERR');
32
33
  const customMeta = { foo: 'bar' };
33
34
  logger.error(customErr, customMeta);
35
+ // eslint-disable-next-line @typescript-eslint/unbound-method -- This is a test and we don't need to bind the method.
34
36
  expect(DdInstance.logger.error).toHaveBeenCalledWith(customErr.message, { extra: customMeta }, customErr);
35
37
  });
36
38
  it('should log correctly with string as first arg and error isntance as second', () => {
37
39
  const customMsg = 'message';
38
40
  const customErr = Error('ERR');
39
41
  logger.error(customMsg, customErr);
42
+ // eslint-disable-next-line @typescript-eslint/unbound-method -- This is a test and we don't need to bind the method.
40
43
  expect(DdInstance.logger.error).toHaveBeenCalledWith(customMsg, {}, customErr);
41
44
  });
42
45
  it('should log correctly when first arg is a string and no second arg is passed', () => {
43
46
  const customMsg = 'message';
44
47
  logger.error(customMsg);
48
+ // eslint-disable-next-line @typescript-eslint/unbound-method -- This is a test and we don't need to bind the method.
45
49
  expect(DdInstance.logger.error).toHaveBeenCalledWith(customMsg, {});
46
50
  });
47
51
  it('should log correctly when first arg is not a string', () => {
48
52
  const customArg = [1, 2, 3];
49
53
  logger.error(customArg);
54
+ // eslint-disable-next-line @typescript-eslint/unbound-method -- This is a test and we don't need to bind the method.
50
55
  expect(DdInstance.logger.error).toHaveBeenCalledWith('[' + customArg.join(',') + ']', {});
51
56
  });
52
57
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datadog.spec.js","sourceRoot":"./src/","sources":["src/transports/datadog.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentry.js","sourceRoot":"./src/","sources":["src/transports/sentry.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG;IAC1B,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,OAAO;CACf,CAAC;AAsBF,MAAM,OAAO,eAAe;IAC1B,KAAK,CAAW;IAChB,GAAG,CAAc;IAEjB,YAAY,IAA4B;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACrC,kEAAkE;YAClE,iGAAiG;YACjG,4FAA4F;YAC5F,8FAA8F;YAC9F,IACE,IAAI;gBACJ,OAAO,IAAI,KAAK,QAAQ;gBACxB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACpB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,SAAS,EAChD,CAAC;gBACD,6DAA6D;gBAC7D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,GAAI,IAAmB,IAAI,EAAE,CAAC;gBACtG,MAAM,WAAW,GAAG;oBAClB,GAAG,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,GAAG,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpE,CAAC;gBACF,MAAM,UAAU,GAAG;oBACjB,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC;oBACpC,KAAK,EAAE,WAAW;oBAClB,IAAI;oBACJ,QAAQ;oBACR,IAAI;oBACJ,WAAW;iBACZ,CAAC;gBAEF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC1D,CAAC;qBAAM,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;oBACpC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC5D,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;oBAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;oBACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;oBACvB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;gBAC7E,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;gBACpC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentry.spec.js","sourceRoot":"./src/","sources":["src/transports/sentry.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vite").UserConfig;
2
+ export default _default;
@@ -0,0 +1,13 @@
1
+ /// <reference types="vitest" />
2
+ import { defineConfig } from 'vite';
3
+ export default defineConfig({
4
+ test: {
5
+ coverage: {
6
+ provider: 'c8',
7
+ reporter: process.env.CI ? 'lcov' : ['html', 'text'],
8
+ },
9
+ globals: true,
10
+ include: ['**/*.spec.ts'],
11
+ },
12
+ });
13
+ //# sourceMappingURL=vite.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.config.js","sourceRoot":"./src/","sources":["vite.config.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpC,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE;QACJ,QAAQ,EAAE;YACR,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC;SACrD;QACD,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC,cAAc,CAAC;KAC1B;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leaflink/snitch",
3
- "version": "0.0.0-PR-56--70fa2e6",
3
+ "version": "0.0.0-PR-57--f0f591b",
4
4
  "description": "Front end logging inspired by winston.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -28,8 +28,8 @@
28
28
  "main": "./dist/index.js",
29
29
  "types": "./dist/index.d.ts",
30
30
  "engines": {
31
- "node": ">=16",
32
- "npm": ">=8"
31
+ "node": ">=24",
32
+ "pnpm": ">=9"
33
33
  },
34
34
  "files": [
35
35
  "dist"
@@ -59,10 +59,10 @@
59
59
  "@commitlint/config-conventional": "^17.4.4",
60
60
  "@datadog/browser-logs": "^4.39.0",
61
61
  "@datadog/mobile-react-native": "^2.6.3",
62
+ "@leaflink/eslint-config": "^5.1.1",
62
63
  "@vitest/coverage-c8": "^0.29.2",
63
- "eslint": "^8.41.0",
64
- "eslint-config-leaflink": "^1.3.1",
65
- "typescript": "^4.9.5",
64
+ "eslint": "^9.39.2",
65
+ "typescript": "^5.9.3",
66
66
  "vite": "^4.1.4",
67
67
  "vitest": "^0.29.2"
68
68
  },
@@ -83,5 +83,6 @@
83
83
  "extends": [
84
84
  "leaflink"
85
85
  ]
86
- }
86
+ },
87
+ "packageManager": "pnpm@9.15.0"
87
88
  }
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAcF,MAAM,OAAO,MAAM;IACjB,UAAU,CAAc;IAExB,YAAY,IAAkC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;IAC3C,CAAC;IAEO,IAAI,CAAC,KAAe,EAAE,OAAmB,EAAE,IAAc;QAC/D,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACvC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC5C,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;aACrC;SACF;IACH,CAAC;IAED,KAAK,CAAC,OAAmB,EAAE,IAAc;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,OAAmB,EAAE,IAAc;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,OAAmB,EAAE,IAAc;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,OAAmB,EAAE,IAAc;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAmB,EAAE,IAAc;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,SAAoB;QAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,eAAe;QACb,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;CACF;AAED,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAC5B,eAAe,MAAM,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC","sourcesContent":["export type LogLevel = 'error' | 'warn' | 'info' | 'debug';\nconst levels = {\n error: 0,\n warn: 1,\n info: 2,\n debug: 3,\n};\n\n// Support `typeof Error | unknown` types to allow passing the error objects directly or unknown\n// objects that may be an error from a catch block for instance.\n// Todo - Generic `object` might be able to be removed?\nexport type LogMessage = string | typeof Error | unknown | object;\nexport type LogMeta = Record<string, unknown> | typeof Error | unknown | object;\nexport type LogFunction = (message: LogMessage, meta: LogMeta, level: LogLevel) => void;\n\nexport interface Transport {\n level: LogLevel;\n log: LogFunction;\n}\n\nexport class Logger {\n transports: Transport[];\n\n constructor(opts?: { transports: Transport[] }) {\n this.transports = opts?.transports || [];\n }\n\n private _log(level: LogLevel, message: LogMessage, meta?: LogMeta) {\n for (const transport of this.transports) {\n if (levels[transport.level] >= levels[level]) {\n transport.log(message, meta, level);\n }\n }\n }\n\n debug(message: LogMessage, meta?: LogMeta) {\n this._log('debug', message, meta);\n }\n\n info(message: LogMessage, meta?: LogMeta) {\n this._log('info', message, meta);\n }\n\n log(message: LogMessage, meta?: LogMeta) {\n this.info(message, meta);\n }\n\n warn(message: LogMessage, meta?: LogMeta) {\n this._log('warn', message, meta);\n }\n\n error(message: LogMessage, meta?: LogMeta) {\n this._log('error', message, meta);\n }\n\n addTransport(transport: Transport) {\n this.transports.push(transport);\n }\n\n clearTransports() {\n this.transports = [];\n }\n}\n\nconst logger = new Logger();\nexport default logger;\n\nexport { ConsoleTransport } from './transports/console.js';\nexport { DatadogTransport, ReactNativeDatadogTransport } from './transports/datadog.js';\nexport { SentryTransport } from './transports/sentry.js';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import logger, { Logger, LogLevel } from './index.js';\n\nafterEach(() => logger.clearTransports());\n\nit.each(['debug', 'info', 'warn', 'error'])('can register a logger to a log level', (level) => {\n expect(logger.transports.length).toBe(0);\n\n logger.addTransport({\n level: level as LogLevel,\n log: () => console.log('logged!'),\n });\n\n expect(logger.transports.length).toBe(1);\n expect(logger.transports[0].level).toBe(level);\n});\n\nit(\"calls a transport when the log level is at or below the transport's level\", () => {\n const errorSpy = vi.fn();\n const warnSpy = vi.fn();\n const infoSpy = vi.fn();\n const debugSpy = vi.fn();\n\n logger.addTransport({\n level: 'error',\n log: errorSpy,\n });\n\n logger.addTransport({\n level: 'warn',\n log: warnSpy,\n });\n\n logger.addTransport({\n level: 'info',\n log: infoSpy,\n });\n\n logger.addTransport({\n level: 'debug',\n log: debugSpy,\n });\n\n // eslint-disable-next-line testing-library/no-debugging-utils\n logger.debug('debug message', {});\n expect(errorSpy).not.toHaveBeenCalled();\n expect(warnSpy).not.toHaveBeenCalled();\n expect(infoSpy).not.toHaveBeenCalled();\n expect(debugSpy).toHaveBeenCalledWith('debug message', {}, 'debug');\n\n logger.info('info message', {});\n expect(errorSpy).not.toHaveBeenCalled();\n expect(warnSpy).not.toHaveBeenCalled();\n expect(infoSpy).toHaveBeenCalledWith('info message', {}, 'info');\n expect(debugSpy).toHaveBeenCalledWith('info message', {}, 'info');\n\n logger.warn('warn message', {});\n expect(errorSpy).not.toHaveBeenCalled();\n expect(warnSpy).toHaveBeenCalledWith('warn message', {}, 'warn');\n expect(infoSpy).toHaveBeenCalledWith('warn message', {}, 'warn');\n expect(debugSpy).toHaveBeenCalledWith('warn message', {}, 'warn');\n\n logger.error('error message', {});\n expect(errorSpy).toHaveBeenCalledWith('error message', {}, 'error');\n expect(warnSpy).toHaveBeenCalledWith('error message', {}, 'error');\n expect(infoSpy).toHaveBeenCalledWith('error message', {}, 'error');\n expect(debugSpy).toHaveBeenCalledWith('error message', {}, 'error');\n});\n\nit('can create a logger with transports set in the constructor', () => {\n const customLogger = new Logger({\n transports: [\n {\n level: 'info',\n log: vi.fn(),\n },\n {\n level: 'warn',\n log: vi.fn(),\n },\n ],\n });\n\n expect(customLogger.transports.length).toBe(2);\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/transports/console.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,gBAAgB;IAC3B,KAAK,CAAW;IAChB,GAAG,CAAgE;IAEnE,YAAY,IAA8B;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,OAAO,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAClC,QAAQ,KAAK,EAAE;gBACb,KAAK,OAAO;oBACV,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBACnC,MAAM;gBACR,KAAK,MAAM;oBACT,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAClC,MAAM;gBACR,KAAK,OAAO;oBACV,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBACnC,MAAM;gBACR;oBACE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;aACpC;QACH,CAAC,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { LogLevel, LogMessage, LogMeta, Transport } from '../index.js';\n\nexport interface ConsoleTransportOptions {\n level?: LogLevel;\n}\n\nexport class ConsoleTransport implements Transport {\n level: LogLevel;\n log: (message: LogMessage, meta: LogMeta, level: LogLevel) => void;\n\n constructor(opts?: ConsoleTransportOptions) {\n this.level = opts?.level || 'debug';\n this.log = (message, meta, level) => {\n switch (level) {\n case 'error':\n console.error(message, meta ?? '');\n break;\n case 'warn':\n console.warn(message, meta ?? '');\n break;\n case 'debug':\n console.debug(message, meta ?? '');\n break;\n default:\n console.log(message, meta ?? '');\n }\n };\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"console.spec.js","sourceRoot":"","sources":["../../src/transports/console.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import logger, { ConsoleTransport } from '../index.js';\n\ndescribe('console transport', () => {\n beforeAll(() => {\n logger.addTransport(new ConsoleTransport());\n });\n\n afterAll(() => {\n logger.clearTransports();\n });\n\n it('should log error to console', () => {\n const customErr = 'custom error';\n\n const errorSpy = vi.spyOn(console, 'error');\n\n logger.error(customErr);\n\n expect(errorSpy).toHaveBeenCalledWith(customErr, '');\n\n errorSpy.mockClear();\n\n const customMeta = { meta: { extra: 'something' } };\n\n logger.error(customErr, customMeta);\n\n expect(errorSpy).toHaveBeenCalledWith(customErr, customMeta);\n });\n\n it('should log debug to console', () => {\n const customMsg = 'custom debug';\n\n const debugSpy = vi.spyOn(console, 'debug');\n\n logger['debug'](customMsg);\n\n expect(debugSpy).toHaveBeenCalledWith(customMsg, '');\n\n debugSpy.mockClear();\n\n const customMeta = { meta: { extra: 'something' } };\n\n logger['debug'](customMsg, customMeta);\n\n expect(debugSpy).toHaveBeenCalledWith(customMsg, customMeta);\n });\n\n it('should log warn to console', () => {\n const customWarn = 'custom warn';\n\n const debugSpy = vi.spyOn(console, 'warn');\n\n logger.warn(customWarn);\n\n expect(debugSpy).toHaveBeenCalledWith(customWarn, '');\n\n debugSpy.mockClear();\n\n const customMeta = { meta: { extra: 'something' } };\n\n logger.warn(customWarn, customMeta);\n\n expect(debugSpy).toHaveBeenCalledWith(customWarn, customMeta);\n });\n\n it('should log to console', () => {\n const customMsg = 'custom log';\n\n const logSpy = vi.spyOn(console, 'log');\n\n logger.log(customMsg);\n\n expect(logSpy).toHaveBeenCalledWith(customMsg, '');\n\n logSpy.mockClear();\n\n const customMeta = { meta: { extra: 'something' } };\n\n logger.log(customMsg, customMeta);\n\n expect(logSpy).toHaveBeenCalledWith(customMsg, customMeta);\n });\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"datadog.js","sourceRoot":"","sources":["../../src/transports/datadog.ts"],"names":[],"mappings":"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","sourcesContent":["import type { datadogLogs } from '@datadog/browser-logs';\nimport type { DdLogs } from '@datadog/mobile-react-native';\n\nimport { LogFunction, LogLevel, Transport } from '../index.js';\n\nfunction isEmpty(obj: object) {\n if (obj === null || obj === undefined || !obj) {\n return true;\n }\n\n for (const prop in obj) {\n if (Object.hasOwn(obj, prop)) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Wraps the meta object to avoid our custom meta properties mixing with datadog's built-in properties.\n *\n * @param meta - The meta object to wrap.\n * @returns The wrapped meta object.\n */\nfunction wrapMeta(meta: unknown) {\n // using `extra` just to match what Sentry does\n return isEmpty(meta as object) ? {} : { extra: meta };\n}\n\nexport interface DatadogTransportOptions {\n level?: LogLevel;\n datadogLogsInstance: typeof datadogLogs;\n}\n\nexport interface ReactNativeDatadogTransportOptions extends Omit<DatadogTransportOptions, 'datadogLogsInstance'> {\n datadogLogsInstance: typeof DdLogs;\n}\n\nexport class DatadogTransport implements Transport {\n level: LogLevel;\n log: LogFunction;\n\n constructor(opts: DatadogTransportOptions) {\n this.level = opts.level || 'info';\n this.log = (message, meta = {}, level) => {\n // LogLevel maps directly to datadogLogsInstance logger methods\n if (message instanceof Error) {\n // Datadog logger has an optional third error param for exception handling\n opts.datadogLogsInstance.logger[level](message.message, wrapMeta(meta), message);\n } else if (typeof message === 'string' && meta instanceof Error) {\n opts.datadogLogsInstance.logger[level](message, {}, meta);\n } else if (typeof message === 'string') {\n opts.datadogLogsInstance.logger[level](message, wrapMeta(meta));\n } else {\n // Datadog requires a string for the message param. Our downstream usage currently provides\n // either a string or an Error, but for future-proofing this just stringify the unknown object as message.\n opts.datadogLogsInstance.logger[level](JSON.stringify(message), wrapMeta(meta));\n }\n };\n }\n}\n\n/**\n * Helper function to help call the datadog logger methods directly instead of dynamically calling\n * them with the `level` param. This is a workaround to avoid the following error:\n *\n * ```\n * Error: JS Functions are not convertible to dynamic\n * ```\n *\n * @param level - The log level to call the datadog logger method with.\n * @param args - The arguments to pass to the datadog logger method.\n */\nfunction callRnDatadogLogger(\n instance: typeof DdLogs,\n level: LogLevel,\n args: [string, string?, string?, string?, object?] | [string, object?],\n) {\n if (level === 'debug') {\n instance.debug(...args);\n } else if (level === 'info') {\n instance.info(...args);\n } else if (level === 'warn') {\n instance.warn(...args);\n } else if (level === 'error') {\n instance.error(...args);\n }\n}\n\nexport class ReactNativeDatadogTransport implements Transport {\n level: LogLevel;\n log: LogFunction;\n\n constructor(opts: ReactNativeDatadogTransportOptions) {\n this.level = opts.level || 'info';\n this.log = (message, meta = {}, level) => {\n if (message instanceof Error) {\n callRnDatadogLogger(opts.datadogLogsInstance, level, [\n message.message,\n message.name,\n message.message,\n message.stack,\n wrapMeta(meta),\n ]);\n } else if (typeof message === 'string') {\n if (meta instanceof Error) {\n callRnDatadogLogger(opts.datadogLogsInstance, level, [message, meta.name, meta.message, meta.stack]);\n } else {\n callRnDatadogLogger(opts.datadogLogsInstance, level, [message, wrapMeta(meta)]);\n }\n } else {\n callRnDatadogLogger(opts.datadogLogsInstance, level, [JSON.stringify(message), wrapMeta(meta)]);\n }\n };\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"datadog.spec.js","sourceRoot":"","sources":["../../src/transports/datadog.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import type { datadogLogs } from '@datadog/browser-logs';\nimport type { DdLogs } from '@datadog/mobile-react-native';\n\nimport logger, { DatadogTransport, LogLevel, ReactNativeDatadogTransport } from '../index.js';\n\nconst DdInstance = {\n logger: {\n error: vi.fn(),\n warn: vi.fn(),\n info: vi.fn(),\n debug: vi.fn(),\n },\n} as unknown as typeof datadogLogs;\n\ndescribe('datadog web transport', () => {\n beforeAll(() => {\n logger.addTransport(new DatadogTransport({ datadogLogsInstance: DdInstance, level: 'debug' }));\n });\n\n afterEach(() => {\n Object.values(DdInstance.logger).forEach((level) => level.mockClear());\n });\n\n afterAll(() => {\n logger.clearTransports();\n });\n\n it.each(['info', 'warn', 'debug', 'error'])('should log %s to dd', (level: unknown) => {\n const customErr = 'custom error';\n\n logger[level as LogLevel](customErr);\n\n expect(DdInstance.logger[level as LogLevel]).toHaveBeenCalledWith(customErr, {});\n });\n\n it('should log error instance correctly as first arg', () => {\n const customErr = Error('ERR');\n\n logger.error(customErr);\n\n expect(DdInstance.logger.error).toHaveBeenCalledWith(customErr.message, {}, customErr);\n });\n\n it('should log error instance correctly as first arg with meta', () => {\n const customErr = Error('ERR');\n const customMeta = { foo: 'bar' };\n\n logger.error(customErr, customMeta);\n\n expect(DdInstance.logger.error).toHaveBeenCalledWith(customErr.message, { extra: customMeta }, customErr);\n });\n\n it('should log correctly with string as first arg and error isntance as second', () => {\n const customMsg = 'message';\n const customErr = Error('ERR');\n\n logger.error(customMsg, customErr);\n\n expect(DdInstance.logger.error).toHaveBeenCalledWith(customMsg, {}, customErr);\n });\n\n it('should log correctly when first arg is a string and no second arg is passed', () => {\n const customMsg = 'message';\n\n logger.error(customMsg);\n\n expect(DdInstance.logger.error).toHaveBeenCalledWith(customMsg, {});\n });\n\n it('should log correctly when first arg is not a string', () => {\n const customArg = [1, 2, 3];\n\n logger.error(customArg);\n\n expect(DdInstance.logger.error).toHaveBeenCalledWith('[' + customArg.join(',') + ']', {});\n });\n});\n\nconst rnDdInstance = {\n error: vi.fn(),\n info: vi.fn(),\n debug: vi.fn(),\n warn: vi.fn(),\n} as unknown as typeof DdLogs;\n\ndescribe('datadog react native transport', () => {\n beforeAll(() => {\n logger.addTransport(new ReactNativeDatadogTransport({ datadogLogsInstance: rnDdInstance, level: 'debug' }));\n });\n\n afterEach(() => {\n Object.values(rnDdInstance).forEach((level) => level.mockClear());\n });\n\n afterAll(() => {\n logger.clearTransports();\n });\n\n it.each`\n meta | expected\n ${undefined} | ${{}}\n `('should log error correctly if first argument is an Error', ({ meta, expected }) => {\n const customError = Error('custom err');\n\n logger.error(customError, meta);\n\n expect(rnDdInstance.error).toHaveBeenCalledWith(\n customError.message,\n customError.name,\n customError.message,\n customError.stack,\n expected,\n );\n });\n\n it('should log error correctly if first argument is not an Error nor string', () => {\n const customMeta = 'string meta';\n\n logger.error([1, 2], 'string meta');\n\n expect(rnDdInstance.error).toHaveBeenCalledWith('[1,2]', { extra: customMeta });\n });\n\n describe('when message is a string', () => {\n it('should log an error correctly when meta is an Error', () => {\n const customMessage = 'my message';\n const customError = Error('custom error');\n\n logger.error(customMessage, customError);\n\n expect(rnDdInstance.error).toHaveBeenCalledWith(\n customMessage,\n customError.name,\n customError.message,\n customError.stack,\n );\n });\n\n it('should log an error message correctly when meta is an object', () => {\n const customMessage = 'custom msg';\n const customMeta = { foo: 'bar' };\n\n logger.error(customMessage, customMeta);\n\n expect(rnDdInstance.error).toHaveBeenCalledWith(customMessage, { extra: customMeta });\n });\n\n it('should log a message correctly when meta is not an object', () => {\n const customMessage = 'custom msg';\n const customMeta = 'string';\n\n logger.error(customMessage, customMeta);\n\n expect(rnDdInstance.error).toHaveBeenCalledWith(customMessage, { extra: customMeta });\n });\n });\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sentry.js","sourceRoot":"","sources":["../../src/transports/sentry.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG;IAC1B,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,OAAO;CACf,CAAC;AAmBF,MAAM,OAAO,eAAe;IAC1B,KAAK,CAAW;IAChB,GAAG,CAAc;IAEjB,YAAY,IAA4B;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACrC,kEAAkE;YAClE,iGAAiG;YACjG,4FAA4F;YAC5F,8FAA8F;YAC9F,IACE,IAAI;gBACJ,OAAO,IAAI,KAAK,QAAQ;gBACxB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACpB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,SAAS,EAChD;gBACA,6DAA6D;gBAC7D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,GAAI,IAAmB,IAAI,EAAE,CAAC;gBACtG,MAAM,WAAW,GAAG;oBAClB,GAAG,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,GAAG,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpE,CAAC;gBACF,MAAM,UAAU,GAAG;oBACjB,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC;oBACpC,KAAK,EAAE,WAAW;oBAClB,IAAI;oBACJ,QAAQ;oBACR,IAAI;oBACJ,WAAW;iBACZ,CAAC;gBAEF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;oBAC/B,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;iBACzD;qBAAM,IAAI,OAAO,YAAY,KAAK,EAAE;oBACnC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;iBAC3D;gBACD,OAAO;aACR;YAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,IAAI,IAAI,YAAY,KAAK,EAAE;oBACzB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;oBACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;oBACvB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;iBAC5E;qBAAM;oBACL,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;iBACnD;aACF;iBAAM,IAAI,OAAO,YAAY,KAAK,EAAE;gBACnC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACrD;iBAAM,IAAI,IAAI,YAAY,KAAK,EAAE;gBAChC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAClD;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;aACnE;QACH,CAAC,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { LogFunction, LogLevel, LogMeta, Transport } from '../index.js';\n\nconst SentryErrorLevelMap = {\n debug: 'debug',\n info: 'info',\n warn: 'warning',\n error: 'error',\n};\n\nexport interface SentryTransportOptions {\n level?: LogLevel;\n sentryInstance: {\n captureMessage: (message: string, sentryMeta: Record<string, unknown> | unknown | undefined) => void;\n captureException: (message: object, sentryMeta: Record<string, unknown> | unknown | undefined) => void;\n };\n}\n\nexport type SentryMeta = LogMeta & {\n level?: string;\n extra?: Record<string, unknown>;\n tags?: Record<string, unknown>;\n contexts?: Record<string, unknown>;\n user?: Record<string, unknown>;\n fingerprint?: string[];\n};\n\nexport class SentryTransport implements Transport {\n level: LogLevel;\n log: LogFunction;\n\n constructor(opts: SentryTransportOptions) {\n this.level = opts.level || 'error';\n this.log = (message, meta, logLevel) => {\n // There's a handful of well defined context properties in sentry:\n // https://docs.sentry.io/platforms/javascript/enriching-events/context/#passing-context-directly\n // If the metadata you pass is not one of these, we will automatically put it into extra for\n // you, which is just a dumping ground for contextual metadata that sentry normalizes for you.\n if (\n meta &&\n typeof meta === 'object' &&\n !Array.isArray(meta) &&\n Object.getPrototypeOf(meta) === Object.prototype\n ) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { tags, extra, contexts, user, level, fingerprint, ...customMeta } = (meta as SentryMeta) || {};\n const extraSentry = {\n ...(extra && typeof extra === 'object' ? extra : {}),\n ...(customMeta && typeof customMeta === 'object' ? customMeta : {}),\n };\n const sentryMeta = {\n level: SentryErrorLevelMap[logLevel],\n extra: extraSentry,\n tags,\n contexts,\n user,\n fingerprint,\n };\n\n if (typeof message === 'string') {\n opts.sentryInstance.captureMessage(message, sentryMeta);\n } else if (message instanceof Error) {\n opts.sentryInstance.captureException(message, sentryMeta);\n }\n return;\n }\n\n if (typeof message === 'string') {\n if (meta instanceof Error) {\n const originalMessage = meta.message;\n meta.message = message;\n opts.sentryInstance.captureException(meta, { extra: { originalMessage } });\n } else {\n opts.sentryInstance.captureMessage(message, meta);\n }\n } else if (message instanceof Error) {\n opts.sentryInstance.captureException(message, meta);\n } else if (meta instanceof Error) {\n opts.sentryInstance.captureException(meta, meta);\n } else {\n opts.sentryInstance.captureMessage(JSON.stringify(message), meta);\n }\n };\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sentry.spec.js","sourceRoot":"","sources":["../../src/transports/sentry.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import logger, { SentryTransport } from '../index.js';\n\nconst sentryInstance = {\n captureMessage: vi.fn(),\n captureException: vi.fn(),\n};\n\ndescribe('sentry transport', () => {\n beforeAll(() => {\n logger.addTransport(new SentryTransport({ sentryInstance }));\n });\n\n afterEach(() => {\n Object.values(sentryInstance).forEach((val) => val.mockClear());\n });\n\n afterAll(() => {\n logger.clearTransports();\n });\n\n it.each([undefined, 'meta'])('should capture message when first arg is a string', (meta) => {\n const customMsg = 'message';\n\n logger.error(customMsg, meta);\n\n expect(sentryInstance.captureMessage).toHaveBeenCalledWith(customMsg, meta);\n expect(sentryInstance.captureException).not.toHaveBeenCalled();\n });\n\n it.each([undefined, 'meta'])('should capture exception when first arg is an Error', (meta) => {\n const customMsg = 'msg';\n const customErr = Error(customMsg);\n\n logger.error(customErr, meta);\n\n expect(sentryInstance.captureException).toHaveBeenCalledWith(customErr, meta);\n expect(sentryInstance.captureMessage).not.toHaveBeenCalled();\n });\n\n it.each([null, [], () => {}])('should capture exception when second arg is an Error', (message) => {\n const customErr = Error('err');\n\n logger.error(message, customErr);\n\n expect(sentryInstance.captureException).toHaveBeenCalledWith(customErr, customErr);\n expect(sentryInstance.captureMessage).not.toHaveBeenCalled();\n });\n\n it('should capture message when args fall into catch all', () => {\n logger.error([], []);\n\n expect(sentryInstance.captureMessage).toHaveBeenCalledWith('[]', []);\n expect(sentryInstance.captureException).not.toHaveBeenCalled();\n });\n\n it('should capture message when first arg is string and second arg is properly filled', () => {\n const customMessage = 'Something happened';\n const customMeta = {\n tags: { type: 'buyer' },\n extra: { filters: { id: 1 } },\n contexts: { order: { id: 2 } },\n };\n\n logger.error(customMessage, customMeta);\n\n expect(sentryInstance.captureMessage).toHaveBeenCalledWith(customMessage, expect.objectContaining(customMeta));\n expect(sentryInstance.captureException).not.toHaveBeenCalled();\n });\n\n it('should capture exception when first arg is an Error and second arg is properly filled', () => {\n const customErr = Error('Something happened');\n const customMeta = {\n tags: { type: 'buyer' },\n extra: { filters: { id: 1 } },\n contexts: { order: { id: 2 } },\n };\n\n logger.error(customErr, customMeta);\n\n expect(sentryInstance.captureException).toHaveBeenCalledWith(customErr, expect.objectContaining(customMeta));\n expect(sentryInstance.captureMessage).not.toHaveBeenCalled();\n });\n\n it('should capture an exception with custom message when first arg is a string but second is an Error', () => {\n const customMessage = 'My custom message';\n const customErrorMessage = 'My custom error';\n const customError = Error(customErrorMessage);\n\n expect(customError.message).toBe(customErrorMessage);\n\n logger.error(customMessage, customError);\n\n expect(customError.message).toBe(customMessage);\n\n expect(sentryInstance.captureException).toHaveBeenCalledWith(\n customError,\n expect.objectContaining({ extra: { originalMessage: customErrorMessage } }),\n );\n expect(sentryInstance.captureMessage).not.toHaveBeenCalled();\n });\n});\n"]}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes