diff --git a/packages/browser/rollup.config.js b/packages/browser/rollup.config.js index 5659005ca703..5ff9a761fa38 100644 --- a/packages/browser/rollup.config.js +++ b/packages/browser/rollup.config.js @@ -54,6 +54,7 @@ const bundleConfig = { format: 'iife', name: 'Sentry', sourcemap: true, + strict: false, }, context: 'window', plugins: [ diff --git a/packages/browser/src/tracekit.ts b/packages/browser/src/tracekit.ts index 2ec6616293f2..a3e5132db1ac 100644 --- a/packages/browser/src/tracekit.ts +++ b/packages/browser/src/tracekit.ts @@ -1,6 +1,6 @@ // tslint:disable -import { getGlobalObject, isError, isErrorEvent } from '@sentry/utils'; +import { getGlobalObject, isError, isErrorEvent, normalize } from '@sentry/utils'; /** * @hidden @@ -274,6 +274,9 @@ TraceKit._report = (function reportModuleWrapper() { var err = (e && (e.detail ? e.detail.reason : e.reason)) || e; var stack = TraceKit._computeStackTrace(err); stack.mechanism = 'onunhandledrejection'; + if (!stack.message) { + stack.message = JSON.stringify(normalize(err)) + } _notifyHandlers(stack, true, err); } diff --git a/packages/browser/test/integration/test.js b/packages/browser/test/integration/test.js index 51416ce9ee85..20a0923fa394 100644 --- a/packages/browser/test/integration/test.js +++ b/packages/browser/test/integration/test.js @@ -667,9 +667,9 @@ for (var idx in frames) { }, function(sentryData) { if (debounceAssertEventCount(sentryData, 1, done)) { + // non-error rejections doesnt provide stacktraces so we can skip the assertion assert.equal(sentryData[0].exception.values[0].value, '"test"'); assert.equal(sentryData[0].exception.values[0].type, 'UnhandledRejection'); - assert.equal(sentryData[0].exception.values[0].stacktrace, undefined); assert.equal(sentryData[0].exception.values[0].mechanism.handled, false); assert.equal(sentryData[0].exception.values[0].mechanism.type, 'onunhandledrejection'); done(); @@ -696,9 +696,9 @@ for (var idx in frames) { }, function(sentryData) { if (debounceAssertEventCount(sentryData, 1, done)) { - assert.isAtMost(sentryData[0].exception.values[0].value.length, 303); + // non-error rejections doesnt provide stacktraces so we can skip the assertion + assert.equal(sentryData[0].exception.values[0].value.length, 253); assert.equal(sentryData[0].exception.values[0].type, 'UnhandledRejection'); - assert.equal(sentryData[0].exception.values[0].stacktrace, undefined); assert.equal(sentryData[0].exception.values[0].mechanism.handled, false); assert.equal(sentryData[0].exception.values[0].mechanism.type, 'onunhandledrejection'); done(); @@ -725,9 +725,9 @@ for (var idx in frames) { }, function(sentryData) { if (debounceAssertEventCount(sentryData, 1, done)) { + // non-error rejections doesnt provide stacktraces so we can skip the assertion assert.equal(sentryData[0].exception.values[0].value, '{"a":"b"}'); assert.equal(sentryData[0].exception.values[0].type, 'UnhandledRejection'); - assert.equal(sentryData[0].exception.values[0].stacktrace, undefined); assert.equal(sentryData[0].exception.values[0].mechanism.handled, false); assert.equal(sentryData[0].exception.values[0].mechanism.type, 'onunhandledrejection'); done(); @@ -761,9 +761,9 @@ for (var idx in frames) { }, function(sentryData) { if (debounceAssertEventCount(sentryData, 1, done)) { - assert.isAtMost(sentryData[0].exception.values[0].value.length, 303); + // non-error rejections doesnt provide stacktraces so we can skip the assertion + assert.equal(sentryData[0].exception.values[0].value.length, 253); assert.equal(sentryData[0].exception.values[0].type, 'UnhandledRejection'); - assert.equal(sentryData[0].exception.values[0].stacktrace, undefined); assert.equal(sentryData[0].exception.values[0].mechanism.handled, false); assert.equal(sentryData[0].exception.values[0].mechanism.type, 'onunhandledrejection'); done(); diff --git a/packages/integrations/rollup.config.js b/packages/integrations/rollup.config.js index eb75c68ce42c..b6ce941d39fc 100644 --- a/packages/integrations/rollup.config.js +++ b/packages/integrations/rollup.config.js @@ -76,6 +76,7 @@ function loadAllIntegrations() { file: `build/${file.replace('.ts', build.extension)}`, format: 'cjs', sourcemap: true, + strict: false, }, plugins: build.plugins, })), diff --git a/packages/typescript/tsconfig.json b/packages/typescript/tsconfig.json index 5ffaa48bcbad..0c848a656746 100644 --- a/packages/typescript/tsconfig.json +++ b/packages/typescript/tsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { + "alwaysStrict": false, "declaration": true, "declarationMap": true, "downlevelIteration": true, @@ -12,6 +13,7 @@ "noFallthroughCasesInSwitch": true, "noImplicitAny": true, "noImplicitReturns": true, + "noImplicitUseStrict": true, "noImplicitThis": true, "noUnusedLocals": true, "noUnusedParameters": true,