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

layout-blocks

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

layout-blocks - npm Package Compare versions

Comparing version 0.1.3 to 0.1.4

dist/utils/creatHash.d.ts

37

dist/layout-blocks.cjs.development.js

@@ -46,2 +46,37 @@ 'use strict';

function createHash(str) {
var n = 0x5bd1e995;
var l = str.length,
h = l ^ l,
i = 0,
k;
while (l >= 4) {
k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;
k = (k & 0xffff) * n + (((k >>> 16) * n & 0xffff) << 16);
k ^= k >>> 24;
k = (k & 0xffff) * n + (((k >>> 16) * n & 0xffff) << 16);
h = (h & 0xffff) * n + (((h >>> 16) * n & 0xffff) << 16) ^ k;
l -= 4;
++i;
}
switch (l) {
case 3:
h ^= (str.charCodeAt(i + 2) & 0xff) << 16;
case 2:
h ^= (str.charCodeAt(i + 1) & 0xff) << 8;
case 1:
h ^= str.charCodeAt(i) & 0xff;
h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);
}
h ^= h >>> 13;
h = (h & 0xffff) * n + (((h >>> 16) * n & 0xffff) << 16);
h ^= h >>> 15;
return (h >>> 0).toString(36);
}
function enhancePropsWithClassname(props, newClass) {

@@ -64,3 +99,3 @@ var _props$className = props.className,

function createLayoutClassname(type, api) {
return "layout-block-" + type + "-" + Object.values(api).join('');
return "layout-block-" + type + "-" + createHash(JSON.stringify(api));
}

@@ -67,0 +102,0 @@

2

dist/layout-blocks.cjs.production.min.js

@@ -1,2 +0,2 @@

"use strict";function n(n){return n&&"object"==typeof n&&"default"in n?n.default:n}Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=n(e),r=n(require("resize-observer-polyfill"));function a(){return(a=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n}).apply(this,arguments)}var i=e.createContext({});function s(n){var r=n.api,s=void 0===r?{}:r,l=n.name,o=n.styles,c=n.template;return function(n){var r=e.useContext(i),u=n.as,m=void 0===u?"div":u,f=n.children,p=function(n,e){if(null==n)return{};var t,r,a={},i=Object.keys(n);for(r=0;r<i.length;r++)e.indexOf(t=i[r])>=0||(a[t]=n[t]);return a}(n,["as","children"]),d=a({},s,{},r[l]),g=a({},Object.keys(d).reduce((function(n,e){if(p.hasOwnProperty(e)){var t,r=p[e];return delete p[e],a({},n,((t={})[e]=r,t))}return n}),d)),v=function(n,e){return"layout-block-"+n+"-"+Object.values(e).join("")}(l,g);return t.createElement(t.Fragment,null,function(n){return t.createElement("style",{dangerouslySetInnerHTML:{__html:n}})}(o(m+"."+v,g)),c(m,function(n,e){var t=n.className,r=void 0===t?"":t;return a({},n,{className:r.length?r.concat(" "+e):e})}(p,v),f,g))}}var l=s({api:{padding:"var(--s1)"},name:"box",styles:function(n,e){return"\n "+n+" {\n padding: "+e.padding+";\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),r)}}),o=s({api:{max:"var(--measure)",isTextCentered:!1,gutter:"0",isIntrinsic:!1},name:"center",styles:function(n,e){var t=e.gutter;return"\n "+n+" {\n box-sizing: content-box;\n margin-left: auto;\n margin-right: auto;\n max-width: "+e.max+";\n "+(e.isTextCentered?"text-align: center;":"")+"\n padding-left: "+t+";\n padding-right: "+t+";\n "+(e.isIntrinsic?"\n display:flex;\n flex-direction: column;\n align-items: center;\n ":"")+"\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),r)}}),c=s({api:{centered:"h1",space:"var(--s1)",minHeight:"100vh",isPadded:!1},name:"cover",styles:function(n,e){var t=e.centered,r=e.space,a=e.minHeight,i=e.isPadded;return"\n "+n+" {\n display: flex;\n flex-direction: column;\n min-height: "+a+";\n padding: "+(i?r:"0")+";\n }\n\n "+n+" > * {\n margin-top: "+r+";\n margin-bottom: "+r+";\n }\n\n "+n+" {\n display: flex;\n flex-direction: column;\n min-height: "+a+";\n padding: "+(i?r:"0")+";\n }\n\n "+n+" > :first-of-type:not(style):not("+t+") {\n margin-top: 0;\n }\n\n "+n+" > :last-of-type:not(style):not("+t+") {\n margin-bottom: 0;\n }\n\n "+n+" > "+t+" {\n margin-top: auto;\n margin-bottom: auto;\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),r)}}),u=s({api:{ratio:"16:9"},name:"frame",styles:function(n,e){var t=e.ratio.split(":"),r=t[0];return"\n "+n+" {\n --n: "+Number(t[1])+";\n --d: "+Number(r)+";\n padding-bottom: calc(var(--n) / var(--d) * 100%);\n position: relative;\n }\n\n "+n+" > * {\n overflow: hidden;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n "+n+" > img,\n "+n+" > video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),r)}}),m=s({name:"fullbleed",styles:function(n){return"\n "+n+" {\n width: 100vw;\n margin-left: 50%;\n transform: translateX(-50%);\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),r)}}),f=s({api:{min:"250px",space:"var(--s1)"},name:"grid",styles:function(n,e){var t=e.min;return"\n "+n+" {\n display: grid;\n grid-gap: "+e.space+";\n grid-template-columns: 100%;\n }\n\n "+n+".aboveMin {\n grid-template-columns: repeat(auto-fill, minmax("+t+", 1fr));\n }\n\n @supports (width: min("+t+", 100%)) {\n "+n+" {\n grid-template-columns: repeat(auto-fit, minmax(min("+t+", 100%), 1fr));\n }\n }\n "},template:function(n,i,s,l){var o=function(){var n=e.useState(null),t=n[0],a=n[1],i=e.useState(null),s=i[0],l=i[1],o=e.useRef(null),c=e.useCallback((function(){var n=o.current;n&&n.disconnect()}),[]),u=e.useCallback((function(){o.current=new r((function(n){return a(n[0])})),s&&o.current.observe(s)}),[s]);return e.useEffect((function(){return u(),function(){return c()}}),[c,u]),[l,t]}(),c=o[0],u=o[1],m=e.useRef(null),f=!1;m.current&&u&&u.contentRect&&(m.current.style.width=l.min,f=u.contentRect.width>m.current.offsetWidth);var p=i.className,d=a({},i,{ref:c,className:p.length?f?p.concat(" aboveMin"):p:f?"aboveMin":p});return t.createElement(n,Object.assign({},d),s,t.createElement("div",{ref:m}))}}),p=s({api:{align:"center",justify:"flex-start",space:"var(--s1)"},name:"group",styles:function(n,e){var t=e.space;return"\n "+n+" {\n overflow: hidden;\n }\n\n "+n+" > * {\n display: flex;\n flex-wrap: wrap;\n justify-content: "+e.justify+";\n align-items: "+e.align+";\n margin: calc("+t+" / 2 * -1);\n }\n\n "+n+" > * > * {\n margin: calc("+t+" / 2);\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),t.createElement("div",null,r))}}),d=s({api:{isBreakout:!1,margin:"0px",isFixed:!1},name:"imposter",styles:function(n,e){var t=e.margin;return"\n "+n+" {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n "+(e.isBreakout?"":"\n max-width: calc(100% - ("+t+" * 2));\n max-height: calc(100% - ("+t+" * 2));\n overflow: auto;")+"\n "+(e.isFixed?"\n position: fixed;":"")+"\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),r)}}),g=s({api:{side:"left",sideWidth:null,contentMin:"50%",space:"var(--s1)",isStretch:!1},name:"sidebar",styles:function(n,e){var t=e.sideWidth,r=e.space;return"\n "+n+" {\n overflow: hidden;\n }\n\n "+n+" > * {\n display: flex;\n flex-wrap: wrap;\n "+(e.isStretch?"":"align-items: flex-start;")+"\n margin: calc("+r+" / 2 * -1);\n }\n\n "+n+" > * > * {\n margin: calc("+r+" / 2);\n "+(t?"flex-basis: "+t+";":"")+"\n flex-grow: 1;\n }\n\n "+n+" > * > :"+("left"===e.side?"last-of-type":"first-of-type")+":not(style) {\n flex-basis: 0;\n flex-grow: 999;\n min-width: calc("+e.contentMin+" - "+r+");\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),t.createElement("div",null,r))}}),v=s({api:{recursive:!1,splitAfter:null,space:"var(--s1)"},name:"stack",styles:function(n,e){var t=e.splitAfter;return"\n "+n+" {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n }\n\n "+n+" "+(e.recursive?"":">")+" *:not(style) ~ *:not(style) {\n margin-top: "+e.space+";\n }\n \n "+(t?"\n "+n+":only-child {\n height: 100%;\n }\n "+n+" > :nth-child("+t+") {\n margin-bottom: auto;\n }\n ":"")+"\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),r)}}),x=s({api:{threshold:"var(--measure)",space:"var(--s1)",limit:4},name:"switcher",styles:function(n,e){var t=e.space,r=e.limit;return"\n "+n+" > * {\n display: flex;\n flex-wrap: wrap;\n margin: calc(("+t+" / 2) * -1);\n }\n\n "+n+" > * > * {\n flex-grow: 1;\n flex-basis: calc(("+e.threshold+" - (100% - "+t+")) * 999);\n margin: calc("+t+" / 2);\n }\n\n "+n+" > * > :nth-last-of-type(n+"+(Number(r)+1)+"):not(style),\n "+n+" > * > :nth-last-of-type(n+"+(Number(r)+1)+"):not(style) ~ *:not(style) {\n flex-basis: 100%;\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),t.createElement("div",null,r))}});exports.Box=l,exports.Center=o,exports.Cover=c,exports.Frame=u,exports.FullBleed=m,exports.Grid=f,exports.Group=p,exports.Imposter=d,exports.Sidebar=g,exports.Stack=v,exports.Switcher=x;
"use strict";function n(n){return n&&"object"==typeof n&&"default"in n?n.default:n}Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=n(e),r=n(require("resize-observer-polyfill"));function a(){return(a=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n}).apply(this,arguments)}var i=e.createContext({});function s(n){var r=n.api,s=void 0===r?{}:r,l=n.name,o=n.styles,c=n.template;return function(n){var r=e.useContext(i),u=n.as,f=void 0===u?"div":u,m=n.children,p=function(n,e){if(null==n)return{};var t,r,a={},i=Object.keys(n);for(r=0;r<i.length;r++)e.indexOf(t=i[r])>=0||(a[t]=n[t]);return a}(n,["as","children"]),d=a({},s,{},r[l]),g=a({},Object.keys(d).reduce((function(n,e){if(p.hasOwnProperty(e)){var t,r=p[e];return delete p[e],a({},n,((t={})[e]=r,t))}return n}),d)),h=function(n,e){return"layout-block-"+n+"-"+function(n){for(var e,t=1540483477,r=n.length,a=r^r,i=0;r>=4;)e=(65535&(e=255&n.charCodeAt(i)|(255&n.charCodeAt(++i))<<8|(255&n.charCodeAt(++i))<<16|(255&n.charCodeAt(++i))<<24))*t+(((e>>>16)*t&65535)<<16),a=(65535&a)*t+(((a>>>16)*t&65535)<<16)^(e=(65535&(e^=e>>>24))*t+(((e>>>16)*t&65535)<<16)),r-=4,++i;switch(r){case 3:a^=(255&n.charCodeAt(i+2))<<16;case 2:a^=(255&n.charCodeAt(i+1))<<8;case 1:a=1540483477*(65535&(a^=255&n.charCodeAt(i)))+((1540483477*(a>>>16)&65535)<<16)}return a=(65535&(a^=a>>>13))*t+(((a>>>16)*t&65535)<<16),((a^=a>>>15)>>>0).toString(36)}(JSON.stringify(e))}(l,g);return t.createElement(t.Fragment,null,function(n){return t.createElement("style",{dangerouslySetInnerHTML:{__html:n}})}(o(f+"."+h,g)),c(f,function(n,e){var t=n.className,r=void 0===t?"":t;return a({},n,{className:r.length?r.concat(" "+e):e})}(p,h),m,g))}}var l=s({api:{padding:"var(--s1)"},name:"box",styles:function(n,e){return"\n "+n+" {\n padding: "+e.padding+";\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),r)}}),o=s({api:{max:"var(--measure)",isTextCentered:!1,gutter:"0",isIntrinsic:!1},name:"center",styles:function(n,e){var t=e.gutter;return"\n "+n+" {\n box-sizing: content-box;\n margin-left: auto;\n margin-right: auto;\n max-width: "+e.max+";\n "+(e.isTextCentered?"text-align: center;":"")+"\n padding-left: "+t+";\n padding-right: "+t+";\n "+(e.isIntrinsic?"\n display:flex;\n flex-direction: column;\n align-items: center;\n ":"")+"\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),r)}}),c=s({api:{centered:"h1",space:"var(--s1)",minHeight:"100vh",isPadded:!1},name:"cover",styles:function(n,e){var t=e.centered,r=e.space,a=e.minHeight,i=e.isPadded;return"\n "+n+" {\n display: flex;\n flex-direction: column;\n min-height: "+a+";\n padding: "+(i?r:"0")+";\n }\n\n "+n+" > * {\n margin-top: "+r+";\n margin-bottom: "+r+";\n }\n\n "+n+" {\n display: flex;\n flex-direction: column;\n min-height: "+a+";\n padding: "+(i?r:"0")+";\n }\n\n "+n+" > :first-of-type:not(style):not("+t+") {\n margin-top: 0;\n }\n\n "+n+" > :last-of-type:not(style):not("+t+") {\n margin-bottom: 0;\n }\n\n "+n+" > "+t+" {\n margin-top: auto;\n margin-bottom: auto;\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),r)}}),u=s({api:{ratio:"16:9"},name:"frame",styles:function(n,e){var t=e.ratio.split(":"),r=t[0];return"\n "+n+" {\n --n: "+Number(t[1])+";\n --d: "+Number(r)+";\n padding-bottom: calc(var(--n) / var(--d) * 100%);\n position: relative;\n }\n\n "+n+" > * {\n overflow: hidden;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n "+n+" > img,\n "+n+" > video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),r)}}),f=s({name:"fullbleed",styles:function(n){return"\n "+n+" {\n width: 100vw;\n margin-left: 50%;\n transform: translateX(-50%);\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),r)}}),m=s({api:{min:"250px",space:"var(--s1)"},name:"grid",styles:function(n,e){var t=e.min;return"\n "+n+" {\n display: grid;\n grid-gap: "+e.space+";\n grid-template-columns: 100%;\n }\n\n "+n+".aboveMin {\n grid-template-columns: repeat(auto-fill, minmax("+t+", 1fr));\n }\n\n @supports (width: min("+t+", 100%)) {\n "+n+" {\n grid-template-columns: repeat(auto-fit, minmax(min("+t+", 100%), 1fr));\n }\n }\n "},template:function(n,i,s,l){var o=function(){var n=e.useState(null),t=n[0],a=n[1],i=e.useState(null),s=i[0],l=i[1],o=e.useRef(null),c=e.useCallback((function(){var n=o.current;n&&n.disconnect()}),[]),u=e.useCallback((function(){o.current=new r((function(n){return a(n[0])})),s&&o.current.observe(s)}),[s]);return e.useEffect((function(){return u(),function(){return c()}}),[c,u]),[l,t]}(),c=o[0],u=o[1],f=e.useRef(null),m=!1;f.current&&u&&u.contentRect&&(f.current.style.width=l.min,m=u.contentRect.width>f.current.offsetWidth);var p=i.className,d=a({},i,{ref:c,className:p.length?m?p.concat(" aboveMin"):p:m?"aboveMin":p});return t.createElement(n,Object.assign({},d),s,t.createElement("div",{ref:f}))}}),p=s({api:{align:"center",justify:"flex-start",space:"var(--s1)"},name:"group",styles:function(n,e){var t=e.space;return"\n "+n+" {\n overflow: hidden;\n }\n\n "+n+" > * {\n display: flex;\n flex-wrap: wrap;\n justify-content: "+e.justify+";\n align-items: "+e.align+";\n margin: calc("+t+" / 2 * -1);\n }\n\n "+n+" > * > * {\n margin: calc("+t+" / 2);\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),t.createElement("div",null,r))}}),d=s({api:{isBreakout:!1,margin:"0px",isFixed:!1},name:"imposter",styles:function(n,e){var t=e.margin;return"\n "+n+" {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n "+(e.isBreakout?"":"\n max-width: calc(100% - ("+t+" * 2));\n max-height: calc(100% - ("+t+" * 2));\n overflow: auto;")+"\n "+(e.isFixed?"\n position: fixed;":"")+"\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),r)}}),g=s({api:{side:"left",sideWidth:null,contentMin:"50%",space:"var(--s1)",isStretch:!1},name:"sidebar",styles:function(n,e){var t=e.sideWidth,r=e.space;return"\n "+n+" {\n overflow: hidden;\n }\n\n "+n+" > * {\n display: flex;\n flex-wrap: wrap;\n "+(e.isStretch?"":"align-items: flex-start;")+"\n margin: calc("+r+" / 2 * -1);\n }\n\n "+n+" > * > * {\n margin: calc("+r+" / 2);\n "+(t?"flex-basis: "+t+";":"")+"\n flex-grow: 1;\n }\n\n "+n+" > * > :"+("left"===e.side?"last-of-type":"first-of-type")+":not(style) {\n flex-basis: 0;\n flex-grow: 999;\n min-width: calc("+e.contentMin+" - "+r+");\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),t.createElement("div",null,r))}}),h=s({api:{recursive:!1,splitAfter:null,space:"var(--s1)"},name:"stack",styles:function(n,e){var t=e.splitAfter;return"\n "+n+" {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n }\n\n "+n+" "+(e.recursive?"":">")+" *:not(style) ~ *:not(style) {\n margin-top: "+e.space+";\n }\n \n "+(t?"\n "+n+":only-child {\n height: 100%;\n }\n "+n+" > :nth-child("+t+") {\n margin-bottom: auto;\n }\n ":"")+"\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),r)}}),v=s({api:{threshold:"var(--measure)",space:"var(--s1)",limit:4},name:"switcher",styles:function(n,e){var t=e.space,r=e.limit;return"\n "+n+" > * {\n display: flex;\n flex-wrap: wrap;\n margin: calc(("+t+" / 2) * -1);\n }\n\n "+n+" > * > * {\n flex-grow: 1;\n flex-basis: calc(("+e.threshold+" - (100% - "+t+")) * 999);\n margin: calc("+t+" / 2);\n }\n\n "+n+" > * > :nth-last-of-type(n+"+(Number(r)+1)+"):not(style),\n "+n+" > * > :nth-last-of-type(n+"+(Number(r)+1)+"):not(style) ~ *:not(style) {\n flex-basis: 100%;\n }\n "},template:function(n,e,r){return t.createElement(n,Object.assign({},e),t.createElement("div",null,r))}});exports.Box=l,exports.Center=o,exports.Cover=c,exports.Frame=u,exports.FullBleed=f,exports.Grid=m,exports.Group=p,exports.Imposter=d,exports.Sidebar=g,exports.Stack=h,exports.Switcher=v;
//# sourceMappingURL=layout-blocks.cjs.production.min.js.map

@@ -39,2 +39,37 @@ import React, { createContext, useContext, useState, useRef, useCallback, useEffect } from 'react';

function createHash(str) {
var n = 0x5bd1e995;
var l = str.length,
h = l ^ l,
i = 0,
k;
while (l >= 4) {
k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;
k = (k & 0xffff) * n + (((k >>> 16) * n & 0xffff) << 16);
k ^= k >>> 24;
k = (k & 0xffff) * n + (((k >>> 16) * n & 0xffff) << 16);
h = (h & 0xffff) * n + (((h >>> 16) * n & 0xffff) << 16) ^ k;
l -= 4;
++i;
}
switch (l) {
case 3:
h ^= (str.charCodeAt(i + 2) & 0xff) << 16;
case 2:
h ^= (str.charCodeAt(i + 1) & 0xff) << 8;
case 1:
h ^= str.charCodeAt(i) & 0xff;
h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);
}
h ^= h >>> 13;
h = (h & 0xffff) * n + (((h >>> 16) * n & 0xffff) << 16);
h ^= h >>> 15;
return (h >>> 0).toString(36);
}
function enhancePropsWithClassname(props, newClass) {

@@ -57,3 +92,3 @@ var _props$className = props.className,

function createLayoutClassname(type, api) {
return "layout-block-" + type + "-" + Object.values(api).join('');
return "layout-block-" + type + "-" + createHash(JSON.stringify(api));
}

@@ -60,0 +95,0 @@

{
"version": "0.1.3",
"version": "0.1.4",
"license": "MIT",

@@ -4,0 +4,0 @@ "main": "dist/index.js",

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