@launchdarkly/js-client-sdk-common 1.17.0 → 1.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.17.2](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.17.1...js-client-sdk-common-v1.17.2) (2026-01-21)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * evaluation detail type should be optional ([#1064](https://github.com/launchdarkly/js-core/issues/1064)) ([e81c333](https://github.com/launchdarkly/js-core/commit/e81c333034f2e8206dfaf70d6fdb6001747b777f))
9
+ * update LDClient to not require context key for client side identify methods ([#1045](https://github.com/launchdarkly/js-core/issues/1045)) ([0cf7660](https://github.com/launchdarkly/js-core/commit/0cf76600af7fb5b3ef42d4e2b4cb73a27443a5e3))
10
+
11
+ ## [1.17.1](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.17.0...js-client-sdk-common-v1.17.1) (2026-01-08)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * browser logging for non-existing flags ([#1054](https://github.com/launchdarkly/js-core/issues/1054)) ([f87b418](https://github.com/launchdarkly/js-core/commit/f87b418ff63866199667be2d7a49e1dc22156b44))
17
+
3
18
  ## [1.17.0](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.16.0...js-client-sdk-common-v1.17.0) (2026-01-06)
4
19
 
5
20
 
@@ -1,5 +1,5 @@
1
- import { AutoEnvAttributes, Context, internal, LDContext, LDFlagSet, LDFlagValue, LDLogger, LDPluginEnvironmentMetadata, Platform } from '@launchdarkly/js-sdk-common';
2
- import { Hook, LDClient, LDClientIdentifyResult, LDIdentifyResult, type LDOptions, LDWaitForInitializationOptions, LDWaitForInitializationResult } from './api';
1
+ import { AutoEnvAttributes, Context, internal, LDFlagSet, LDFlagValue, LDLogger, LDPluginEnvironmentMetadata, Platform } from '@launchdarkly/js-sdk-common';
2
+ import { Hook, LDClient, LDClientIdentifyResult, LDContext, LDContextStrict, LDIdentifyResult, type LDOptions, LDWaitForInitializationOptions, LDWaitForInitializationResult } from './api';
3
3
  import { LDEvaluationDetail, LDEvaluationDetailTyped } from './api/LDEvaluationDetail';
4
4
  import { LDIdentifyOptions } from './api/LDIdentifyOptions';
5
5
  import { LDClientInternalOptions } from './configuration';
@@ -41,7 +41,7 @@ export default class LDClientImpl implements LDClient, LDClientIdentifyResult {
41
41
  error?: Error;
42
42
  result: boolean;
43
43
  }>;
44
- getContext(): LDContext | undefined;
44
+ getContext(): LDContextStrict | undefined;
45
45
  protected getInternalContext(): Context | undefined;
46
46
  /**
47
47
  * Preset flags are used to set the flags before the client is initialized. This is useful for
@@ -1 +1 @@
1
- {"version":3,"file":"LDClientImpl.d.ts","sourceRoot":"","sources":["../src/LDClientImpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LDClientImpl.d.ts","sourceRoot":"","sources":["../src/LDClientImpl.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { LDContext, LDFlagSet, LDFlagValue, LDLogger } from '@launchdarkly/js-sdk-common';
1
+ import { LDFlagSet, LDFlagValue, LDLogger } from '@launchdarkly/js-sdk-common';
2
2
  import { Hook } from './integrations/Hooks';
3
+ import type { LDContext, LDContextStrict } from './LDContext';
3
4
  import { LDEvaluationDetail, LDEvaluationDetailTyped } from './LDEvaluationDetail';
4
5
  import { LDIdentifyOptions } from './LDIdentifyOptions';
5
6
  import { LDIdentifyResult } from './LDIdentifyResult';
@@ -78,7 +79,7 @@ export interface LDClient {
78
79
  * This is the context that was most recently passed to {@link identify}, or, if {@link identify} has never
79
80
  * been called, this will be undefined.
80
81
  */
81
- getContext(): LDContext | undefined;
82
+ getContext(): LDContextStrict | undefined;
82
83
  /**
83
84
  * Identifies a context to LaunchDarkly.
84
85
  *
@@ -1 +1 @@
1
- {"version":3,"file":"LDClient.d.ts","sourceRoot":"","sources":["../../src/api/LDClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LDClient.d.ts","sourceRoot":"","sources":["../../src/api/LDClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { LDContextCommon, LDSingleKindContext, LDUser } from '@launchdarkly/js-sdk-common';
2
+ export { LDContext as LDContextStrict } from '@launchdarkly/js-sdk-common';
3
+ /**
4
+ * @see {@link LDSingleKindContext}
5
+ *
6
+ * The only difference is that the kind cannot be 'multi' which is reserved for multi-kind contexts.
7
+ * Expect this change to be propogated to the common package in the future.
8
+ *
9
+ * @privateRemarks
10
+ * This is helpful for type narrowing to avoid ambiguity when the kind is 'multi'.
11
+ */
12
+ type strictSingleKindContext = Omit<LDSingleKindContext, 'kind' | 'key'> & {
13
+ key: string;
14
+ kind: Exclude<string, 'multi'>;
15
+ };
16
+ /**
17
+ * An anonymous version of {@link LDSingleKindContext}. This is a valid form for contexts used in a
18
+ * client-side sdk because the key will be generated if missing by the {@link ensureKey} function.
19
+ */
20
+ type anonymousSingleKindContext = Omit<LDSingleKindContext, 'key' | 'anonymous' | 'kind'> & {
21
+ key?: string;
22
+ anonymous: true;
23
+ kind: Exclude<string, 'multi'>;
24
+ };
25
+ /**
26
+ * An anonymous version of {@link LDContextCommon}. This is a valid form for contexts used in a
27
+ * client-side sdk because the key will be generated if missing by the {@link ensureKey} function.
28
+ */
29
+ type anonymousLDContextCommon = Omit<LDContextCommon, 'key' | 'anonymous'> & {
30
+ key?: string;
31
+ anonymous: true;
32
+ };
33
+ /**
34
+ * An anonymous version of {@link LDMultiKindContext}. This is a valid form for contexts used in a
35
+ * client-side sdk because the keys will be generated if missing by the {@link ensureKey} function.
36
+ */
37
+ interface multiKindContextWithAnonymous {
38
+ kind: 'multi';
39
+ [kind: string]: 'multi' | anonymousLDContextCommon | LDContextCommon;
40
+ }
41
+ /**
42
+ * This is the client side version of the `LDContext` type (referred to as {@link LDContextStrict} in this module).
43
+ * The key reason for this distinction is that client side contexts can be anonymous.
44
+ * An anonymous context is a context that satisfies the following definition:
45
+ * ```typescript
46
+ * {
47
+ * key?: string;
48
+ * anonymous: true;
49
+ * }
50
+ * ```
51
+ * > NOTE: A context with the `anonymous` property set to `false` or is `undefined` **MUST** have a `key`
52
+ * > property set or it will be rejected by the SDK.
53
+ *
54
+ * Otherwise, refer to {@link LDContextStrict} for more details on how LaunchDarkly contexts work.
55
+ *
56
+ * @see {@link LDSingleKindContext}
57
+ * @see {@link LDMultiKindContext}
58
+ *
59
+ * @remarks
60
+ * Anonymous contexts are acceptable in the client side SDK because the SDK will generate a key for them if they are missing.
61
+ * The key generation logic is in the {@link ensureKey} function.
62
+ */
63
+ export type LDContext = multiKindContextWithAnonymous | strictSingleKindContext | anonymousSingleKindContext | LDUser;
64
+ //# sourceMappingURL=LDContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LDContext.d.ts","sourceRoot":"","sources":["../../src/api/LDContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE3E;;;;;;;;GAQG;AACH,KAAK,uBAAuB,GAAG,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG;IACzE,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,KAAK,0BAA0B,GAAG,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,WAAW,GAAG,MAAM,CAAC,GAAG;IAC1F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,KAAK,wBAAwB,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,WAAW,CAAC,GAAG;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,UAAU,6BAA6B;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,wBAAwB,GAAG,eAAe,CAAC;CACtE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,SAAS,GACjB,6BAA6B,GAC7B,uBAAuB,GACvB,0BAA0B,GAC1B,MAAM,CAAC"}
@@ -9,7 +9,7 @@ export type LDEvaluationDetail = Omit<CommonDetail, 'reason'> & {
9
9
  /**
10
10
  * An optional object describing the main factor that influenced the flag evaluation value.
11
11
  */
12
- reason: LDEvaluationReason | null;
12
+ reason?: LDEvaluationReason;
13
13
  };
14
14
  /**
15
15
  * An object that combines the result of a feature flag evaluation with information about
@@ -21,6 +21,6 @@ export type LDEvaluationDetailTyped<TFlag> = Omit<CommonDetailTyped<TFlag>, 'rea
21
21
  /**
22
22
  * An optional object describing the main factor that influenced the flag evaluation value.
23
23
  */
24
- reason: LDEvaluationReason | null;
24
+ reason?: LDEvaluationReason;
25
25
  };
26
26
  //# sourceMappingURL=LDEvaluationDetail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LDEvaluationDetail.d.ts","sourceRoot":"","sources":["../../src/api/LDEvaluationDetail.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,IAAI,YAAY,EAClC,uBAAuB,IAAI,iBAAiB,EAC5C,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AAQrC;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG;IAC9D;;OAEG;IACH,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG;IACtF;;OAEG;IACH,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACnC,CAAC"}
1
+ {"version":3,"file":"LDEvaluationDetail.d.ts","sourceRoot":"","sources":["../../src/api/LDEvaluationDetail.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,IAAI,YAAY,EAClC,uBAAuB,IAAI,iBAAiB,EAC5C,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AAMrC;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG;IAC9D;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG;IACtF;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B,CAAC"}
@@ -9,4 +9,5 @@ export * from './LDInspection';
9
9
  export * from './LDIdentifyResult';
10
10
  export * from './LDPlugin';
11
11
  export * from './LDWaitForInitialization';
12
+ export * from './LDContext';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC"}
@@ -1,4 +1,5 @@
1
- import { LDContext, Platform } from '@launchdarkly/js-sdk-common';
1
+ import { Platform } from '@launchdarkly/js-sdk-common';
2
+ import type { LDContext, LDContextStrict } from '../api/LDContext';
2
3
  /**
3
4
  * Ensure a key is always present in anonymous contexts. Non-anonymous contexts
4
5
  * are not processed and will just be returned as is.
@@ -6,5 +7,5 @@ import { LDContext, Platform } from '@launchdarkly/js-sdk-common';
6
7
  * @param context
7
8
  * @param platform
8
9
  */
9
- export declare const ensureKey: (context: LDContext, platform: Platform) => Promise<LDContext>;
10
+ export declare const ensureKey: (context: LDContext, platform: Platform) => Promise<LDContextStrict>;
10
11
  //# sourceMappingURL=ensureKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ensureKey.d.ts","sourceRoot":"","sources":["../../src/context/ensureKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EAKT,QAAQ,EACT,MAAM,6BAA6B,CAAC;AAiDrC;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,YAAmB,SAAS,YAAY,QAAQ,KAAG,QAAQ,SAAS,CAgBzF,CAAC"}
1
+ {"version":3,"file":"ensureKey.d.ts","sourceRoot":"","sources":["../../src/context/ensureKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,QAAQ,EACT,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAgDnE;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,YACX,SAAS,YACR,QAAQ,KACjB,QAAQ,eAAe,CAgBzB,CAAC"}
@@ -657,7 +657,7 @@ function createSuccessEvaluationDetail(value, variationIndex, reason) {
657
657
  const res = {
658
658
  value,
659
659
  variationIndex: variationIndex ?? null,
660
- reason: reason ?? null,
660
+ ...(reason !== undefined && { reason }),
661
661
  };
662
662
  return res;
663
663
  }
@@ -1774,8 +1774,7 @@ class LDClientImpl {
1774
1774
  const foundItem = this._flagManager.get(flagKey);
1775
1775
  if (foundItem === undefined || foundItem.flag.deleted) {
1776
1776
  const defVal = defaultValue ?? null;
1777
- const error = new jsSdkCommon.LDClientError(`Unknown feature flag "${flagKey}"; returning default value ${defVal}.`);
1778
- this.emitter.emit('error', this._activeContextTracker.getUnwrappedContext(), error);
1777
+ this.logger?.warn(`Unknown feature flag "${flagKey}"; returning default value ${defVal}.`);
1779
1778
  if (hasContext) {
1780
1779
  this._eventProcessor?.sendEvent(this._eventFactoryDefault.unknownFlagEvent(flagKey, defVal, evalContext));
1781
1780
  }
@@ -1914,9 +1913,6 @@ class LDClientImpl {
1914
1913
  else {
1915
1914
  details[flagKey] = {
1916
1915
  value: undefined,
1917
- // For backwards compatibility purposes reason and variationIndex are null instead of
1918
- // being undefined.
1919
- reason: null,
1920
1916
  variationIndex: null,
1921
1917
  };
1922
1918
  }