Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@cycle/run

Package Overview
Dependencies
Maintainers
2
Versions
41
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cycle/run - npm Package Compare versions

Comparing version 4.0.0-rc.2 to 4.0.0-rc.3

lib/es6/microtask.d.ts

238

dist/cycle-run.js
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Cycle = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
// shim for using process in browser
var process = module.exports = {};
// cached from whatever global is present so that test runners that stub it
// don't break things. But we need to wrap it in a try catch in case it is
// wrapped in strict mode code which doesn't define any globals. It's inside a
// function because try/catches deoptimize in certain engines.
var cachedSetTimeout;
var cachedClearTimeout;
function defaultSetTimout() {
throw new Error('setTimeout has not been defined');
}
function defaultClearTimeout () {
throw new Error('clearTimeout has not been defined');
}
(function () {
try {
if (typeof setTimeout === 'function') {
cachedSetTimeout = setTimeout;
} else {
cachedSetTimeout = defaultSetTimout;
}
} catch (e) {
cachedSetTimeout = defaultSetTimout;
}
try {
if (typeof clearTimeout === 'function') {
cachedClearTimeout = clearTimeout;
} else {
cachedClearTimeout = defaultClearTimeout;
}
} catch (e) {
cachedClearTimeout = defaultClearTimeout;
}
} ())
function runTimeout(fun) {
if (cachedSetTimeout === setTimeout) {
//normal enviroments in sane situations
return setTimeout(fun, 0);
}
// if setTimeout wasn't available but was latter defined
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
cachedSetTimeout = setTimeout;
return setTimeout(fun, 0);
}
try {
// when when somebody has screwed with setTimeout but no I.E. maddness
return cachedSetTimeout(fun, 0);
} catch(e){
try {
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
return cachedSetTimeout.call(null, fun, 0);
} catch(e){
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
return cachedSetTimeout.call(this, fun, 0);
}
}
}
function runClearTimeout(marker) {
if (cachedClearTimeout === clearTimeout) {
//normal enviroments in sane situations
return clearTimeout(marker);
}
// if clearTimeout wasn't available but was latter defined
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
cachedClearTimeout = clearTimeout;
return clearTimeout(marker);
}
try {
// when when somebody has screwed with setTimeout but no I.E. maddness
return cachedClearTimeout(marker);
} catch (e){
try {
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
return cachedClearTimeout.call(null, marker);
} catch (e){
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
// Some versions of I.E. have different rules for clearTimeout vs setTimeout
return cachedClearTimeout.call(this, marker);
}
}
}
var queue = [];
var draining = false;
var currentQueue;
var queueIndex = -1;
function cleanUpNextTick() {
if (!draining || !currentQueue) {
return;
}
draining = false;
if (currentQueue.length) {
queue = currentQueue.concat(queue);
} else {
queueIndex = -1;
}
if (queue.length) {
drainQueue();
}
}
function drainQueue() {
if (draining) {
return;
}
var timeout = runTimeout(cleanUpNextTick);
draining = true;
var len = queue.length;
while(len) {
currentQueue = queue;
queue = [];
while (++queueIndex < len) {
if (currentQueue) {
currentQueue[queueIndex].run();
}
}
queueIndex = -1;
len = queue.length;
}
currentQueue = null;
draining = false;
runClearTimeout(timeout);
}
process.nextTick = function (fun) {
var args = new Array(arguments.length - 1);
if (arguments.length > 1) {
for (var i = 1; i < arguments.length; i++) {
args[i - 1] = arguments[i];
}
}
queue.push(new Item(fun, args));
if (queue.length === 1 && !draining) {
runTimeout(drainQueue);
}
};
// v8 likes predictible objects
function Item(fun, array) {
this.fun = fun;
this.array = array;
}
Item.prototype.run = function () {
this.fun.apply(null, this.array);
};
process.title = 'browser';
process.browser = true;
process.env = {};
process.argv = [];
process.version = ''; // empty string to avoid regexp issues
process.versions = {};
function noop() {}
process.on = noop;
process.addListener = noop;
process.once = noop;
process.off = noop;
process.removeListener = noop;
process.removeAllListeners = noop;
process.emit = noop;
process.binding = function (name) {
throw new Error('process.binding is not supported');
};
process.cwd = function () { return '/' };
process.chdir = function (dir) {
throw new Error('process.chdir is not supported');
};
process.umask = function() { return 0; };
},{}],2:[function(require,module,exports){
"use strict";

@@ -14,3 +196,3 @@ Object.defineProperty(exports, "__esModule", { value: true });

},{}],2:[function(require,module,exports){
},{}],3:[function(require,module,exports){
(function (global){

@@ -21,2 +203,4 @@ "use strict";

var adapt_1 = require("./adapt");
var microtask_1 = require("./microtask");
var scheduleMicrotask = microtask_1.default();
function logToConsoleError(err) {

@@ -35,3 +219,3 @@ var target = err.stack || err;

if (drivers.hasOwnProperty(name_1)) {
sinkProxies[name_1] = xstream_1.default.createWithMemory();
sinkProxies[name_1] = xstream_1.default.create();
}

@@ -82,7 +266,9 @@ }

var next = function (x) {
listener._n(x);
scheduleMicrotask(function () { return listener._n(x); });
};
var error = function (err) {
logToConsoleError(err);
listener._e(err);
scheduleMicrotask(function () {
logToConsoleError(err);
listener._e(err);
});
};

@@ -213,3 +399,43 @@ buffers[name]._n.forEach(next);

}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"./adapt":1}]},{},[2])(2)
},{"./adapt":2,"./microtask":4}],4:[function(require,module,exports){
(function (process){
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Inspired by https://github.com/yoshuawuyts/nanotask, this function manages
* a queue of microtasks. It returns a "scheduleMicrotask" helper.
*
* Uses MutationObserver in the browser, supported by many browsers, including
* IE11.
*
* Uses process.nextTick in Node.js.
*
* Uses setTimeout otherwise.
*/
function microtask() {
if (typeof MutationObserver !== 'undefined') {
var node_1 = document.createTextNode('');
var queue_1 = [];
var i_1 = 0;
new MutationObserver(function () {
while (queue_1.length) {
queue_1.shift()();
}
}).observe(node_1, { characterData: true });
return function (fn) {
queue_1.push(fn);
node_1.data = i_1 = 1 - i_1;
};
}
else if (typeof process !== 'undefined') {
return process.nextTick;
}
else {
return setTimeout;
}
}
exports.default = microtask;
}).call(this,require('_process'))
},{"_process":1}]},{},[3])(3)
});

18

dist/cycle-run.min.js

@@ -1,7 +0,11 @@

(function(n){"object"===typeof exports&&"undefined"!==typeof module?module.exports=n():"function"===typeof define&&define.amd?define([],n):("undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:this).Cycle=n()})(function(){return function l(h,a,g){function p(f,d){if(!a[f]){if(!h[f]){var k="function"==typeof require&&require;if(!d&&k)return k(f,!0);if(m)return m(f,!0);d=Error("Cannot find module '"+f+"'");throw d.code="MODULE_NOT_FOUND",d;}d=a[f]={exports:{}};
h[f][0].call(d.exports,function(a){var d=h[f][1][a];return p(d?d:a)},d,d.exports,l,h,a,g)}return a[f].exports}for(var m="function"==typeof require&&require,k=0;k<g.length;k++)p(g[k]);return p}({1:[function(l,h,a){Object.defineProperty(a,"__esModule",{value:!0});var g=function(a){return a};a.setAdapt=function(a){g=a};a.adapt=function(a){return g(a)}},{}],2:[function(l,h,a){(function(g){function h(e){var b={},a;for(a in e)e.hasOwnProperty(a)&&(b[a]=r.default.createWithMemory());return b}function m(a,
b){var e={},c;for(c in a)a.hasOwnProperty(c)&&(e[c]=a[c](b[c],c),e[c]&&"object"===typeof e[c]&&(e[c]._isCycleSource=c));return e}function k(a){for(var b in a)a.hasOwnProperty(b)&&a[b]&&"function"===typeof a[b].shamefullySendNext&&(a[b]=t.adapt(a[b]));return a}function f(a,b){var e=Object.keys(a).filter(function(a){return!!b[a]}),c={},d={};e.forEach(function(a){c[a]={_n:[],_e:[]};d[a]={next:function(b){return c[a]._n.push(b)},error:function(b){return c[a]._e.push(b)},complete:function(){}}});var f=
e.map(function(b){return r.default.fromObservable(a[b]).subscribe(d[b])});e.forEach(function(a){var e=b[a],f=function(a){e._n(a)},g=function(a){var b=a.stack||a;console&&console.error?console.error(b):console&&console.log&&console.log(b);e._e(a)};c[a]._n.forEach(f);c[a]._e.forEach(g);d[a].next=f;d[a].error=g;d[a]._n=f;d[a]._e=g});c=null;return function(){f.forEach(function(a){return a.unsubscribe()});e.forEach(function(a){return b[a]._c()})}}function d(a,b){if("function"!==typeof a)throw Error("First argument given to Cycle must be the 'main' function.");
if("object"!==typeof b||null===b)throw Error("Second argument given to Cycle must be an object with driver functions as properties.");if(0===Object.keys(b).length)throw Error("Second argument given to Cycle must be an object with at least one driver function declared as a property.");var d=h(b),c=m(b,d);b=k(c);var e=a(b);"undefined"!==typeof window&&(window.Cyclejs=window.Cyclejs||{},window.Cyclejs.sinks=e);return{sinks:e,sources:c,run:function(){var a=f(e,d);return function(){for(var b in c)c.hasOwnProperty(b)&&
c[b]&&c[b].dispose&&c[b].dispose();a()}}}}function q(a,b){a=d(a,b);"undefined"!==typeof window&&window.CyclejsDevTool_startGraphSerializer&&window.CyclejsDevTool_startGraphSerializer(a.sinks);return a.run()}Object.defineProperty(a,"__esModule",{value:!0});var r="undefined"!==typeof window?window.xstream:"undefined"!==typeof g?g.xstream:null,t=l("./adapt");a.setup=d;a.run=q;a.default=q}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:
{})},{"./adapt":1}]},{},[2])(2)});
(function(v){"object"===typeof exports&&"undefined"!==typeof module?module.exports=v():"function"===typeof define&&define.amd?define([],v):("undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:this).Cycle=v()})(function(){return function a(l,c,e){function r(f,h){if(!c[f]){if(!l[f]){var k="function"==typeof require&&require;if(!h&&k)return k(f,!0);if(t)return t(f,!0);h=Error("Cannot find module '"+f+"'");throw h.code="MODULE_NOT_FOUND",h;}h=c[f]={exports:{}};
l[f][0].call(h.exports,function(a){var c=l[f][1][a];return r(c?c:a)},h,h.exports,a,l,c,e)}return c[f].exports}for(var t="function"==typeof require&&require,k=0;k<e.length;k++)r(e[k]);return r}({1:[function(a,l,c){function e(){throw Error("setTimeout has not been defined");}function r(){throw Error("clearTimeout has not been defined");}function t(b){if(q===setTimeout)return setTimeout(b,0);if((q===e||!q)&&setTimeout)return q=setTimeout,setTimeout(b,0);try{return q(b,0)}catch(y){try{return q.call(null,
b,0)}catch(u){return q.call(this,b,0)}}}function k(b){if(m===clearTimeout)return clearTimeout(b);if((m===r||!m)&&clearTimeout)return m=clearTimeout,clearTimeout(b);try{return m(b)}catch(y){try{return m.call(null,b)}catch(u){return m.call(this,b)}}}function f(){g&&n&&(g=!1,n.length?b=n.concat(b):d=-1,b.length&&h())}function h(){if(!g){var a=t(f);g=!0;for(var c=b.length;c;){n=b;for(b=[];++d<c;)n&&n[d].run();d=-1;c=b.length}n=null;g=!1;k(a)}}function w(b,a){this.fun=b;this.array=a}function p(){}a=l.exports=
{};try{var q="function"===typeof setTimeout?setTimeout:e}catch(x){q=e}try{var m="function"===typeof clearTimeout?clearTimeout:r}catch(x){m=r}var b=[],g=!1,n,d=-1;a.nextTick=function(a){var d=Array(arguments.length-1);if(1<arguments.length)for(var u=1;u<arguments.length;u++)d[u-1]=arguments[u];b.push(new w(a,d));1!==b.length||g||t(h)};w.prototype.run=function(){this.fun.apply(null,this.array)};a.title="browser";a.browser=!0;a.env={};a.argv=[];a.version="";a.versions={};a.on=p;a.addListener=p;a.once=
p;a.off=p;a.removeListener=p;a.removeAllListeners=p;a.emit=p;a.binding=function(b){throw Error("process.binding is not supported");};a.cwd=function(){return"/"};a.chdir=function(b){throw Error("process.chdir is not supported");};a.umask=function(){return 0}},{}],2:[function(a,l,c){Object.defineProperty(c,"__esModule",{value:!0});var e=function(a){return a};c.setAdapt=function(a){e=a};c.adapt=function(a){return e(a)}},{}],3:[function(a,l,c){(function(e){function r(b){var a={},n;for(n in b)b.hasOwnProperty(n)&&
(a[n]=p.default.create());return a}function t(b,a){var g={},d;for(d in b)b.hasOwnProperty(d)&&(g[d]=b[d](a[d],d),g[d]&&"object"===typeof g[d]&&(g[d]._isCycleSource=d));return g}function k(b){for(var a in b)b.hasOwnProperty(a)&&b[a]&&"function"===typeof b[a].shamefullySendNext&&(b[a]=q.adapt(b[a]));return b}function f(a,g){var b=Object.keys(a).filter(function(a){return!!g[a]}),d={},c={};b.forEach(function(a){d[a]={_n:[],_e:[]};c[a]={next:function(b){return d[a]._n.push(b)},error:function(b){return d[a]._e.push(b)},
complete:function(){}}});var e=b.map(function(b){return p.default.fromObservable(a[b]).subscribe(c[b])});b.forEach(function(a){var b=g[a],e=function(a){m(function(){return b._n(a)})},f=function(a){m(function(){var d=a.stack||a;console&&console.error?console.error(d):console&&console.log&&console.log(d);b._e(a)})};d[a]._n.forEach(e);d[a]._e.forEach(f);c[a].next=e;c[a].error=f;c[a]._n=e;c[a]._e=f});d=null;return function(){e.forEach(function(a){return a.unsubscribe()});b.forEach(function(a){return g[a]._c()})}}
function h(a,c){if("function"!==typeof a)throw Error("First argument given to Cycle must be the 'main' function.");if("object"!==typeof c||null===c)throw Error("Second argument given to Cycle must be an object with driver functions as properties.");if(0===Object.keys(c).length)throw Error("Second argument given to Cycle must be an object with at least one driver function declared as a property.");var b=r(c),d=t(c,b);c=k(d);var e=a(c);"undefined"!==typeof window&&(window.Cyclejs=window.Cyclejs||{},
window.Cyclejs.sinks=e);return{sinks:e,sources:d,run:function(){var a=f(e,b);return function(){for(var b in d)d.hasOwnProperty(b)&&d[b]&&d[b].dispose&&d[b].dispose();a()}}}}function l(a,c){a=h(a,c);"undefined"!==typeof window&&window.CyclejsDevTool_startGraphSerializer&&window.CyclejsDevTool_startGraphSerializer(a.sinks);return a.run()}Object.defineProperty(c,"__esModule",{value:!0});var p="undefined"!==typeof window?window.xstream:"undefined"!==typeof e?e.xstream:null,q=a("./adapt"),m=a("./microtask").default();
c.setup=h;c.run=l;c.default=l}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"./adapt":2,"./microtask":4}],4:[function(a,l,c){(function(a){Object.defineProperty(c,"__esModule",{value:!0});c.default=function(){if("undefined"!==typeof MutationObserver){var c=document.createTextNode(""),e=[],k=0;(new MutationObserver(function(){for(;e.length;)e.shift()()})).observe(c,{characterData:!0});return function(a){e.push(a);c.data=k=1-k}}return"undefined"!==
typeof a?a.nextTick:setTimeout}}).call(this,a("_process"))},{_process:1}]},{},[3])(3)});
import xs from 'xstream';
import { adapt } from './adapt';
import microtask from './microtask';
var scheduleMicrotask = microtask();
function logToConsoleError(err) {

@@ -62,7 +64,9 @@ var target = err.stack || err;

var next = function (x) {
listener._n(x);
scheduleMicrotask(function () { return listener._n(x); });
};
var error = function (err) {
logToConsoleError(err);
listener._e(err);
scheduleMicrotask(function () {
logToConsoleError(err);
listener._e(err);
});
};

@@ -84,11 +88,2 @@ buffers[name]._n.forEach(next);

}
function clearBuffers(sources) {
for (var k in sources) {
if (sources.hasOwnProperty(k) &&
sources[k] &&
sources[k].clearBuffer) {
sources[k].clearBuffer();
}
}
}
function disposeSources(sources) {

@@ -156,3 +151,2 @@ for (var k in sources) {

var disposeReplication = replicateMany(sinks, sinkProxies);
clearBuffers(sources);
return function dispose() {

@@ -159,0 +153,0 @@ disposeSources(sources);

@@ -5,2 +5,4 @@ "use strict";

var adapt_1 = require("./adapt");
var microtask_1 = require("./microtask");
var scheduleMicrotask = microtask_1.default();
function logToConsoleError(err) {

@@ -65,7 +67,9 @@ var target = err.stack || err;

var next = function (x) {
listener._n(x);
scheduleMicrotask(function () { return listener._n(x); });
};
var error = function (err) {
logToConsoleError(err);
listener._e(err);
scheduleMicrotask(function () {
logToConsoleError(err);
listener._e(err);
});
};

@@ -87,11 +91,2 @@ buffers[name]._n.forEach(next);

}
function clearBuffers(sources) {
for (var k in sources) {
if (sources.hasOwnProperty(k) &&
sources[k] &&
sources[k].clearBuffer) {
sources[k].clearBuffer();
}
}
}
function disposeSources(sources) {

@@ -159,3 +154,2 @@ for (var k in sources) {

var disposeReplication = replicateMany(sinks, sinkProxies);
clearBuffers(sources);
return function dispose() {

@@ -162,0 +156,0 @@ disposeSources(sources);

{
"name": "@cycle/run",
"version": "4.0.0-rc.2",
"version": "4.0.0-rc.3",
"description": "The Cycle.js run() function to use with xstream",

@@ -5,0 +5,0 @@ "license": "MIT",

import xs, {Stream} from 'xstream';
import {adapt} from './adapt';
import microtask from './microtask';
import {

@@ -29,2 +30,4 @@ CycleProgram,

const scheduleMicrotask = microtask();
function logToConsoleError(err: any) {

@@ -130,7 +133,9 @@ const target = err.stack || err;

const next = (x: any) => {
listener._n(x);
scheduleMicrotask(() => listener._n(x));
};
const error = (err: any) => {
logToConsoleError(err);
listener._e(err);
scheduleMicrotask(() => {
logToConsoleError(err);
listener._e(err);
});
};

@@ -154,14 +159,2 @@ buffers[name]._n.forEach(next);

function clearBuffers<So extends Sources>(sources: So) {
for (const k in sources) {
if (
sources.hasOwnProperty(k) &&
sources[k] &&
(sources[k] as any).clearBuffer
) {
(sources[k] as any).clearBuffer();
}
}
}
function disposeSources<So extends Sources>(sources: So) {

@@ -243,3 +236,2 @@ for (const k in sources) {

const disposeReplication = replicateMany(sinks, sinkProxies);
clearBuffers(sources);
return function dispose() {

@@ -246,0 +238,0 @@ disposeSources(sources);

@@ -356,31 +356,2 @@ import 'mocha';

it('should happen synchronously', function(done) {
let sandbox = sinon.sandbox.create();
const spy = sandbox.spy();
function app(sources: any): any {
sources.other.addListener({
next: () => {},
error: () => {},
complete: () => {},
});
return {
other: xs.of(10),
};
}
let mutable = 'correct';
function driver(sink: Stream<number>): Stream<string> {
return sink.map(x => 'a' + 10).debug(x => {
assert.strictEqual(x, 'a10');
assert.strictEqual(mutable, 'correct');
spy();
});
}
run(app, {other: driver});
mutable = 'wrong';
setTimeout(() => {
sinon.assert.calledOnce(spy);
done();
}, 20);
});
it('should support driver that asynchronously subscribes to sink', function(

@@ -510,23 +481,8 @@ done,

function httpDriver(sink: Stream<any>) {
let isBufferOpen = true;
const buffer: Array<any> = [];
const earlySource = xs.create({
start(listener: any) {
while (buffer.length > 0) {
listener.next(buffer.shift());
}
isBufferOpen = false;
},
stop() {},
});
const source = sink.map(req => ({body: {name: 'Louis'}}));
source.addListener({
next: x => {
if (isBufferOpen) {
buffer.push(x);
}
},
next: x => {},
error: (err: any) => {},
});
return xs.merge(earlySource, source).debug(x => {
return source.debug(x => {
requestsSent += 1;

@@ -600,81 +556,2 @@ });

});
it('should clear too-early buffers in drivers', function(done) {
function main(sources: any) {
const test$ = xs
.of(null)
.compose(delay(1000))
.map(() =>
sources.HTTP
.select('cat') // .flatten()
.map((res: any) => 'I should not show this, ' + res.text),
)
.flatten();
const request$ = xs.of({
category: 'cat',
url: 'http://jsonplaceholder.typicode.com/users/1',
});
return {
HTTP: request$,
Test: test$,
};
}
function testDriver(sink: any) {
sink.addListener({
next: (s: string) => {
console.log(s);
done('No data should come through the Test sink');
},
error: (err: any) => {
done(err);
},
});
}
function httpDriver(sink: Stream<any>) {
let isBufferOpen = true;
const buffer: Array<any> = [];
const earlySource = xs.create({
start(listener: any) {
while (buffer.length > 0) {
listener.next(buffer.shift());
}
isBufferOpen = false;
},
stop() {},
});
const source = sink.map(req => ({body: {name: 'Louis'}}));
source.addListener({
next: x => {
if (isBufferOpen) {
buffer.push(x);
}
},
error: (err: any) => {},
});
return {
select: function() {
return xs.merge(earlySource, source);
},
clearBuffer: function() {
while (buffer.length > 0) {
buffer.shift();
}
},
};
}
const dispose = run(main, {
HTTP: httpDriver,
Test: testDriver,
});
setTimeout(() => {
dispose();
done();
}, 1800);
});
});

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