getsentry / getsentry/sentry-javascript

Make it easier to opt-out of default integrations

Ouverte
#14,950 0 commentaires 2 réactions 0 personnes assignées Voir sur GitHub
Improvement
Langage dominant
TypeScript
Étoiles
8.7k
Forks
1.8k
Merge moyen
1 j 17 h
PR mergées (30 j)
515

Description

### Description

Today, it is rather annoying to opt-out of individual default integrations. You have to do something like this:

```js
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:

```js
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:

```js
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.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.