@splitsoftware/splitio 11.0.0-rc.2 → 11.0.0-rc.3
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/CHANGES.txt +0 -2
- package/cjs/factory/browser.js +2 -1
- package/cjs/factory/node.js +3 -12
- package/cjs/settings/browser.js +0 -2
- package/cjs/settings/defaults/version.js +1 -1
- package/cjs/settings/node.js +0 -2
- package/cjs/sync/offline/LocalhostFromFile.js +3 -8
- package/esm/factory/browser.js +2 -1
- package/esm/factory/node.js +3 -12
- package/esm/settings/browser.js +0 -2
- package/esm/settings/defaults/version.js +1 -1
- package/esm/settings/node.js +0 -2
- package/esm/sync/offline/LocalhostFromFile.js +2 -6
- package/package.json +3 -6
- package/src/factory/browser.js +2 -1
- package/src/factory/node.js +3 -13
- package/src/settings/browser.js +0 -2
- package/src/settings/defaults/version.js +1 -1
- package/src/settings/node.js +0 -2
- package/src/sync/offline/LocalhostFromFile.js +2 -7
- package/types/client/index.d.ts +3 -2
- package/types/index.d.ts +4 -4
- package/types/server/index.d.ts +4 -3
- package/types/splitio.d.ts +0 -1689
package/CHANGES.txt
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
11.0.0 (October XX, 2024)
|
|
2
2
|
- Added support for targeting rules based on large segments for browsers.
|
|
3
|
-
- Added `factory.getState()` method for standalone server-side SDKs, which returns the rollout plan snapshot from the storage.
|
|
4
|
-
- Added `preloadedData` configuration option for standalone client-side SDKs, which allows preloading the SDK storage with a snapshot of the rollout plan.
|
|
5
3
|
- Added `factory.destroy()` method, which invokes the `destroy` method of all clients created by the factory.
|
|
6
4
|
- Updated @splitsoftware/splitio-commons package to version 2.0.0 that includes major updates and updated some transitive dependencies for vulnerability fixes.
|
|
7
5
|
- Renamed distribution folders from `/lib` to `/cjs` for CommonJS build, and `/es` to `/esm` for EcmaScript Modules build.
|
package/cjs/factory/browser.js
CHANGED
|
@@ -14,6 +14,7 @@ var storageCS_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsVali
|
|
|
14
14
|
var sdkFactory_1 = require("@splitsoftware/splitio-commons/cjs/sdkFactory");
|
|
15
15
|
var constants_1 = require("@splitsoftware/splitio-commons/cjs/utils/constants");
|
|
16
16
|
var sdkUserConsent_1 = require("@splitsoftware/splitio-commons/cjs/consent/sdkUserConsent");
|
|
17
|
+
var LocalhostFromObject_1 = require("@splitsoftware/splitio-commons/cjs/sync/offline/LocalhostFromObject");
|
|
17
18
|
var browser_1 = require("../settings/browser");
|
|
18
19
|
var platform_1 = require("../platform");
|
|
19
20
|
var syncManagerOnlineCSFactory = (0, syncManagerOnline_1.syncManagerOnlineFactory)(pollingManagerCS_1.pollingManagerCSFactory, pushManager_1.pushManagerFactory);
|
|
@@ -48,7 +49,7 @@ function getModules(settings) {
|
|
|
48
49
|
switch (settings.mode) {
|
|
49
50
|
case constants_1.LOCALHOST_MODE:
|
|
50
51
|
modules.splitApiFactory = undefined;
|
|
51
|
-
modules.syncManagerFactory =
|
|
52
|
+
modules.syncManagerFactory = LocalhostFromObject_1.localhostFromObjectFactory;
|
|
52
53
|
modules.SignalListener = undefined;
|
|
53
54
|
break;
|
|
54
55
|
}
|
package/cjs/factory/node.js
CHANGED
|
@@ -7,12 +7,12 @@ var pushManager_1 = require("@splitsoftware/splitio-commons/cjs/sync/streaming/p
|
|
|
7
7
|
var pollingManagerSS_1 = require("@splitsoftware/splitio-commons/cjs/sync/polling/pollingManagerSS");
|
|
8
8
|
var inRedis_1 = require("@splitsoftware/splitio-commons/cjs/storages/inRedis");
|
|
9
9
|
var InMemoryStorage_1 = require("@splitsoftware/splitio-commons/cjs/storages/inMemory/InMemoryStorage");
|
|
10
|
-
var dataLoader_1 = require("@splitsoftware/splitio-commons/cjs/storages/dataLoader");
|
|
11
10
|
var sdkManager_1 = require("@splitsoftware/splitio-commons/cjs/sdkManager");
|
|
12
11
|
var sdkClientMethod_1 = require("@splitsoftware/splitio-commons/cjs/sdkClient/sdkClientMethod");
|
|
13
12
|
var impressionObserverSS_1 = require("@splitsoftware/splitio-commons/cjs/trackers/impressionObserver/impressionObserverSS");
|
|
14
13
|
var sdkFactory_1 = require("@splitsoftware/splitio-commons/cjs/sdkFactory");
|
|
15
14
|
var constants_1 = require("@splitsoftware/splitio-commons/cjs/utils/constants");
|
|
15
|
+
var LocalhostFromFile_1 = require("../sync/offline/LocalhostFromFile");
|
|
16
16
|
var node_1 = require("../settings/node");
|
|
17
17
|
var platform_1 = require("../platform");
|
|
18
18
|
var bloomFilter_1 = require("../platform/filter/bloomFilter");
|
|
@@ -37,21 +37,12 @@ function getModules(settings) {
|
|
|
37
37
|
sdkClientMethodFactory: sdkClientMethod_1.sdkClientMethodFactory,
|
|
38
38
|
SignalListener: platform_1.SignalListener,
|
|
39
39
|
impressionsObserverFactory: impressionObserverSS_1.impressionObserverSSFactory,
|
|
40
|
-
filterAdapterFactory: bloomFilter_1.bloomFilterFactory
|
|
41
|
-
extraProps: function (params) {
|
|
42
|
-
if (params.settings.mode !== constants_1.CONSUMER_MODE) {
|
|
43
|
-
return {
|
|
44
|
-
getState: function (userKeys) {
|
|
45
|
-
return (0, dataLoader_1.getSnapshot)(params.storage, userKeys);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
}
|
|
40
|
+
filterAdapterFactory: bloomFilter_1.bloomFilterFactory
|
|
50
41
|
};
|
|
51
42
|
switch (settings.mode) {
|
|
52
43
|
case constants_1.LOCALHOST_MODE:
|
|
53
44
|
modules.splitApiFactory = undefined;
|
|
54
|
-
modules.syncManagerFactory =
|
|
45
|
+
modules.syncManagerFactory = LocalhostFromFile_1.localhostFromFileFactory;
|
|
55
46
|
modules.SignalListener = undefined;
|
|
56
47
|
break;
|
|
57
48
|
case constants_1.CONSUMER_MODE:
|
package/cjs/settings/browser.js
CHANGED
|
@@ -4,7 +4,6 @@ exports.settingsFactory = void 0;
|
|
|
4
4
|
var settingsValidation_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsValidation");
|
|
5
5
|
var runtime_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsValidation/runtime");
|
|
6
6
|
var builtinLogger_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsValidation/logger/builtinLogger");
|
|
7
|
-
var LocalhostFromObject_1 = require("@splitsoftware/splitio-commons/cjs/sync/offline/LocalhostFromObject");
|
|
8
7
|
var consent_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsValidation/consent");
|
|
9
8
|
var browser_1 = require("./defaults/browser");
|
|
10
9
|
var browser_2 = require("./storage/browser");
|
|
@@ -14,7 +13,6 @@ var params = {
|
|
|
14
13
|
runtime: runtime_1.validateRuntime,
|
|
15
14
|
storage: browser_2.validateStorage,
|
|
16
15
|
logger: builtinLogger_1.validateLogger,
|
|
17
|
-
localhost: function () { return (0, LocalhostFromObject_1.LocalhostFromObject)(); },
|
|
18
16
|
consent: consent_1.validateConsent,
|
|
19
17
|
};
|
|
20
18
|
function settingsFactory(config) {
|
package/cjs/settings/node.js
CHANGED
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.settingsFactory = void 0;
|
|
4
4
|
var settingsValidation_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsValidation");
|
|
5
5
|
var builtinLogger_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsValidation/logger/builtinLogger");
|
|
6
|
-
var LocalhostFromFile_1 = require("../sync/offline/LocalhostFromFile");
|
|
7
6
|
var node_1 = require("./defaults/node");
|
|
8
7
|
var node_2 = require("./storage/node");
|
|
9
8
|
var node_3 = require("./runtime/node");
|
|
@@ -13,7 +12,6 @@ var params = {
|
|
|
13
12
|
runtime: node_3.validateRuntime,
|
|
14
13
|
storage: node_2.validateStorage,
|
|
15
14
|
logger: builtinLogger_1.validateLogger,
|
|
16
|
-
localhost: function () { return (0, LocalhostFromFile_1.LocalhostFromFile)(); },
|
|
17
15
|
flagSpec: function () { return FLAG_SPEC_VERSION; }
|
|
18
16
|
// In Node.js the SDK ignores `config.integrations`, so a validator for integrations is not required
|
|
19
17
|
};
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.localhostFromFileFactory = void 0;
|
|
4
4
|
var splitsParserFromFile_1 = require("./splitsParserFromFile");
|
|
5
5
|
var syncManagerOffline_1 = require("@splitsoftware/splitio-commons/cjs/sync/offline/syncManagerOffline");
|
|
6
|
-
// Singleton instance of the factory function for offline SyncManager from YAML file
|
|
6
|
+
// Singleton instance of the factory function for offline SyncManager from YAML file
|
|
7
7
|
// It uses NodeJS APIs.
|
|
8
|
-
|
|
9
|
-
localhostFromFile.type = 'LocalhostFromFile';
|
|
10
|
-
function LocalhostFromFile() {
|
|
11
|
-
return localhostFromFile;
|
|
12
|
-
}
|
|
13
|
-
exports.LocalhostFromFile = LocalhostFromFile;
|
|
8
|
+
exports.localhostFromFileFactory = (0, syncManagerOffline_1.syncManagerOfflineFactory)(splitsParserFromFile_1.splitsParserFromFileFactory);
|
package/esm/factory/browser.js
CHANGED
|
@@ -11,6 +11,7 @@ import { __InLocalStorageMockFactory } from '@splitsoftware/splitio-commons/esm/
|
|
|
11
11
|
import { sdkFactory } from '@splitsoftware/splitio-commons/esm/sdkFactory';
|
|
12
12
|
import { LOCALHOST_MODE, STORAGE_LOCALSTORAGE } from '@splitsoftware/splitio-commons/esm/utils/constants';
|
|
13
13
|
import { createUserConsentAPI } from '@splitsoftware/splitio-commons/esm/consent/sdkUserConsent';
|
|
14
|
+
import { localhostFromObjectFactory } from '@splitsoftware/splitio-commons/esm/sync/offline/LocalhostFromObject';
|
|
14
15
|
import { settingsFactory } from '../settings/browser';
|
|
15
16
|
import { platform, SignalListener } from '../platform';
|
|
16
17
|
var syncManagerOnlineCSFactory = syncManagerOnlineFactory(pollingManagerCSFactory, pushManagerFactory);
|
|
@@ -45,7 +46,7 @@ function getModules(settings) {
|
|
|
45
46
|
switch (settings.mode) {
|
|
46
47
|
case LOCALHOST_MODE:
|
|
47
48
|
modules.splitApiFactory = undefined;
|
|
48
|
-
modules.syncManagerFactory =
|
|
49
|
+
modules.syncManagerFactory = localhostFromObjectFactory;
|
|
49
50
|
modules.SignalListener = undefined;
|
|
50
51
|
break;
|
|
51
52
|
}
|
package/esm/factory/node.js
CHANGED
|
@@ -4,12 +4,12 @@ import { pushManagerFactory } from '@splitsoftware/splitio-commons/esm/sync/stre
|
|
|
4
4
|
import { pollingManagerSSFactory } from '@splitsoftware/splitio-commons/esm/sync/polling/pollingManagerSS';
|
|
5
5
|
import { InRedisStorage } from '@splitsoftware/splitio-commons/esm/storages/inRedis';
|
|
6
6
|
import { InMemoryStorageFactory } from '@splitsoftware/splitio-commons/esm/storages/inMemory/InMemoryStorage';
|
|
7
|
-
import { getSnapshot } from '@splitsoftware/splitio-commons/esm/storages/dataLoader';
|
|
8
7
|
import { sdkManagerFactory } from '@splitsoftware/splitio-commons/esm/sdkManager';
|
|
9
8
|
import { sdkClientMethodFactory } from '@splitsoftware/splitio-commons/esm/sdkClient/sdkClientMethod';
|
|
10
9
|
import { impressionObserverSSFactory } from '@splitsoftware/splitio-commons/esm/trackers/impressionObserver/impressionObserverSS';
|
|
11
10
|
import { sdkFactory } from '@splitsoftware/splitio-commons/esm/sdkFactory';
|
|
12
11
|
import { CONSUMER_MODE, LOCALHOST_MODE } from '@splitsoftware/splitio-commons/esm/utils/constants';
|
|
12
|
+
import { localhostFromFileFactory } from '../sync/offline/LocalhostFromFile';
|
|
13
13
|
import { settingsFactory } from '../settings/node';
|
|
14
14
|
import { platform, SignalListener } from '../platform';
|
|
15
15
|
import { bloomFilterFactory } from '../platform/filter/bloomFilter';
|
|
@@ -34,21 +34,12 @@ function getModules(settings) {
|
|
|
34
34
|
sdkClientMethodFactory: sdkClientMethodFactory,
|
|
35
35
|
SignalListener: SignalListener,
|
|
36
36
|
impressionsObserverFactory: impressionObserverSSFactory,
|
|
37
|
-
filterAdapterFactory: bloomFilterFactory
|
|
38
|
-
extraProps: function (params) {
|
|
39
|
-
if (params.settings.mode !== CONSUMER_MODE) {
|
|
40
|
-
return {
|
|
41
|
-
getState: function (userKeys) {
|
|
42
|
-
return getSnapshot(params.storage, userKeys);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
}
|
|
37
|
+
filterAdapterFactory: bloomFilterFactory
|
|
47
38
|
};
|
|
48
39
|
switch (settings.mode) {
|
|
49
40
|
case LOCALHOST_MODE:
|
|
50
41
|
modules.splitApiFactory = undefined;
|
|
51
|
-
modules.syncManagerFactory =
|
|
42
|
+
modules.syncManagerFactory = localhostFromFileFactory;
|
|
52
43
|
modules.SignalListener = undefined;
|
|
53
44
|
break;
|
|
54
45
|
case CONSUMER_MODE:
|
package/esm/settings/browser.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { settingsValidation } from '@splitsoftware/splitio-commons/esm/utils/settingsValidation';
|
|
2
2
|
import { validateRuntime } from '@splitsoftware/splitio-commons/esm/utils/settingsValidation/runtime';
|
|
3
3
|
import { validateLogger } from '@splitsoftware/splitio-commons/esm/utils/settingsValidation/logger/builtinLogger';
|
|
4
|
-
import { LocalhostFromObject } from '@splitsoftware/splitio-commons/esm/sync/offline/LocalhostFromObject';
|
|
5
4
|
import { validateConsent } from '@splitsoftware/splitio-commons/esm/utils/settingsValidation/consent';
|
|
6
5
|
import { defaults } from './defaults/browser';
|
|
7
6
|
import { validateStorage } from './storage/browser';
|
|
@@ -11,7 +10,6 @@ var params = {
|
|
|
11
10
|
runtime: validateRuntime,
|
|
12
11
|
storage: validateStorage,
|
|
13
12
|
logger: validateLogger,
|
|
14
|
-
localhost: function () { return LocalhostFromObject(); },
|
|
15
13
|
consent: validateConsent,
|
|
16
14
|
};
|
|
17
15
|
export function settingsFactory(config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export var packageVersion = '11.0.0-rc.
|
|
1
|
+
export var packageVersion = '11.0.0-rc.3';
|
package/esm/settings/node.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { settingsValidation } from '@splitsoftware/splitio-commons/esm/utils/settingsValidation';
|
|
2
2
|
import { validateLogger } from '@splitsoftware/splitio-commons/esm/utils/settingsValidation/logger/builtinLogger';
|
|
3
|
-
import { LocalhostFromFile } from '../sync/offline/LocalhostFromFile';
|
|
4
3
|
import { defaults } from './defaults/node';
|
|
5
4
|
import { validateStorage } from './storage/node';
|
|
6
5
|
import { validateRuntime } from './runtime/node';
|
|
@@ -10,7 +9,6 @@ var params = {
|
|
|
10
9
|
runtime: validateRuntime,
|
|
11
10
|
storage: validateStorage,
|
|
12
11
|
logger: validateLogger,
|
|
13
|
-
localhost: function () { return LocalhostFromFile(); },
|
|
14
12
|
flagSpec: function () { return FLAG_SPEC_VERSION; }
|
|
15
13
|
// In Node.js the SDK ignores `config.integrations`, so a validator for integrations is not required
|
|
16
14
|
};
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { splitsParserFromFileFactory } from './splitsParserFromFile';
|
|
2
2
|
import { syncManagerOfflineFactory } from '@splitsoftware/splitio-commons/esm/sync/offline/syncManagerOffline';
|
|
3
|
-
// Singleton instance of the factory function for offline SyncManager from YAML file
|
|
3
|
+
// Singleton instance of the factory function for offline SyncManager from YAML file
|
|
4
4
|
// It uses NodeJS APIs.
|
|
5
|
-
var
|
|
6
|
-
localhostFromFile.type = 'LocalhostFromFile';
|
|
7
|
-
export function LocalhostFromFile() {
|
|
8
|
-
return localhostFromFile;
|
|
9
|
-
}
|
|
5
|
+
export var localhostFromFileFactory = syncManagerOfflineFactory(splitsParserFromFileFactory);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@splitsoftware/splitio",
|
|
3
|
-
"version": "11.0.0-rc.
|
|
3
|
+
"version": "11.0.0-rc.3",
|
|
4
4
|
"description": "Split SDK",
|
|
5
5
|
"files": [
|
|
6
6
|
"README.md",
|
|
@@ -38,8 +38,7 @@
|
|
|
38
38
|
"node": ">=14.0.0"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@splitsoftware/splitio-commons": "2.0.0-rc.
|
|
42
|
-
"@types/ioredis": "^4.28.0",
|
|
41
|
+
"@splitsoftware/splitio-commons": "2.0.0-rc.4",
|
|
43
42
|
"bloom-filters": "^3.0.0",
|
|
44
43
|
"ioredis": "^4.28.0",
|
|
45
44
|
"js-yaml": "^3.13.1",
|
|
@@ -109,9 +108,7 @@
|
|
|
109
108
|
"test-node-e2e-errorCatching": "cross-env NODE_ENV=test tape -r ./ts-node.register src/__tests__/errorCatching/node.spec.js | tap-min",
|
|
110
109
|
"test-node-e2e-push": "cross-env NODE_ENV=test tape -r ./ts-node.register src/__tests__/push/node.spec.js | tap-min",
|
|
111
110
|
"test-node-e2e-redis": "cross-env NODE_ENV=test tape -r ./ts-node.register src/__tests__/consumer/node_redis.spec.js | tap-min",
|
|
112
|
-
"
|
|
113
|
-
"test-ts-decls": "./scripts/ts-tests.sh",
|
|
114
|
-
"posttest-ts-decls": "npm rm --location=global @splitsoftware/splitio && npm install",
|
|
111
|
+
"test-ts-decls": "tsc --build ts-tests",
|
|
115
112
|
"test": "npm run test-node && npm run test-browser",
|
|
116
113
|
"all": "npm run check && npm run build && npm run test-ts-decls && npm run test",
|
|
117
114
|
"publish:rc": "npm run check && npm run build && npm publish --tag canary",
|
package/src/factory/browser.js
CHANGED
|
@@ -11,6 +11,7 @@ import { __InLocalStorageMockFactory } from '@splitsoftware/splitio-commons/src/
|
|
|
11
11
|
import { sdkFactory } from '@splitsoftware/splitio-commons/src/sdkFactory';
|
|
12
12
|
import { LOCALHOST_MODE, STORAGE_LOCALSTORAGE } from '@splitsoftware/splitio-commons/src/utils/constants';
|
|
13
13
|
import { createUserConsentAPI } from '@splitsoftware/splitio-commons/src/consent/sdkUserConsent';
|
|
14
|
+
import { localhostFromObjectFactory } from '@splitsoftware/splitio-commons/src/sync/offline/LocalhostFromObject';
|
|
14
15
|
|
|
15
16
|
import { settingsFactory } from '../settings/browser';
|
|
16
17
|
import { platform, SignalListener } from '../platform';
|
|
@@ -60,7 +61,7 @@ function getModules(settings) {
|
|
|
60
61
|
switch (settings.mode) {
|
|
61
62
|
case LOCALHOST_MODE:
|
|
62
63
|
modules.splitApiFactory = undefined;
|
|
63
|
-
modules.syncManagerFactory =
|
|
64
|
+
modules.syncManagerFactory = localhostFromObjectFactory;
|
|
64
65
|
modules.SignalListener = undefined;
|
|
65
66
|
break;
|
|
66
67
|
}
|
package/src/factory/node.js
CHANGED
|
@@ -4,13 +4,13 @@ import { pushManagerFactory } from '@splitsoftware/splitio-commons/src/sync/stre
|
|
|
4
4
|
import { pollingManagerSSFactory } from '@splitsoftware/splitio-commons/src/sync/polling/pollingManagerSS';
|
|
5
5
|
import { InRedisStorage } from '@splitsoftware/splitio-commons/src/storages/inRedis';
|
|
6
6
|
import { InMemoryStorageFactory } from '@splitsoftware/splitio-commons/src/storages/inMemory/InMemoryStorage';
|
|
7
|
-
import { getSnapshot } from '@splitsoftware/splitio-commons/src/storages/dataLoader';
|
|
8
7
|
import { sdkManagerFactory } from '@splitsoftware/splitio-commons/src/sdkManager';
|
|
9
8
|
import { sdkClientMethodFactory } from '@splitsoftware/splitio-commons/src/sdkClient/sdkClientMethod';
|
|
10
9
|
import { impressionObserverSSFactory } from '@splitsoftware/splitio-commons/src/trackers/impressionObserver/impressionObserverSS';
|
|
11
10
|
import { sdkFactory } from '@splitsoftware/splitio-commons/src/sdkFactory';
|
|
12
11
|
import { CONSUMER_MODE, LOCALHOST_MODE } from '@splitsoftware/splitio-commons/src/utils/constants';
|
|
13
12
|
|
|
13
|
+
import { localhostFromFileFactory } from '../sync/offline/LocalhostFromFile';
|
|
14
14
|
import { settingsFactory } from '../settings/node';
|
|
15
15
|
import { platform, SignalListener } from '../platform';
|
|
16
16
|
import { bloomFilterFactory } from '../platform/filter/bloomFilter';
|
|
@@ -48,23 +48,13 @@ function getModules(settings) {
|
|
|
48
48
|
|
|
49
49
|
impressionsObserverFactory: impressionObserverSSFactory,
|
|
50
50
|
|
|
51
|
-
filterAdapterFactory: bloomFilterFactory
|
|
52
|
-
|
|
53
|
-
extraProps: (params) => {
|
|
54
|
-
if (params.settings.mode !== CONSUMER_MODE) {
|
|
55
|
-
return {
|
|
56
|
-
getState(userKeys) {
|
|
57
|
-
return getSnapshot(params.storage, userKeys);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
}
|
|
51
|
+
filterAdapterFactory: bloomFilterFactory
|
|
62
52
|
};
|
|
63
53
|
|
|
64
54
|
switch (settings.mode) {
|
|
65
55
|
case LOCALHOST_MODE:
|
|
66
56
|
modules.splitApiFactory = undefined;
|
|
67
|
-
modules.syncManagerFactory =
|
|
57
|
+
modules.syncManagerFactory = localhostFromFileFactory;
|
|
68
58
|
modules.SignalListener = undefined;
|
|
69
59
|
break;
|
|
70
60
|
case CONSUMER_MODE:
|
package/src/settings/browser.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { settingsValidation } from '@splitsoftware/splitio-commons/src/utils/settingsValidation';
|
|
2
2
|
import { validateRuntime } from '@splitsoftware/splitio-commons/src/utils/settingsValidation/runtime';
|
|
3
3
|
import { validateLogger } from '@splitsoftware/splitio-commons/src/utils/settingsValidation/logger/builtinLogger';
|
|
4
|
-
import { LocalhostFromObject } from '@splitsoftware/splitio-commons/src/sync/offline/LocalhostFromObject';
|
|
5
4
|
import { validateConsent } from '@splitsoftware/splitio-commons/src/utils/settingsValidation/consent';
|
|
6
5
|
|
|
7
6
|
import { defaults } from './defaults/browser';
|
|
@@ -13,7 +12,6 @@ const params = {
|
|
|
13
12
|
runtime: validateRuntime,
|
|
14
13
|
storage: validateStorage,
|
|
15
14
|
logger: validateLogger,
|
|
16
|
-
localhost: () => LocalhostFromObject(),
|
|
17
15
|
consent: validateConsent,
|
|
18
16
|
};
|
|
19
17
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const packageVersion = '11.0.0-rc.
|
|
1
|
+
export const packageVersion = '11.0.0-rc.3';
|
package/src/settings/node.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { settingsValidation } from '@splitsoftware/splitio-commons/src/utils/settingsValidation';
|
|
2
2
|
import { validateLogger } from '@splitsoftware/splitio-commons/src/utils/settingsValidation/logger/builtinLogger';
|
|
3
|
-
import { LocalhostFromFile } from '../sync/offline/LocalhostFromFile';
|
|
4
3
|
|
|
5
4
|
import { defaults } from './defaults/node';
|
|
6
5
|
import { validateStorage } from './storage/node';
|
|
@@ -13,7 +12,6 @@ const params = {
|
|
|
13
12
|
runtime: validateRuntime,
|
|
14
13
|
storage: validateStorage,
|
|
15
14
|
logger: validateLogger,
|
|
16
|
-
localhost: () => LocalhostFromFile(),
|
|
17
15
|
flagSpec: () => FLAG_SPEC_VERSION
|
|
18
16
|
// In Node.js the SDK ignores `config.integrations`, so a validator for integrations is not required
|
|
19
17
|
};
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { splitsParserFromFileFactory } from './splitsParserFromFile';
|
|
2
2
|
import { syncManagerOfflineFactory } from '@splitsoftware/splitio-commons/src/sync/offline/syncManagerOffline';
|
|
3
3
|
|
|
4
|
-
// Singleton instance of the factory function for offline SyncManager from YAML file
|
|
4
|
+
// Singleton instance of the factory function for offline SyncManager from YAML file
|
|
5
5
|
// It uses NodeJS APIs.
|
|
6
|
-
const
|
|
7
|
-
localhostFromFile.type = 'LocalhostFromFile';
|
|
8
|
-
|
|
9
|
-
export function LocalhostFromFile() {
|
|
10
|
-
return localhostFromFile;
|
|
11
|
-
}
|
|
6
|
+
export const localhostFromFileFactory = syncManagerOfflineFactory(splitsParserFromFileFactory);
|
package/types/client/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// Declaration file for JavaScript Split Software SDK
|
|
2
2
|
// Project: http://www.split.io/
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
import '@splitsoftware/splitio-commons';
|
|
5
|
+
|
|
5
6
|
export = JsSdk;
|
|
6
7
|
|
|
7
8
|
declare module JsSdk {
|
|
@@ -10,5 +11,5 @@ declare module JsSdk {
|
|
|
10
11
|
* The settings parameter should be an object that complies with the SplitIO.IBrowserSettings.
|
|
11
12
|
* For more information read the corresponding article: @see {@link https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK#configuration}
|
|
12
13
|
*/
|
|
13
|
-
export function SplitFactory(settings: SplitIO.IBrowserSettings): SplitIO.
|
|
14
|
+
export function SplitFactory(settings: SplitIO.IBrowserSettings): SplitIO.ISDK;
|
|
14
15
|
}
|
package/types/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Project: http://www.split.io/
|
|
3
3
|
// Definitions by: Nico Zelaya <https://github.com/NicoZelaya/>
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import '@splitsoftware/splitio-commons';
|
|
6
6
|
|
|
7
7
|
export = JsSdk;
|
|
8
8
|
|
|
@@ -12,17 +12,17 @@ declare module JsSdk {
|
|
|
12
12
|
* The settings parameter should be an object that complies with the SplitIO.INodeAsyncSettings.
|
|
13
13
|
* For more information read the corresponding article: @see {@link https://help.split.io/hc/en-us/articles/360020564931-Node-js-SDK#configuration}
|
|
14
14
|
*/
|
|
15
|
-
export function SplitFactory(settings: SplitIO.INodeAsyncSettings): SplitIO.
|
|
15
|
+
export function SplitFactory(settings: SplitIO.INodeAsyncSettings): SplitIO.INodeAsyncSDK;
|
|
16
16
|
/**
|
|
17
17
|
* Split.io SDK factory function.
|
|
18
18
|
* The settings parameter should be an object that complies with the SplitIO.INodeSettings.
|
|
19
19
|
* For more information read the corresponding article: @see {@link https://help.split.io/hc/en-us/articles/360020564931-Node-js-SDK#configuration}
|
|
20
20
|
*/
|
|
21
|
-
export function SplitFactory(settings: SplitIO.INodeSettings): SplitIO.
|
|
21
|
+
export function SplitFactory(settings: SplitIO.INodeSettings): SplitIO.INodeSDK;
|
|
22
22
|
/**
|
|
23
23
|
* Split.io SDK factory function.
|
|
24
24
|
* The settings parameter should be an object that complies with the SplitIO.IBrowserSettings.
|
|
25
25
|
* For more information read the corresponding article: @see {@link https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK#configuration}
|
|
26
26
|
*/
|
|
27
|
-
export function SplitFactory(settings: SplitIO.IBrowserSettings): SplitIO.
|
|
27
|
+
export function SplitFactory(settings: SplitIO.IBrowserSettings): SplitIO.ISDK;
|
|
28
28
|
}
|
package/types/server/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// Declaration file for JavaScript Split Software SDK
|
|
2
2
|
// Project: http://www.split.io/
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
import '@splitsoftware/splitio-commons';
|
|
5
|
+
|
|
5
6
|
export = JsSdk;
|
|
6
7
|
|
|
7
8
|
declare module JsSdk {
|
|
@@ -10,11 +11,11 @@ declare module JsSdk {
|
|
|
10
11
|
* The settings parameter should be an object that complies with the SplitIO.INodeAsyncSettings.
|
|
11
12
|
* For more information read the corresponding article: @see {@link https://help.split.io/hc/en-us/articles/360020564931-Node-js-SDK#configuration}
|
|
12
13
|
*/
|
|
13
|
-
export function SplitFactory(settings: SplitIO.INodeAsyncSettings): SplitIO.
|
|
14
|
+
export function SplitFactory(settings: SplitIO.INodeAsyncSettings): SplitIO.INodeAsyncSDK;
|
|
14
15
|
/**
|
|
15
16
|
* Split.io SDK factory function.
|
|
16
17
|
* The settings parameter should be an object that complies with the SplitIO.INodeSettings.
|
|
17
18
|
* For more information read the corresponding article: @see {@link https://help.split.io/hc/en-us/articles/360020564931-Node-js-SDK#configuration}
|
|
18
19
|
*/
|
|
19
|
-
export function SplitFactory(settings: SplitIO.INodeSettings): SplitIO.
|
|
20
|
+
export function SplitFactory(settings: SplitIO.INodeSettings): SplitIO.INodeSDK;
|
|
20
21
|
}
|