From dd0e5fb41908e37343c17236f2c99a8a169723af Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Mon, 23 Sep 2024 09:44:45 -0700 Subject: [PATCH 1/4] fix: Ensure browser contract tests run during top-level build. --- .../sdk/browser/contract-tests/entity/package.json | 1 + .../contract-tests/entity/src/ClientEntity.ts | 14 ++------------ 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/packages/sdk/browser/contract-tests/entity/package.json b/packages/sdk/browser/contract-tests/entity/package.json index 90b9433a14..f68b645b9f 100644 --- a/packages/sdk/browser/contract-tests/entity/package.json +++ b/packages/sdk/browser/contract-tests/entity/package.json @@ -6,6 +6,7 @@ "description": "Contract test service implementation for @launchdarkly/js-client-sdk", "scripts": { "start": "vite --open=true", + "build": "tsc --noEmit && vite build", "lint": "eslint ./src", "prettier": "prettier --write '**/*.@(js|ts|tsx|json|css)' --ignore-path ../../../../.prettierignore" }, diff --git a/packages/sdk/browser/contract-tests/entity/src/ClientEntity.ts b/packages/sdk/browser/contract-tests/entity/src/ClientEntity.ts index e7cbd756ca..a08cc84f67 100644 --- a/packages/sdk/browser/contract-tests/entity/src/ClientEntity.ts +++ b/packages/sdk/browser/contract-tests/entity/src/ClientEntity.ts @@ -1,10 +1,4 @@ -import { - AutoEnvAttributes, - init, - LDClient, - LDLogger, - LDOptions, -} from '@launchdarkly/js-client-sdk'; +import { init, LDClient, LDLogger, LDOptions } from '@launchdarkly/js-client-sdk'; import { CommandParams, CommandType, ValueType } from './CommandParams'; import { CreateInstanceParams, SDKConfigParams } from './ConfigParams'; @@ -205,11 +199,7 @@ export async function newSdkClientEntity(options: CreateInstanceParams) { options.configuration.clientSide?.initialUser || options.configuration.clientSide?.initialContext || makeDefaultInitialContext(); - const client = init( - options.configuration.credential || 'unknown-env-id', - AutoEnvAttributes.Disabled, // TODO: Determine capability. - sdkConfig, - ); + const client = init(options.configuration.credential || 'unknown-env-id', sdkConfig); let failed = false; try { await Promise.race([ From 80b5b61eaffe296ff65b1e8f1fc3af537c75022a Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Mon, 23 Sep 2024 10:05:12 -0700 Subject: [PATCH 2/4] Disable goals. --- packages/sdk/browser/contract-tests/entity/src/ClientEntity.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/sdk/browser/contract-tests/entity/src/ClientEntity.ts b/packages/sdk/browser/contract-tests/entity/src/ClientEntity.ts index a08cc84f67..5e0fbf664e 100644 --- a/packages/sdk/browser/contract-tests/entity/src/ClientEntity.ts +++ b/packages/sdk/browser/contract-tests/entity/src/ClientEntity.ts @@ -66,6 +66,8 @@ function makeSdkConfig(options: SDKConfigParams, tag: string) { }; } + cf.fetchGoals = false; + return cf; } From a83184dfca2ba1d51382174f5770fe94f71acabb Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Mon, 23 Sep 2024 10:44:23 -0700 Subject: [PATCH 3/4] Fix identify options. --- packages/sdk/browser/contract-tests/entity/package.json | 2 +- packages/sdk/browser/src/BrowserClient.ts | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/sdk/browser/contract-tests/entity/package.json b/packages/sdk/browser/contract-tests/entity/package.json index f68b645b9f..1355a1a1f8 100644 --- a/packages/sdk/browser/contract-tests/entity/package.json +++ b/packages/sdk/browser/contract-tests/entity/package.json @@ -5,7 +5,7 @@ "type": "module", "description": "Contract test service implementation for @launchdarkly/js-client-sdk", "scripts": { - "start": "vite --open=true", + "start": "tsc --noEmit && vite --open=true", "build": "tsc --noEmit && vite build", "lint": "eslint ./src", "prettier": "prettier --write '**/*.@(js|ts|tsx|json|css)' --ignore-path ../../../../.prettierignore" diff --git a/packages/sdk/browser/src/BrowserClient.ts b/packages/sdk/browser/src/BrowserClient.ts index a275fddccd..f7eb14be81 100644 --- a/packages/sdk/browser/src/BrowserClient.ts +++ b/packages/sdk/browser/src/BrowserClient.ts @@ -15,6 +15,7 @@ import GoalManager from './goals/GoalManager'; import { Goal, isClick } from './goals/Goals'; import validateOptions, { BrowserOptions, filterToBaseOptions } from './options'; import BrowserPlatform from './platform/BrowserPlatform'; +import { LDIdentifyOptions } from '@launchdarkly/js-client-sdk-common/dist/api/LDIdentifyOptions'; /** * We are not supporting dynamically setting the connection mode on the LDClient. @@ -135,8 +136,8 @@ export class BrowserClient extends LDClientImpl { }; } - override async identify(context: LDContext): Promise { - await super.identify(context); + override async identify(context: LDContext, identifyOptions?: LDIdentifyOptions): Promise { + await super.identify(context, identifyOptions); this.goalManager?.startTracking(); } } From 5a672145687fed8a702ddb38808b988f6bf9af2e Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Mon, 23 Sep 2024 10:47:37 -0700 Subject: [PATCH 4/4] Lint --- packages/sdk/browser/src/BrowserClient.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/sdk/browser/src/BrowserClient.ts b/packages/sdk/browser/src/BrowserClient.ts index f7eb14be81..59a1b817a7 100644 --- a/packages/sdk/browser/src/BrowserClient.ts +++ b/packages/sdk/browser/src/BrowserClient.ts @@ -10,12 +10,12 @@ import { LDContext, Platform, } from '@launchdarkly/js-client-sdk-common'; +import { LDIdentifyOptions } from '@launchdarkly/js-client-sdk-common/dist/api/LDIdentifyOptions'; import GoalManager from './goals/GoalManager'; import { Goal, isClick } from './goals/Goals'; import validateOptions, { BrowserOptions, filterToBaseOptions } from './options'; import BrowserPlatform from './platform/BrowserPlatform'; -import { LDIdentifyOptions } from '@launchdarkly/js-client-sdk-common/dist/api/LDIdentifyOptions'; /** * We are not supporting dynamically setting the connection mode on the LDClient.