diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 05c2bc3..6e9fc04 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,7 +1,7 @@ -# JS Browser SDK +# JavaScript Browser SDK ## What did you accomplish? ## How do we test the changes introduced in this PR? -## Extra Notes \ No newline at end of file +## Extra Notes diff --git a/CHANGES.txt b/CHANGES.txt index 859f9bd..0d7f94f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,9 @@ +1.7.1 (June 26, 2026) + - Updated TypeScript declaration to use `namespace` instead of `module` for compatibility with TypeScript 7 (Related to issue https://github.com/splitio/javascript-client/issues/920, and contributed by Matt Lewis (@mattlewis92) in https://github.com/splitio/javascript-browser-client/pull/173). + - Updated @splitsoftware/splitio-commons package to version 2.12.1, which: + - updates internal modules to handle `null` values from `/splitChanges` response. + - updates some dependencies for vulnerability fixes. + 1.7.0 (January 28, 2026) - Updated @splitsoftware/splitio-commons package to version 2.11.0, which: - Added functionality to provide metadata alongside SDK update and READY events. Read more in our docs. diff --git a/package-lock.json b/package-lock.json index 4ec7c12..2802921 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "@splitsoftware/splitio-browserjs", - "version": "1.7.0", + "version": "1.7.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@splitsoftware/splitio-browserjs", - "version": "1.7.0", + "version": "1.7.1", "license": "Apache-2.0", "dependencies": { - "@splitsoftware/splitio-commons": "2.11.0", + "@splitsoftware/splitio-commons": "2.12.1", "tslib": "^2.3.1", "unfetch": "^4.2.0" }, @@ -17,7 +17,7 @@ "@rollup/plugin-commonjs": "^24.0.1", "@rollup/plugin-json": "^6.0.0", "@rollup/plugin-node-resolve": "^13.0.6", - "@rollup/plugin-terser": "^0.4.0", + "@rollup/plugin-terser": "^1.0.0", "@types/jest": "^27.0.2", "@types/node-fetch": "^2.5.7", "@typescript-eslint/eslint-plugin": "^6.6.0", @@ -1222,17 +1222,18 @@ "dev": true }, "node_modules/@rollup/plugin-terser": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", - "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-1.0.0.tgz", + "integrity": "sha512-FnCxhTBx6bMOYQrar6C8h3scPt8/JwIzw3+AJ2K++6guogH5fYaIFia+zZuhqv0eo1RN7W1Pz630SyvLbDjhtQ==", "dev": true, + "license": "MIT", "dependencies": { - "serialize-javascript": "^6.0.1", + "serialize-javascript": "^7.0.3", "smob": "^1.0.0", "terser": "^5.17.4" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" }, "peerDependencies": { "rollup": "^2.0.0||^3.0.0||^4.0.0" @@ -1301,16 +1302,16 @@ "dev": true }, "node_modules/@splitsoftware/splitio-commons": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.11.0.tgz", - "integrity": "sha512-/cY9V2CHG2EnOAJp3vVWcs+ZqJ3zqEKHdKX115cK6zHKRMNDXODuPQSX7CIkuCLr6C0kQMQuBnXwcaf5C+cO1A==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.12.1.tgz", + "integrity": "sha512-hoyY2TyG6rY3s622oVPzWT5y7FfQ/pZHIcdnGm5RCOyrr4GZBDiNHf8ftyurFlsXBLqIuSPDVj6L7n+z2LJuFQ==", "license": "Apache-2.0", "dependencies": { "@types/ioredis": "^4.28.0", "tslib": "^2.3.1" }, "peerDependencies": { - "ioredis": "^4.28.0" + "ioredis": "^4.28.0 || ^5.0.0" }, "peerDependenciesMeta": { "ioredis": { @@ -6488,15 +6489,6 @@ } ] }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -7265,12 +7257,13 @@ "dev": true }, "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-7.0.6.tgz", + "integrity": "sha512-ATTK5Q4gFVg0YDp1my2vqygyvhcklD/UV5GIlYHooGTn/NogJqIzpetkD6E5kmuVULqz/S9inUL25XcAgDRJQg==", "dev": true, - "dependencies": { - "randombytes": "^2.1.0" + "license": "BSD-3-Clause", + "engines": { + "node": ">=20.0.0" } }, "node_modules/set-blocking": { @@ -9409,12 +9402,12 @@ } }, "@rollup/plugin-terser": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", - "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-1.0.0.tgz", + "integrity": "sha512-FnCxhTBx6bMOYQrar6C8h3scPt8/JwIzw3+AJ2K++6guogH5fYaIFia+zZuhqv0eo1RN7W1Pz630SyvLbDjhtQ==", "dev": true, "requires": { - "serialize-javascript": "^6.0.1", + "serialize-javascript": "^7.0.3", "smob": "^1.0.0", "terser": "^5.17.4" } @@ -9466,9 +9459,9 @@ "dev": true }, "@splitsoftware/splitio-commons": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.11.0.tgz", - "integrity": "sha512-/cY9V2CHG2EnOAJp3vVWcs+ZqJ3zqEKHdKX115cK6zHKRMNDXODuPQSX7CIkuCLr6C0kQMQuBnXwcaf5C+cO1A==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-commons/-/splitio-commons-2.12.1.tgz", + "integrity": "sha512-hoyY2TyG6rY3s622oVPzWT5y7FfQ/pZHIcdnGm5RCOyrr4GZBDiNHf8ftyurFlsXBLqIuSPDVj6L7n+z2LJuFQ==", "requires": { "@types/ioredis": "^4.28.0", "tslib": "^2.3.1" @@ -13282,15 +13275,6 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -13833,13 +13817,10 @@ } }, "serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-7.0.6.tgz", + "integrity": "sha512-ATTK5Q4gFVg0YDp1my2vqygyvhcklD/UV5GIlYHooGTn/NogJqIzpetkD6E5kmuVULqz/S9inUL25XcAgDRJQg==", + "dev": true }, "set-blocking": { "version": "2.0.0", diff --git a/package.json b/package.json index f27b96d..c27ff75 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@splitsoftware/splitio-browserjs", - "version": "1.7.0", + "version": "1.7.1", "description": "Split SDK for JavaScript on Browser", "main": "cjs/index.js", "module": "esm/index.js", @@ -59,7 +59,7 @@ "bugs": "https://github.com/splitio/javascript-browser-client/issues", "homepage": "https://github.com/splitio/javascript-browser-client#readme", "dependencies": { - "@splitsoftware/splitio-commons": "2.11.0", + "@splitsoftware/splitio-commons": "2.12.1", "tslib": "^2.3.1", "unfetch": "^4.2.0" }, @@ -67,7 +67,7 @@ "@rollup/plugin-commonjs": "^24.0.1", "@rollup/plugin-json": "^6.0.0", "@rollup/plugin-node-resolve": "^13.0.6", - "@rollup/plugin-terser": "^0.4.0", + "@rollup/plugin-terser": "^1.0.0", "@types/jest": "^27.0.2", "@types/node-fetch": "^2.5.7", "@typescript-eslint/eslint-plugin": "^6.6.0", diff --git a/src/platform/getModules.ts b/src/platform/getModules.ts index a6e168f..8358ff2 100644 --- a/src/platform/getModules.ts +++ b/src/platform/getModules.ts @@ -33,6 +33,7 @@ export function getModules(settings: ISettings, platform: IPlatform): ISdkFactor sdkManagerFactory, + // @ts-expect-error - To be fixed in commons sdkClientMethodFactory: sdkClientMethodCSFactory, SignalListener: BrowserSignalListener as ISdkFactoryParams['SignalListener'], diff --git a/src/settings/defaults.ts b/src/settings/defaults.ts index bb90bb6..d8ae1f1 100644 --- a/src/settings/defaults.ts +++ b/src/settings/defaults.ts @@ -2,7 +2,7 @@ import type SplitIO from '@splitsoftware/splitio-commons/types/splitio'; import { LogLevels, isLogLevelString } from '@splitsoftware/splitio-commons/src/logger/index'; import { CONSENT_GRANTED } from '@splitsoftware/splitio-commons/src/utils/constants'; -const packageVersion = '1.7.0'; +const packageVersion = '1.7.1'; /** * In browser, the default debug level, can be set via the `localStorage.splitio_debug` item.