sentry-testkit 4.0.3 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/browser.d.ts +29 -0
  2. package/dist/browser.d.ts.map +1 -0
  3. package/dist/browser.js +16 -20
  4. package/dist/browser.js.map +1 -0
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +18 -25
  8. package/dist/index.js.map +1 -0
  9. package/dist/initNetworkInterceptor.d.ts +4 -0
  10. package/dist/initNetworkInterceptor.d.ts.map +1 -0
  11. package/dist/initNetworkInterceptor.js +21 -38
  12. package/dist/initNetworkInterceptor.js.map +1 -0
  13. package/dist/jestMock.d.ts +4 -0
  14. package/dist/jestMock.d.ts.map +1 -0
  15. package/dist/jestMock.js +8 -15
  16. package/dist/jestMock.js.map +1 -0
  17. package/dist/localServerApi.d.ts +11 -0
  18. package/dist/localServerApi.d.ts.map +1 -0
  19. package/dist/localServerApi.js +82 -103
  20. package/dist/localServerApi.js.map +1 -0
  21. package/dist/parsers.d.ts +10 -0
  22. package/dist/parsers.d.ts.map +1 -0
  23. package/dist/parsers.js +27 -48
  24. package/dist/parsers.js.map +1 -0
  25. package/dist/sentryTransport.d.ts +16 -0
  26. package/dist/sentryTransport.d.ts.map +1 -0
  27. package/dist/sentryTransport.js +49 -73
  28. package/dist/sentryTransport.js.map +1 -0
  29. package/dist/src/browser.d.ts +18 -0
  30. package/dist/src/browser.d.ts.map +1 -0
  31. package/dist/src/browser.js +17 -0
  32. package/dist/src/browser.js.map +1 -0
  33. package/dist/src/index.d.ts +24 -0
  34. package/dist/src/index.d.ts.map +1 -0
  35. package/dist/src/index.js +19 -0
  36. package/dist/src/index.js.map +1 -0
  37. package/dist/src/initNetworkInterceptor.d.ts +4 -0
  38. package/dist/src/initNetworkInterceptor.d.ts.map +1 -0
  39. package/dist/src/initNetworkInterceptor.js +26 -0
  40. package/dist/src/initNetworkInterceptor.js.map +1 -0
  41. package/dist/src/jestMock.d.ts +3 -0
  42. package/dist/src/jestMock.d.ts.map +1 -0
  43. package/dist/src/jestMock.js +40 -0
  44. package/dist/src/jestMock.js.map +1 -0
  45. package/dist/src/localServerApi.d.ts +7 -0
  46. package/dist/src/localServerApi.d.ts.map +1 -0
  47. package/dist/src/localServerApi.js +103 -0
  48. package/dist/src/localServerApi.js.map +1 -0
  49. package/dist/src/parsers.d.ts +10 -0
  50. package/dist/src/parsers.d.ts.map +1 -0
  51. package/dist/src/parsers.js +29 -0
  52. package/dist/src/parsers.js.map +1 -0
  53. package/dist/src/sentryTransport.d.ts +16 -0
  54. package/dist/src/sentryTransport.d.ts.map +1 -0
  55. package/dist/src/sentryTransport.js +50 -0
  56. package/dist/src/sentryTransport.js.map +1 -0
  57. package/dist/src/testkit.d.ts +3 -0
  58. package/dist/src/testkit.d.ts.map +1 -0
  59. package/dist/src/testkit.js +70 -0
  60. package/dist/src/testkit.js.map +1 -0
  61. package/dist/src/transformers.d.ts +4 -0
  62. package/dist/src/transformers.d.ts.map +1 -0
  63. package/dist/src/transformers.js +44 -0
  64. package/dist/src/transformers.js.map +1 -0
  65. package/dist/src/types.d.ts +73 -0
  66. package/dist/src/types.d.ts.map +1 -0
  67. package/dist/src/types.js +3 -0
  68. package/dist/src/types.js.map +1 -0
  69. package/dist/test/browser.test.d.ts +2 -0
  70. package/dist/test/browser.test.d.ts.map +1 -0
  71. package/dist/test/browser.test.js +52 -0
  72. package/dist/test/browser.test.js.map +1 -0
  73. package/dist/test/commonTests.d.ts +8 -0
  74. package/dist/test/commonTests.d.ts.map +1 -0
  75. package/dist/test/commonTests.js +461 -0
  76. package/dist/test/commonTests.js.map +1 -0
  77. package/dist/test/fixtures/external-app-perf.d.ts +2 -0
  78. package/dist/test/fixtures/external-app-perf.d.ts.map +1 -0
  79. package/dist/test/fixtures/external-app-perf.js +20 -0
  80. package/dist/test/fixtures/external-app-perf.js.map +1 -0
  81. package/dist/test/fixtures/external-app.d.ts +2 -0
  82. package/dist/test/fixtures/external-app.d.ts.map +1 -0
  83. package/dist/test/fixtures/external-app.js +12 -0
  84. package/dist/test/fixtures/external-app.js.map +1 -0
  85. package/dist/test/jest-mock.help.d.ts +2 -0
  86. package/dist/test/jest-mock.help.d.ts.map +1 -0
  87. package/dist/test/jest-mock.help.js +49 -0
  88. package/dist/test/jest-mock.help.js.map +1 -0
  89. package/dist/test/jest-mock.test.d.ts +2 -0
  90. package/dist/test/jest-mock.test.d.ts.map +1 -0
  91. package/dist/test/jest-mock.test.js +26 -0
  92. package/dist/test/jest-mock.test.js.map +1 -0
  93. package/dist/test/local-server.test.d.ts +2 -0
  94. package/dist/test/local-server.test.d.ts.map +1 -0
  95. package/dist/test/local-server.test.js +213 -0
  96. package/dist/test/local-server.test.js.map +1 -0
  97. package/dist/test/network-interception.test.d.ts +2 -0
  98. package/dist/test/network-interception.test.d.ts.map +1 -0
  99. package/dist/test/network-interception.test.js +80 -0
  100. package/dist/test/network-interception.test.js.map +1 -0
  101. package/dist/test/node.test.d.ts +2 -0
  102. package/dist/test/node.test.d.ts.map +1 -0
  103. package/dist/test/node.test.js +52 -0
  104. package/dist/test/node.test.js.map +1 -0
  105. package/dist/test/puppeteer.test.d.ts +2 -0
  106. package/dist/test/puppeteer.test.d.ts.map +1 -0
  107. package/dist/test/puppeteer.test.js +73 -0
  108. package/dist/test/puppeteer.test.js.map +1 -0
  109. package/dist/testkit.d.ts +14 -0
  110. package/dist/testkit.d.ts.map +1 -0
  111. package/dist/testkit.js +66 -75
  112. package/dist/testkit.js.map +1 -0
  113. package/dist/transformers.d.ts +4 -0
  114. package/dist/transformers.d.ts.map +1 -0
  115. package/dist/transformers.js +40 -38
  116. package/dist/transformers.js.map +1 -0
  117. package/dist/tsconfig.tsbuildinfo +1 -0
  118. package/dist/types.d.ts +73 -0
  119. package/dist/types.d.ts.map +1 -0
  120. package/dist/types.js +3 -0
  121. package/dist/types.js.map +1 -0
  122. package/package.json +12 -2
  123. package/index.d.ts +0 -91
@@ -0,0 +1,29 @@
1
+ export default function (): {
2
+ sentryTransport: () => {
3
+ captureEvent: (event: import("@sentry/types").Event) => Promise<{
4
+ status: string;
5
+ event: import("@sentry/types").Event;
6
+ }>;
7
+ sendEvent: (event: import("@sentry/types").Event) => Promise<{
8
+ status: string;
9
+ event: import("@sentry/types").Event;
10
+ }>;
11
+ send: (envelope: any) => Promise<void>;
12
+ close: () => Promise<boolean>;
13
+ flush: () => Promise<boolean>;
14
+ };
15
+ testkit: {
16
+ puppeteer: {
17
+ startListening: (page: any, baseUrl?: string) => void;
18
+ stopListening: (page: any) => void;
19
+ };
20
+ reports(): import("./types").Report[];
21
+ transactions(): import("./types").Transaction[];
22
+ reset(): void;
23
+ getExceptionAt(index: number): import("./types").ReportError | undefined;
24
+ findReport(e: import("./types").ReportError): import("./types").Report | undefined;
25
+ isExist(e: import("./types").ReportError): boolean;
26
+ };
27
+ initNetworkInterceptor: any;
28
+ };
29
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUb"}
package/dist/browser.js CHANGED
@@ -1,21 +1,17 @@
1
1
  'use strict';
2
-
3
- var _require = require('./testkit'),
4
- createTestkit = _require.createTestkit;
5
-
6
- var _require2 = require('./initNetworkInterceptor'),
7
- createInitNetworkInterceptor = _require2.createInitNetworkInterceptor;
8
-
9
- var _require3 = require('./sentryTransport'),
10
- createSentryTransport = _require3.createSentryTransport;
11
-
12
- module.exports = function () {
13
- var testkit = createTestkit();
14
- var sentryTransport = createSentryTransport(testkit);
15
- var initNetworkInterceptor = createInitNetworkInterceptor(testkit);
16
- return {
17
- sentryTransport: sentryTransport,
18
- testkit: testkit,
19
- initNetworkInterceptor: initNetworkInterceptor
20
- };
21
- };
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var testkit_1 = require("./testkit");
4
+ var initNetworkInterceptor_1 = require("./initNetworkInterceptor");
5
+ var sentryTransport_1 = require("./sentryTransport");
6
+ function default_1() {
7
+ var testkit = (0, testkit_1.createTestkit)();
8
+ var sentryTransport = (0, sentryTransport_1.createSentryTransport)(testkit);
9
+ var initNetworkInterceptor = (0, initNetworkInterceptor_1.createInitNetworkInterceptor)(testkit);
10
+ return {
11
+ sentryTransport: sentryTransport,
12
+ testkit: testkit,
13
+ initNetworkInterceptor: initNetworkInterceptor,
14
+ };
15
+ }
16
+ exports.default = default_1;
17
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,qCAAyC;AACzC,mEAAuE;AACvE,qDAAyD;AAEzD;IACE,IAAM,OAAO,GAAG,IAAA,uBAAa,GAAE,CAAA;IAC/B,IAAM,eAAe,GAAG,IAAA,uCAAqB,EAAC,OAAO,CAAC,CAAA;IACtD,IAAM,sBAAsB,GAAG,IAAA,qDAA4B,EAAC,OAAO,CAAC,CAAA;IAEpE,OAAO;QACL,eAAe,iBAAA;QACf,OAAO,SAAA;QACP,sBAAsB,wBAAA;KACvB,CAAA;AACH,CAAC;AAVD,4BAUC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js CHANGED
@@ -1,26 +1,19 @@
1
- 'use strict';
2
-
3
- var _require = require('./testkit'),
4
- createTestkit = _require.createTestkit;
5
-
6
- var _require2 = require('./localServerApi'),
7
- createLocalServerApi = _require2.createLocalServerApi;
8
-
9
- var _require3 = require('./initNetworkInterceptor'),
10
- createInitNetworkInterceptor = _require3.createInitNetworkInterceptor;
11
-
12
- var _require4 = require('./sentryTransport'),
13
- createSentryTransport = _require4.createSentryTransport;
14
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var testkit_1 = require("./testkit");
4
+ var localServerApi_1 = require("./localServerApi");
5
+ var initNetworkInterceptor_1 = require("./initNetworkInterceptor");
6
+ var sentryTransport_1 = require("./sentryTransport");
15
7
  module.exports = function () {
16
- var testkit = createTestkit();
17
- var sentryTransport = createSentryTransport(testkit);
18
- var initNetworkInterceptor = createInitNetworkInterceptor(testkit);
19
- var localServer = createLocalServerApi(testkit);
20
- return {
21
- sentryTransport: sentryTransport,
22
- testkit: testkit,
23
- initNetworkInterceptor: initNetworkInterceptor,
24
- localServer: localServer
25
- };
26
- };
8
+ var testkit = (0, testkit_1.createTestkit)();
9
+ var sentryTransport = (0, sentryTransport_1.createSentryTransport)(testkit);
10
+ var initNetworkInterceptor = (0, initNetworkInterceptor_1.createInitNetworkInterceptor)(testkit);
11
+ var localServer = (0, localServerApi_1.createLocalServerApi)(testkit);
12
+ return {
13
+ sentryTransport: sentryTransport,
14
+ testkit: testkit,
15
+ initNetworkInterceptor: initNetworkInterceptor,
16
+ localServer: localServer,
17
+ };
18
+ };
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,qCAAyC;AACzC,mDAAuD;AACvD,mEAAuE;AACvE,qDAAyD;AAEzD,MAAM,CAAC,OAAO,GAAG;IACf,IAAM,OAAO,GAAG,IAAA,uBAAa,GAAE,CAAA;IAC/B,IAAM,eAAe,GAAG,IAAA,uCAAqB,EAAC,OAAO,CAAC,CAAA;IACtD,IAAM,sBAAsB,GAAG,IAAA,qDAA4B,EAAC,OAAO,CAAC,CAAA;IACpE,IAAM,WAAW,GAAG,IAAA,qCAAoB,EAAC,OAAO,CAAC,CAAA;IAEjD,OAAO;QACL,eAAe,iBAAA;QACf,OAAO,SAAA;QACP,sBAAsB,wBAAA;QACtB,WAAW,aAAA;KACZ,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ declare const parseDsn: any, parseEnvelopeRequest: any;
2
+ declare const transformReport: any, transformTransaction: any;
3
+ declare const createInitNetworkInterceptor: (testkit: any) => (dsn: any, cb: any) => any;
4
+ //# sourceMappingURL=initNetworkInterceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initNetworkInterceptor.d.ts","sourceRoot":"","sources":["../src/initNetworkInterceptor.ts"],"names":[],"mappings":"AAEA,QAAA,MAAQ,QAAQ,OAAE,oBAAoB,KAAyB,CAAA;AAC/D,QAAA,MAAQ,eAAe,OAAE,oBAAoB,KAA8B,CAAA;AAE3E,QAAA,MAAM,4BAA4B,8CAoBjC,CAAA"}
@@ -1,41 +1,24 @@
1
1
  'use strict';
2
-
3
- var _require = require('./parsers'),
4
- parseDsn = _require.parseDsn,
5
- parseEnvelopeRequest = _require.parseEnvelopeRequest;
6
-
7
- var _require2 = require('./transformers'),
8
- transformReport = _require2.transformReport,
9
- transformTransaction = _require2.transformTransaction;
10
-
11
- var createInitNetworkInterceptor = function createInitNetworkInterceptor(testkit) {
12
- return function (dsn, cb) {
13
- var _parseDsn = parseDsn(dsn),
14
- protocol = _parseDsn.protocol,
15
- host = _parseDsn.host;
16
-
17
- var baseUrl = "".concat(protocol, "://").concat(host);
18
-
19
- var handleRequestBody = function handleRequestBody(requestBody) {
20
- return testkit.reports().push(transformReport(requestBody));
2
+ var _a = require('./parsers'), parseDsn = _a.parseDsn, parseEnvelopeRequest = _a.parseEnvelopeRequest;
3
+ var _b = require('./transformers'), transformReport = _b.transformReport, transformTransaction = _b.transformTransaction;
4
+ var createInitNetworkInterceptor = function (testkit) {
5
+ return function (dsn, cb) {
6
+ var _a = parseDsn(dsn), protocol = _a.protocol, host = _a.host;
7
+ var baseUrl = "".concat(protocol, "://").concat(host);
8
+ var handleRequestBody = function (requestBody) {
9
+ return testkit.reports().push(transformReport(requestBody));
10
+ };
11
+ var handleEnvelopeRequestBody = function (requestBody) {
12
+ var _a = parseEnvelopeRequest(requestBody), type = _a.type, payload = _a.payload;
13
+ if (type === 'transaction') {
14
+ testkit.transactions().push(transformTransaction(payload));
15
+ }
16
+ if (type === 'event') {
17
+ testkit.reports().push(transformReport(payload));
18
+ }
19
+ };
20
+ return cb(baseUrl, handleRequestBody, handleEnvelopeRequestBody);
21
21
  };
22
-
23
- var handleEnvelopeRequestBody = function handleEnvelopeRequestBody(requestBody) {
24
- var _parseEnvelopeRequest = parseEnvelopeRequest(requestBody),
25
- type = _parseEnvelopeRequest.type,
26
- payload = _parseEnvelopeRequest.payload;
27
-
28
- if (type === 'transaction') {
29
- testkit.transactions().push(transformTransaction(payload));
30
- }
31
-
32
- if (type === 'event') {
33
- testkit.reports().push(transformReport(payload));
34
- }
35
- };
36
-
37
- return cb(baseUrl, handleRequestBody, handleEnvelopeRequestBody);
38
- };
39
22
  };
40
-
41
- module.exports.createInitNetworkInterceptor = createInitNetworkInterceptor;
23
+ module.exports.createInitNetworkInterceptor = createInitNetworkInterceptor;
24
+ //# sourceMappingURL=initNetworkInterceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initNetworkInterceptor.js","sourceRoot":"","sources":["../src/initNetworkInterceptor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEN,IAAA,KAAqC,OAAO,CAAC,WAAW,CAAC,EAAvD,QAAQ,cAAA,EAAE,oBAAoB,0BAAyB,CAAA;AACzD,IAAA,KAA4C,OAAO,CAAC,gBAAgB,CAAC,EAAnE,eAAe,qBAAA,EAAE,oBAAoB,0BAA8B,CAAA;AAE3E,IAAM,4BAA4B,GAAG,UAAA,OAAO;IAC1C,OAAO,UAAC,GAAG,EAAE,EAAE;QACP,IAAA,KAAqB,QAAQ,CAAC,GAAG,CAAC,EAAhC,QAAQ,cAAA,EAAE,IAAI,UAAkB,CAAA;QACxC,IAAM,OAAO,GAAG,UAAG,QAAQ,gBAAM,IAAI,CAAE,CAAA;QACvC,IAAM,iBAAiB,GAAG,UAAA,WAAW;YACnC,OAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAApD,CAAoD,CAAA;QACtD,IAAM,yBAAyB,GAAG,UAAA,WAAW;YACrC,IAAA,KAAoB,oBAAoB,CAAC,WAAW,CAAC,EAAnD,IAAI,UAAA,EAAE,OAAO,aAAsC,CAAA;YAE3D,IAAI,IAAI,KAAK,aAAa,EAAE;gBAC1B,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAA;aAC3D;YAED,IAAI,IAAI,KAAK,OAAO,EAAE;gBACpB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;aACjD;QACH,CAAC,CAAA;QAED,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,CAAA;IAClE,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,OAAO,CAAC,4BAA4B,GAAG,4BAA4B,CAAA"}
@@ -0,0 +1,4 @@
1
+ declare const Sentry: any;
2
+ declare const sentryTestkit: any;
3
+ declare const testkit: any, sentryTransport: any;
4
+ //# sourceMappingURL=jestMock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jestMock.d.ts","sourceRoot":"","sources":["../src/jestMock.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,MAAM,KAA6B,CAAA;AACzC,QAAA,MAAM,aAAa,KAAqB,CAAA;AAExC,QAAA,MAAQ,OAAO,OAAE,eAAe,KAAoB,CAAA"}
package/dist/jestMock.js CHANGED
@@ -1,20 +1,13 @@
1
1
  'use strict';
2
-
3
2
  var Sentry = require('@sentry/browser');
4
-
5
3
  var sentryTestkit = require('./index');
6
-
7
- var _sentryTestkit = sentryTestkit(),
8
- testkit = _sentryTestkit.testkit,
9
- sentryTransport = _sentryTestkit.sentryTransport;
10
-
4
+ var _a = sentryTestkit(), testkit = _a.testkit, sentryTransport = _a.sentryTransport;
11
5
  jest.mock('@sentry/browser', function () {
12
- return Object.assign({}, Sentry, {
13
- init: function init(options) {
14
- return Sentry.init(Object.assign({}, options, {
15
- transport: sentryTransport
16
- }));
17
- }
18
- });
6
+ return Object.assign({}, Sentry, {
7
+ init: function (options) {
8
+ return Sentry.init(Object.assign({}, options, { transport: sentryTransport }));
9
+ },
10
+ });
19
11
  });
20
- module.exports.testkit = testkit;
12
+ module.exports.testkit = testkit;
13
+ //# sourceMappingURL=jestMock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jestMock.js","sourceRoot":"","sources":["../src/jestMock.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,IAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AACzC,IAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAElC,IAAA,KAA+B,aAAa,EAAE,EAA5C,OAAO,aAAA,EAAE,eAAe,qBAAoB,CAAA;AAEpD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;IAC3B,OAAA,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE;QACxB,IAAI,EAAE,UAAA,OAAO;YACX,OAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QAAvE,CAAuE;KAC1E,CAAC;AAHF,CAGE,CACH,CAAA;AAED,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA"}
@@ -0,0 +1,11 @@
1
+ declare const express: any;
2
+ declare const bodyParser: any;
3
+ declare const http: any;
4
+ declare const parseDsn: any, parseEnvelopeRequest: any;
5
+ declare const transformReport: any, transformTransaction: any;
6
+ declare const createLocalServerApi: (testkit: any) => {
7
+ start: (userDsn: any) => Promise<unknown>;
8
+ stop: () => Promise<unknown>;
9
+ getDsn: () => any;
10
+ };
11
+ //# sourceMappingURL=localServerApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localServerApi.d.ts","sourceRoot":"","sources":["../src/localServerApi.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,OAAO,KAAqB,CAAA;AAClC,QAAA,MAAM,UAAU,KAAyB,CAAA;AACzC,QAAA,MAAM,IAAI,KAAkB,CAAA;AAE5B,QAAA,MAAQ,QAAQ,OAAE,oBAAoB,KAAyB,CAAA;AAC/D,QAAA,MAAQ,eAAe,OAAE,oBAAoB,KAA8B,CAAA;AAE3E,QAAA,MAAM,oBAAoB;;;;CAgGzB,CAAA"}
@@ -1,111 +1,90 @@
1
1
  'use strict';
2
-
3
2
  var express = require('express');
4
-
5
3
  var bodyParser = require('body-parser');
6
-
7
4
  var http = require('http');
8
-
9
- var _require = require('./parsers'),
10
- parseDsn = _require.parseDsn,
11
- parseEnvelopeRequest = _require.parseEnvelopeRequest;
12
-
13
- var _require2 = require('./transformers'),
14
- transformReport = _require2.transformReport,
15
- transformTransaction = _require2.transformTransaction;
16
-
17
- var createLocalServerApi = function createLocalServerApi(testkit) {
18
- var runningServer = null;
19
- var localDsn = null;
20
-
21
- var start = function start(userDsn) {
22
- if (runningServer !== null) {
23
- throw new Error('Local server is already running');
24
- }
25
-
26
- var _parseDsn = parseDsn(userDsn),
27
- project = _parseDsn.project;
28
-
29
- var app = express(); // the performance endpoint uses a custom non-json payload so
30
- // we can't use bodyParser.json() directly
31
-
32
- app.use(bodyParser.text({
33
- type: ['application/json', 'application/x-sentry-envelope', 'text/plain']
34
- }));
35
- app.post("/api/".concat(project, "/store/"), function (req, res) {
36
- testkit.reports().push(transformReport(JSON.parse(req.body)));
37
- res.sendStatus(200);
38
- });
39
- app.post("/api/".concat(project, "/envelope/"), function (req, res) {
40
- if (req.headers['transfer-encoding'] === 'chunked') {
41
- var rawData = '';
42
- req.on('data', function (chunk) {
43
- rawData += chunk;
5
+ var _a = require('./parsers'), parseDsn = _a.parseDsn, parseEnvelopeRequest = _a.parseEnvelopeRequest;
6
+ var _b = require('./transformers'), transformReport = _b.transformReport, transformTransaction = _b.transformTransaction;
7
+ var createLocalServerApi = function (testkit) {
8
+ var runningServer = null;
9
+ var localDsn = null;
10
+ var start = function (userDsn) {
11
+ if (runningServer !== null) {
12
+ throw new Error('Local server is already running');
13
+ }
14
+ var project = parseDsn(userDsn).project;
15
+ var app = express();
16
+ app.use(function (req, res, next) {
17
+ res.header('Access-Control-Allow-Origin', '*');
18
+ next();
19
+ });
20
+ // the performance endpoint uses a custom non-json payload so
21
+ // we can't use bodyParser.json() directly
22
+ app.use(bodyParser.text({
23
+ type: [
24
+ 'application/json',
25
+ 'application/x-sentry-envelope',
26
+ 'text/plain',
27
+ ],
28
+ }));
29
+ app.post("/api/".concat(project, "/store/"), function (req, res) {
30
+ testkit.reports().push(transformReport(JSON.parse(req.body)));
31
+ res.sendStatus(200);
32
+ });
33
+ app.post("/api/".concat(project, "/envelope/"), function (req, res) {
34
+ if (req.headers['transfer-encoding'] === 'chunked') {
35
+ var rawData_1 = '';
36
+ req.on('data', function (chunk) {
37
+ rawData_1 += chunk;
38
+ });
39
+ req.on('end', function () {
40
+ var _a = parseEnvelopeRequest(rawData_1), type = _a.type, payload = _a.payload;
41
+ if (type === 'transaction') {
42
+ testkit.transactions().push(transformTransaction(payload));
43
+ }
44
+ if (type === 'event') {
45
+ testkit.reports().push(transformReport(payload));
46
+ }
47
+ res.sendStatus(200);
48
+ });
49
+ }
50
+ else {
51
+ var _a = parseEnvelopeRequest(req.body), type = _a.type, payload = _a.payload;
52
+ if (type === 'transaction') {
53
+ testkit.transactions().push(transformTransaction(payload));
54
+ }
55
+ res.sendStatus(200);
56
+ }
44
57
  });
45
- req.on('end', function () {
46
- var _parseEnvelopeRequest = parseEnvelopeRequest(rawData),
47
- type = _parseEnvelopeRequest.type,
48
- payload = _parseEnvelopeRequest.payload;
49
-
50
- if (type === 'transaction') {
51
- testkit.transactions().push(transformTransaction(payload));
52
- }
53
-
54
- if (type === 'event') {
55
- testkit.reports().push(transformReport(payload));
56
- }
57
-
58
- res.sendStatus(200);
58
+ runningServer = http.createServer(app);
59
+ return new Promise(function (resolve) {
60
+ runningServer.listen(function () {
61
+ var port = runningServer.address().port;
62
+ localDsn = "http://acacaeaccacacacabcaacdacdacadaca@localhost:".concat(port, "/").concat(project);
63
+ resolve();
64
+ });
65
+ });
66
+ };
67
+ var stop = function () {
68
+ if (runningServer === null) {
69
+ throw new Error('Local server is not running');
70
+ }
71
+ return new Promise(function (resolve, reject) {
72
+ runningServer.close(function (error) { return (error ? reject(error) : resolve()); });
73
+ runningServer = null;
74
+ localDsn = null;
59
75
  });
60
- } else {
61
- var _parseEnvelopeRequest2 = parseEnvelopeRequest(req.body),
62
- type = _parseEnvelopeRequest2.type,
63
- payload = _parseEnvelopeRequest2.payload;
64
-
65
- if (type === 'transaction') {
66
- testkit.transactions().push(transformTransaction(payload));
76
+ };
77
+ var getDsn = function () {
78
+ if (runningServer === null) {
79
+ throw new Error('Local server is not running');
67
80
  }
68
-
69
- res.sendStatus(200);
70
- }
71
- });
72
- runningServer = http.createServer(app);
73
- return new Promise(function (resolve) {
74
- runningServer.listen(function () {
75
- var port = runningServer.address().port;
76
- localDsn = "http://acacaeaccacacacabcaacdacdacadaca@localhost:".concat(port, "/").concat(project);
77
- resolve();
78
- });
79
- });
80
- };
81
-
82
- var stop = function stop() {
83
- if (runningServer === null) {
84
- throw new Error('Local server is not running');
85
- }
86
-
87
- return new Promise(function (resolve, reject) {
88
- runningServer.close(function (error) {
89
- return error ? reject(error) : resolve();
90
- });
91
- runningServer = null;
92
- localDsn = null;
93
- });
94
- };
95
-
96
- var getDsn = function getDsn() {
97
- if (runningServer === null) {
98
- throw new Error('Local server is not running');
99
- }
100
-
101
- return localDsn;
102
- };
103
-
104
- return {
105
- start: start,
106
- stop: stop,
107
- getDsn: getDsn
108
- };
81
+ return localDsn;
82
+ };
83
+ return {
84
+ start: start,
85
+ stop: stop,
86
+ getDsn: getDsn,
87
+ };
109
88
  };
110
-
111
- module.exports.createLocalServerApi = createLocalServerApi;
89
+ module.exports.createLocalServerApi = createLocalServerApi;
90
+ //# sourceMappingURL=localServerApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localServerApi.js","sourceRoot":"","sources":["../src/localServerApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare function parseDsn(dsn: string): {
2
+ protocol: string;
3
+ project: string;
4
+ host: string;
5
+ };
6
+ export declare function parseEnvelopeRequest(reqBody: string): {
7
+ type: any;
8
+ payload: any;
9
+ };
10
+ //# sourceMappingURL=parsers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../src/parsers.ts"],"names":[],"mappings":"AAIA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM;;;;EAgBnC;AAED,wBAAgB,oBAAoB,CAAE,OAAO,EAAE,MAAM;;;EAMpD"}
package/dist/parsers.js CHANGED
@@ -1,50 +1,29 @@
1
- 'use strict';
2
-
3
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
-
5
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
-
7
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
-
9
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
10
-
11
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
12
-
13
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
-
15
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseEnvelopeRequest = exports.parseDsn = void 0;
17
4
  var dsnKeys = 'source protocol user pass host port path'.split(' ');
18
5
  var dsnPattern = /^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/; //eslint-disable-line no-useless-escape
19
-
20
- var parseDsn = function parseDsn(dsn) {
21
- var _dsn$match$reduce = dsn.match(dsnPattern).reduce(function (parsed, current, index) {
22
- return Object.assign({}, parsed, _defineProperty({}, dsnKeys[index], current));
23
- }, {}),
24
- protocol = _dsn$match$reduce.protocol,
25
- host = _dsn$match$reduce.host,
26
- path = _dsn$match$reduce.path;
27
-
28
- var project = path.substr(path.lastIndexOf('/') + 1);
29
- return {
30
- protocol: protocol,
31
- project: project,
32
- host: host
33
- };
34
- };
35
-
36
- var parseEnvelopeRequest = function parseEnvelopeRequest(reqBody) {
37
- var _reqBody$split = reqBody.split('\n'),
38
- _reqBody$split2 = _slicedToArray(_reqBody$split, 3),
39
- _header = _reqBody$split2[0],
40
- itemHeader = _reqBody$split2[1],
41
- itemPayload = _reqBody$split2[2];
42
-
43
- return {
44
- type: JSON.parse(itemHeader).type,
45
- payload: JSON.parse(itemPayload)
46
- };
47
- };
48
-
49
- module.exports.parseDsn = parseDsn;
50
- module.exports.parseEnvelopeRequest = parseEnvelopeRequest;
6
+ function parseDsn(dsn) {
7
+ var dsnMatch = dsn.match(dsnPattern);
8
+ if (!dsnMatch) {
9
+ throw new Error('Could not parse DSN');
10
+ }
11
+ var _a = dsnMatch.reduce(function (parsed, current, index) {
12
+ var _a;
13
+ return Object.assign({}, parsed, (_a = {},
14
+ _a[dsnKeys[index]] = current,
15
+ _a));
16
+ }, {}), protocol = _a.protocol, host = _a.host, path = _a.path;
17
+ var project = path.substr(path.lastIndexOf('/') + 1);
18
+ return { protocol: protocol, project: project, host: host };
19
+ }
20
+ exports.parseDsn = parseDsn;
21
+ function parseEnvelopeRequest(reqBody) {
22
+ var _a = reqBody.split('\n'), _header = _a[0], itemHeader = _a[1], itemPayload = _a[2];
23
+ return {
24
+ type: JSON.parse(itemHeader).type,
25
+ payload: JSON.parse(itemPayload),
26
+ };
27
+ }
28
+ exports.parseEnvelopeRequest = parseEnvelopeRequest;
29
+ //# sourceMappingURL=parsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../src/parsers.ts"],"names":[],"mappings":";;;AACA,IAAM,OAAO,GAAG,0CAA0C,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACrE,IAAM,UAAU,GAAG,+DAA+D,CAAA,CAAC,uCAAuC;AAE1H,SAAgB,QAAQ,CAAC,GAAW;IAClC,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IACtC,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;KACvC;IACK,IAAA,KAA2B,QAAQ,CAAC,MAAM,CAC9C,UAAC,MAAM,EAAE,OAAO,EAAE,KAAK;;QACrB,OAAA,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM;YACtB,GAAC,OAAO,CAAC,KAAK,CAAW,IAAG,OAAO;gBACnC;IAFF,CAEE,EACJ,EAAsD,CACvD,EANO,QAAQ,cAAA,EAAE,IAAI,UAAA,EAAE,IAAI,UAM3B,CAAA;IAED,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAEtD,OAAO,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAE,IAAI,MAAA,EAAE,CAAA;AACpC,CAAC;AAhBD,4BAgBC;AAED,SAAgB,oBAAoB,CAAE,OAAe;IAC7C,IAAA,KAAqC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAvD,OAAO,QAAA,EAAE,UAAU,QAAA,EAAE,WAAW,QAAuB,CAAA;IAC9D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,UAAW,CAAC,CAAC,IAAI;QAClC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,WAAY,CAAC;KAClC,CAAA;AACH,CAAC;AAND,oDAMC"}
@@ -0,0 +1,16 @@
1
+ import { Event } from '@sentry/types';
2
+ import { Testkit } from './types';
3
+ export declare function createSentryTransport(testkit: Testkit): () => {
4
+ captureEvent: (event: Event) => Promise<{
5
+ status: string;
6
+ event: Event;
7
+ }>;
8
+ sendEvent: (event: Event) => Promise<{
9
+ status: string;
10
+ event: Event;
11
+ }>;
12
+ send: (envelope: any) => Promise<void>;
13
+ close: () => Promise<boolean>;
14
+ flush: () => Promise<boolean>;
15
+ };
16
+ //# sourceMappingURL=sentryTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentryTransport.d.ts","sourceRoot":"","sources":["../src/sentryTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAK,eAAe,CAAA;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO;0BAGhB,KAAK;;;;uBAAL,KAAK;;;;qBAcP,GAAG;;;EA8BtC"}