11// Very happy integration that'll prepend and append very happy stick figure to the message
22class HappyIntegration {
33 constructor ( ) {
4- this . name = " HappyIntegration" ;
4+ this . name = ' HappyIntegration' ;
55 }
66
77 setupOnce ( ) {
8- Sentry . addGlobalEventProcessor ( async ( event ) => {
8+ Sentry . addGlobalEventProcessor ( async event => {
99 const self = getCurrentHub ( ) . getIntegration ( HappyIntegration ) ;
1010 // Run the integration ONLY when it was installed on the current Hub
1111 if ( self ) {
12- if ( event . message === " Happy Message" ) {
12+ if ( event . message === ' Happy Message' ) {
1313 event . message = `\\o/ ${ event . message } \\o/` ;
1414 }
1515 }
@@ -20,23 +20,26 @@ class HappyIntegration {
2020
2121class HappyTransport extends Sentry . Transports . BaseTransport {
2222 captureEvent ( event ) {
23- console . log ( `This is the place where you'd implement your own sending logic. It'd get url: ${ this . url } and an event itself:` , event ) ;
23+ console . log (
24+ `This is the place where you'd implement your own sending logic. It'd get url: ${ this . url } and an event itself:` ,
25+ event ,
26+ ) ;
2427
2528 return {
26- status : 'success'
27- }
29+ status : 'success' ,
30+ } ;
2831 }
2932}
3033
3134Sentry . init ( {
3235 // Client's DSN.
33- dsn : " https://363a337c11a64611be4845ad6e24f3ac@sentry.io/297378" ,
36+ dsn : ' https://363a337c11a64611be4845ad6e24f3ac@sentry.io/297378' ,
3437 // An array of strings or regexps that'll be used to ignore specific errors based on their type/message
35- ignoreErrors : [ / P i c k l e R i c k _ \d \d / , " RangeError" ] ,
38+ ignoreErrors : [ / P i c k l e R i c k _ \d \d / , ' RangeError' ] ,
3639 // // An array of strings or regexps that'll be used to ignore specific errors based on their origin url
37- blacklistUrls : [ " external-lib.js" ] ,
40+ blacklistUrls : [ ' external-lib.js' ] ,
3841 // // An array of strings or regexps that'll be used to allow specific errors based on their origin url
39- whitelistUrls : [ " http://localhost:5000" , " https://browser.sentry-cdn" ] ,
42+ whitelistUrls : [ ' http://localhost:5000' , ' https://browser.sentry-cdn' ] ,
4043 // // Debug mode with valuable initialization/lifecycle informations.
4144 debug : true ,
4245 // Whether SDK should be enabled or not.
@@ -46,9 +49,9 @@ Sentry.init({
4649 return [ new HappyIntegration ( ) , ...integrations ] ;
4750 } ,
4851 // A release identifier.
49- release : " 1537345109360" ,
52+ release : ' 1537345109360' ,
5053 // An environment identifier.
51- environment : " staging" ,
54+ environment : ' staging' ,
5255 // Custom event transport that will be used to send things to Sentry
5356 transport : HappyTransport ,
5457 // Method called for every captured event
@@ -58,11 +61,11 @@ Sentry.init({
5861 // Our CustomError defined in errors.js has `someMethodAttachedToOurCustomError`
5962 // which can mimick something like a network request to grab more detailed error info or something.
6063 // hint is original exception that was triggered, so we check for our CustomError name
61- if ( hint . originalException . name === " CustomError" ) {
64+ if ( hint . originalException . name === ' CustomError' ) {
6265 const serverData = await hint . originalException . someMethodAttachedToOurCustomError ( ) ;
6366 event . extra = {
6467 ...event . extra ,
65- serverData
68+ serverData,
6669 } ;
6770 }
6871 console . log ( event ) ;
@@ -71,88 +74,88 @@ Sentry.init({
7174 // Method called for every captured breadcrumb
7275 beforeBreadcrumb ( breadcrumb , hint ) {
7376 // We ignore our own logger and rest of the buttons just for presentation purposes
74- if ( breadcrumb . message . startsWith ( " Sentry Logger" ) ) return null ;
75- if ( breadcrumb . category !== " ui.click" || hint . event . target . id !== " breadcrumb-hint" ) return null ;
77+ if ( breadcrumb . message . startsWith ( ' Sentry Logger' ) ) return null ;
78+ if ( breadcrumb . category !== ' ui.click' || hint . event . target . id !== ' breadcrumb-hint' ) return null ;
7679
7780 // If we have a `ui.click` type of breadcrumb, eg. clicking on a button we defined in index.html
7881 // We will extract a `data-label` attribute from it and use it as a part of the message
79- if ( breadcrumb . category === " ui.click" ) {
82+ if ( breadcrumb . category === ' ui.click' ) {
8083 const label = hint . event . target . dataset . label ;
8184 if ( label ) {
8285 breadcrumb . message = `User clicked on a button with label "${ label } "` ;
8386 }
8487 }
8588 console . log ( breadcrumb ) ;
8689 return breadcrumb ;
87- }
90+ } ,
8891} ) ;
8992
9093// Testing code, irrelevant vvvvv
9194
92- document . addEventListener ( " DOMContentLoaded" , ( ) => {
93- document . querySelector ( " #blacklist-url" ) . addEventListener ( " click" , ( ) => {
94- const script = document . createElement ( " script" ) ;
95- script . crossOrigin = " anonymous" ;
95+ document . addEventListener ( ' DOMContentLoaded' , ( ) => {
96+ document . querySelector ( ' #blacklist-url' ) . addEventListener ( ' click' , ( ) => {
97+ const script = document . createElement ( ' script' ) ;
98+ script . crossOrigin = ' anonymous' ;
9699 script . src =
97- " https://rawgit.com/kamilogorek/cfbe9f92196c6c61053b28b2d42e2f5d/raw/3aef6ff5e2fd2ad4a84205cd71e2496a445ebe1d/external-lib.js" ;
100+ ' https://rawgit.com/kamilogorek/cfbe9f92196c6c61053b28b2d42e2f5d/raw/3aef6ff5e2fd2ad4a84205cd71e2496a445ebe1d/external-lib.js' ;
98101 document . body . appendChild ( script ) ;
99102 } ) ;
100103
101- document . querySelector ( " #whitelist-url" ) . addEventListener ( " click" , ( ) => {
102- const script = document . createElement ( " script" ) ;
103- script . crossOrigin = " anonymous" ;
104+ document . querySelector ( ' #whitelist-url' ) . addEventListener ( ' click' , ( ) => {
105+ const script = document . createElement ( ' script' ) ;
106+ script . crossOrigin = ' anonymous' ;
104107 script . src =
105- " https://rawgit.com/kamilogorek/cb67dafbd0e12b782bdcc1fbcaed2b87/raw/3aef6ff5e2fd2ad4a84205cd71e2496a445ebe1d/lib.js" ;
108+ ' https://rawgit.com/kamilogorek/cb67dafbd0e12b782bdcc1fbcaed2b87/raw/3aef6ff5e2fd2ad4a84205cd71e2496a445ebe1d/lib.js' ;
106109 document . body . appendChild ( script ) ;
107110 } ) ;
108111
109- document . querySelector ( " #ignore-message" ) . addEventListener ( " click" , ( ) => {
110- throw new Error ( " Exception that will be ignored because of this keyword => PickleRick_42 <=" ) ;
112+ document . querySelector ( ' #ignore-message' ) . addEventListener ( ' click' , ( ) => {
113+ throw new Error ( ' Exception that will be ignored because of this keyword => PickleRick_42 <=' ) ;
111114 } ) ;
112115
113- document . querySelector ( " #ignore-type" ) . addEventListener ( " click" , ( ) => {
116+ document . querySelector ( ' #ignore-type' ) . addEventListener ( ' click' , ( ) => {
114117 throw new RangeError ( "Exception that will be ignored because of it's type" ) ;
115118 } ) ;
116119
117- document . querySelector ( " #regular-exception" ) . addEventListener ( " click" , ( ) => {
120+ document . querySelector ( ' #regular-exception' ) . addEventListener ( ' click' , ( ) => {
118121 throw new Error ( `Regular exception no. ${ Date . now ( ) } ` ) ;
119122 } ) ;
120123
121- document . querySelector ( " #capture-exception" ) . addEventListener ( " click" , ( ) => {
124+ document . querySelector ( ' #capture-exception' ) . addEventListener ( ' click' , ( ) => {
122125 Sentry . captureException ( new Error ( `captureException call no. ${ Date . now ( ) } ` ) ) ;
123126 } ) ;
124127
125- document . querySelector ( " #capture-message" ) . addEventListener ( " click" , ( ) => {
128+ document . querySelector ( ' #capture-message' ) . addEventListener ( ' click' , ( ) => {
126129 Sentry . captureMessage ( `captureMessage call no. ${ Date . now ( ) } ` ) ;
127130 } ) ;
128131
129- document . querySelector ( " #duplicate-exception" ) . addEventListener ( " click" , ( ) => {
130- Sentry . captureException ( new Error ( " duplicated exception" ) ) ;
132+ document . querySelector ( ' #duplicate-exception' ) . addEventListener ( ' click' , ( ) => {
133+ Sentry . captureException ( new Error ( ' duplicated exception' ) ) ;
131134 } ) ;
132135
133- document . querySelector ( " #duplicate-message" ) . addEventListener ( " click" , ( ) => {
134- Sentry . captureMessage ( " duplicate captureMessage" ) ;
136+ document . querySelector ( ' #duplicate-message' ) . addEventListener ( ' click' , ( ) => {
137+ Sentry . captureMessage ( ' duplicate captureMessage' ) ;
135138 } ) ;
136139
137- document . querySelector ( " #integration-example" ) . addEventListener ( " click" , ( ) => {
138- Sentry . captureMessage ( " Happy Message" ) ;
140+ document . querySelector ( ' #integration-example' ) . addEventListener ( ' click' , ( ) => {
141+ Sentry . captureMessage ( ' Happy Message' ) ;
139142 } ) ;
140143
141- document . querySelector ( " #exception-hint" ) . addEventListener ( " click" , ( ) => {
144+ document . querySelector ( ' #exception-hint' ) . addEventListener ( ' click' , ( ) => {
142145 class CustomError extends Error {
143146 constructor ( ...args ) {
144147 super ( ...args ) ;
145- this . name = " CustomError" ;
148+ this . name = ' CustomError' ;
146149 }
147150 someMethodAttachedToOurCustomError ( ) {
148151 return new Promise ( resolve => {
149- resolve ( " some data, who knows what exactly" ) ;
152+ resolve ( ' some data, who knows what exactly' ) ;
150153 } ) ;
151154 }
152155 }
153156
154- throw new CustomError ( " Hey there" ) ;
157+ throw new CustomError ( ' Hey there' ) ;
155158 } ) ;
156159
157- document . querySelector ( " #breadcrumb-hint" ) . addEventListener ( " click" , ( ) => { } ) ;
160+ document . querySelector ( ' #breadcrumb-hint' ) . addEventListener ( ' click' , ( ) => { } ) ;
158161} ) ;
0 commit comments