rollbar 2.26.3 → 2.26.4

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 (115) hide show
  1. package/.github/workflows/ci.yml +32 -10
  2. package/.lgtm.yml +7 -7
  3. package/.prettierignore +18 -0
  4. package/.vscode/settings.json +39 -0
  5. package/CHANGELOG.md +121 -35
  6. package/Gruntfile.js +48 -38
  7. package/README.md +2 -4
  8. package/bower.json +1 -3
  9. package/defaults.js +17 -5
  10. package/dist/plugins/jquery.min.js +1 -1
  11. package/dist/rollbar.js +5710 -5070
  12. package/dist/rollbar.js.map +1 -1
  13. package/dist/rollbar.min.js +1 -1
  14. package/dist/rollbar.min.js.map +1 -1
  15. package/dist/rollbar.named-amd.js +5716 -5081
  16. package/dist/rollbar.named-amd.js.map +1 -1
  17. package/dist/rollbar.named-amd.min.js +2 -1
  18. package/dist/rollbar.named-amd.min.js.map +1 -1
  19. package/dist/rollbar.noconflict.umd.js +5702 -5068
  20. package/dist/rollbar.noconflict.umd.js.map +1 -1
  21. package/dist/rollbar.noconflict.umd.min.js +2 -1
  22. package/dist/rollbar.noconflict.umd.min.js.map +1 -1
  23. package/dist/rollbar.snippet.js +1 -1
  24. package/dist/rollbar.umd.js +5716 -5082
  25. package/dist/rollbar.umd.js.map +1 -1
  26. package/dist/rollbar.umd.min.js +2 -1
  27. package/dist/rollbar.umd.min.js.map +1 -1
  28. package/docs/extension-exceptions.md +35 -30
  29. package/docs/migration_v0_to_v1.md +41 -38
  30. package/index.d.ts +270 -231
  31. package/karma.conf.js +15 -15
  32. package/package.json +3 -2
  33. package/prettier.config.js +7 -0
  34. package/src/api.js +21 -10
  35. package/src/apiUtility.js +12 -8
  36. package/src/browser/core.js +103 -65
  37. package/src/browser/defaults/scrubFields.js +3 -3
  38. package/src/browser/detection.js +7 -8
  39. package/src/browser/domUtility.js +18 -8
  40. package/src/browser/globalSetup.js +12 -6
  41. package/src/browser/logger.js +1 -1
  42. package/src/browser/plugins/jquery.js +35 -35
  43. package/src/browser/predicates.js +1 -1
  44. package/src/browser/rollbar.js +1 -1
  45. package/src/browser/rollbarWrapper.js +8 -5
  46. package/src/browser/shim.js +43 -19
  47. package/src/browser/snippet_callback.js +6 -4
  48. package/src/browser/telemetry.js +570 -358
  49. package/src/browser/transforms.js +46 -27
  50. package/src/browser/transport/fetch.js +16 -14
  51. package/src/browser/transport/xhr.js +29 -13
  52. package/src/browser/transport.js +82 -25
  53. package/src/browser/url.js +16 -8
  54. package/src/browser/wrapGlobals.js +27 -8
  55. package/src/defaults.js +3 -3
  56. package/src/errorParser.js +14 -11
  57. package/src/merge.js +32 -23
  58. package/src/notifier.js +16 -13
  59. package/src/predicates.js +43 -23
  60. package/src/queue.js +71 -39
  61. package/src/rateLimiter.js +59 -18
  62. package/src/react-native/logger.js +1 -1
  63. package/src/react-native/rollbar.js +59 -55
  64. package/src/react-native/transforms.js +13 -9
  65. package/src/react-native/transport.js +44 -34
  66. package/src/rollbar.js +22 -13
  67. package/src/scrub.js +0 -1
  68. package/src/server/locals.js +69 -39
  69. package/src/server/logger.js +4 -4
  70. package/src/server/parser.js +72 -47
  71. package/src/server/rollbar.js +133 -55
  72. package/src/server/sourceMap/stackTrace.js +33 -18
  73. package/src/server/telemetry/urlHelpers.js +9 -11
  74. package/src/server/telemetry.js +68 -45
  75. package/src/server/transforms.js +37 -21
  76. package/src/server/transport.js +62 -32
  77. package/src/telemetry.js +92 -28
  78. package/src/transforms.js +33 -21
  79. package/src/truncation.js +8 -5
  80. package/src/utility/headers.js +43 -43
  81. package/src/utility/replace.js +9 -0
  82. package/src/utility/traverse.js +1 -1
  83. package/src/utility.js +89 -52
  84. package/test/api.test.js +31 -29
  85. package/test/apiUtility.test.js +43 -44
  86. package/test/browser.core.test.js +141 -131
  87. package/test/browser.domUtility.test.js +52 -35
  88. package/test/browser.predicates.test.js +13 -13
  89. package/test/browser.rollbar.test.js +597 -503
  90. package/test/browser.telemetry.test.js +45 -38
  91. package/test/browser.transforms.test.js +146 -128
  92. package/test/browser.transport.test.js +54 -46
  93. package/test/browser.url.test.js +12 -11
  94. package/test/fixtures/locals.fixtures.js +245 -126
  95. package/test/notifier.test.js +90 -78
  96. package/test/predicates.test.js +260 -214
  97. package/test/queue.test.js +230 -214
  98. package/test/rateLimiter.test.js +50 -42
  99. package/test/react-native.rollbar.test.js +149 -115
  100. package/test/react-native.transforms.test.js +21 -23
  101. package/test/react-native.transport.test.js +23 -11
  102. package/test/server.lambda.test.js +70 -53
  103. package/test/server.locals.test.js +437 -210
  104. package/test/server.parser.test.js +32 -26
  105. package/test/server.predicates.test.js +45 -43
  106. package/test/server.rollbar.test.js +311 -259
  107. package/test/server.telemetry.test.js +208 -83
  108. package/test/server.transforms.test.js +455 -361
  109. package/test/server.transport.test.js +144 -76
  110. package/test/telemetry.test.js +46 -37
  111. package/test/transforms.test.js +68 -66
  112. package/test/truncation.test.js +55 -53
  113. package/test/utility.test.js +266 -222
  114. package/webpack.config.js +46 -42
  115. package/.gitmodules +0 -3
@@ -9,61 +9,68 @@ describe('instrumentNetwork', function () {
9
9
  it('should capture XHR requests with string URL', function (done) {
10
10
  var callback = sinon.spy();
11
11
  var windowMock = {
12
- XMLHttpRequest: function () { }
13
- }
12
+ XMLHttpRequest: function () {},
13
+ };
14
14
 
15
- windowMock.XMLHttpRequest.prototype.open = function () { }
16
- windowMock.XMLHttpRequest.prototype.send = function () { }
15
+ windowMock.XMLHttpRequest.prototype.open = function () {};
16
+ windowMock.XMLHttpRequest.prototype.send = function () {};
17
17
 
18
- var i = createInstrumenter(callback, windowMock)
19
- i.instrumentNetwork()
18
+ var i = createInstrumenter(callback, windowMock);
19
+ i.instrumentNetwork();
20
20
 
21
21
  var xhr = new windowMock.XMLHttpRequest();
22
- xhr.open('GET', 'http://first.call')
23
- xhr.send()
24
- xhr.onreadystatechange()
22
+ xhr.open('GET', 'http://first.call');
23
+ xhr.send();
24
+ xhr.onreadystatechange();
25
25
 
26
- expect(callback.callCount).to.eql(1)
27
- expect(callback.args[0][0].url).to.eql('http://first.call')
26
+ expect(callback.callCount).to.eql(1);
27
+ expect(callback.args[0][0].url).to.eql('http://first.call');
28
28
 
29
- i.deinstrumentNetwork()
30
- i = createInstrumenter(callback, windowMock)
31
- i.instrumentNetwork()
29
+ i.deinstrumentNetwork();
30
+ i = createInstrumenter(callback, windowMock);
31
+ i.instrumentNetwork();
32
32
  var xhr = new windowMock.XMLHttpRequest();
33
- xhr.open('GET', new URL('http://second.call'))
34
- xhr.send()
35
- xhr.onreadystatechange()
36
- expect(callback.callCount).to.eql(2)
37
- expect(callback.args[1][0].url).to.eql('http://second.call/')
33
+ xhr.open('GET', new URL('http://second.call'));
34
+ xhr.send();
35
+ xhr.onreadystatechange();
36
+ expect(callback.callCount).to.eql(2);
37
+ expect(callback.args[1][0].url).to.eql('http://second.call/');
38
38
 
39
- done()
40
- })
39
+ done();
40
+ });
41
41
 
42
42
  it('should capture XHR requests with string URL', function (done) {
43
43
  var callback = sinon.spy();
44
44
  var windowMock = {
45
- fetch: function () { return Promise.resolve() }
46
- }
45
+ fetch: function () {
46
+ return Promise.resolve();
47
+ },
48
+ };
47
49
 
48
50
  var i = createInstrumenter(callback, windowMock);
49
- i.instrumentNetwork()
51
+ i.instrumentNetwork();
50
52
 
51
- windowMock.fetch('http://first.call')
52
- expect(callback.callCount).to.eql(1)
53
- expect(callback.args[0][0].url).to.eql('http://first.call')
53
+ windowMock.fetch('http://first.call');
54
+ expect(callback.callCount).to.eql(1);
55
+ expect(callback.args[0][0].url).to.eql('http://first.call');
54
56
 
55
- i.deinstrumentNetwork()
56
- i = createInstrumenter(callback, windowMock)
57
- i.instrumentNetwork()
57
+ i.deinstrumentNetwork();
58
+ i = createInstrumenter(callback, windowMock);
59
+ i.instrumentNetwork();
58
60
 
59
- windowMock.fetch(new URL('http://second.call'))
60
- expect(callback.callCount).to.eql(2)
61
- expect(callback.args[1][0].url).to.eql('http://second.call/')
61
+ windowMock.fetch(new URL('http://second.call'));
62
+ expect(callback.callCount).to.eql(2);
63
+ expect(callback.args[1][0].url).to.eql('http://second.call/');
62
64
 
63
- done()
64
- })
65
- })
65
+ done();
66
+ });
67
+ });
66
68
 
67
69
  function createInstrumenter(callback, windowMock) {
68
- return new Instrumenter({ scrubFields: [] }, { captureNetwork: callback }, { wrap: function () { }, client: { notifier: { diagnostic: {} } } }, windowMock);
69
- }
70
+ return new Instrumenter(
71
+ { scrubFields: [] },
72
+ { captureNetwork: callback },
73
+ { wrap: function () {}, client: { notifier: { diagnostic: {} } } },
74
+ windowMock,
75
+ );
76
+ }