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

@blerp/wavesurfer

Package Overview
Dependencies
Maintainers
4
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@blerp/wavesurfer - npm Package Compare versions

Comparing version 6.4.1 to 6.4.2

10

dist/plugin/wavesurfer.cursor.js
/*!
* @blerp/wavesurfer cursor plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer cursor plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -265,4 +265,4 @@ * @license BSD-3-Clause

});
var hoverWave = document.getElementsByTagName("hoverwave")[0];
var wave = document.getElementsByTagName("wave")[1];
var hoverWave = this.wavesurfer.drawer.hoverWave;
var wave = this.wavesurfer.drawer.progressWave;
// hoverWave.style.width = `${xpos}px`;

@@ -322,4 +322,4 @@ if (xpos > parseInt(wave.style.width.split("px")[0])) {

value: function hideCursor() {
document.getElementsByTagName("hoverwave")[0].style.width = document.getElementById("waveform").firstElementChild.firstElementChild.style.width;
document.getElementById("waveform").firstElementChild.firstElementChild.style.clipPath = "none";
this.wavesurfer.drawer.hoverWave.style.width = this.wavesurfer.drawer.progressWave.style.width;
this.wavesurfer.drawer.progressWave.style.clipPath = "none";
this.style(this.cursor, {

@@ -326,0 +326,0 @@ display: "none"

/*!
* @blerp/wavesurfer cursor plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer cursor plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer
* @license BSD-3-Clause
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("WaveSurfer",[],t):"object"==typeof exports?exports.WaveSurfer=t():(e.WaveSurfer=e.WaveSurfer||{},e.WaveSurfer.cursor=t())}(self,(()=>(()=>{"use strict";var e={178:(e,t)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function s(e,t){for(var i=0;i<t.length;i++){var s=t[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,o(s.key),s)}}function r(e,t,i){return(t=o(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var r=s.call(e,t||"default");if("object"!==i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=function(){function e(t,i){var s=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),r(this,"defaultParams",{hideOnBlur:!0,width:"1px",color:"black",opacity:"0.25",style:"solid",zIndex:4,customStyle:{},customShowTimeStyle:{},showTime:!1,followCursorY:!1,formatTimeCallback:null}),r(this,"_onMousemove",(function(e){var t=s.util.withOrientation(e,s.wavesurfer.params.vertical),i=s.wrapper.getBoundingClientRect(),r=0,o=s.wrapper.scrollLeft+t.clientX-i.left,a=s.displayTime?s.displayTime.getBoundingClientRect().width:0,n=i.right<t.clientX+a;s.params.showTime&&s.params.followCursorY&&(r=t.clientY-(i.top+i.height/2)),s.updateCursorPosition(o,r,n)})),r(this,"_onMouseenter",(function(){return s.showCursor()})),r(this,"_onMouseleave",(function(){return s.hideCursor()})),this.wavesurfer=i,this.style=i.util.style,this.util=i.util,this.cursor=null,this.showTime=null,this.displayTime=null,this.isDestroyCalled=!1,this.params=Object.assign({},this.defaultParams,t)}var t,i,o;return t=e,i=[{key:"_onReady",value:function(){this.isDestroyCalled||(this.wrapper=this.wavesurfer.drawer.wrapper,this.cursor=this.util.withOrientation(this.wrapper.appendChild(document.createElement("cursor")),this.wavesurfer.params.vertical),this.style(this.cursor,Object.assign({position:"absolute",zIndex:this.params.zIndex,left:0,top:0,bottom:0,width:"0",display:"flex",borderRightStyle:this.params.style,borderRightWidth:this.params.width,borderRightColor:this.params.color,opacity:this.params.opacity,pointerEvents:"none"},this.params.customStyle)),this.params.showTime&&(this.showTime=this.util.withOrientation(this.wrapper.appendChild(document.createElement("showTitle")),this.wavesurfer.params.vertical),this.style(this.showTime,Object.assign({position:"absolute",zIndex:this.params.zIndex,left:0,top:0,bottom:0,width:"auto",display:"flex",opacity:this.params.opacity,pointerEvents:"none",height:"100%"},this.params.customStyle)),this.displayTime=this.util.withOrientation(this.showTime.appendChild(document.createElement("div")),this.wavesurfer.params.vertical),this.style(this.displayTime,Object.assign({display:"inline",pointerEvents:"none",margin:"auto",visibility:"hidden"},this.params.customShowTimeStyle)),this.displayTime.innerHTML=this.formatTime(0)),this.wrapper.addEventListener("click",this._onClick),this.wrapper.addEventListener("mousemove",this._onMousemove),this.params.hideOnBlur&&(this.hideCursor(),this.wrapper.addEventListener("mouseenter",this._onMouseenter),this.wrapper.addEventListener("mouseleave",this._onMouseleave)))}},{key:"init",value:function(){var e=this;this.wavesurfer.isReady?this._onReady():this.wavesurfer.once("ready",(function(){return e._onReady()}))}},{key:"destroy",value:function(){this.cursorTime&&this.showTime?(this.params.showTime&&this.showTime&&this.showTime.remove(),this.cursor&&this.cursor.remove(),this.wrapper.removeEventListener("click",this._onClick),this.wrapper.removeEventListener("mousemove",this._onMousemove),this.params.hideOnBlur&&(this.wrapper.removeEventListener("mouseenter",this._onMouseenter),this.wrapper.removeEventListener("mouseleave",this._onMouseleave))):this.isDestroyCalled=!0}},{key:"updateCursorPosition",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.style(this.cursor,{left:"".concat(e,"px")});var s=document.getElementsByTagName("hoverwave")[0],r=document.getElementsByTagName("wave")[1];if(e>parseInt(r.style.width.split("px")[0])&&(r.style.zIndex=4,s.style.width="".concat(e,"px"),r.style.clipPath="none"),e<parseInt(r.style.width.split("px")[0])&&(s.style.width="".concat(r.style.width),r.style.clipPath="inset(0 ".concat(parseInt(r.style.width.split("px")[0])-e,"px 0 0)")),this.params.showTime){var o=this.wavesurfer.getDuration(),a=this.wavesurfer.drawer.width/this.wavesurfer.params.pixelRatio,n=this.wavesurfer.drawer.getScrollX(),l=o/this.wavesurfer.drawer.width*n,h=Math.max(0,(e-this.wrapper.scrollLeft)/a*o)+l,u=this.formatTime(h);i&&(e-=this.displayTime.getBoundingClientRect().width),this.style(this.showTime,{left:"".concat(e,"px"),top:"".concat(t,"px")}),this.style(this.displayTime,{visibility:"visible"}),this.displayTime.innerHTML="".concat(u)}}},{key:"showCursor",value:function(){this.style(this.cursor,{display:"flex"}),this.params.showTime&&this.style(this.showTime,{display:"flex"})}},{key:"hideCursor",value:function(){document.getElementsByTagName("hoverwave")[0].style.width=document.getElementById("waveform").firstElementChild.firstElementChild.style.width,document.getElementById("waveform").firstElementChild.firstElementChild.style.clipPath="none",this.style(this.cursor,{display:"none"}),this.params.showTime&&this.style(this.showTime,{display:"none"})}},{key:"formatTime",value:function(e){return e=isNaN(e)?0:e,this.params.formatTimeCallback?this.params.formatTimeCallback(e):[e].map((function(e){return[Math.floor(e%3600/60),("00"+Math.floor(e%60)).slice(-2),("000"+Math.floor(e%1*1e3)).slice(-3)].join(":")}))}}],o=[{key:"create",value:function(t){return{name:"cursor",deferInit:!(!t||!t.deferInit)&&t.deferInit,params:t,staticProps:{},instance:e}}}],i&&s(t.prototype,i),o&&s(t,o),Object.defineProperty(t,"prototype",{writable:!1}),e}();t.default=a,e.exports=t.default}},t={};var i=function i(s){var r=t[s];if(void 0!==r)return r.exports;var o=t[s]={exports:{}};return e[s](o,o.exports,i),o.exports}(178);return i})()));
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("WaveSurfer",[],t):"object"==typeof exports?exports.WaveSurfer=t():(e.WaveSurfer=e.WaveSurfer||{},e.WaveSurfer.cursor=t())}(self,(()=>(()=>{"use strict";var e={178:(e,t)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,o(r.key),r)}}function s(e,t,i){return(t=o(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var s=r.call(e,t||"default");if("object"!==i(s))return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=function(){function e(t,i){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),s(this,"defaultParams",{hideOnBlur:!0,width:"1px",color:"black",opacity:"0.25",style:"solid",zIndex:4,customStyle:{},customShowTimeStyle:{},showTime:!1,followCursorY:!1,formatTimeCallback:null}),s(this,"_onMousemove",(function(e){var t=r.util.withOrientation(e,r.wavesurfer.params.vertical),i=r.wrapper.getBoundingClientRect(),s=0,o=r.wrapper.scrollLeft+t.clientX-i.left,a=r.displayTime?r.displayTime.getBoundingClientRect().width:0,n=i.right<t.clientX+a;r.params.showTime&&r.params.followCursorY&&(s=t.clientY-(i.top+i.height/2)),r.updateCursorPosition(o,s,n)})),s(this,"_onMouseenter",(function(){return r.showCursor()})),s(this,"_onMouseleave",(function(){return r.hideCursor()})),this.wavesurfer=i,this.style=i.util.style,this.util=i.util,this.cursor=null,this.showTime=null,this.displayTime=null,this.isDestroyCalled=!1,this.params=Object.assign({},this.defaultParams,t)}var t,i,o;return t=e,i=[{key:"_onReady",value:function(){this.isDestroyCalled||(this.wrapper=this.wavesurfer.drawer.wrapper,this.cursor=this.util.withOrientation(this.wrapper.appendChild(document.createElement("cursor")),this.wavesurfer.params.vertical),this.style(this.cursor,Object.assign({position:"absolute",zIndex:this.params.zIndex,left:0,top:0,bottom:0,width:"0",display:"flex",borderRightStyle:this.params.style,borderRightWidth:this.params.width,borderRightColor:this.params.color,opacity:this.params.opacity,pointerEvents:"none"},this.params.customStyle)),this.params.showTime&&(this.showTime=this.util.withOrientation(this.wrapper.appendChild(document.createElement("showTitle")),this.wavesurfer.params.vertical),this.style(this.showTime,Object.assign({position:"absolute",zIndex:this.params.zIndex,left:0,top:0,bottom:0,width:"auto",display:"flex",opacity:this.params.opacity,pointerEvents:"none",height:"100%"},this.params.customStyle)),this.displayTime=this.util.withOrientation(this.showTime.appendChild(document.createElement("div")),this.wavesurfer.params.vertical),this.style(this.displayTime,Object.assign({display:"inline",pointerEvents:"none",margin:"auto",visibility:"hidden"},this.params.customShowTimeStyle)),this.displayTime.innerHTML=this.formatTime(0)),this.wrapper.addEventListener("click",this._onClick),this.wrapper.addEventListener("mousemove",this._onMousemove),this.params.hideOnBlur&&(this.hideCursor(),this.wrapper.addEventListener("mouseenter",this._onMouseenter),this.wrapper.addEventListener("mouseleave",this._onMouseleave)))}},{key:"init",value:function(){var e=this;this.wavesurfer.isReady?this._onReady():this.wavesurfer.once("ready",(function(){return e._onReady()}))}},{key:"destroy",value:function(){this.cursorTime&&this.showTime?(this.params.showTime&&this.showTime&&this.showTime.remove(),this.cursor&&this.cursor.remove(),this.wrapper.removeEventListener("click",this._onClick),this.wrapper.removeEventListener("mousemove",this._onMousemove),this.params.hideOnBlur&&(this.wrapper.removeEventListener("mouseenter",this._onMouseenter),this.wrapper.removeEventListener("mouseleave",this._onMouseleave))):this.isDestroyCalled=!0}},{key:"updateCursorPosition",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.style(this.cursor,{left:"".concat(e,"px")});var r=this.wavesurfer.drawer.hoverWave,s=this.wavesurfer.drawer.progressWave;if(e>parseInt(s.style.width.split("px")[0])&&(s.style.zIndex=4,r.style.width="".concat(e,"px"),s.style.clipPath="none"),e<parseInt(s.style.width.split("px")[0])&&(r.style.width="".concat(s.style.width),s.style.clipPath="inset(0 ".concat(parseInt(s.style.width.split("px")[0])-e,"px 0 0)")),this.params.showTime){var o=this.wavesurfer.getDuration(),a=this.wavesurfer.drawer.width/this.wavesurfer.params.pixelRatio,n=this.wavesurfer.drawer.getScrollX(),l=o/this.wavesurfer.drawer.width*n,h=Math.max(0,(e-this.wrapper.scrollLeft)/a*o)+l,u=this.formatTime(h);i&&(e-=this.displayTime.getBoundingClientRect().width),this.style(this.showTime,{left:"".concat(e,"px"),top:"".concat(t,"px")}),this.style(this.displayTime,{visibility:"visible"}),this.displayTime.innerHTML="".concat(u)}}},{key:"showCursor",value:function(){this.style(this.cursor,{display:"flex"}),this.params.showTime&&this.style(this.showTime,{display:"flex"})}},{key:"hideCursor",value:function(){this.wavesurfer.drawer.hoverWave.style.width=this.wavesurfer.drawer.progressWave.style.width,this.wavesurfer.drawer.progressWave.style.clipPath="none",this.style(this.cursor,{display:"none"}),this.params.showTime&&this.style(this.showTime,{display:"none"})}},{key:"formatTime",value:function(e){return e=isNaN(e)?0:e,this.params.formatTimeCallback?this.params.formatTimeCallback(e):[e].map((function(e){return[Math.floor(e%3600/60),("00"+Math.floor(e%60)).slice(-2),("000"+Math.floor(e%1*1e3)).slice(-3)].join(":")}))}}],o=[{key:"create",value:function(t){return{name:"cursor",deferInit:!(!t||!t.deferInit)&&t.deferInit,params:t,staticProps:{},instance:e}}}],i&&r(t.prototype,i),o&&r(t,o),Object.defineProperty(t,"prototype",{writable:!1}),e}();t.default=a,e.exports=t.default}},t={};var i=function i(r){var s=t[r];if(void 0!==s)return s.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,i),o.exports}(178);return i})()));
//# sourceMappingURL=wavesurfer.cursor.min.js.map
/*!
* @blerp/wavesurfer elan plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer elan plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer elan plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer elan plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer markers plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer markers plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer markers plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer markers plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer mediasession plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer mediasession plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer mediasession plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer mediasession plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer microphone plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer microphone plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer microphone plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer microphone plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer minimap plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer minimap plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer minimap plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer minimap plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer playhead plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer playhead plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer playhead plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer playhead plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer regions plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer regions plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer regions plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer regions plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer spectrogram plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer spectrogram plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer spectrogram plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer spectrogram plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer timeline plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer timeline plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer timeline plugin 6.4.1 (2023-02-27)
* @blerp/wavesurfer timeline plugin 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer 6.4.1 (2023-02-27)
* @blerp/wavesurfer 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

/*!
* @blerp/wavesurfer 6.4.1 (2023-02-27)
* @blerp/wavesurfer 6.4.2 (2023-02-27)
* https://gitlab.com/blerp/wavesurfer

@@ -4,0 +4,0 @@ * @license BSD-3-Clause

{
"name": "@blerp/wavesurfer",
"version": "6.4.1",
"version": "6.4.2",
"description": "Interactive navigable audio visualization using Web Audio and Canvas",

@@ -5,0 +5,0 @@ "main": "dist/wavesurfer.js",

@@ -288,5 +288,6 @@ /**

let hoverWave = document.getElementsByTagName("hoverwave")[0];
let hoverWave = this.wavesurfer.drawer.hoverWave;
let wave = document.getElementsByTagName("wave")[1];
let wave = this.wavesurfer.drawer.progressWave;
// hoverWave.style.width = `${xpos}px`;

@@ -357,9 +358,5 @@ if (xpos > parseInt(wave.style.width.split("px")[0])) {

hideCursor() {
document.getElementsByTagName("hoverwave")[0].style.width =
document.getElementById(
"waveform"
).firstElementChild.firstElementChild.style.width;
document.getElementById(
"waveform"
).firstElementChild.firstElementChild.style.clipPath = "none";
this.wavesurfer.drawer.hoverWave.style.width =
this.wavesurfer.drawer.progressWave.style.width;
this.wavesurfer.drawer.progressWave.style.clipPath = "none";
this.style(this.cursor, {

@@ -366,0 +363,0 @@ display: "none"

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 too big to display

Sorry, the diff of this file is too big to display

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