Skip to content

Commit a441b07

Browse files
[FSSDK-9913] chore: update dependencies & fixes from testing (#230)
* chore: add conventional commits ext to dev container * chore: upgrade to js sdk 5.0.0 * fix: use FeatureVariableValue for getFeatureVariable * fix: add `as UserAttributes` for better TS coercion
1 parent 43613fc commit a441b07

File tree

5 files changed

+25
-18
lines changed

5 files changed

+25
-18
lines changed

.devcontainer/devcontainer.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
"github.vscode-github-actions",
1313
"Orta.vscode-jest",
1414
"ms-vscode.test-adapter-converter",
15-
"GitHub.copilot-chat"
15+
"GitHub.copilot-chat",
16+
"vivaxy.vscode-conventional-commits"
1617
],
1718
"settings": {
1819
"files.eol": "\n"

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"access": "public"
3535
},
3636
"dependencies": {
37-
"@optimizely/optimizely-sdk": "^5.0.0-beta5",
37+
"@optimizely/optimizely-sdk": "^5.0.0",
3838
"hoist-non-react-statics": "^3.3.0",
3939
"prop-types": "^15.6.2",
4040
"utility-types": "^2.1.0 || ^3.0.0"

src/client.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import * as optimizely from '@optimizely/optimizely-sdk';
1818
import { OptimizelyDecision, UserInfo, createFailedDecision, areUsersEqual } from './utils';
1919
import { notifier } from './notifier';
2020
import { logger } from './logger';
21+
import { FeatureVariableValue } from '@optimizely/optimizely-sdk';
2122

2223
export type VariableValuesObject = {
2324
[key: string]: any;
@@ -117,7 +118,7 @@ export interface ReactSDKClient extends Omit<optimizely.Client, 'createUserConte
117118
variableKey: string,
118119
overrideUserId: string,
119120
overrideAttributes?: optimizely.UserAttributes
120-
): unknown;
121+
): FeatureVariableValue;
121122

122123
getAllFeatureVariables(
123124
featureKey: string,
@@ -952,15 +953,15 @@ class OptimizelyReactSDKClient implements ReactSDKClient {
952953
* @param {string} variableKey
953954
* @param {string} [overrideUserId]
954955
* @param {optimizely.UserAttributes} [overrideAttributes]
955-
* @returns {(unknown | null)}
956+
* @returns {(FeatureVariableValue | null)}
956957
* @memberof OptimizelyReactSDKClient
957958
*/
958959
public getFeatureVariable(
959960
featureKey: string,
960961
variableKey: string,
961962
overrideUserId: string,
962963
overrideAttributes?: optimizely.UserAttributes
963-
): unknown {
964+
): FeatureVariableValue | null {
964965
if (!this._client) {
965966
logger.warn(
966967
'Unable to get feature variable from feature "%s" because Optimizely client failed to initialize.',

src/utils.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,9 @@ export function hoistStaticsAndForwardRefs<R, P extends AcceptsForwardedRef<R>>(
104104

105105
function coerceUnknownAttrsValueForComparison(maybeAttrs: unknown): optimizely.UserAttributes {
106106
if (typeof maybeAttrs === 'object' && maybeAttrs !== null) {
107-
return maybeAttrs;
107+
return maybeAttrs as optimizely.UserAttributes;
108108
}
109-
return {};
109+
return {} as optimizely.UserAttributes;
110110
}
111111

112112
/**

yarn.lock

+16-11
Original file line numberDiff line numberDiff line change
@@ -535,16 +535,16 @@
535535
"@jridgewell/resolve-uri" "^3.0.3"
536536
"@jridgewell/sourcemap-codec" "^1.4.10"
537537

538-
"@optimizely/optimizely-sdk@^5.0.0-beta5":
539-
version "5.0.0-beta5"
540-
resolved "https://registry.yarnpkg.com/@optimizely/optimizely-sdk/-/optimizely-sdk-5.0.0-beta5.tgz#67ac961be3d1269d2774ec758659d42a3e763e38"
541-
integrity sha512-xQ1Lv306d9xQoK/vr0o4Wpn53gJNVUeJVi8N90NinDYjtFPsXasdWEFNXNN+qH678VmdpBsPPKLg/5olLoFrKg==
538+
"@optimizely/optimizely-sdk@^5.0.0":
539+
version "5.0.0"
540+
resolved "https://registry.yarnpkg.com/@optimizely/optimizely-sdk/-/optimizely-sdk-5.0.0.tgz#9dc06e6aa05fafa5a0a689cf986f5198deb93786"
541+
integrity sha512-qOJhCa/q/GXcuHSjbuDVB7kepo1GzLs2dS9iwZBD2Auupy/XjCh77cAuMQpqCbeNlQJsqr5meqxHeN+HGKqzAA==
542542
dependencies:
543543
decompress-response "^4.2.1"
544544
json-schema "^0.4.0"
545545
murmurhash "^2.0.1"
546-
ua-parser-js "^1.0.35"
547-
uuid "^8.3.2"
546+
ua-parser-js "^1.0.37"
547+
uuid "^9.0.1"
548548

549549
"@rollup/plugin-commonjs@^16.0.0":
550550
version "16.0.0"
@@ -4652,10 +4652,10 @@ typescript@^4.7.4:
46524652
resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz"
46534653
integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
46544654

4655-
ua-parser-js@^1.0.35:
4656-
version "1.0.36"
4657-
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.36.tgz#a9ab6b9bd3a8efb90bb0816674b412717b7c428c"
4658-
integrity sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw==
4655+
ua-parser-js@^1.0.37:
4656+
version "1.0.37"
4657+
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f"
4658+
integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==
46594659

46604660
uglify-js@^3.4.9:
46614661
version "3.16.3"
@@ -4725,11 +4725,16 @@ use@^3.1.0:
47254725
resolved "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz"
47264726
integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==
47274727

4728-
uuid@^8.3.0, uuid@^8.3.2:
4728+
uuid@^8.3.0:
47294729
version "8.3.2"
47304730
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
47314731
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
47324732

4733+
uuid@^9.0.1:
4734+
version "9.0.1"
4735+
resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30"
4736+
integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==
4737+
47334738
v8-compile-cache@^2.0.3:
47344739
version "2.3.0"
47354740
resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz"

0 commit comments

Comments
 (0)