New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@splitsoftware/splitio

Package Overview
Dependencies
Maintainers
2
Versions
487
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@splitsoftware/splitio - npm Package Compare versions

Comparing version 0.22.0 to 0.24.0

19

lib/core/index.js

@@ -9,4 +9,4 @@ /* @flow */'use strict';

var splitSettings = require('../settings');
var schedulerFactory = require('../scheduler');
var SchedulerFactory = require('@splitsoftware/splitio-utils/lib/scheduler');
var settings = require('@splitsoftware/splitio-utils/lib/settings');

@@ -30,14 +30,9 @@ var _require = require('@splitsoftware/splitio-cache');

var coreSettings = splitSettings.get('core');
var featuresRefreshRate = splitSettings.get('featuresRefreshRate');
var segmentsRefreshRate = splitSettings.get('segmentsRefreshRate');
var metricsRefreshRate = splitSettings.get('metricsRefreshRate');
var coreSettings = settings.get('core');
var featuresRefreshRate = settings.get('featuresRefreshRate');
var segmentsRefreshRate = settings.get('segmentsRefreshRate');
var splitRefreshScheduler = schedulerFactory();
var segmentsRefreshScheduler = schedulerFactory();
var metricsPushScheduler = schedulerFactory();
var splitRefreshScheduler = SchedulerFactory();
var segmentsRefreshScheduler = SchedulerFactory();
// send stats to split servers if needed.
metricsPushScheduler.forever(metrics.publish, metricsRefreshRate);
// the first time the download is sequential:

@@ -44,0 +39,0 @@ // 1- download feature settings

/* @flow */'use strict';
var coreSettings = require('./settings');
var log = require('debug')('splitio');
var coreSettings = require('@splitsoftware/splitio-utils/lib/settings');
var metricsEngine = require('@splitsoftware/splitio-metrics');
var impressionsTracker = metricsEngine.impressions;
var getTreatmentTracker = metricsEngine.getTreatment;
var core = require('./core');
var tracker = require('@splitsoftware/splitio-metrics').sdk.tracker();
var log = require('debug')('splitio');
function splitio(settings /*: object */) /*: object */{
var engine = undefined;
var engineReadyPromise = undefined;
// setup settings for all the modules
coreSettings.configure(settings);
settings = coreSettings.configure(settings);
// the engine startup is async (till we get localStorage as
// secondary cache)
core.start().then(function (initializedEngine) {
return engine = initializedEngine;
engineReadyPromise = core.start().then(function (initializedEngine) {
engine = initializedEngine;
}).catch(function noop() {/* only for now */});
// startup monitoring tools
metricsEngine.start(settings);
return {

@@ -26,7 +34,15 @@ getTreatment: function getTreatment(key /*: string */, featureName /*: string */) /*: string */{

if (engine === undefined) {
impressionsTracker({
feature: featureName,
key: key,
treatment: treatment,
when: Date.now()
});
return treatment;
}
var stopGetTreatmentTracker = getTreatmentTracker(); // start engine perf monitoring
var split = engine.splits.get(featureName);
var stop = tracker();
if (split) {

@@ -39,5 +55,16 @@ treatment = split.getTreatment(key);

}
stop();
stopGetTreatmentTracker(); // finish engine perf monitoring
impressionsTracker({
feature: featureName,
key: key,
treatment: treatment,
when: Date.now()
});
return treatment;
},
ready: function ready() /*: Promise */{
return engineReadyPromise;
}

@@ -44,0 +71,0 @@ };

@@ -19,2 +19,6 @@ 'use strict';

var _promise = require('babel-runtime/core-js/promise');
var _promise2 = _interopRequireDefault(_promise);
var _typeof2 = require('babel-runtime/helpers/typeof');

@@ -89,2 +93,4 @@

var alwaysReadyPromise = _promise2.default.resolve(undefined);
return {

@@ -103,2 +109,5 @@ getTreatment: function getTreatment() {

return typeof treatment === 'undefined' ? 'control' : treatment;
},
ready: function ready() {
return alwaysReadyPromise;
}

@@ -105,0 +114,0 @@ };

{
"name": "@splitsoftware/splitio",
"version": "0.22.0",
"version": "0.24.0",
"description": "Split SDK",

@@ -18,7 +18,10 @@ "author": "Facundo Cabrera <facundo@split.io>",

"watch-test": "babel test/es6 --out-dir test/lib --source-maps --watch",
"test": "istanbul test tape -- test/lib/**/*.spec.js"
"test": "tape test/lib/**/*.spec.js | faucet",
"coverage": "istanbul test tape -- test/lib/**/*.spec.js"
},
"dependencies": {
"@splitsoftware/splitio-metrics": "0.22.0",
"@splitsoftware/splitio-cache": "0.22.0",
"@splitsoftware/splitio-cache": "0.24.0",
"@splitsoftware/splitio-metrics": "0.24.0",
"@splitsoftware/splitio-utils": "0.24.0",
"babel-runtime": "^6.5.0",
"debug": "^2.2.0"

@@ -32,6 +35,4 @@ },

"babel-preset-es2015": "^6.3.13",
"browserify": "^13.0.0",
"eslint": "^1.10.3",
"faucet": "0.0.1",
"istanbul": "^0.4.2",
"jscs": "^2.7.0",
"tape": "^4.4.0"

@@ -38,0 +39,0 @@ },

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc