Skip to content

Commit 9dc2671

Browse files
committed
Minor refactors and size limit bump
1 parent b74d9d5 commit 9dc2671

File tree

7 files changed

+32
-32
lines changed

7 files changed

+32
-32
lines changed

packages/browser/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"size-limit": [
4444
{
4545
"path": "dist/umd/index.js",
46-
"limit": "27.2 KB"
46+
"limit": "27.3 KB"
4747
}
4848
],
4949
"dependencies": {

packages/browser/src/browser/__tests__/integration.test.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import { PriorityQueue } from '../../lib/priority-queue'
1919
import { getCDN, setGlobalCDNUrl } from '../../lib/parse-cdn'
2020
import { clearAjsBrowserStorage } from '../../test-helpers/browser-storage'
2121
import { ActionDestination } from '@/plugins/remote-loader'
22-
import { LegacyIntegrationBuilder } from '../../plugins/ajs-destination/types'
22+
import { ClassicIntegrationBuilder } from '../../plugins/ajs-destination/types'
2323

2424
// eslint-disable-next-line @typescript-eslint/no-explicit-any
2525
let fetchCalls: Array<any>[] = []
@@ -1049,7 +1049,9 @@ describe('.Integrations', () => {
10491049
const [analytics] = await AnalyticsBrowser.load(
10501050
{
10511051
writeKey,
1052-
classicIntegrations: [amplitude as unknown as LegacyIntegrationBuilder],
1052+
classicIntegrations: [
1053+
amplitude as unknown as ClassicIntegrationBuilder,
1054+
],
10531055
},
10541056
{
10551057
integrations: {
@@ -1077,7 +1079,7 @@ describe('.Integrations', () => {
10771079

10781080
const [analytics] = await AnalyticsBrowser.load({
10791081
writeKey,
1080-
classicIntegrations: [amplitude as unknown as LegacyIntegrationBuilder],
1082+
classicIntegrations: [amplitude as unknown as ClassicIntegrationBuilder],
10811083
})
10821084

10831085
await analytics.ready()

packages/browser/src/browser/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import {
2424
} from '../core/buffer'
2525
import { popSnippetWindowBuffer } from '../core/buffer/snippet'
2626
import { inspectorHost } from '../core/inspector'
27-
import { LegacyIntegrationSource } from '../plugins/ajs-destination/types'
27+
import { ClassicIntegrationSource } from '../plugins/ajs-destination/types'
2828

2929
export interface LegacyIntegrationConfiguration {
3030
/* @deprecated - This does not indicate browser types anymore */
@@ -154,7 +154,7 @@ async function registerPlugins(
154154
opts: InitOptions,
155155
options: InitOptions,
156156
plugins: Plugin[],
157-
legacyIntegrationSources: LegacyIntegrationSource[]
157+
legacyIntegrationSources: ClassicIntegrationSource[]
158158
): Promise<Context> {
159159
const tsubMiddleware = hasTsubMiddleware(legacySettings)
160160
? await import(

packages/browser/src/core/analytics/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import { PersistedPriorityQueue } from '../../lib/priority-queue/persisted'
3030
import type { LegacyDestination } from '../../plugins/ajs-destination'
3131
import type {
3232
LegacyIntegration,
33-
LegacyIntegrationSource,
33+
ClassicIntegrationSource,
3434
} from '../../plugins/ajs-destination/types'
3535
import type {
3636
DestinationMiddlewareFunction,
@@ -61,7 +61,7 @@ export interface AnalyticsSettings {
6161
writeKey: string
6262
timeout?: number
6363
plugins?: Plugin[]
64-
classicIntegrations?: LegacyIntegrationSource[]
64+
classicIntegrations?: ClassicIntegrationSource[]
6565
}
6666

6767
export interface InitOptions {

packages/browser/src/plugins/ajs-destination/index.ts

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import {
2424
resolveVersion,
2525
unloadIntegration,
2626
} from './loader'
27-
import { LegacyIntegration, LegacyIntegrationSource } from './types'
27+
import { LegacyIntegration, ClassicIntegrationSource } from './types'
2828
import { isPlainObject } from '@segment/analytics-core'
2929
import {
3030
isDisabledIntegration as shouldSkipIntegration,
@@ -78,7 +78,7 @@ export class LegacyDestination implements Plugin {
7878
private onInitialize: Promise<unknown> | undefined
7979
private disableAutoISOConversion: boolean
8080

81-
integrationSource?: LegacyIntegrationSource
81+
integrationSource?: ClassicIntegrationSource
8282
integration: LegacyIntegration | undefined
8383

8484
buffer: PriorityQueue<Context>
@@ -89,7 +89,7 @@ export class LegacyDestination implements Plugin {
8989
version: string,
9090
settings: JSONObject = {},
9191
options: InitOptions,
92-
integrationSource?: LegacyIntegrationSource
92+
integrationSource?: ClassicIntegrationSource
9393
) {
9494
this.name = name
9595
this.version = version
@@ -325,7 +325,7 @@ export function ajsDestinations(
325325
globalIntegrations: Integrations = {},
326326
options: InitOptions = {},
327327
routingMiddleware?: DestinationMiddlewareFunction,
328-
legacyIntegrationSources?: LegacyIntegrationSource[]
328+
legacyIntegrationSources?: ClassicIntegrationSource[]
329329
): LegacyDestination[] {
330330
if (isServer()) {
331331
return []
@@ -350,16 +350,14 @@ export function ajsDestinations(
350350
...acc,
351351
[resolveIntegrationNameFromSource(integrationSource)]: integrationSource,
352352
}),
353-
{} as Record<string, LegacyIntegrationSource>
353+
{} as Record<string, ClassicIntegrationSource>
354354
)
355355

356356
const installableIntegrations = new Set([
357357
// Remotely configured installable integrations
358-
...Object.entries(remoteIntegrationsConfig)
359-
.filter(([name, integrationSettings]) =>
360-
isInstallableIntegration(name, integrationSettings)
361-
)
362-
.map(([name]) => name),
358+
...Object.keys(remoteIntegrationsConfig).filter((name) =>
359+
isInstallableIntegration(name, remoteIntegrationsConfig[name])
360+
),
363361

364362
// Directly provided integration sources are only installable if settings for them are available
365363
...Object.keys(adhocIntegrationSources || {}).filter(

packages/browser/src/plugins/ajs-destination/loader.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import { User } from '../../core/user'
66
import { loadScript, unloadScript } from '../../lib/load-script'
77
import {
88
LegacyIntegration,
9-
LegacyIntegrationBuilder,
10-
LegacyIntegrationSource,
9+
ClassicIntegrationBuilder,
10+
ClassicIntegrationSource,
1111
} from './types'
1212

1313
function normalizeName(name: string): string {
@@ -19,7 +19,7 @@ function obfuscatePathName(pathName: string, obfuscate = false): string | void {
1919
}
2020

2121
export function resolveIntegrationNameFromSource(
22-
integrationSource: LegacyIntegrationSource
22+
integrationSource: ClassicIntegrationSource
2323
) {
2424
return (
2525
'Integration' in integrationSource
@@ -44,11 +44,11 @@ function recordLoadMetrics(fullPath: string, ctx: Context, name: string): void {
4444
}
4545

4646
export function buildIntegration(
47-
integrationSource: LegacyIntegrationSource,
47+
integrationSource: ClassicIntegrationSource,
4848
integrationSettings: { [key: string]: any },
4949
analyticsInstance: Analytics
5050
): LegacyIntegration {
51-
let integrationCtr: LegacyIntegrationBuilder
51+
let integrationCtr: ClassicIntegrationBuilder
5252
// GA and Appcues use a different interface to instantiating integrations
5353
if ('Integration' in integrationSource) {
5454
const analyticsStub = {
@@ -73,7 +73,7 @@ export async function loadIntegration(
7373
name: string,
7474
version: string,
7575
obfuscate?: boolean
76-
): Promise<LegacyIntegrationSource> {
76+
): Promise<ClassicIntegrationSource> {
7777
const pathName = normalizeName(name)
7878
const obfuscatedPathName = obfuscatePathName(pathName, obfuscate)
7979
const path = getNextIntegrationsURL()
@@ -100,7 +100,7 @@ export async function loadIntegration(
100100
return window[
101101
// @ts-ignore
102102
`${pathName}Integration`
103-
] as LegacyIntegrationSource
103+
] as ClassicIntegrationSource
104104
}
105105

106106
export async function unloadIntegration(
@@ -120,7 +120,7 @@ export async function unloadIntegration(
120120
}
121121

122122
export function resolveVersion(
123-
settings: LegacyIntegrationConfiguration
123+
settings?: LegacyIntegrationConfiguration
124124
): string {
125125
return (
126126
settings?.versionSettings?.override ??

packages/browser/src/plugins/ajs-destination/types.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,16 @@ export interface LegacyIntegration extends Emitter {
2929
options?: object
3030
}
3131

32-
export interface LegacyIntegrationBuilder {
32+
export interface ClassicIntegrationBuilder {
3333
new (options: object): LegacyIntegration
3434
prototype: LegacyIntegration
3535
}
3636

37-
export interface LegacyIntegrationGenerator {
37+
export interface ClassicIntegrationGenerator {
3838
(analytics: { user: () => User; addIntegration: () => void }): void
39-
Integration: LegacyIntegrationBuilder
39+
Integration: ClassicIntegrationBuilder
4040
}
4141

42-
export type LegacyIntegrationSource =
43-
| LegacyIntegrationGenerator
44-
| LegacyIntegrationBuilder
42+
export type ClassicIntegrationSource =
43+
| ClassicIntegrationGenerator
44+
| ClassicIntegrationBuilder

0 commit comments

Comments
 (0)