Skip to content

[v8] Get rid of Sentry.Integrations hash in favor of top-level exports #8844

Closed
@mydea

Description

@mydea

Having integrations be grouped under Sentry.Integrations in a hash means they cannot be treeshaken - as soon as the hash is accessed, all integrations will be bundled.

Because of this, we already just export Replay and BrowserTracing directly, not from there.

For v8, I propose we get rid of this totally and export all integrations from the root of the packages. We should also export the pluggable integrations (see #8842) from there.

### Tasks
- [ ] https://github.com/getsentry/sentry-javascript/pull/10814
- [ ] https://github.com/getsentry/sentry-javascript/pull/10558
- [ ] https://github.com/getsentry/sentry-javascript/pull/10562
- [ ] https://github.com/getsentry/sentry-javascript/pull/10653
- [ ] https://github.com/getsentry/sentry-javascript/pull/10887
- [ ] https://github.com/getsentry/sentry-javascript/pull/11129
- [ ] https://github.com/getsentry/sentry-javascript/pull/11132
- [ ] https://github.com/getsentry/sentry-javascript/pull/11134
- [ ] https://github.com/getsentry/sentry-javascript/pull/11182
- [ ] https://github.com/getsentry/sentry-javascript/pull/11345

Open question

Should we export integrations as XXXIntegration, e.g. DedupeIntegration, HttpClientIntegration? Or just as Debug etc? The former is shorter/easier, but may be a bit ambiguous in some cases.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions