rollbar 2.26.2 → 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 (117) 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 +51 -71
  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 +5699 -5052
  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 +5704 -5062
  16. package/dist/rollbar.named-amd.js.map +1 -1
  17. package/dist/rollbar.named-amd.min.js +1 -1
  18. package/dist/rollbar.named-amd.min.js.map +1 -1
  19. package/dist/rollbar.noconflict.umd.js +5693 -5052
  20. package/dist/rollbar.noconflict.umd.js.map +1 -1
  21. package/dist/rollbar.noconflict.umd.min.js +1 -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 +5704 -5063
  25. package/dist/rollbar.umd.js.map +1 -1
  26. package/dist/rollbar.umd.min.js +1 -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 +16 -34
  32. package/package.json +21 -17
  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 +573 -354
  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 +76 -0
  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 -43
  115. package/.gitmodules +0 -3
  116. package/browserstack.browsers.js +0 -153
  117. package/browserstack.browsers.json +0 -4384
@@ -54,6 +54,6 @@ module.exports = {
54
54
  'expdate',
55
55
  'cc-exp',
56
56
  'ccmonth',
57
- 'ccyear'
58
- ]
59
- }
57
+ 'ccyear',
58
+ ],
59
+ };
@@ -6,25 +6,24 @@
6
6
  // Will return an integer on IE (i.e. 8)
7
7
  // Will return undefined otherwise
8
8
  function getIEVersion() {
9
- var undef;
10
- if (typeof document === 'undefined') {
11
- return undef;
12
- }
9
+ var undef;
10
+ if (typeof document === 'undefined') {
11
+ return undef;
12
+ }
13
13
 
14
14
  var v = 3,
15
15
  div = document.createElement('div'),
16
16
  all = div.getElementsByTagName('i');
17
17
 
18
18
  while (
19
- div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
20
- all[0]
21
- );
19
+ ((div.innerHTML = '<!--[if gt IE ' + ++v + ']><i></i><![endif]-->'), all[0])
20
+ );
22
21
 
23
22
  return v > 4 ? v : undef;
24
23
  }
25
24
 
26
25
  var Detection = {
27
- ieVersion: getIEVersion
26
+ ieVersion: getIEVersion,
28
27
  };
29
28
 
30
29
  module.exports = Detection;
@@ -45,12 +45,16 @@ function treeToArray(elem) {
45
45
 
46
46
  function elementArrayToString(a) {
47
47
  var MAX_LENGTH = 80;
48
- var separator = ' > ', separatorLength = separator.length;
49
- var out = [], len = 0, nextStr, totalLength;
48
+ var separator = ' > ',
49
+ separatorLength = separator.length;
50
+ var out = [],
51
+ len = 0,
52
+ nextStr,
53
+ totalLength;
50
54
 
51
55
  for (var i = a.length - 1; i >= 0; i--) {
52
56
  nextStr = descriptionToString(a[i]);
53
- totalLength = len + (out.length * separatorLength) + nextStr.length;
57
+ totalLength = len + out.length * separatorLength + nextStr.length;
54
58
  if (i < a.length - 1 && totalLength >= MAX_LENGTH + 3) {
55
59
  out.unshift('...');
56
60
  break;
@@ -73,7 +77,9 @@ function descriptionToString(desc) {
73
77
  out.push('.' + desc.classes.join('.'));
74
78
  }
75
79
  for (var i = 0; i < desc.attributes.length; i++) {
76
- out.push('[' + desc.attributes[i].key + '="' + desc.attributes[i].value + '"]');
80
+ out.push(
81
+ '[' + desc.attributes[i].key + '="' + desc.attributes[i].value + '"]',
82
+ );
77
83
  }
78
84
 
79
85
  return out.join('');
@@ -98,13 +104,17 @@ function describeElement(elem) {
98
104
  if (!elem || !elem.tagName) {
99
105
  return null;
100
106
  }
101
- var out = {}, className, key, attr, i;
107
+ var out = {},
108
+ className,
109
+ key,
110
+ attr,
111
+ i;
102
112
  out.tagName = elem.tagName.toLowerCase();
103
113
  if (elem.id) {
104
114
  out.id = elem.id;
105
115
  }
106
116
  className = elem.className;
107
- if (className && (typeof className === 'string')) {
117
+ if (className && typeof className === 'string') {
108
118
  out.classes = className.split(/\s+/);
109
119
  }
110
120
  var attributes = ['type', 'name', 'title', 'alt'];
@@ -113,7 +123,7 @@ function describeElement(elem) {
113
123
  key = attributes[i];
114
124
  attr = elem.getAttribute(key);
115
125
  if (attr) {
116
- out.attributes.push({key: key, value: attr});
126
+ out.attributes.push({ key: key, value: attr });
117
127
  }
118
128
  }
119
129
  return out;
@@ -126,5 +136,5 @@ module.exports = {
126
136
  treeToArray: treeToArray,
127
137
  getElementFromEvent: getElementFromEvent,
128
138
  isDescribedElement: isDescribedElement,
129
- getElementType: getElementType
139
+ getElementType: getElementType,
130
140
  };
@@ -1,5 +1,7 @@
1
1
  function captureUncaughtExceptions(window, handler, shim) {
2
- if (!window) { return; }
2
+ if (!window) {
3
+ return;
4
+ }
3
5
  var oldOnError;
4
6
 
5
7
  if (typeof handler._rollbarOldOnError === 'function') {
@@ -14,7 +16,7 @@ function captureUncaughtExceptions(window, handler, shim) {
14
16
 
15
17
  handler.handleAnonymousErrors();
16
18
 
17
- var fn = function() {
19
+ var fn = function () {
18
20
  var args = Array.prototype.slice.call(arguments, 0);
19
21
  _rollbarWindowOnError(window, handler, oldOnError, args);
20
22
  };
@@ -50,9 +52,14 @@ function _rollbarWindowOnError(window, r, old, args) {
50
52
  }
51
53
 
52
54
  function captureUnhandledRejections(window, handler, shim) {
53
- if (!window) { return; }
55
+ if (!window) {
56
+ return;
57
+ }
54
58
 
55
- if (typeof window._rollbarURH === 'function' && window._rollbarURH.belongsToShim) {
59
+ if (
60
+ typeof window._rollbarURH === 'function' &&
61
+ window._rollbarURH.belongsToShim
62
+ ) {
56
63
  window.removeEventListener('unhandledrejection', window._rollbarURH);
57
64
  }
58
65
 
@@ -90,8 +97,7 @@ function captureUnhandledRejections(window, handler, shim) {
90
97
  window.addEventListener('unhandledrejection', rejectionHandler);
91
98
  }
92
99
 
93
-
94
100
  module.exports = {
95
101
  captureUncaughtExceptions: captureUncaughtExceptions,
96
- captureUnhandledRejections: captureUnhandledRejections
102
+ captureUnhandledRejections: captureUnhandledRejections,
97
103
  };
@@ -38,5 +38,5 @@ function log() {
38
38
  module.exports = {
39
39
  error: error,
40
40
  info: info,
41
- log: log
41
+ log: log,
42
42
  };
@@ -1,9 +1,7 @@
1
1
  /* globals jQuery */
2
2
  /* globals __JQUERY_PLUGIN_VERSION__ */
3
3
 
4
-
5
- (function(jQuery, window, document) {
6
-
4
+ (function (jQuery, window, document) {
7
5
  var rb = window.Rollbar;
8
6
  if (!rb) {
9
7
  return;
@@ -16,14 +14,14 @@
16
14
  notifier: {
17
15
  plugins: {
18
16
  jquery: {
19
- version: JQUERY_PLUGIN_VERSION
20
- }
21
- }
22
- }
23
- }
17
+ version: JQUERY_PLUGIN_VERSION,
18
+ },
19
+ },
20
+ },
21
+ },
24
22
  });
25
23
 
26
- var logError = function(e) {
24
+ var logError = function (e) {
27
25
  rb.error(e);
28
26
  if (window.console) {
29
27
  var msg = '[reported to Rollbar]';
@@ -35,35 +33,37 @@
35
33
  };
36
34
 
37
35
  // Report any ajax errors to Rollbar
38
- jQuery(document).ajaxError(function(event, jqXHR, ajaxSettings, thrownError) {
39
- var status = jqXHR.status;
40
- var url = ajaxSettings.url;
41
- var type = ajaxSettings.type;
36
+ jQuery(document).ajaxError(
37
+ function (event, jqXHR, ajaxSettings, thrownError) {
38
+ var status = jqXHR.status;
39
+ var url = ajaxSettings.url;
40
+ var type = ajaxSettings.type;
42
41
 
43
- // If status === 0 it means the user left the page before the ajax event finished
44
- // or other uninteresting events.
45
- if (!status) {
46
- return;
47
- }
42
+ // If status === 0 it means the user left the page before the ajax event finished
43
+ // or other uninteresting events.
44
+ if (!status) {
45
+ return;
46
+ }
48
47
 
49
- var extra = {
50
- status: status,
51
- url: url,
52
- type: type,
53
- isAjax: true,
54
- data: ajaxSettings.data,
55
- jqXHR_responseText: jqXHR.responseText,
56
- jqXHR_statusText: jqXHR.statusText
57
- };
58
- var msg = thrownError ? thrownError : 'jQuery ajax error for ' + type;
59
- rb.warning(msg, extra);
60
- });
48
+ var extra = {
49
+ status: status,
50
+ url: url,
51
+ type: type,
52
+ isAjax: true,
53
+ data: ajaxSettings.data,
54
+ jqXHR_responseText: jqXHR.responseText,
55
+ jqXHR_statusText: jqXHR.statusText,
56
+ };
57
+ var msg = thrownError ? thrownError : 'jQuery ajax error for ' + type;
58
+ rb.warning(msg, extra);
59
+ },
60
+ );
61
61
 
62
62
  // Wraps functions passed into jQuery's ready() with try/catch to
63
63
  // report errors to Rollbar
64
64
  var origReady = jQuery.fn.ready;
65
- jQuery.fn.ready = function(fn) {
66
- return origReady.call(this, function($) {
65
+ jQuery.fn.ready = function (fn) {
66
+ return origReady.call(this, function ($) {
67
67
  try {
68
68
  fn($);
69
69
  } catch (e) {
@@ -75,10 +75,10 @@
75
75
  // Modified from the code removed from Tracekit in this commit
76
76
  // https://github.com/occ/TraceKit/commit/0d39401
77
77
  var _oldEventAdd = jQuery.event.add;
78
- jQuery.event.add = function(elem, types, handler, data, selector) {
78
+ jQuery.event.add = function (elem, types, handler, data, selector) {
79
79
  var _handler;
80
- var wrap = function(fn) {
81
- return function() {
80
+ var wrap = function (fn) {
81
+ return function () {
82
82
  try {
83
83
  return fn.apply(this, arguments);
84
84
  } catch (e) {
@@ -8,5 +8,5 @@ function checkIgnore(item, settings) {
8
8
  }
9
9
 
10
10
  module.exports = {
11
- checkIgnore: checkIgnore
11
+ checkIgnore: checkIgnore,
12
12
  };
@@ -12,7 +12,7 @@ Rollbar.setComponents({
12
12
  polyfillJSON: polyfillJSON,
13
13
  wrapGlobals: wrapGlobals,
14
14
  scrub: scrub,
15
- truncation: truncation
15
+ truncation: truncation,
16
16
  });
17
17
 
18
18
  module.exports = Rollbar;
@@ -5,8 +5,8 @@ function RollbarWrap(impl, options) {
5
5
  }
6
6
 
7
7
  function _setupForwarding(prototype) {
8
- var _forward = function(method) {
9
- return function() {
8
+ var _forward = function (method) {
9
+ return function () {
10
10
  var args = Array.prototype.slice.call(arguments, 0);
11
11
  if (this.impl[method]) {
12
12
  return this.impl[method].apply(this.impl, args);
@@ -14,13 +14,16 @@ function _setupForwarding(prototype) {
14
14
  };
15
15
  };
16
16
 
17
- var _methods = 'log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad'.split(',');
18
- for (var i=0; i<_methods.length; i++) {
17
+ var _methods =
18
+ 'log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad'.split(
19
+ ',',
20
+ );
21
+ for (var i = 0; i < _methods.length; i++) {
19
22
  prototype[_methods[i]] = _forward(_methods[i]);
20
23
  }
21
24
  }
22
25
 
23
- RollbarWrap.prototype._swapAndProcessMessages = function(impl, messages) {
26
+ RollbarWrap.prototype._swapAndProcessMessages = function (impl, messages) {
24
27
  this.impl = impl(this.options);
25
28
  var msg, method, args;
26
29
  while ((msg = messages.shift())) {
@@ -2,7 +2,7 @@ var globals = require('./globalSetup');
2
2
  var wrapGlobals = require('./wrapGlobals');
3
3
 
4
4
  function _wrapInternalErr(f) {
5
- return function() {
5
+ return function () {
6
6
  try {
7
7
  return f.apply(this, arguments);
8
8
  } catch (e) {
@@ -22,17 +22,19 @@ function Shim(options, wrap) {
22
22
  this.options = options;
23
23
  this._rollbarOldOnError = null;
24
24
  var shimId = _shimIdCounter++;
25
- this.shimId = function() { return shimId; };
26
- if ((typeof window !== 'undefined') && window._rollbarShims) {
27
- window._rollbarShims[shimId] = {handler: wrap, messages: []};
25
+ this.shimId = function () {
26
+ return shimId;
27
+ };
28
+ if (typeof window !== 'undefined' && window._rollbarShims) {
29
+ window._rollbarShims[shimId] = { handler: wrap, messages: [] };
28
30
  }
29
31
  }
30
32
 
31
33
  var Wrapper = require('./rollbarWrapper');
32
- var ShimImpl = function(options, wrap) {
34
+ var ShimImpl = function (options, wrap) {
33
35
  return new Shim(options, wrap);
34
36
  };
35
- var Rollbar = function(options) {
37
+ var Rollbar = function (options) {
36
38
  return new Wrapper(ShimImpl, options);
37
39
  };
38
40
 
@@ -49,7 +51,7 @@ function setupShim(window, options) {
49
51
  window._rollbarWrappedError = null;
50
52
 
51
53
  var handler = new Rollbar(options);
52
- return _wrapInternalErr(function() {
54
+ return _wrapInternalErr(function () {
53
55
  if (options.captureUncaught) {
54
56
  handler._rollbarOldOnError = window.onerror;
55
57
  globals.captureUncaughtExceptions(window, handler, true);
@@ -74,7 +76,10 @@ function setupShim(window, options) {
74
76
  if (ai === undefined || ai === true || pageTelemetryEnabled(ai)) {
75
77
  if (window.addEventListener) {
76
78
  window.addEventListener('load', handler.captureLoad.bind(handler));
77
- window.addEventListener('DOMContentLoaded', handler.captureDomContentLoaded.bind(handler));
79
+ window.addEventListener(
80
+ 'DOMContentLoaded',
81
+ handler.captureDomContentLoaded.bind(handler),
82
+ );
78
83
  }
79
84
  }
80
85
  }
@@ -84,12 +89,22 @@ function setupShim(window, options) {
84
89
  })();
85
90
  }
86
91
 
87
- Shim.prototype.loadFull = function(window, document, immediate, options, callback) {
92
+ Shim.prototype.loadFull = function (
93
+ window,
94
+ document,
95
+ immediate,
96
+ options,
97
+ callback,
98
+ ) {
88
99
  var onload = function () {
89
100
  var err;
90
101
  if (window._rollbarDidLoad === undefined) {
91
102
  err = new Error('rollbar.js did not load');
92
- var i=0, queue, obj, args, cb;
103
+ var i = 0,
104
+ queue,
105
+ obj,
106
+ args,
107
+ cb;
93
108
  while ((queue = window._rollbarShims[i++])) {
94
109
  queue = queue.messages || [];
95
110
  while ((obj = queue.shift())) {
@@ -121,8 +136,13 @@ Shim.prototype.loadFull = function(window, document, immediate, options, callbac
121
136
  s.async = true;
122
137
  }
123
138
 
124
- s.onload = s.onreadystatechange = _wrapInternalErr(function() {
125
- if (!done && (!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete')) {
139
+ s.onload = s.onreadystatechange = _wrapInternalErr(function () {
140
+ if (
141
+ !done &&
142
+ (!this.readyState ||
143
+ this.readyState === 'loaded' ||
144
+ this.readyState === 'complete')
145
+ ) {
126
146
  s.onload = s.onreadystatechange = null;
127
147
  try {
128
148
  parentNode.removeChild(s);
@@ -137,13 +157,15 @@ Shim.prototype.loadFull = function(window, document, immediate, options, callbac
137
157
  parentNode.insertBefore(s, f);
138
158
  };
139
159
 
140
- Shim.prototype.wrap = function(f, context, _before) {
160
+ Shim.prototype.wrap = function (f, context, _before) {
141
161
  try {
142
162
  var ctxFn;
143
163
  if (typeof context === 'function') {
144
164
  ctxFn = context;
145
165
  } else {
146
- ctxFn = function() { return context || {}; };
166
+ ctxFn = function () {
167
+ return context || {};
168
+ };
147
169
  }
148
170
 
149
171
  if (typeof f !== 'function') {
@@ -161,7 +183,7 @@ Shim.prototype.wrap = function(f, context, _before) {
161
183
  }
162
184
  try {
163
185
  return f.apply(this, arguments);
164
- } catch(exc) {
186
+ } catch (exc) {
165
187
  var e = exc;
166
188
  if (e) {
167
189
  if (typeof e === 'string') {
@@ -195,16 +217,18 @@ Shim.prototype.wrap = function(f, context, _before) {
195
217
  };
196
218
 
197
219
  function stub(method) {
198
- return _wrapInternalErr(function() {
220
+ return _wrapInternalErr(function () {
199
221
  var shim = this;
200
222
  var args = Array.prototype.slice.call(arguments, 0);
201
- var data = {shim: shim, method: method, args: args, ts: new Date()};
223
+ var data = { shim: shim, method: method, args: args, ts: new Date() };
202
224
  window._rollbarShims[this.shimId()].messages.push(data);
203
225
  });
204
226
  }
205
227
 
206
228
  var _methods =
207
- 'log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad'.split(',');
229
+ 'log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad'.split(
230
+ ',',
231
+ );
208
232
 
209
233
  for (var i = 0; i < _methods.length; ++i) {
210
234
  Shim.prototype[_methods[i]] = stub(_methods[i]);
@@ -212,5 +236,5 @@ for (var i = 0; i < _methods.length; ++i) {
212
236
 
213
237
  module.exports = {
214
238
  setupShim: setupShim,
215
- Rollbar: Rollbar
239
+ Rollbar: Rollbar,
216
240
  };
@@ -1,5 +1,5 @@
1
- module.exports = function(options) {
2
- return function(err) {
1
+ module.exports = function (options) {
2
+ return function (err) {
3
3
  if (err) {
4
4
  return;
5
5
  }
@@ -9,10 +9,12 @@ module.exports = function(options) {
9
9
  var alias = options.globalAlias || 'Rollbar';
10
10
 
11
11
  var rollbar = window.rollbar;
12
- var realImpl = function(o) {
12
+ var realImpl = function (o) {
13
13
  return new rollbar(o);
14
14
  };
15
- var i = 0, obj, mainHandler;
15
+ var i = 0,
16
+ obj,
17
+ mainHandler;
16
18
  while ((obj = window._rollbarShims[i++])) {
17
19
  if (!mainHandler) {
18
20
  mainHandler = obj.handler;