Description
Description
Today, it is rather annoying to opt-out of individual default integrations. You have to do something like this:
Sentry.init({
integrations: (integrations) => integrations.filter(integration => intergation.name !== 'InboundFilters')
});
This becomes even more annoying when you also want to add pluggable intergations, as then instead of this: integrations: [Sentry.replayIntegration()]
you suddenly have to do this:
Sentry.init({
integrations: (integrations) => {
integrations.push(Sentry.replayIntegration);
return integrations.filter(integration => intergation.name !== 'InboundFilters');
}
});
which really does not feel ideal.
I propose to add a new way to disable individual default integrations, similar to how https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node does this:
You can fully opt-out of default integrations via defaultIntegrations: false
. In addition to this, we can allow users to pass an object, which allows to disable individual keys:
Sentry.init({
defaultIntegrations: {
'InboundFilters': false,
'GlobalHandlers': false
},
// you can then continue to add integrations as normally
integrations: [Sentry.replayIntegration()]
});
This would be backwards compatible, but simply be a new and easier way to solve this problem.