diff --git a/packages/core/src/baseclient.ts b/packages/core/src/baseclient.ts index d24a168614de..aa292e44cf33 100644 --- a/packages/core/src/baseclient.ts +++ b/packages/core/src/baseclient.ts @@ -100,9 +100,6 @@ export abstract class BaseClient implements Client { /** Array of set up integrations. */ protected _integrations: IntegrationIndex; - /** Indicates whether this client's integrations have been set up. */ - protected _integrationsInitialized: boolean; - /** Number of calls being processed */ protected _numProcessing: number; @@ -122,7 +119,6 @@ export abstract class BaseClient implements Client { protected constructor(options: O) { this._options = options; this._integrations = {}; - this._integrationsInitialized = false; this._numProcessing = 0; this._outcomes = {}; this._hooks = {}; @@ -303,16 +299,6 @@ export abstract class BaseClient implements Client { this._eventProcessors.push(eventProcessor); } - /** - * This is an internal function to setup all integrations that should run on the client. - * @deprecated Use `client.init()` instead. - */ - public setupIntegrations(forceInitialize?: boolean): void { - if ((forceInitialize && !this._integrationsInitialized) || (this._isEnabled() && !this._integrationsInitialized)) { - this._setupIntegrations(); - } - } - /** @inheritdoc */ public init(): void { if (this._isEnabled()) { @@ -533,9 +519,6 @@ export abstract class BaseClient implements Client { const { integrations } = this._options; this._integrations = setupIntegrations(this, integrations); afterSetupIntegrations(this, integrations); - - // TODO v8: We don't need this flag anymore - this._integrationsInitialized = true; } /** Updates existing session based on the provided event */ diff --git a/packages/core/src/hub.ts b/packages/core/src/hub.ts index 98c4f1f70b6a..39e9f7de1ec1 100644 --- a/packages/core/src/hub.ts +++ b/packages/core/src/hub.ts @@ -165,10 +165,8 @@ export class Hub implements HubInterface { const top = this.getStackTop(); top.client = client; top.scope.setClient(client); - // eslint-disable-next-line deprecation/deprecation - if (client && client.setupIntegrations) { - // eslint-disable-next-line deprecation/deprecation - client.setupIntegrations(); + if (client) { + client.init(); } } diff --git a/packages/core/test/lib/base.test.ts b/packages/core/test/lib/base.test.ts index 6be7b6e097a2..0f789e2da169 100644 --- a/packages/core/test/lib/base.test.ts +++ b/packages/core/test/lib/base.test.ts @@ -1471,18 +1471,6 @@ describe('BaseClient', () => { global.__SENTRY__ = {}; }); - test('sets up each integration on `setupIntegrations` call', () => { - expect.assertions(2); - - const options = getDefaultTestClientOptions({ dsn: PUBLIC_DSN, integrations: [new TestIntegration()] }); - const client = new TestClient(options); - // eslint-disable-next-line deprecation/deprecation - client.setupIntegrations(); - - expect(Object.keys((client as any)._integrations).length).toEqual(1); - expect(client.getIntegrationByName(TestIntegration.id)).toBeTruthy(); - }); - test('sets up each integration on `init` call', () => { expect.assertions(2); @@ -1494,18 +1482,6 @@ describe('BaseClient', () => { expect(client.getIntegrationByName(TestIntegration.id)).toBeTruthy(); }); - test('skips installation for `setupIntegrations()` if DSN is not provided', () => { - expect.assertions(2); - - const options = getDefaultTestClientOptions({ integrations: [new TestIntegration()] }); - const client = new TestClient(options); - // eslint-disable-next-line deprecation/deprecation - client.setupIntegrations(); - - expect(Object.keys((client as any)._integrations).length).toEqual(0); - expect(client.getIntegrationByName(TestIntegration.id)).toBeFalsy(); - }); - test('skips installation for `init()` if DSN is not provided', () => { expect.assertions(2); @@ -1517,22 +1493,6 @@ describe('BaseClient', () => { expect(client.getIntegrationByName(TestIntegration.id)).toBeFalsy(); }); - test('skips installation for `setupIntegrations()` if `enabled` is set to `false`', () => { - expect.assertions(2); - - const options = getDefaultTestClientOptions({ - dsn: PUBLIC_DSN, - enabled: false, - integrations: [new TestIntegration()], - }); - const client = new TestClient(options); - // eslint-disable-next-line deprecation/deprecation - client.setupIntegrations(); - - expect(Object.keys((client as any)._integrations).length).toEqual(0); - expect(client.getIntegrationByName(TestIntegration.id)).toBeFalsy(); - }); - test('skips installation for `init()` if `enabled` is set to `false`', () => { expect.assertions(2); @@ -1548,29 +1508,6 @@ describe('BaseClient', () => { expect(client.getIntegrationByName(TestIntegration.id)).toBeFalsy(); }); - test('skips installation if integrations are already installed', () => { - expect.assertions(4); - - const options = getDefaultTestClientOptions({ dsn: PUBLIC_DSN, integrations: [new TestIntegration()] }); - const client = new TestClient(options); - // note: not the `Client` method `setupIntegrations`, but the free-standing function which that method calls - const setupIntegrationsHelper = jest.spyOn(integrationModule, 'setupIntegrations'); - - // it should install the first time, because integrations aren't yet installed... - // eslint-disable-next-line deprecation/deprecation - client.setupIntegrations(); - - expect(Object.keys((client as any)._integrations).length).toEqual(1); - expect(client.getIntegrationByName(TestIntegration.id)).toBeTruthy(); - expect(setupIntegrationsHelper).toHaveBeenCalledTimes(1); - - // ...but it shouldn't try to install a second time - // eslint-disable-next-line deprecation/deprecation - client.setupIntegrations(); - - expect(setupIntegrationsHelper).toHaveBeenCalledTimes(1); - }); - test('does not add integrations twice when calling `init` multiple times', () => { const options = getDefaultTestClientOptions({ dsn: PUBLIC_DSN, integrations: [new TestIntegration()] }); const client = new TestClient(options); diff --git a/packages/types/src/client.ts b/packages/types/src/client.ts index 6be08e8652e1..a42845813246 100644 --- a/packages/types/src/client.ts +++ b/packages/types/src/client.ts @@ -139,12 +139,6 @@ export interface Client { * */ addIntegration(integration: Integration): void; - /** - * This is an internal function to setup all integrations that should run on the client. - * @deprecated Use `client.init()` instead. - */ - setupIntegrations(forceInitialize?: boolean): void; - /** * Initialize this client. * Call this after the client was set on a scope.