@splitsoftware/splitio 11.0.0-rc.2 → 11.0.0-rc.4

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 CHANGED
@@ -1,18 +1,14 @@
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.
8
6
  - BREAKING CHANGES:
9
7
  - Dropped support for NodeJS v6. The SDK now requires NodeJS v14 or above.
8
+ - Renamed some TypeScript definitions in the SplitIO namespace to avoid conflicts with other libraries: `ISDK` to `INodeSDK`, `IAsyncSDK` to `INodeAsyncSDK`, `IBrowserSDK` to `ISDK`, `IClient` to `INodeClient`, `IAsyncClient` to `INodeAsyncClient`, `IBrowserClient` to `IClient`.
10
9
  - Removed internal ponyfills for the `Map` and `Set` global objects, dropping support for IE and other outdated browsers. The SDK now requires the runtime environment to support these features natively or provide a polyfill.
11
10
  - Removed the deprecated `GOOGLE_ANALYTICS_TO_SPLIT` and `SPLIT_TO_GOOGLE_ANALYTICS` integrations. The `integrations` configuration option has been removed from the SDK factory configuration, along with the associated interfaces in the TypeScript definitions.
12
11
  - Removed the `core.trafficType` configuration option (`SplitIO.IBrowserSettings['core']['trafficType]`) and the `trafficType` parameter from the SDK `client()` method in Browser (`SplitIO.IBrowserSDK['client']`). As a result, traffic types can no longer be bound to SDK clients, and the traffic type must be provided in the `track` method.
13
- - TypeScript definitions:
14
- - Removed an overloaded `client` method in the `SplitIO.ISDK` interface that accepted `key` and `trafficType` parameters. This interface corresponds to the SDK factory instance in NodeJS, which, unlike `SplitIO.IBrowserSDK` for the Browser, does not handle multiple client instances based on keys.
15
- - Updated the `SplitIO.IBrowserSDK` and `SplitIO.IBrowserClient` interfaces to no longer extend the `SplitIO.ISDK` and `SplitIO.IClient` interfaces respectively, as the SDK factory instance in NodeJS or server-side (`SplitIO.ISDK`) has a different API than the SDK client instance in the Browser or client-side (`SplitIO.IBrowserClient`).
16
12
 
17
13
  10.28.0 (September 6, 2024)
18
14
  - Updated @splitsoftware/splitio-commons package to version 1.17.0 that includes minor updates:
@@ -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 = settings.sync.localhostMode;
52
+ modules.syncManagerFactory = LocalhostFromObject_1.localhostFromObjectFactory;
52
53
  modules.SignalListener = undefined;
53
54
  break;
54
55
  }
@@ -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 = settings.sync.localhostMode;
45
+ modules.syncManagerFactory = LocalhostFromFile_1.localhostFromFileFactory;
55
46
  modules.SignalListener = undefined;
56
47
  break;
57
48
  case constants_1.CONSUMER_MODE:
@@ -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) {
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.packageVersion = void 0;
4
- exports.packageVersion = '11.0.0-rc.2';
4
+ exports.packageVersion = '11.0.0-rc.4';
@@ -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.LocalhostFromFile = void 0;
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 (a.k.a. localhostFromFile)
6
+ // Singleton instance of the factory function for offline SyncManager from YAML file
7
7
  // It uses NodeJS APIs.
8
- var localhostFromFile = (0, syncManagerOffline_1.syncManagerOfflineFactory)(splitsParserFromFile_1.splitsParserFromFileFactory);
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);
@@ -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 = settings.sync.localhostMode;
49
+ modules.syncManagerFactory = localhostFromObjectFactory;
49
50
  modules.SignalListener = undefined;
50
51
  break;
51
52
  }
@@ -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 = settings.sync.localhostMode;
42
+ modules.syncManagerFactory = localhostFromFileFactory;
52
43
  modules.SignalListener = undefined;
53
44
  break;
54
45
  case CONSUMER_MODE:
@@ -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.2';
1
+ export var packageVersion = '11.0.0-rc.4';
@@ -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 (a.k.a. localhostFromFile)
3
+ // Singleton instance of the factory function for offline SyncManager from YAML file
4
4
  // It uses NodeJS APIs.
5
- var localhostFromFile = syncManagerOfflineFactory(splitsParserFromFileFactory);
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.2",
3
+ "version": "11.0.0-rc.4",
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.2",
42
- "@types/ioredis": "^4.28.0",
41
+ "@splitsoftware/splitio-commons": "2.0.0-rc.5",
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
- "pretest-ts-decls": "npm run build-esm && npm run build-cjs && npm link",
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",
@@ -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 = settings.sync.localhostMode;
64
+ modules.syncManagerFactory = localhostFromObjectFactory;
64
65
  modules.SignalListener = undefined;
65
66
  break;
66
67
  }
@@ -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 = settings.sync.localhostMode;
57
+ modules.syncManagerFactory = localhostFromFileFactory;
68
58
  modules.SignalListener = undefined;
69
59
  break;
70
60
  case CONSUMER_MODE:
@@ -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.2';
1
+ export const packageVersion = '11.0.0-rc.4';
@@ -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 (a.k.a. localhostFromFile)
4
+ // Singleton instance of the factory function for offline SyncManager from YAML file
5
5
  // It uses NodeJS APIs.
6
- const localhostFromFile = syncManagerOfflineFactory(splitsParserFromFileFactory);
7
- localhostFromFile.type = 'LocalhostFromFile';
8
-
9
- export function LocalhostFromFile() {
10
- return localhostFromFile;
11
- }
6
+ export const localhostFromFileFactory = syncManagerOfflineFactory(splitsParserFromFileFactory);
@@ -1,7 +1,8 @@
1
1
  // Declaration file for JavaScript Split Software SDK
2
2
  // Project: http://www.split.io/
3
3
 
4
- /// <reference path="../splitio.d.ts" />
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.IBrowserSDK;
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
- /// <reference path="./splitio.d.ts" />
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.IAsyncSDK;
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.ISDK;
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.IBrowserSDK;
27
+ export function SplitFactory(settings: SplitIO.IBrowserSettings): SplitIO.ISDK;
28
28
  }
@@ -1,7 +1,8 @@
1
1
  // Declaration file for JavaScript Split Software SDK
2
2
  // Project: http://www.split.io/
3
3
 
4
- /// <reference path="../splitio.d.ts" />
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.IAsyncSDK;
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.ISDK;
20
+ export function SplitFactory(settings: SplitIO.INodeSettings): SplitIO.INodeSDK;
20
21
  }