Comparing version 3.5.1 to 3.6.0
{ | ||
"name": "raven-js", | ||
"version": "3.5.1", | ||
"version": "3.6.0", | ||
"dependencies": {}, | ||
@@ -5,0 +5,0 @@ "main": "dist/raven.js", |
# Changelog | ||
## 3.6.1 | ||
* NEW: `Raven.captureMessage` will generate synthetic stacktraces if passed `stacktrace: true` via options. See: https://github.com/getsentry/raven-js/pull/582 | ||
* NEW: Added `Raven.setDSN` for changing target DSN after Raven has been configured. See: https://github.com/getsentry/raven-js/pull/706 | ||
* CHANGE: Added missing TypeScript type declarations for Raven API methods. See: https://github.com/getsentry/raven-js/pull/698 | ||
## 3.5.1 | ||
@@ -131,3 +136,3 @@ * BUGFIX: Fix non-fatals crashing React Native plugin unless `shouldSendCallback` is specified. See: https://github.com/getsentry/raven-js/pull/694 | ||
* BUGFIX: Trailing comma when using unminified dist which affects IE9. See: https://github.com/getsentry/raven-js/pull/385 | ||
* NEW: Add ability to swap in a custom transport. Adds `Raven.setTransport`, and `transport` option to config. Docs: https://docs.getsentry.com/hosted/clients/javascript/config/ | ||
* NEW: Add ability to swap in a custom transport. Adds `Raven.setTransport`, and `transport` option to config. Docs: https://docs.sentry.io/hosted/clients/javascript/config/ | ||
* CHANGE: Always expose `Raven` to `window`. Please call `Raven.noConflict()` if you want it restored to what it was. See: https://github.com/getsentry/raven-js/pull/393 | ||
@@ -134,0 +139,0 @@ * DEPRECATED: Replace `Raven.setReleaseContext` with `Raven.setRelease`. |
@@ -94,6 +94,6 @@ # Contributing | ||
* Bump version in the `gh-pages` branch specifically for http://ravenjs.com/. | ||
* Bump marketing pages on getsentry.com, e.g. https://getsentry.com/for/javascript/ | ||
* Bump getsentry.com `<script>` tag of raven.js | ||
* Bump marketing pages on sentry.io, e.g. https://sentry.io/for/javascript/ | ||
* Bump sentry.io `<script>` tag of raven.js | ||
* Bump `package.json` in Sentry repo https://github.com/getsentry/sentry/blob/master/package.json | ||
* Bump version for Segment integration since they don't: https://github.com/segment-integrations/analytics.js-integration-sentry | ||
* glhf |
@@ -1,2 +0,2 @@ | ||
/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,3 +0,3 @@ | ||
/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ | ||
!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b=b.Raven||(b.Raven={}),b=b.Plugins||(b.Plugins={}),b.Angular=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";function d(a,b){function c(){this.$get=["$window",function(b){return a}]}function e(a){a.decorator("$exceptionHandler",["Raven","$delegate",f])}function f(a,b){return function(c,d){a.captureException(c,{extra:{cause:d}}),b(c,d)}}b=b||window.angular,b&&(b.module("ngRaven",[]).provider("Raven",c).config(["$provide",e]),a.setDataCallback(function(a,b){d.a(a),b&&b(a)}))}var e=/^\[((?:[$a-zA-Z0-9]+:)?(?:[$a-zA-Z0-9]+))\] (.*?)\n?(\S+)$/;d.a=function(a){var b=a.exception;if(b){b=b.values[0];var c=e.exec(b.value);c&&(b.type=c[1],b.value=c[2],a.message=b.type+": "+b.value,a.extra.angularDocs=c[3].substr(0,250))}},b.exports=d},{}]},{},[1])(1)}); | ||
//# sourceMappingURL=angular.min.js.map |
@@ -1,2 +0,2 @@ | ||
/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,3 +0,3 @@ | ||
/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ | ||
!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b=b.Raven||(b.Raven={}),b=b.Plugins||(b.Plugins={}),b.Console=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";function d(a,b,c){b=b||window.console||{},c=c||{};for(var d=c.levels||["debug","info","warn","error"],f=d.pop(),g=function(b,c){a.captureMessage(b,c)};f;)e(b,f,g),f=d.pop()}var e=a(2).wrapMethod;b.exports=d},{2:2}],2:[function(a,b,c){"use strict";var d=function(a,b,c){var d=a[b],e=a;if(b in a){var f="warn"===b?"warning":b;a[b]=function(){var a=[].slice.call(arguments),b=""+a.join(" "),g={level:f,logger:"console",extra:{arguments:a}};c&&c(b,g),d&&Function.prototype.apply.call(d,e,a)}}};b.exports={wrapMethod:d}},{}]},{},[1])(1)}); | ||
//# sourceMappingURL=console.min.js.map |
@@ -1,2 +0,2 @@ | ||
/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,3 +0,3 @@ | ||
/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ | ||
!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b=b.Raven||(b.Raven={}),b=b.Plugins||(b.Plugins={}),b.Ember=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";function d(a,b){if(b=b||window.Ember){var c=b.onerror;b.onerror=function(b){a.captureException(b),"function"==typeof c&&c.call(this,b)},b.RSVP.on("error",function(b){b instanceof Error?a.captureException(b,{extra:{context:"Unhandled Promise error detected"}}):a.captureMessage("Unhandled Promise error detected",{extra:{reason:b}})})}}b.exports=d},{}]},{},[1])(1)}); | ||
//# sourceMappingURL=ember.min.js.map |
@@ -1,2 +0,2 @@ | ||
/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,3 +0,3 @@ | ||
/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ | ||
!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b=b.Raven||(b.Raven={}),b=b.Plugins||(b.Plugins={}),b.Require=a()}}(function(){var a;return function b(a,c,d){function e(g,h){if(!c[g]){if(!a[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};a[g][0].call(k.exports,function(b){var c=a[g][1][b];return e(c?c:b)},k,k.exports,b,a,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(b,c,d){"use strict";function e(c){"function"==typeof a&&a.amd&&(window.define=c.wrap({deep:!1},a),window.require=c.wrap({deep:!1},b))}c.exports=e},{}]},{},[1])(1)}); | ||
//# sourceMappingURL=require.min.js.map |
@@ -1,2 +0,2 @@ | ||
/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,3 +0,3 @@ | ||
/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ | ||
!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b=b.Raven||(b.Raven={}),b=b.Plugins||(b.Plugins={}),b.Vue=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";function d(a,b){if(b=b||window.Vue,b&&b.config){var c=b.config.errorHandler;b.config.errorHandler=function(d,e){a.captureException(d,{extra:{componentName:b.util.formatComponentName(e),propsData:e.$options.propsData}}),"function"==typeof c&&c.call(this,d,e)}}}b.exports=d},{}]},{},[1])(1)}); | ||
//# sourceMappingURL=vue.min.js.map |
@@ -1,3 +0,3 @@ | ||
/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ | ||
!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.Raven=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a,b,c,d){return JSON.stringify(a,e(b,d),c)}function e(a,b){var c=[],d=[];return null==b&&(b=function(a,b){return c[0]===b?"[Circular ~]":"[Circular ~."+d.slice(0,c.indexOf(b)).join(".")+"]"}),function(e,f){if(c.length>0){var g=c.indexOf(this);~g?c.splice(g+1):c.push(this),~g?d.splice(g,1/0,e):d.push(e),~c.indexOf(f)&&(f=b.call(this,e,f))}else c.push(f);return null==a?f:a.call(this,e,f)}}c=b.exports=d,c.getSerialize=e},{}],2:[function(a,b,c){"use strict";function d(a){this.name="RavenConfigError",this.message=a}d.prototype=new Error,d.prototype.constructor=d,b.exports=d},{}],3:[function(a,b,c){"use strict";var d=function(a,b,c){var d=a[b],e=a;if(b in a){var f="warn"===b?"warning":b;a[b]=function(){var a=[].slice.call(arguments),b=""+a.join(" "),g={level:f,logger:"console",extra:{arguments:a}};c&&c(b,g),d&&Function.prototype.apply.call(d,e,a)}}};b.exports={wrapMethod:d}},{}],4:[function(a,b,c){"use strict";function d(){return+new Date}function e(){this.a=!("object"!=typeof JSON||!JSON.stringify),this.b="undefined"!=typeof document,this.c=null,this.d=null,this.e=null,this.f=null,this.g=null,this.h={},this.i={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],crossOrigin:"anonymous",collectWindowErrors:!0,maxMessageLength:0,stackTraceLimit:50,autoBreadcrumbs:!0},this.j=0,this.k=!1,this.l=Error.stackTraceLimit,this.m=window.console||{},this.n={},this.o=[],this.p=d(),this.q=[],this.r=[],this.s=null,this.t=window.location,this.u=this.t&&this.t.href;for(var a in this.m)this.n[a]=this.m[a]}var f=a(7),g=a(2),h=a(6),i=a(1),j=h.isFunction,k=h.isUndefined,l=h.isError,m=h.isEmptyObject,n=h.hasKey,o=h.joinRegExp,p=h.each,q=h.objectMerge,r=h.truncate,s=h.urlencode,t=h.uuid4,u=h.htmlTreeAsString,v=h.parseUrl,w=h.isString,x=h.fill,y=a(3).wrapMethod,z="source protocol user pass host port path".split(" "),A=/^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/;e.prototype={VERSION:"3.5.1",debug:!1,TraceKit:f,config:function(a,b){var c=this;if(this.e)return this.v("error","Error: Raven has already been configured"),this;if(!a)return this;b&&p(b,function(a,b){"tags"===a||"extra"===a?c.h[a]=b:c.i[a]=b});var d=this.w(a),e=d.path.lastIndexOf("/"),g=d.path.substr(1,e);this.x=a,this.i.ignoreErrors.push(/^Script error\.?$/),this.i.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/),this.i.ignoreErrors=o(this.i.ignoreErrors),this.i.ignoreUrls=this.i.ignoreUrls.length?o(this.i.ignoreUrls):!1,this.i.whitelistUrls=this.i.whitelistUrls.length?o(this.i.whitelistUrls):!1,this.i.includePaths=o(this.i.includePaths),this.i.maxBreadcrumbs=Math.max(0,Math.min(this.i.maxBreadcrumbs||100,100));var h={xhr:!0,console:!0,dom:!0,location:!0},i=this.i.autoBreadcrumbs;return"[object Object]"==={}.toString.call(i)?i=q(h,i):i!==!1&&(i=h),this.i.autoBreadcrumbs=i,this.f=d.user,this.y=d.pass&&d.pass.substr(1),this.g=d.path.substr(e+1),this.e=this.z(d),this.A=this.e+"/"+g+"api/"+this.g+"/store/",f.collectWindowErrors=!!this.i.collectWindowErrors,this},install:function(){var a=this;return this.isSetup()&&!this.k&&(f.report.subscribe(function(){a.B.apply(a,arguments)}),this.C(),a.i.autoBreadcrumbs&&this.D(),this.E(),this.k=!0),Error.stackTraceLimit=this.i.stackTraceLimit,this},context:function(a,b,c){return j(a)&&(c=b||[],b=a,a=void 0),this.wrap(a,b).apply(this,c)},wrap:function(a,b,c){function d(){var d=[],f=arguments.length,g=!a||a&&a.deep!==!1;for(c&&j(c)&&c.apply(this,arguments);f--;)d[f]=g?e.wrap(a,arguments[f]):arguments[f];try{return b.apply(this,d)}catch(h){throw e.F(),e.captureException(h,a),h}}var e=this;if(k(b)&&!j(a))return a;if(j(a)&&(b=a,a=void 0),!j(b))return b;try{if(b.G)return b}catch(f){return b}if(b.H)return b.H;for(var g in b)n(b,g)&&(d[g]=b[g]);return d.prototype=b.prototype,b.H=d,d.G=!0,d.I=b,d},uninstall:function(){return f.report.uninstall(),this.J(),Error.stackTraceLimit=this.l,this.k=!1,this},captureException:function(a,b){if(!l(a))return this.captureMessage(a,b);this.c=a;try{var c=f.computeStackTrace(a);this.K(c,b)}catch(d){if(a!==d)throw d}return this},captureMessage:function(a,b){return this.i.ignoreErrors.test&&this.i.ignoreErrors.test(a)?void 0:(this.L(q({message:a+""},b)),this)},captureBreadcrumb:function(a){var b=q({timestamp:d()/1e3},a);this.r.push(b),this.r.length>this.i.maxBreadcrumbs&&this.r.shift()},addPlugin:function(a){var b=Array.prototype.slice.call(arguments,1);return this.o.push([a,b]),this.k&&this.E(),this},setUserContext:function(a){return this.h.user=a,this},setExtraContext:function(a){return this.M("extra",a),this},setTagsContext:function(a){return this.M("tags",a),this},clearContext:function(){return this.h={},this},getContext:function(){return JSON.parse(i(this.h))},setEnvironment:function(a){return this.i.environment=a,this},setRelease:function(a){return this.i.release=a,this},setDataCallback:function(a){var b=this.i.dataCallback;return this.i.dataCallback=j(a)?function(c){return a(c,b)}:a,this},setShouldSendCallback:function(a){var b=this.i.shouldSendCallback;return this.i.shouldSendCallback=j(a)?function(c){return a(c,b)}:a,this},setTransport:function(a){return this.i.transport=a,this},lastException:function(){return this.c},lastEventId:function(){return this.d},isSetup:function(){return this.a?this.e?!0:(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this.v("error","Error: Raven has not been configured.")),!1):!1},afterLoad:function(){var a=window.RavenConfig;a&&this.config(a.dsn,a.config).install()},showReportDialog:function(a){if(window.document){a=a||{};var b=a.eventId||this.lastEventId();if(!b)throw new g("Missing eventId");var c=a.dsn||this.x;if(!c)throw new g("Missing DSN");var d=encodeURIComponent,e="";e+="?eventId="+d(b),e+="&dsn="+d(c);var f=a.user||this.h.user;f&&(f.name&&(e+="&name="+d(f.name)),f.email&&(e+="&email="+d(f.email)));var h=this.z(this.w(c)),i=document.createElement("script");i.async=!0,i.src=h+"/api/embed/error-page/"+e,(document.head||document.body).appendChild(i)}},F:function(){var a=this;this.j+=1,setTimeout(function(){a.j-=1})},N:function(a,b){var c,d;if(this.b){b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=document.createEventObject(),c.eventType=a);for(d in b)n(b,d)&&(c[d]=b[d]);if(document.createEvent)document.dispatchEvent(c);else try{document.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}},O:function(a){var b=this;return function(c){if(b.P=null,b.s!==c){b.s=c;var d,e=c.target;try{d=u(e)}catch(f){d="<unknown>"}b.captureBreadcrumb({category:"ui."+a,message:d})}}},Q:function(){var a=this,b=1e3;return function(c){var d=c.target,e=d&&d.tagName;if(e&&("INPUT"===e||"TEXTAREA"===e)){var f=a.P;f||a.O("input")(c),clearTimeout(f),a.P=setTimeout(function(){a.P=null},b)}}},R:function(a,b){var c=v(this.t.href),d=v(b),e=v(a);this.u=b,c.protocol===d.protocol&&c.host===d.host&&(b=d.relative),c.protocol===e.protocol&&c.host===e.host&&(a=e.relative),this.captureBreadcrumb({category:"navigation",data:{to:b,from:a}})},C:function(){function a(a){return function(b,d){for(var e=new Array(arguments.length),f=0;e.length>f;++f)e[f]=arguments[f];var g=e[0];return j(g)&&(e[0]=c.wrap(g)),a.apply?a.apply(this,e):a(e[0],e[1])}}function b(a){var b=window[a]&&window[a].prototype;b&&b.hasOwnProperty&&b.hasOwnProperty("addEventListener")&&(x(b,"addEventListener",function(b){return function(d,f,g,h){try{f&&f.handleEvent&&(f.handleEvent=c.wrap(f.handleEvent))}catch(i){}var j;return e&&e.dom&&("EventTarget"===a||"Node"===a)&&("click"===d?j=c.O(d):"keypress"===d&&(j=c.Q())),b.call(this,d,c.wrap(f,void 0,j),g,h)}},d),x(b,"removeEventListener",function(a){return function(b,c,d,e){return c=c&&(c.H?c.H:c),a.call(this,b,c,d,e)}},d))}var c=this,d=c.q,e=this.i.autoBreadcrumbs;x(window,"setTimeout",a,d),x(window,"setInterval",a,d),window.requestAnimationFrame&&x(window,"requestAnimationFrame",function(a){return function(b){return a(c.wrap(b))}},d);for(var f=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],g=0;f.length>g;g++)b(f[g]);var h=window.jQuery||window.$;h&&h.fn&&h.fn.ready&&x(h.fn,"ready",function(a){return function(b){return a.call(this,c.wrap(b))}},d)},D:function(){function a(a,c){a in c&&j(c[a])&&x(c,a,function(a){return b.wrap(a)})}var b=this,c=this.i.autoBreadcrumbs,d=b.q;if(c.xhr&&"XMLHttpRequest"in window){var e=XMLHttpRequest.prototype;x(e,"open",function(a){return function(c,d){return w(d)&&-1===d.indexOf(b.f)&&(this.S={method:c,url:d,status_code:null}),a.apply(this,arguments)}},d),x(e,"send",function(c){return function(d){function e(){if(f.S&&(1===f.readyState||4===f.readyState)){try{f.S.status_code=f.status}catch(a){}b.captureBreadcrumb({type:"http",category:"xhr",data:f.S})}}for(var f=this,g=["onload","onerror","onprogress"],h=0;g.length>h;h++)a(g[h],f);return"onreadystatechange"in f&&j(f.onreadystatechange)?x(f,"onreadystatechange",function(a){return b.wrap(a,void 0,e)}):f.onreadystatechange=e,c.apply(this,arguments)}},d)}c.dom&&this.b&&(document.addEventListener?(document.addEventListener("click",b.O("click"),!1),document.addEventListener("keypress",b.Q(),!1)):(document.attachEvent("onclick",b.O("click")),document.attachEvent("onkeypress",b.Q())));var f=window.chrome,g=f&&f.app&&f.app.runtime,h=!g&&window.history&&history.pushState;if(c.location&&h){var i=window.onpopstate;window.onpopstate=function(){var a=b.t.href;return b.R(b.u,a),i?i.apply(this,arguments):void 0},x(history,"pushState",function(a){return function(){var c=arguments.length>2?arguments[2]:void 0;return c&&b.R(b.u,c+""),a.apply(this,arguments)}},d)}if(c.console&&"console"in window&&console.log){var k=function(a,c){b.captureBreadcrumb({message:a,level:c.level,category:"console"})};p(["debug","info","warn","error","log"],function(a,b){y(console,b,k)})}},J:function(){for(var a;this.q.length;){a=this.q.shift();var b=a[0],c=a[1],d=a[2];b[c]=d}},E:function(){var a=this;p(this.o,function(b,c){var d=c[0],e=c[1];d.apply(a,[a].concat(e))})},w:function(a){var b=A.exec(a),c={},d=7;try{for(;d--;)c[z[d]]=b[d]||""}catch(e){throw new g("Invalid DSN: "+a)}if(c.pass&&!this.i.allowSecretKey)throw new g("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");return c},z:function(a){var b="//"+a.host+(a.port?":"+a.port:"");return a.protocol&&(b=a.protocol+":"+b),b},B:function(){this.j||this.K.apply(this,arguments)},K:function(a,b){var c=this,d=[];a.stack&&a.stack.length&&p(a.stack,function(a,b){var e=c.T(b);e&&d.push(e)}),this.N("handle",{stackInfo:a,options:b}),this.U(a.name,a.message,a.url,a.lineno,d.slice(0,this.i.stackTraceLimit),b)},T:function(a){if(a.url){var b={filename:a.url,lineno:a.line,colno:a.column,"function":a.func||"?"};return b.in_app=!(this.i.includePaths.test&&!this.i.includePaths.test(b.filename)||/(Raven|TraceKit)\./.test(b["function"])||/raven\.(min\.)?js$/.test(b.filename)),b}},U:function(a,b,c,d,e,f){var g;if((!this.i.ignoreErrors.test||!this.i.ignoreErrors.test(b))&&(b+="",e&&e.length?(c=e[0].filename||c,e.reverse(),g={frames:e}):c&&(g={frames:[{filename:c,lineno:d,in_app:!0}]}),(!this.i.ignoreUrls.test||!this.i.ignoreUrls.test(c))&&(!this.i.whitelistUrls.test||this.i.whitelistUrls.test(c)))){var h=q({exception:{values:[{type:a,value:b,stacktrace:g}]},culprit:c},f);this.L(h)}},V:function(a){var b=this.i.maxMessageLength;if(a.message&&(a.message=r(a.message,b)),a.exception){var c=a.exception.values[0];c.value=r(c.value,b)}return a},W:function(){if(this.b&&document.location&&document.location.href){var a={headers:{"User-Agent":navigator.userAgent}};return a.url=document.location.href,document.referrer&&(a.headers.Referer=document.referrer),a}},L:function(a){var b=this.i,c={project:this.g,logger:b.logger,platform:"javascript"},e=this.W();e&&(c.request=e),a=q(c,a),a.tags=q(q({},this.h.tags),a.tags),a.extra=q(q({},this.h.extra),a.extra),a.extra["session:duration"]=d()-this.p,this.r&&this.r.length>0&&(a.breadcrumbs={values:[].slice.call(this.r,0)}),m(a.tags)&&delete a.tags,this.h.user&&(a.user=this.h.user),b.environment&&(a.environment=b.environment),b.release&&(a.release=b.release),b.serverName&&(a.server_name=b.serverName),j(b.dataCallback)&&(a=b.dataCallback(a)||a),a&&!m(a)&&(!j(b.shouldSendCallback)||b.shouldSendCallback(a))&&this.X(a)},X:function(a,b){var c=this,d=this.i;if(this.d=a.event_id||(a.event_id=t()),a=this.V(a),this.v("debug","Raven about to send:",a),this.isSetup()){var e={sentry_version:"7",sentry_client:"raven-js/"+this.VERSION,sentry_key:this.f};this.y&&(e.sentry_secret=this.y);var f=a.exception&&a.exception.values[0];this.captureBreadcrumb({category:"sentry",message:f?(f.type?f.type+": ":"")+f.value:a.message,event_id:a.event_id,level:a.level||"error"});var g=this.A;(d.transport||this.Y).call(this,{url:g,auth:e,data:a,options:d,onSuccess:function(){c.N("success",{data:a,src:g}),b&&b()},onError:function(d){c.N("failure",{data:a,src:g}),d=d||new Error("Raven send failed (no additional details provided)"),b&&b(d)}})}},Y:function(a){function b(){200===c.status?a.onSuccess&&a.onSuccess():a.onError&&a.onError(new Error("Sentry error code: "+c.status))}var c=new XMLHttpRequest,d="withCredentials"in c||"undefined"!=typeof XDomainRequest;if(d){var e=a.url;"withCredentials"in c?c.onreadystatechange=function(){4===c.readyState&&b()}:(c=new XDomainRequest,e=e.replace(/^https?:/,""),c.onload=b),c.open("POST",e+"?"+s(a.auth)),c.send(i(a.data))}},v:function(a){this.n[a]&&this.debug&&Function.prototype.apply.call(this.n[a],this.m,[].slice.call(arguments,1))},M:function(a,b){k(b)?delete this.h[a]:this.h[a]=q(this.h[a]||{},b)}},e.prototype.setUser=e.prototype.setUserContext,e.prototype.setReleaseContext=e.prototype.setRelease,b.exports=e},{1:1,2:2,3:3,6:6,7:7}],5:[function(a,b,c){"use strict";var d=a(4),e=window.Raven,f=new d;f.noConflict=function(){return window.Raven=e,f},f.afterLoad(),b.exports=f},{4:4}],6:[function(a,b,c){"use strict";function d(a){return void 0===a}function e(a){return"function"==typeof a}function f(a){return"[object String]"===u.toString.call(a)}function g(a){return"object"==typeof a&&null!==a}function h(a){for(var b in a)return!1;return!0}function i(a){var b=u.toString.call(a);return g(a)&&"[object Error]"===b||"[object Exception]"===b||a instanceof Error}function j(a,b){var c,e;if(d(a.length))for(c in a)m(a,c)&&b.call(null,c,a[c]);else if(e=a.length)for(c=0;e>c;c++)b.call(null,c,a[c])}function k(a,b){return b?(j(b,function(b,c){a[b]=c}),a):a}function l(a,b){return!b||b>=a.length?a:a.substr(0,b)+"…"}function m(a,b){return u.hasOwnProperty.call(a,b)}function n(a){for(var b,c=[],d=0,e=a.length;e>d;d++)b=a[d],f(b)?c.push(b.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):b&&b.source&&c.push(b.source);return new RegExp(c.join("|"),"i")}function o(a){var b=[];return j(a,function(a,c){b.push(encodeURIComponent(a)+"="+encodeURIComponent(c))}),b.join("&")}function p(a){var b=a.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!b)return{};var c=b[6]||"",d=b[8]||"";return{protocol:b[2],host:b[4],path:b[5],relative:b[5]+c+d}}function q(){var a=window.crypto||window.msCrypto;if(!d(a)&&a.getRandomValues){var b=new Uint16Array(8);a.getRandomValues(b),b[3]=4095&b[3]|16384,b[4]=16383&b[4]|32768;var c=function(a){for(var b=a.toString(16);4>b.length;)b="0"+b;return b};return c(b[0])+c(b[1])+c(b[2])+c(b[3])+c(b[4])+c(b[5])+c(b[6])+c(b[7])}return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0,c="x"===a?b:3&b|8;return c.toString(16)})}function r(a){for(var b,c=5,d=80,e=[],f=0,g=0,h=" > ",i=h.length;a&&f++<c&&(b=s(a),!("html"===b||f>1&&g+e.length*i+b.length>=d));)e.push(b),g+=b.length,a=a.parentNode;return e.reverse().join(h)}function s(a){var b,c,d,e,g,h=[];if(!a||!a.tagName)return"";if(h.push(a.tagName.toLowerCase()),a.id&&h.push("#"+a.id),b=a.className,b&&f(b))for(c=b.split(" "),g=0;c.length>g;g++)h.push("."+c[g]);var i=["type","name","title","alt"];for(g=0;i.length>g;g++)d=i[g],e=a.getAttribute(d),e&&h.push("["+d+'="'+e+'"]');return h.join("")}function t(a,b,c,d){var e=a[b];a[b]=c(e),d&&d.push([a,b,e])}var u=Object.prototype;b.exports={isUndefined:d,isFunction:e,isString:f,isObject:g,isEmptyObject:h,isError:i,each:j,objectMerge:k,truncate:l,hasKey:m,joinRegExp:n,urlencode:o,uuid4:q,htmlTreeAsString:r,htmlElementAsString:s,parseUrl:p,fill:t}},{}],7:[function(a,b,c){"use strict";function d(){return"undefined"==typeof document?"":document.location.href}var e=a(6),f=e.hasKey,g=e.isString,h=e.isUndefined,i={collectWindowErrors:!0,debug:!1},j=[].slice,k="?",l=/^(?:Uncaught (?:exception: )?)?((?:Eval|Internal|Range|Reference|Syntax|Type|URI)Error): ?(.*)$/;i.report=function(){function a(a){m(),s.push(a)}function b(a){for(var b=s.length-1;b>=0;--b)s[b]===a&&s.splice(b,1)}function c(){n(),s=[]}function e(a,b){var c=null;if(!b||i.collectWindowErrors){for(var d in s)if(f(s,d))try{s[d].apply(null,[a].concat(j.call(arguments,2)))}catch(e){c=e}if(c)throw c}}function h(a,b,c,f,h){var j=null;if(v)i.computeStackTrace.augmentStackTraceWithInitialElement(v,b,c,a),o();else if(h)j=i.computeStackTrace(h),e(j,!0);else{var m,n={url:b,line:c,column:f},p=void 0,r=a;if(g(a)){var m=a.match(l);m&&(p=m[1],r=m[2])}n.func=k,j={name:p,message:r,url:d(),stack:[n]},e(j,!0)}return q?q.apply(this,arguments):!1}function m(){r||(q=window.onerror,window.onerror=h,r=!0)}function n(){r&&(window.onerror=q,r=!1,q=void 0)}function o(){var a=v,b=t;t=null,v=null,u=null,e.apply(null,[a,!1].concat(b))}function p(a,b){var c=j.call(arguments,1);if(v){if(u===a)return;o()}var d=i.computeStackTrace(a);if(v=d,u=a,t=c,window.setTimeout(function(){u===a&&o()},d.incomplete?2e3:0),b!==!1)throw a}var q,r,s=[],t=null,u=null,v=null;return p.subscribe=a,p.unsubscribe=b,p.uninstall=c,p}(),i.computeStackTrace=function(){function a(a){if(!h(a.stack)&&a.stack){for(var b,c,e=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|<anonymous>).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,f=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|\[native).*?)(?::(\d+))?(?::(\d+))?\s*$/i,g=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,i=a.stack.split("\n"),j=[],l=(/^(.*) is undefined$/.exec(a.message),0),m=i.length;m>l;++l){if(b=e.exec(i[l])){var n=b[2]&&-1!==b[2].indexOf("native");c={url:n?null:b[2],func:b[1]||k,args:n?[b[2]]:[],line:b[3]?+b[3]:null,column:b[4]?+b[4]:null}}else if(b=g.exec(i[l]))c={url:b[2],func:b[1]||k,args:[],line:+b[3],column:b[4]?+b[4]:null};else{if(!(b=f.exec(i[l])))continue;c={url:b[3],func:b[1]||k,args:b[2]?b[2].split(","):[],line:b[4]?+b[4]:null,column:b[5]?+b[5]:null}}!c.func&&c.line&&(c.func=k),j.push(c)}return j.length?(j[0].column||h(a.columnNumber)||(j[0].column=a.columnNumber+1),{name:a.name,message:a.message,url:d(),stack:j}):null}}function b(a){var b=a.stacktrace;if(!h(a.stacktrace)&&a.stacktrace){for(var c,e=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,f=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,g=b.split("\n"),i=[],j=0;g.length>j;j+=2){var l=null;(c=e.exec(g[j]))?l={url:c[2],line:+c[1],column:null,func:c[3],args:[]}:(c=f.exec(g[j]))&&(l={url:c[6],line:+c[1],column:+c[2],func:c[3]||c[4],args:c[5]?c[5].split(","):[]}),l&&(!l.func&&l.line&&(l.func=k),i.push(l))}return i.length?{name:a.name,message:a.message,url:d(),stack:i}:null}}function c(a){var b=a.message.split("\n");if(4>b.length)return null;for(var c,e=/^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,f=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,g=/^\s*Line (\d+) of function script\s*$/i,h=[],i=(document.getElementsByTagName("script"),2);b.length>i;i+=2){var j=null;if(c=e.exec(b[i]))j={url:c[2],func:c[3],args:[],line:+c[1],column:null};else if(c=f.exec(b[i])){j={url:c[3],func:c[4],args:[],line:+c[1],column:null}}else if(c=g.exec(b[i])){var l=window.location.href.replace(/#.*$/,"");j={url:l,func:"",args:[],line:c[1],column:null}}j&&(j.func||(j.func=k),h.push(j))}return h.length?{name:a.name,message:b[0],url:d(),stack:h}:null}function e(a,b,c,d){var e={url:b,line:c};if(e.url&&e.line){if(a.incomplete=!1,e.func||(e.func=k),a.stack.length>0&&a.stack[0].url===e.url){if(a.stack[0].line===e.line)return!1;if(!a.stack[0].line&&a.stack[0].func===e.func)return a.stack[0].line=e.line,!1}return a.stack.unshift(e),a.partial=!0,!0}return a.incomplete=!0,!1}function f(a,b){for(var c,h,j=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,l=[],m={},n=!1,o=f.caller;o&&!n;o=o.caller)if(o!==g&&o!==i.report){if(h={url:null,func:k,line:null,column:null},o.name?h.func=o.name:(c=j.exec(o.toString()))&&(h.func=c[1]),"undefined"==typeof h.func)try{h.func=c.input.substring(0,c.input.indexOf("{"))}catch(p){}m[""+o]?n=!0:m[""+o]=!0,l.push(h)}b&&l.splice(0,b);var q={name:a.name,message:a.message,url:d(),stack:l};return e(q,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),q}function g(e,g){var h=null;g=null==g?0:+g;try{if(h=b(e))return h}catch(j){if(i.debug)throw j}try{if(h=a(e))return h}catch(j){if(i.debug)throw j}try{if(h=c(e))return h}catch(j){if(i.debug)throw j}try{if(h=f(e,g+1))return h}catch(j){if(i.debug)throw j}return{name:e.name,message:e.message,url:d()}}return g.augmentStackTraceWithInitialElement=e,g.computeStackTraceFromStackProp=a,g}(),b.exports=i},{6:6}]},{},[5])(5)}); | ||
/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ | ||
!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.Raven=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a,b,c,d){return JSON.stringify(a,e(b,d),c)}function e(a,b){var c=[],d=[];return null==b&&(b=function(a,b){return c[0]===b?"[Circular ~]":"[Circular ~."+d.slice(0,c.indexOf(b)).join(".")+"]"}),function(e,f){if(c.length>0){var g=c.indexOf(this);~g?c.splice(g+1):c.push(this),~g?d.splice(g,1/0,e):d.push(e),~c.indexOf(f)&&(f=b.call(this,e,f))}else c.push(f);return null==a?f:a.call(this,e,f)}}c=b.exports=d,c.getSerialize=e},{}],2:[function(a,b,c){"use strict";function d(a){this.name="RavenConfigError",this.message=a}d.prototype=new Error,d.prototype.constructor=d,b.exports=d},{}],3:[function(a,b,c){"use strict";var d=function(a,b,c){var d=a[b],e=a;if(b in a){var f="warn"===b?"warning":b;a[b]=function(){var a=[].slice.call(arguments),b=""+a.join(" "),g={level:f,logger:"console",extra:{arguments:a}};c&&c(b,g),d&&Function.prototype.apply.call(d,e,a)}}};b.exports={wrapMethod:d}},{}],4:[function(a,b,c){"use strict";function d(){return+new Date}function e(){this.a=!("object"!=typeof JSON||!JSON.stringify),this.b="undefined"!=typeof document,this.c=null,this.d=null,this.e=null,this.f=null,this.g=null,this.h={},this.i={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],crossOrigin:"anonymous",collectWindowErrors:!0,maxMessageLength:0,stackTraceLimit:50,autoBreadcrumbs:!0},this.j=0,this.k=!1,this.l=Error.stackTraceLimit,this.m=window.console||{},this.n={},this.o=[],this.p=d(),this.q=[],this.r=[],this.s=null,this.t=window.location,this.u=this.t&&this.t.href;for(var a in this.m)this.n[a]=this.m[a]}var f=a(7),g=a(2),h=a(6),i=a(1),j=h.isFunction,k=h.isUndefined,l=h.isError,m=h.isEmptyObject,n=h.hasKey,o=h.joinRegExp,p=h.each,q=h.objectMerge,r=h.truncate,s=h.urlencode,t=h.uuid4,u=h.htmlTreeAsString,v=h.parseUrl,w=h.isString,x=h.fill,y=a(3).wrapMethod,z="source protocol user pass host port path".split(" "),A=/^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/;e.prototype={VERSION:"3.6.0",debug:!1,TraceKit:f,config:function(a,b){var c=this;if(this.e)return this.v("error","Error: Raven has already been configured"),this;if(!a)return this;b&&p(b,function(a,b){"tags"===a||"extra"===a?c.h[a]=b:c.i[a]=b}),this.setDSN(a),this.i.ignoreErrors.push(/^Script error\.?$/),this.i.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/),this.i.ignoreErrors=o(this.i.ignoreErrors),this.i.ignoreUrls=this.i.ignoreUrls.length?o(this.i.ignoreUrls):!1,this.i.whitelistUrls=this.i.whitelistUrls.length?o(this.i.whitelistUrls):!1,this.i.includePaths=o(this.i.includePaths),this.i.maxBreadcrumbs=Math.max(0,Math.min(this.i.maxBreadcrumbs||100,100));var d={xhr:!0,console:!0,dom:!0,location:!0},e=this.i.autoBreadcrumbs;return"[object Object]"==={}.toString.call(e)?e=q(d,e):e!==!1&&(e=d),this.i.autoBreadcrumbs=e,f.collectWindowErrors=!!this.i.collectWindowErrors,this},install:function(){var a=this;return this.isSetup()&&!this.k&&(f.report.subscribe(function(){a.w.apply(a,arguments)}),this.x(),a.i.autoBreadcrumbs&&this.y(),this.z(),this.k=!0),Error.stackTraceLimit=this.i.stackTraceLimit,this},setDSN:function(a){var b=this.A(a),c=b.path.lastIndexOf("/"),d=b.path.substr(1,c);this.B=a,this.f=b.user,this.C=b.pass&&b.pass.substr(1),this.g=b.path.substr(c+1),this.e=this.D(b),this.E=this.e+"/"+d+"api/"+this.g+"/store/"},context:function(a,b,c){return j(a)&&(c=b||[],b=a,a=void 0),this.wrap(a,b).apply(this,c)},wrap:function(a,b,c){function d(){var d=[],f=arguments.length,g=!a||a&&a.deep!==!1;for(c&&j(c)&&c.apply(this,arguments);f--;)d[f]=g?e.wrap(a,arguments[f]):arguments[f];try{return b.apply(this,d)}catch(h){throw e.F(),e.captureException(h,a),h}}var e=this;if(k(b)&&!j(a))return a;if(j(a)&&(b=a,a=void 0),!j(b))return b;try{if(b.G)return b}catch(f){return b}if(b.H)return b.H;for(var g in b)n(b,g)&&(d[g]=b[g]);return d.prototype=b.prototype,b.H=d,d.G=!0,d.I=b,d},uninstall:function(){return f.report.uninstall(),this.J(),Error.stackTraceLimit=this.l,this.k=!1,this},captureException:function(a,b){if(!l(a))return this.captureMessage(a,q({trimHeadFrames:1,stacktrace:!0},b));this.c=a;try{var c=f.computeStackTrace(a);this.K(c,b)}catch(d){if(a!==d)throw d}return this},captureMessage:function(a,b){if(!this.i.ignoreErrors.test||!this.i.ignoreErrors.test(a)){var c=q({message:a+""},b);if(b&&b.stacktrace){var d;try{throw new Error(a)}catch(e){d=e}d.name=null,b=q({fingerprint:a,trimHeadFrames:(b.trimHeadFrames||0)+1},b);var g=f.computeStackTrace(d),h=this.L(g,b);c.stacktrace={frames:h.reverse()}}return this.M(c),this}},captureBreadcrumb:function(a){var b=q({timestamp:d()/1e3},a);return this.r.push(b),this.r.length>this.i.maxBreadcrumbs&&this.r.shift(),this},addPlugin:function(a){var b=Array.prototype.slice.call(arguments,1);return this.o.push([a,b]),this.k&&this.z(),this},setUserContext:function(a){return this.h.user=a,this},setExtraContext:function(a){return this.N("extra",a),this},setTagsContext:function(a){return this.N("tags",a),this},clearContext:function(){return this.h={},this},getContext:function(){return JSON.parse(i(this.h))},setEnvironment:function(a){return this.i.environment=a,this},setRelease:function(a){return this.i.release=a,this},setDataCallback:function(a){var b=this.i.dataCallback;return this.i.dataCallback=j(a)?function(c){return a(c,b)}:a,this},setShouldSendCallback:function(a){var b=this.i.shouldSendCallback;return this.i.shouldSendCallback=j(a)?function(c){return a(c,b)}:a,this},setTransport:function(a){return this.i.transport=a,this},lastException:function(){return this.c},lastEventId:function(){return this.d},isSetup:function(){return this.a?this.e?!0:(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this.v("error","Error: Raven has not been configured.")),!1):!1},afterLoad:function(){var a=window.RavenConfig;a&&this.config(a.dsn,a.config).install()},showReportDialog:function(a){if(window.document){a=a||{};var b=a.eventId||this.lastEventId();if(!b)throw new g("Missing eventId");var c=a.dsn||this.B;if(!c)throw new g("Missing DSN");var d=encodeURIComponent,e="";e+="?eventId="+d(b),e+="&dsn="+d(c);var f=a.user||this.h.user;f&&(f.name&&(e+="&name="+d(f.name)),f.email&&(e+="&email="+d(f.email)));var h=this.D(this.A(c)),i=document.createElement("script");i.async=!0,i.src=h+"/api/embed/error-page/"+e,(document.head||document.body).appendChild(i)}},F:function(){var a=this;this.j+=1,setTimeout(function(){a.j-=1})},O:function(a,b){var c,d;if(this.b){b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=document.createEventObject(),c.eventType=a);for(d in b)n(b,d)&&(c[d]=b[d]);if(document.createEvent)document.dispatchEvent(c);else try{document.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}},P:function(a){var b=this;return function(c){if(b.Q=null,b.s!==c){b.s=c;var d,e=c.target;try{d=u(e)}catch(f){d="<unknown>"}b.captureBreadcrumb({category:"ui."+a,message:d})}}},R:function(){var a=this,b=1e3;return function(c){var d=c.target,e=d&&d.tagName;if(e&&("INPUT"===e||"TEXTAREA"===e)){var f=a.Q;f||a.P("input")(c),clearTimeout(f),a.Q=setTimeout(function(){a.Q=null},b)}}},S:function(a,b){var c=v(this.t.href),d=v(b),e=v(a);this.u=b,c.protocol===d.protocol&&c.host===d.host&&(b=d.relative),c.protocol===e.protocol&&c.host===e.host&&(a=e.relative),this.captureBreadcrumb({category:"navigation",data:{to:b,from:a}})},x:function(){function a(a){return function(b,d){for(var e=new Array(arguments.length),f=0;e.length>f;++f)e[f]=arguments[f];var g=e[0];return j(g)&&(e[0]=c.wrap(g)),a.apply?a.apply(this,e):a(e[0],e[1])}}function b(a){var b=window[a]&&window[a].prototype;b&&b.hasOwnProperty&&b.hasOwnProperty("addEventListener")&&(x(b,"addEventListener",function(b){return function(d,f,g,h){try{f&&f.handleEvent&&(f.handleEvent=c.wrap(f.handleEvent))}catch(i){}var j;return e&&e.dom&&("EventTarget"===a||"Node"===a)&&("click"===d?j=c.P(d):"keypress"===d&&(j=c.R())),b.call(this,d,c.wrap(f,void 0,j),g,h)}},d),x(b,"removeEventListener",function(a){return function(b,c,d,e){return c=c&&(c.H?c.H:c),a.call(this,b,c,d,e)}},d))}var c=this,d=c.q,e=this.i.autoBreadcrumbs;x(window,"setTimeout",a,d),x(window,"setInterval",a,d),window.requestAnimationFrame&&x(window,"requestAnimationFrame",function(a){return function(b){return a(c.wrap(b))}},d);for(var f=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],g=0;f.length>g;g++)b(f[g]);var h=window.jQuery||window.$;h&&h.fn&&h.fn.ready&&x(h.fn,"ready",function(a){return function(b){return a.call(this,c.wrap(b))}},d)},y:function(){function a(a,c){a in c&&j(c[a])&&x(c,a,function(a){return b.wrap(a)})}var b=this,c=this.i.autoBreadcrumbs,d=b.q;if(c.xhr&&"XMLHttpRequest"in window){var e=XMLHttpRequest.prototype;x(e,"open",function(a){return function(c,d){return w(d)&&-1===d.indexOf(b.f)&&(this.T={method:c,url:d,status_code:null}),a.apply(this,arguments)}},d),x(e,"send",function(c){return function(d){function e(){if(f.T&&(1===f.readyState||4===f.readyState)){try{f.T.status_code=f.status}catch(a){}b.captureBreadcrumb({type:"http",category:"xhr",data:f.T})}}for(var f=this,g=["onload","onerror","onprogress"],h=0;g.length>h;h++)a(g[h],f);return"onreadystatechange"in f&&j(f.onreadystatechange)?x(f,"onreadystatechange",function(a){return b.wrap(a,void 0,e)}):f.onreadystatechange=e,c.apply(this,arguments)}},d)}c.dom&&this.b&&(document.addEventListener?(document.addEventListener("click",b.P("click"),!1),document.addEventListener("keypress",b.R(),!1)):(document.attachEvent("onclick",b.P("click")),document.attachEvent("onkeypress",b.R())));var f=window.chrome,g=f&&f.app&&f.app.runtime,h=!g&&window.history&&history.pushState;if(c.location&&h){var i=window.onpopstate;window.onpopstate=function(){var a=b.t.href;return b.S(b.u,a),i?i.apply(this,arguments):void 0},x(history,"pushState",function(a){return function(){var c=arguments.length>2?arguments[2]:void 0;return c&&b.S(b.u,c+""),a.apply(this,arguments)}},d)}if(c.console&&"console"in window&&console.log){var k=function(a,c){b.captureBreadcrumb({message:a,level:c.level,category:"console"})};p(["debug","info","warn","error","log"],function(a,b){y(console,b,k)})}},J:function(){for(var a;this.q.length;){a=this.q.shift();var b=a[0],c=a[1],d=a[2];b[c]=d}},z:function(){var a=this;p(this.o,function(b,c){var d=c[0],e=c[1];d.apply(a,[a].concat(e))})},A:function(a){var b=A.exec(a),c={},d=7;try{for(;d--;)c[z[d]]=b[d]||""}catch(e){throw new g("Invalid DSN: "+a)}if(c.pass&&!this.i.allowSecretKey)throw new g("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");return c},D:function(a){var b="//"+a.host+(a.port?":"+a.port:"");return a.protocol&&(b=a.protocol+":"+b),b},w:function(){this.j||this.K.apply(this,arguments)},K:function(a,b){var c=this.L(a,b);this.O("handle",{stackInfo:a,options:b}),this.U(a.name,a.message,a.url,a.lineno,c,b)},L:function(a,b){var c=this,d=[];if(a.stack&&a.stack.length&&(p(a.stack,function(a,b){var e=c.V(b);e&&d.push(e)}),b&&b.trimHeadFrames)){for(var e=0;b.trimHeadFrames>e&&d.length>e;e++)d[e].in_app=!1;delete b.trimHeadFrames}return d=d.slice(0,this.i.stackTraceLimit)},V:function(a){if(a.url){var b={filename:a.url,lineno:a.line,colno:a.column,"function":a.func||"?"};return b.in_app=!(this.i.includePaths.test&&!this.i.includePaths.test(b.filename)||/(Raven|TraceKit)\./.test(b["function"])||/raven\.(min\.)?js$/.test(b.filename)),b}},U:function(a,b,c,d,e,f){var g;if((!this.i.ignoreErrors.test||!this.i.ignoreErrors.test(b))&&(b+="",e&&e.length?(c=e[0].filename||c,e.reverse(),g={frames:e}):c&&(g={frames:[{filename:c,lineno:d,in_app:!0}]}),(!this.i.ignoreUrls.test||!this.i.ignoreUrls.test(c))&&(!this.i.whitelistUrls.test||this.i.whitelistUrls.test(c)))){var h=q({exception:{values:[{type:a,value:b,stacktrace:g}]},culprit:c},f);this.M(h)}},W:function(a){var b=this.i.maxMessageLength;if(a.message&&(a.message=r(a.message,b)),a.exception){var c=a.exception.values[0];c.value=r(c.value,b)}return a},X:function(){if(this.b&&document.location&&document.location.href){var a={headers:{"User-Agent":navigator.userAgent}};return a.url=document.location.href,document.referrer&&(a.headers.Referer=document.referrer),a}},M:function(a){var b=this.i,c={project:this.g,logger:b.logger,platform:"javascript"},e=this.X();e&&(c.request=e),a=q(c,a),a.tags=q(q({},this.h.tags),a.tags),a.extra=q(q({},this.h.extra),a.extra),a.extra["session:duration"]=d()-this.p,this.r&&this.r.length>0&&(a.breadcrumbs={values:[].slice.call(this.r,0)}),m(a.tags)&&delete a.tags,this.h.user&&(a.user=this.h.user),b.environment&&(a.environment=b.environment),b.release&&(a.release=b.release),b.serverName&&(a.server_name=b.serverName),j(b.dataCallback)&&(a=b.dataCallback(a)||a),a&&!m(a)&&(!j(b.shouldSendCallback)||b.shouldSendCallback(a))&&this.Y(a)},Y:function(a,b){var c=this,d=this.i;if(this.d=a.event_id||(a.event_id=t()),a=this.W(a),this.v("debug","Raven about to send:",a),this.isSetup()){var e={sentry_version:"7",sentry_client:"raven-js/"+this.VERSION,sentry_key:this.f};this.C&&(e.sentry_secret=this.C);var f=a.exception&&a.exception.values[0];this.captureBreadcrumb({category:"sentry",message:f?(f.type?f.type+": ":"")+f.value:a.message,event_id:a.event_id,level:a.level||"error"});var g=this.E;(d.transport||this.Z).call(this,{url:g,auth:e,data:a,options:d,onSuccess:function(){c.O("success",{data:a,src:g}),b&&b()},onError:function(d){c.O("failure",{data:a,src:g}),d=d||new Error("Raven send failed (no additional details provided)"),b&&b(d)}})}},Z:function(a){function b(){200===c.status?a.onSuccess&&a.onSuccess():a.onError&&a.onError(new Error("Sentry error code: "+c.status))}var c=new XMLHttpRequest,d="withCredentials"in c||"undefined"!=typeof XDomainRequest;if(d){var e=a.url;"withCredentials"in c?c.onreadystatechange=function(){4===c.readyState&&b()}:(c=new XDomainRequest,e=e.replace(/^https?:/,""),c.onload=b),c.open("POST",e+"?"+s(a.auth)),c.send(i(a.data))}},v:function(a){this.n[a]&&this.debug&&Function.prototype.apply.call(this.n[a],this.m,[].slice.call(arguments,1))},N:function(a,b){k(b)?delete this.h[a]:this.h[a]=q(this.h[a]||{},b)}},e.prototype.setUser=e.prototype.setUserContext,e.prototype.setReleaseContext=e.prototype.setRelease,b.exports=e},{1:1,2:2,3:3,6:6,7:7}],5:[function(a,b,c){"use strict";var d=a(4),e=window.Raven,f=new d;f.noConflict=function(){return window.Raven=e,f},f.afterLoad(),b.exports=f},{4:4}],6:[function(a,b,c){"use strict";function d(a){return void 0===a}function e(a){return"function"==typeof a}function f(a){return"[object String]"===u.toString.call(a)}function g(a){return"object"==typeof a&&null!==a}function h(a){for(var b in a)return!1;return!0}function i(a){var b=u.toString.call(a);return g(a)&&"[object Error]"===b||"[object Exception]"===b||a instanceof Error}function j(a,b){var c,e;if(d(a.length))for(c in a)m(a,c)&&b.call(null,c,a[c]);else if(e=a.length)for(c=0;e>c;c++)b.call(null,c,a[c])}function k(a,b){return b?(j(b,function(b,c){a[b]=c}),a):a}function l(a,b){return!b||b>=a.length?a:a.substr(0,b)+"…"}function m(a,b){return u.hasOwnProperty.call(a,b)}function n(a){for(var b,c=[],d=0,e=a.length;e>d;d++)b=a[d],f(b)?c.push(b.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):b&&b.source&&c.push(b.source);return new RegExp(c.join("|"),"i")}function o(a){var b=[];return j(a,function(a,c){b.push(encodeURIComponent(a)+"="+encodeURIComponent(c))}),b.join("&")}function p(a){var b=a.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!b)return{};var c=b[6]||"",d=b[8]||"";return{protocol:b[2],host:b[4],path:b[5],relative:b[5]+c+d}}function q(){var a=window.crypto||window.msCrypto;if(!d(a)&&a.getRandomValues){var b=new Uint16Array(8);a.getRandomValues(b),b[3]=4095&b[3]|16384,b[4]=16383&b[4]|32768;var c=function(a){for(var b=a.toString(16);4>b.length;)b="0"+b;return b};return c(b[0])+c(b[1])+c(b[2])+c(b[3])+c(b[4])+c(b[5])+c(b[6])+c(b[7])}return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0,c="x"===a?b:3&b|8;return c.toString(16)})}function r(a){for(var b,c=5,d=80,e=[],f=0,g=0,h=" > ",i=h.length;a&&f++<c&&(b=s(a),!("html"===b||f>1&&g+e.length*i+b.length>=d));)e.push(b),g+=b.length,a=a.parentNode;return e.reverse().join(h)}function s(a){var b,c,d,e,g,h=[];if(!a||!a.tagName)return"";if(h.push(a.tagName.toLowerCase()),a.id&&h.push("#"+a.id),b=a.className,b&&f(b))for(c=b.split(" "),g=0;c.length>g;g++)h.push("."+c[g]);var i=["type","name","title","alt"];for(g=0;i.length>g;g++)d=i[g],e=a.getAttribute(d),e&&h.push("["+d+'="'+e+'"]');return h.join("")}function t(a,b,c,d){var e=a[b];a[b]=c(e),d&&d.push([a,b,e])}var u=Object.prototype;b.exports={isUndefined:d,isFunction:e,isString:f,isObject:g,isEmptyObject:h,isError:i,each:j,objectMerge:k,truncate:l,hasKey:m,joinRegExp:n,urlencode:o,uuid4:q,htmlTreeAsString:r,htmlElementAsString:s,parseUrl:p,fill:t}},{}],7:[function(a,b,c){"use strict";function d(){return"undefined"==typeof document?"":document.location.href}var e=a(6),f=e.hasKey,g=e.isString,h=e.isUndefined,i={collectWindowErrors:!0,debug:!1},j=[].slice,k="?",l=/^(?:Uncaught (?:exception: )?)?((?:Eval|Internal|Range|Reference|Syntax|Type|URI)Error): ?(.*)$/;i.report=function(){function a(a){m(),s.push(a)}function b(a){for(var b=s.length-1;b>=0;--b)s[b]===a&&s.splice(b,1)}function c(){n(),s=[]}function e(a,b){var c=null;if(!b||i.collectWindowErrors){for(var d in s)if(f(s,d))try{s[d].apply(null,[a].concat(j.call(arguments,2)))}catch(e){c=e}if(c)throw c}}function h(a,b,c,f,h){var j=null;if(v)i.computeStackTrace.augmentStackTraceWithInitialElement(v,b,c,a),o();else if(h)j=i.computeStackTrace(h),e(j,!0);else{var m,n={url:b,line:c,column:f},p=void 0,r=a;if(g(a)){var m=a.match(l);m&&(p=m[1],r=m[2])}n.func=k,j={name:p,message:r,url:d(),stack:[n]},e(j,!0)}return q?q.apply(this,arguments):!1}function m(){r||(q=window.onerror,window.onerror=h,r=!0)}function n(){r&&(window.onerror=q,r=!1,q=void 0)}function o(){var a=v,b=t;t=null,v=null,u=null,e.apply(null,[a,!1].concat(b))}function p(a,b){var c=j.call(arguments,1);if(v){if(u===a)return;o()}var d=i.computeStackTrace(a);if(v=d,u=a,t=c,window.setTimeout(function(){u===a&&o()},d.incomplete?2e3:0),b!==!1)throw a}var q,r,s=[],t=null,u=null,v=null;return p.subscribe=a,p.unsubscribe=b,p.uninstall=c,p}(),i.computeStackTrace=function(){function a(a){if(!h(a.stack)&&a.stack){for(var b,c,e=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|<anonymous>).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,f=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|\[native).*?)(?::(\d+))?(?::(\d+))?\s*$/i,g=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,i=a.stack.split("\n"),j=[],l=(/^(.*) is undefined$/.exec(a.message),0),m=i.length;m>l;++l){if(b=e.exec(i[l])){var n=b[2]&&-1!==b[2].indexOf("native");c={url:n?null:b[2],func:b[1]||k,args:n?[b[2]]:[],line:b[3]?+b[3]:null,column:b[4]?+b[4]:null}}else if(b=g.exec(i[l]))c={url:b[2],func:b[1]||k,args:[],line:+b[3],column:b[4]?+b[4]:null};else{if(!(b=f.exec(i[l])))continue;c={url:b[3],func:b[1]||k,args:b[2]?b[2].split(","):[],line:b[4]?+b[4]:null,column:b[5]?+b[5]:null}}!c.func&&c.line&&(c.func=k),j.push(c)}return j.length?(j[0].column||h(a.columnNumber)||(j[0].column=a.columnNumber+1),{name:a.name,message:a.message,url:d(),stack:j}):null}}function b(a){var b=a.stacktrace;if(!h(a.stacktrace)&&a.stacktrace){for(var c,e=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,f=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,g=b.split("\n"),i=[],j=0;g.length>j;j+=2){var l=null;(c=e.exec(g[j]))?l={url:c[2],line:+c[1],column:null,func:c[3],args:[]}:(c=f.exec(g[j]))&&(l={url:c[6],line:+c[1],column:+c[2],func:c[3]||c[4],args:c[5]?c[5].split(","):[]}),l&&(!l.func&&l.line&&(l.func=k),i.push(l))}return i.length?{name:a.name,message:a.message,url:d(),stack:i}:null}}function c(a){var b=a.message.split("\n");if(4>b.length)return null;for(var c,e=/^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,f=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,g=/^\s*Line (\d+) of function script\s*$/i,h=[],i=(document.getElementsByTagName("script"),2);b.length>i;i+=2){var j=null;if(c=e.exec(b[i]))j={url:c[2],func:c[3],args:[],line:+c[1],column:null};else if(c=f.exec(b[i])){j={url:c[3],func:c[4],args:[],line:+c[1],column:null}}else if(c=g.exec(b[i])){var l=window.location.href.replace(/#.*$/,"");j={url:l,func:"",args:[],line:c[1],column:null}}j&&(j.func||(j.func=k),h.push(j))}return h.length?{name:a.name,message:b[0],url:d(),stack:h}:null}function e(a,b,c,d){var e={url:b,line:c};if(e.url&&e.line){if(a.incomplete=!1,e.func||(e.func=k),a.stack.length>0&&a.stack[0].url===e.url){if(a.stack[0].line===e.line)return!1;if(!a.stack[0].line&&a.stack[0].func===e.func)return a.stack[0].line=e.line,!1}return a.stack.unshift(e),a.partial=!0,!0}return a.incomplete=!0,!1}function f(a,b){for(var c,h,j=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,l=[],m={},n=!1,o=f.caller;o&&!n;o=o.caller)if(o!==g&&o!==i.report){if(h={url:null,func:k,line:null,column:null},o.name?h.func=o.name:(c=j.exec(o.toString()))&&(h.func=c[1]),"undefined"==typeof h.func)try{h.func=c.input.substring(0,c.input.indexOf("{"))}catch(p){}m[""+o]?n=!0:m[""+o]=!0,l.push(h)}b&&l.splice(0,b);var q={name:a.name,message:a.message,url:d(),stack:l};return e(q,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),q}function g(e,g){var h=null;g=null==g?0:+g;try{if(h=b(e))return h}catch(j){if(i.debug)throw j}try{if(h=a(e))return h}catch(j){if(i.debug)throw j}try{if(h=c(e))return h}catch(j){if(i.debug)throw j}try{if(h=f(e,g+1))return h}catch(j){if(i.debug)throw j}return{name:e.name,message:e.message,url:d()}}return g.augmentStackTraceWithInitialElement=e,g.computeStackTraceFromStackProp=a,g}(),b.exports=i},{6:6}]},{},[5])(5)}); | ||
//# sourceMappingURL=raven.min.js.map |
{ | ||
"@dist/raven.js": { | ||
"hashes": { | ||
"sha256": "Rheia/eYhjZUCvaSKwK9BYfWSBhA3i2VD9aleTwdh48=", | ||
"sha512": "LveFv8BWO8kKj9fXm/PtKlscTLt2L/pVdXZs9mlPXs6BtpU4wPmOZaor+KYnztYCPGMV/ScdolhTSZDXx7IP0g==" | ||
"sha256": "gYS09eseknpRK6X4Kue9Y61yaxLkDrQRbYz9Fx06pYI=", | ||
"sha512": "vio21BavZ9HqTZ3/ip3C5B5kSprPF092jh8lOMWP9l5kAuUKkgaStFad6DE8IXF2JwVKjjLFNumQG5l8bGcztA==" | ||
}, | ||
"type": null, | ||
"integrity": "sha256-Rheia/eYhjZUCvaSKwK9BYfWSBhA3i2VD9aleTwdh48= sha512-LveFv8BWO8kKj9fXm/PtKlscTLt2L/pVdXZs9mlPXs6BtpU4wPmOZaor+KYnztYCPGMV/ScdolhTSZDXx7IP0g==", | ||
"integrity": "sha256-gYS09eseknpRK6X4Kue9Y61yaxLkDrQRbYz9Fx06pYI= sha512-vio21BavZ9HqTZ3/ip3C5B5kSprPF092jh8lOMWP9l5kAuUKkgaStFad6DE8IXF2JwVKjjLFNumQG5l8bGcztA==", | ||
"path": "dist/raven.js" | ||
@@ -13,9 +13,9 @@ }, | ||
"hashes": { | ||
"sha256": "DcSOaOnJG0Y/B7DwqDZRjgMprGgUZJ3FnnV+kpWwIRM=", | ||
"sha512": "Olaakub9v7be7qS5eNiIp7lq7R/LznsT4ps6UNS5oISmrcRM+x3Ns68t+/cU+OuaaQrXmC0F5T2GFFGqS+A1VQ==" | ||
"sha256": "QP4ST/YcNDgM1Z7cHpcC6Jkd6mRqkOFIyXrDjYF025k=", | ||
"sha512": "mef0s0xPrUB28Rf1WmjIfWeBD2E5Mwwhyg+nDQnhmG7Vd8Yp9z3TUN9Zie0scaFAYYinVNrnhZSPSil9OysE/A==" | ||
}, | ||
"type": null, | ||
"integrity": "sha256-DcSOaOnJG0Y/B7DwqDZRjgMprGgUZJ3FnnV+kpWwIRM= sha512-Olaakub9v7be7qS5eNiIp7lq7R/LznsT4ps6UNS5oISmrcRM+x3Ns68t+/cU+OuaaQrXmC0F5T2GFFGqS+A1VQ==", | ||
"integrity": "sha256-QP4ST/YcNDgM1Z7cHpcC6Jkd6mRqkOFIyXrDjYF025k= sha512-mef0s0xPrUB28Rf1WmjIfWeBD2E5Mwwhyg+nDQnhmG7Vd8Yp9z3TUN9Zie0scaFAYYinVNrnhZSPSil9OysE/A==", | ||
"path": "dist/raven.min.js" | ||
} | ||
} |
@@ -49,2 +49,8 @@ function foo() { | ||
function testSynthetic() { | ||
Raven.captureMessage('synthetic', { | ||
stacktrace: true | ||
}); | ||
} | ||
function blobExample() { | ||
@@ -51,0 +57,0 @@ var xhr = new XMLHttpRequest(); |
@@ -135,3 +135,3 @@ 'use strict'; | ||
browserifyOptions: { | ||
debug: true // source maps | ||
debug: false// source maps | ||
}, | ||
@@ -138,0 +138,0 @@ ignore: ['react-native'], |
{ | ||
"name": "raven-js", | ||
"version": "3.5.1", | ||
"version": "3.6.0", | ||
"license": "BSD-2-Clause", | ||
@@ -5,0 +5,0 @@ "homepage": "https://github.com/getsentry/raven-js", |
# Raven.js [![Build Status](https://travis-ci.org/getsentry/raven-js.svg?branch=master)](https://travis-ci.org/getsentry/raven-js) | ||
Raven.js is the official browser JavaScript client for [Sentry](https://getsentry.com/). | ||
Raven.js is the official browser JavaScript client for [Sentry](https://sentry.io/). | ||
@@ -10,5 +10,5 @@ **Raven.js v2.0 requires Sentry v8.0.0 or later.** | ||
* [Download](http://ravenjs.com) | ||
* [Documentation](https://docs.getsentry.com/hosted/clients/javascript/) | ||
* [Documentation](https://docs.sentry.io/hosted/clients/javascript/) | ||
* [Bug Tracker](https://github.com/getsentry/raven-js/issues) | ||
* [IRC](irc://chat.freenode.net/sentry) (chat.freenode.net, #sentry) | ||
* Follow [@mattrobenolt](https://twitter.com/mattrobenolt) on Twitter for updates |
125
src/raven.js
@@ -92,3 +92,3 @@ /*global XDomainRequest:false*/ | ||
// See: https://github.com/getsentry/raven-js/issues/465 | ||
VERSION: '3.5.1', | ||
VERSION: '3.6.0', | ||
@@ -127,8 +127,4 @@ debug: false, | ||
var uri = this._parseDSN(dsn), | ||
lastSlash = uri.path.lastIndexOf('/'), | ||
path = uri.path.substr(1, lastSlash); | ||
this.setDSN(dsn); | ||
this._dsn = dsn; | ||
// "Script error." is hard coded into browsers for errors that it can't read. | ||
@@ -161,11 +157,2 @@ // this is the result of a script being pulled in from an external domain and CORS. | ||
this._globalKey = uri.user; | ||
this._globalSecret = uri.pass && uri.pass.substr(1); | ||
this._globalProject = uri.path.substr(lastSlash + 1); | ||
this._globalServer = this._getGlobalServer(uri); | ||
this._globalEndpoint = this._globalServer + | ||
'/' + path + 'api/' + this._globalProject + '/store/'; | ||
TraceKit.collectWindowErrors = !!this._globalOptions.collectWindowErrors; | ||
@@ -206,2 +193,23 @@ | ||
/* | ||
* Set the DSN (can be called multiple time unlike config) | ||
* | ||
* @param {string} dsn The public Sentry DSN | ||
*/ | ||
setDSN: function(dsn) { | ||
var uri = this._parseDSN(dsn), | ||
lastSlash = uri.path.lastIndexOf('/'), | ||
path = uri.path.substr(1, lastSlash); | ||
this._dsn = dsn; | ||
this._globalKey = uri.user; | ||
this._globalSecret = uri.pass && uri.pass.substr(1); | ||
this._globalProject = uri.path.substr(lastSlash + 1); | ||
this._globalServer = this._getGlobalServer(uri); | ||
this._globalEndpoint = this._globalServer + | ||
'/' + path + 'api/' + this._globalProject + '/store/'; | ||
}, | ||
/* | ||
* Wrap code within a context so Raven can capture errors | ||
@@ -332,3 +340,8 @@ * reliably across domains that is executed immediately. | ||
// If not an Error is passed through, recall as a message instead | ||
if (!isError(ex)) return this.captureMessage(ex, options); | ||
if (!isError(ex)) { | ||
return this.captureMessage(ex, objectMerge({ | ||
trimHeadFrames: 1, | ||
stacktrace: true // if we fall back to captureMessage, default to attempting a new trace | ||
}, options)); | ||
} | ||
@@ -370,8 +383,37 @@ // Store the raw exception object for potential debugging and introspection | ||
var data = objectMerge({ | ||
message: msg + '' // Make sure it's actually a string | ||
}, options); | ||
if (options && options.stacktrace) { | ||
var ex; | ||
// create a stack trace from this point; just trim | ||
// off extra frames so they don't include this function call (or | ||
// earlier Raven.js library fn calls) | ||
try { | ||
throw new Error(msg); | ||
} catch (ex1) { | ||
ex = ex1; | ||
} | ||
// null exception name so `Error` isn't prefixed to msg | ||
ex.name = null; | ||
options = objectMerge({ | ||
// fingerprint on msg, not stack trace (legacy behavior, could be | ||
// revisited) | ||
fingerprint: msg, | ||
trimHeadFrames: (options.trimHeadFrames || 0) + 1 | ||
}, options); | ||
var stack = TraceKit.computeStackTrace(ex); | ||
var frames = this._prepareFrames(stack, options); | ||
data.stacktrace = { | ||
// Sentry expects frames oldest to newest | ||
frames: frames.reverse() | ||
} | ||
} | ||
// Fire away! | ||
this._send( | ||
objectMerge({ | ||
message: msg + '' // Make sure it's actually a string | ||
}, options) | ||
); | ||
this._send(data); | ||
@@ -390,2 +432,3 @@ return this; | ||
} | ||
return this; | ||
}, | ||
@@ -1075,14 +1118,4 @@ | ||
_handleStackInfo: function(stackInfo, options) { | ||
var self = this; | ||
var frames = []; | ||
var frames = this._prepareFrames(stackInfo, options); | ||
if (stackInfo.stack && stackInfo.stack.length) { | ||
each(stackInfo.stack, function(i, stack) { | ||
var frame = self._normalizeFrame(stack); | ||
if (frame) { | ||
frames.push(frame); | ||
} | ||
}); | ||
} | ||
this._triggerEvent('handle', { | ||
@@ -1098,3 +1131,3 @@ stackInfo: stackInfo, | ||
stackInfo.lineno, | ||
frames.slice(0, this._globalOptions.stackTraceLimit), | ||
frames, | ||
options | ||
@@ -1104,2 +1137,27 @@ ); | ||
_prepareFrames: function(stackInfo, options) { | ||
var self = this; | ||
var frames = []; | ||
if (stackInfo.stack && stackInfo.stack.length) { | ||
each(stackInfo.stack, function(i, stack) { | ||
var frame = self._normalizeFrame(stack); | ||
if (frame) { | ||
frames.push(frame); | ||
} | ||
}); | ||
// e.g. frames captured via captureMessage throw | ||
if (options && options.trimHeadFrames) { | ||
for (var j = 0; j < options.trimHeadFrames && j < frames.length; j++) { | ||
frames[j].in_app = false; | ||
} | ||
// ... delete to prevent from appearing in outbound payload | ||
delete options.trimHeadFrames; | ||
} | ||
} | ||
frames = frames.slice(0, this._globalOptions.stackTraceLimit); | ||
return frames; | ||
}, | ||
_normalizeFrame: function(frame) { | ||
@@ -1130,3 +1188,2 @@ if (!frame.url) return; | ||
var stacktrace; | ||
if (!!this._globalOptions.ignoreErrors.test && this._globalOptions.ignoreErrors.test(message)) return; | ||
@@ -1133,0 +1190,0 @@ |
import Raven = require('..'); | ||
Raven.config('https://public@getsentry.com/1').install(); | ||
Raven.config('https://public@sentry.io/1').install(); | ||
@@ -17,3 +17,3 @@ var options = { | ||
/https?:\/\/(www\.)?getsentry\.com/, | ||
'https://www.getsentry.com' | ||
'https://www.sentry.io' | ||
], | ||
@@ -26,3 +26,3 @@ whitelistUrls: [ | ||
Raven.config('https://public@getsentry.com/1', options).install(); | ||
Raven.config('https://public@sentry.io/1', options).install(); | ||
@@ -51,5 +51,15 @@ var throwsError = () => { | ||
Raven.setExtraContext({foo: 'bar'}); | ||
Raven.setTagsContext({env: 'prod'}); | ||
Raven.clearContext(); | ||
var obj:Object = Raven.getContext(); | ||
var err:Error = Raven.lastException(); | ||
Raven.captureMessage('Broken!'); | ||
Raven.captureMessage('Broken!', {tags: { key: "value" }}); | ||
Raven.captureBreadcrumb({}); | ||
Raven.setRelease('abc123'); | ||
Raven.setEnvironment('production'); | ||
Raven.setDataCallback(function (data) {}); | ||
@@ -59,1 +69,5 @@ Raven.setDataCallback(function (data, original) {}); | ||
Raven.setShouldSendCallback(function (data, original) {}); | ||
Raven.showReportDialog({ | ||
eventId: 'abcdef123456' | ||
}); |
@@ -157,2 +157,5 @@ // Type definitions for Raven.js | ||
/** Log a breadcrumb */ | ||
captureBreadcrumb(crumb: Object): RavenStatic; | ||
/** | ||
@@ -175,5 +178,26 @@ * Clear the user context, removing the user data that would be sent to Sentry. | ||
/** Merge extra attributes to be sent along with the payload. */ | ||
setExtraContext(context: Object): RavenStatic; | ||
/** Merge tags to be sent along with the payload. */ | ||
setTagsContext(tags: Object): RavenStatic; | ||
/** Clear all of the context. */ | ||
clearContext(): RavenStatic; | ||
/** Get a copy of the current context. This cannot be mutated.*/ | ||
getContext(): Object; | ||
/** Override the default HTTP data transport handler. */ | ||
setTransport(transportFunction: (options: RavenTransportOptions) => void): RavenStatic; | ||
/** Set environment of application */ | ||
setEnvironment(environment: string): RavenStatic; | ||
/** Set release version of application */ | ||
setRelease(release: string): RavenStatic; | ||
/** Get the latest raw exception that was captured by Raven.*/ | ||
lastException(): Error; | ||
/** An event id is a globally unique id for the event that was just sent. This event id can be used to find the exact event from within Sentry. */ | ||
@@ -190,2 +214,5 @@ lastEventId(): string; | ||
setShouldSendCallback(data: any, orig?: any): RavenStatic; | ||
/** Show Sentry user feedback dialog */ | ||
showReportDialog(options: Object); | ||
} | ||
@@ -192,0 +219,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
633829
10082