Socket
Socket
Sign inDemoInstall

es-module-lexer

Package Overview
Dependencies
0
Maintainers
1
Versions
68
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.3.5 to 0.3.6

3

CHANGELOG.md

@@ -0,1 +1,4 @@

0.3.6
* Fix case where methods named import would be incorrectly reported as dynamic imports (https://github.com/guybedford/es-module-lexer/pull/19)
0.3.5

@@ -2,0 +5,0 @@ * Fix Node.js 10 memory grow support for globals without a value getter (https://github.com/guybedford/es-module-lexer/issues/14)

4

dist/lexer.js

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

/* es-module-lexer 0.3.5 */
export function parse(A){if(!B)return init.then(()=>parse(A));const Q=2*A.length-(B.memory.buffer.byteLength-(B.__heap_base.value||B.__heap_base));Q>0&&B.memory.grow(Math.ceil(Q/1024/64));const C=new Uint16Array(B.memory.buffer,B.salloc(A.length),A.length+1);if(function(A,Q){const B=A.length;for(let C=0;C<B;C++)Q[C]=A.charCodeAt(C)}(A,C),!B.parse()){const A=B.e(),Q=new Error(`Parse error at ${A}.`);throw Q.loc=A,Q}const E=[],I=[];for(;B.ri();)E.push({s:B.is(),e:B.ie(),d:B.id()});for(;B.re();)I.push(A.slice(B.es(),B.ee()));return[E,I]}const A="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";let Q,B;if("undefined"!=typeof Buffer)Q=Buffer.from(A,"base64");else{const B=atob(A),C=B.length;Q=new Uint8Array(C);for(let A=0;A<C;A++)Q[A]=B.charCodeAt(A)}export const init=WebAssembly.compile(Q).then(WebAssembly.instantiate).then(({exports:A})=>{B=A});
/* es-module-lexer 0.3.6 */
export function parse(A){if(!B)return init.then(()=>parse(A));const Q=2*A.length-(B.memory.buffer.byteLength-(B.__heap_base.value||B.__heap_base));Q>0&&B.memory.grow(Math.ceil(Q/1024/64));const C=new Uint16Array(B.memory.buffer,B.salloc(A.length),A.length+1);if(function(A,Q){const B=A.length;for(let C=0;C<B;C++)Q[C]=A.charCodeAt(C)}(A,C),!B.parse()){const A=B.e(),Q=new Error(`Parse error at ${A}.`);throw Q.loc=A,Q}const E=[],I=[];for(;B.ri();)E.push({s:B.is(),e:B.ie(),d:B.id()});for(;B.re();)I.push(A.slice(B.es(),B.ee()));return[E,I]}const A="AGFzbQEAAAABXQ1gAABgAX8Bf2AFf39/f38AYAJ/fwBgAAF/YAN/f38Bf2ACf38Bf2AIf39/f39/f38Bf2AHf39/f39/fwF/YAZ/f39/f38Bf2AFf39/f38Bf2AEf39/fwF/YAF/AAMsKwABAgMEBAQEBAQEBAEAAAAAAAAAAQEBAQAABQYHCAkKCwQMCAEBAQEECQcEBQFwAQEBBQMBAAEGFQN/AUHgyAALfwBB4MgAC38AQdQICwddDQZtZW1vcnkCAAtfX2hlYXBfYmFzZQMBCl9fZGF0YV9lbmQDAgZzYWxsb2MAAQFlAAQCaXMABQJpZQAGAmlkAAcCZXMACAJlZQAJAnJpAAoCcmUACwVwYXJzZQAMCrgrKwIAC18BAX9BACAANgKsCEEAQQAoAogIIgEgAEEBdGpBAmoiADYCsAhBACAANgK0CEEAQQA2AowIQQBBADYCnAhBAEEANgKUCEEAQQA2ApAIQQBBADYCpAhBAEEANgKYCCABC2UBAn9BACgCnAgiBUEUakGMCCAFG0EAKAK0CCIGNgIAQQAgBjYCnAhBACAFNgKgCCAGIAM2AgwgBiABNgIEIAYgADYCAEEAIAZBGGo2ArQIIAZBADYCFCAGIAQ2AhAgBiACNgIIC0gBAX9BACgCpAgiAkEIakGQCCACG0EAKAK0CCICNgIAQQAgAjYCpAggAiABNgIEIAIgADYCAEEAIAJBDGo2ArQIIAJBADYCCAsIAEEAKAK4CAsLAEEAKAKUCCgCAAsLAEEAKAKUCCgCBAsLAEEAKAKUCCgCDAsLAEEAKAKYCCgCAAsLAEEAKAKYCCgCBAslAQF/QQBBACgClAgiAEEUakGMCCAAGygCACIANgKUCCAAQQBHCyUBAX9BAEEAKAKYCCIAQQhqQZAIIAAbKAIAIgA2ApgIIABBAEcLuQcBBn8jAEGAKGsiASQAQQBB/wE6AL4IQQBBACgChAgiAjYCwAhBACACNgLECEEAQQAoAogIQX5qIgI2AtAIQQBBADoAvQhBAEEAOgC8CEEAQQA6AL8IQQBBADYCuAhBAEEAOgCoCEEAIAFBgCBqNgLICEEAIAE2AswIIAJBACgCrAhBAXRqIQMDf0EAIAJBAmoiBDYC0AgCQAJAAkACQAJAAkAgAiADTw0AIAQvAQAiBUEgRg0FAkACQCAFQekARg0AIAVB5QBHDQECQEEALQC/CA0AEA1BACgC0AghBAtBACAENgLACAwHCxAOQQBBACgC0Ag2AsAIDAYLIAVBd2pB//8DcUEFSQ0FAkACQAJAAkACQAJAAkACQAJAIAVBWWoiBkEITQ0AIAVBIkYNAQJAIAVB4ABGDQAgBUH7AEYNAyAFQf0ARw0OQQBBAC0AvwgiAkF/aiIFOgC/CCACQQAsAL4IIgRB/wFxRw0EQQBBAC0AvAhBf2oiAjoAvAhBAEEAKALICCACQRh0QRh1ai0AADoAvggLEA8MDQsCQAJAAkACQCAGDgkAAQIQEBAQEAMACxAQDA8LQQBBACwAvQgiAkEBajoAvQhBACgCzAggAkECdGpBACgCwAg2AgAMDgtBAC0AvQgiAkUNCkEAIAJBf2oiAjoAvQhBAEEAKALMCCACQRh0QRh1QQJ0aigCACIFNgLECEEAKAKcCCICRQ0NIAIoAhAgBUcNDSACIAQ2AgggAiAEQQAoAogIa0EBdTYCBAwNCyACLwEEIgJBKkYNAyACQS9HDQQQEQwNCxASDAsLQQAoApwIIgJFDQQgAigCCEEAKALACEcNBEEAQQAoAqAIIgI2ApwIIAJFDQMgAkEANgIUDAQLIAVBGHRBGHUgBEgNBkEALQC9CCICRQ0GQQAgAkF/aiICOgC9CEEAQQAoAswIIAJBGHRBGHVBAnRqKAIANgLECAwJCxATDAkLQQAoAsAIIgIvAQAiBUUNBiACEBQNBiAFEBVFDQIMBgtBAEEANgKMCAtBAEEALQC/CEEBajoAvwhBAEEALAC9CCICQQFqOgC9CEEAKALMCCACQQJ0akEAKALACDYCAAwFCwJAIAVB/QBGDQAgBUEpRw0FQQAoAsQIEBYNBAwFC0EAKALECBAXDQMMBAtBAC0AvghB/wFGQQAtAKgIQQAtAL0IckVxIQIMAQsQGEEAIQILIAFBgChqJAAgAg8LEBkLQQBBACgC0Ag2AsAIC0EAKALQCCECDAALC/cGAQV/AkBBACgC0AgiAEEKakHlAEH4AEHwAEHvAEHyAEH0ABAdRQ0AQQAgAEEMaiIBNgLQCBAhIQACQEEAKALQCCICIAFHDQAgABAlRQ0BCwJAAkACQAJAAkACQAJAIABBn39qIgFBC0sNAAJAAkAgAQ4MAAkDBAkBCQkJCQkGAAtBACACQQpqNgLQCBAhGkEAKALQCCECC0EAIAJBEGo2AtAIAkAQISIAQSpHDQBBAEEAKALQCEECajYC0AgQISEAC0EAKAKICCECQQAoAtAIIQEgABAmGiABIAJrQQF1QQAoAtAIQQAoAogIa0EBdRADQQBBACgC0AhBfmo2AtAIDwsgAEEqRg0FIABB9gBGDQMgAEH7AEcNBkEAIAJBAmo2AtAIECEhAANAQQAoAogIIQJBACgC0AghASAAQf//A3EQJhpBACgCiAghA0EAKALQCCEEAkACQBAhIgBB4QBHDQBBAEEAKALQCEEEajYC0AgQISEAQQAoAogIIQJBACgC0AghASAAECYaIAEgAmshAkEAKALQCEEAKAKICGshARAhIQAMAQsgASACayECIAQgA2shAQsgAkEBdSECIAFBAXUhAQJAIABBLEcNAEEAQQAoAtAIQQJqNgLQCBAhIQALIAIgARADIABB/QBGDQUgAA0ACxAYDwsgAi8BAkHsAEcNASACLwEEQeEARw0BIAIvAQZB8wBHDQEgAi8BCEHzAEcNASACLwEKECdFDQFBACACQQpqNgLQCBAhIQBBACgCiAghAkEAKALQCCEBIAAQJhogASACa0EBdUEAKALQCEEAKAKICGtBAXUQA0EAQQAoAtAIQX5qNgLQCA8LIAJBACgCiAhrQQF1IgAgAEEHahADDwtBACACQQRqIgI2AtAIC0EAIAJBBmo2AtAIAkADQBAhIQBBACgCiAghAkEAKALQCCEBIAAQJiIAQSByQfsARg0BQQAoAtAIQQAoAogIa0EBdSIDIAEgAmtBAXUiAkYNBCACIAMQA0EAQQAoAtAIQQJqNgLQCCAAQSxGDQAMBAsLQQBBACgC0AhBfmo2AtAIDwtBACgC0AghAgtBACACQQJqNgLQCBAhQeYARw0AQQAoAtAIIgAvAQJB8gBHDQAgAC8BBEHvAEcNACAALwEGQe0ARw0AQQAgAEEIajYC0AgQIRAiCwuaAwEFfwJAQQAoAtAIIgBBCmpB6QBB7QBB8ABB7wBB8gBB9AAQHUUNAEEAIABBDGoiATYC0AhBACgCiAghAgJAAkACQAJAAkAQISIDQVlqIgRBB0sNACAAIAJrQQF1IQICQCAEDggDAAIDAgICBAMLQQAoAswIQQAsAL0IIgRBAnRqIAA2AgBBACAEQQFqOgC9CEEAKALACC8BAEEuRg0FQQAoAtAIQQAoAogIa0EBdUEBakEAQQAgAiAAEAIPCyADQSJGDQEgA0H7AEYNAQtBACgC0AggAUYNAwtBACgC0AghAAJAQQAtAL0IRQ0AQQAgAEF+ajYC0AgPCwNAIAAvAQAiAkUNAgJAIAJBJ0YNACACQSJGDQBBACAAQQJqIgA2AtAIDAELCyACECIPC0EAQQAoAtAIQQJqNgLQCBAhQe0ARw0BQQAoAtAIIgAvAQJB5QBHDQEgAC8BBEH0AEcNASAALwEGQeEARw0BQQAoAsAILwEAQS5GDQEgAiAAQQAoAogIa0EBdUEEaiAAQQhqQX5BABACDwsQGAsLxgEBA39BACgC0AghAAJAAkACQANAAkACQCAALwECIgJBJEcNACAAQQRqIQEgAC8BBCICQfsARg0EIAEhAAwBCyAAQQJqIQAgAkUNAgsCQCACQdwARg0AIAJB4ABHDQEMBAsgAEECaiEADAALC0EAIAA2AtAIEBgPC0EAIAE2AtAIQQBBACwAvAgiAEEBajoAvAggAEEAKALICGpBAC0Avgg6AABBAEEALQC/CEEBaiIAOgC+CEEAIAA6AL8IDwtBACAANgLQCAtfAQJ/QQAoAtAIIQACQANAAkAgAC8BAiIBQdwARw0AIABBBGohAAwBCyAAQQJqIQAgAUUNASABQQpGDQEgAUENRg0BIAFBJ0cNAAtBACAANgLQCA8LQQAgADYC0AgQGAs5AQJ/QQAoAtAIIQADQCAALwECIQEgAEECaiEAIAFBDUsNAEEBIAF0QYHIAHFFDQALQQAgADYC0AgLXwECf0EAKALQCCEAAkADQAJAIAAvAQIiAUHcAEcNACAAQQRqIQAMAQsgAEECaiEAIAFFDQEgAUEKRg0BIAFBDUYNASABQSJHDQALQQAgADYC0AgPC0EAIAA2AtAIEBgLVAECf0EAQQAoAtAIIgBBBGo2AtAIIABBBmohAAJAA0AgAEF+ai8BACIBRQ0BQQAgADYC0AgCQCABQSpHDQAgAC8BAEEvRg0CCyAAQQJqIQAMAAsLC+EDAQJ/QQAhAQJAAkACQAJAIAAvAQBBnH9qIgJBE0sNAAJAAkACQAJAAkACQAJAAkACQAJAIAIOFAABAwoKCgoKCgoEBQoKAgoGCgoHAAsgAEF+ai8BACICQewARg0KIAJB6QBHDQkgAEF8akH2AEHvABAaDwsgAEF+ai8BACICQfQARg0GIAJB8wBHDQggAEF8ai8BACICQeEARg0KIAJB7ABHDQggAEF6akHlABAbDwsgAEF+akHkAEHlAEHiAEH1AEHnAEHnAEHlABAcDwsgAEF+ai8BAEHvAEcNBiAAQXxqLwEAQeUARw0GIABBemovAQAiAkHwAEYNCSACQeMARw0GIABBeGpB6QBB7gBB8wBB9ABB4QBB7gAQHQ8LQQEhASAAQX5qIgBB6QAQGw0FIABB8gBB5QBB9ABB9QBB8gAQHg8LIABBfmpB5AAQGw8LIABBfmpB4QBB9wBB4QBB6QAQHw8LIABBfmovAQAiAkHvAEYNASACQeUARw0CIABBfGpB7gAQGw8LIABBfGpB5ABB5QBB7ABB5QAQHw8LIABBfGpB9ABB6ABB8gAQICEBCyABDwsgAEF8akH5AEHpAEHlABAgDwsgAEF6akHjABAbDwsgAEF4akH0AEH5ABAaC2wBAX8CQAJAIABBX2oiAUEFSw0AQQEgAXRBMXENAQsgAEFGakH//wNxQQZJDQAgAEFYakH//wNxQQdJIABBKUdxDQAgAEHbAEYNACAAQd4ARg0AIABB/QBHIABBhX9qQf//A3FBBElxDwtBAQs9AQF/QQEhAQJAIABB9wBB6ABB6QBB7ABB5QAQHg0AIABB5gBB7wBB8gAQIA0AIABB6QBB5gAQGiEBCyABC0kBAn9BASEBAkAgAC8BACICQSlGDQAgAkE7Rg0AAkAgAkH5AEcNACAAQX5qQeYAQekAQe4AQeEAQewAQewAEB0PC0EAIQELIAELNwECf0EAQQE6AKgIQQAoAtAIIQBBAEEAKAKICCIBQQAoAqwIajYC0AhBACAAIAFrQQF1NgK4CAtsAQJ/AkADQEEAQQAoAtAIIgFBAmo2AtAIAkAgAS8BAiIAQdsARw0AECgaDAELAkAgAEHcAEcNAEEAIAFBBGo2AtAIDAELAkACQCAAQQ1LDQBBASAAdEGByABxDQELIABBL0cNAQwCCwsQGAsLTAEDf0EAIQMCQAJAIABBfmoiBEEAKAKICCIFSQ0AIAQvAQAgAUcNACAALwEAIAJHDQAgBCAFRg0BIABBfGovAQAQJCEDCyADDwtBAQs9AQJ/QQAhAgJAAkBBACgCiAgiAyAASw0AIAAvAQAgAUcNACADIABGDQEgAEF+ai8BABAkIQILIAIPC0EBC00BA39BACEIAkACQCAAQXRqIglBACgCiAgiCkkNACAJIAEgAiADIAQgBSAGIAcQKkUNACAJIApGDQEgAEFyai8BABAkIQgLIAgPC0EBC0sBA39BACEHAkACQCAAQXZqIghBACgCiAgiCUkNACAIIAEgAiADIAQgBSAGECNFDQAgCCAJRg0BIABBdGovAQAQJCEHCyAHDwtBAQtJAQN/QQAhBgJAAkAgAEF4aiIHQQAoAogIIghJDQAgByABIAIgAyAEIAUQKUUNACAHIAhGDQEgAEF2ai8BABAkIQYLIAYPC0EBC2YBA39BACEFAkACQCAAQXpqIgZBACgCiAgiB0kNACAGLwEAIAFHDQAgAEF8ai8BACACRw0AIABBfmovAQAgA0cNACAALwEAIARHDQAgBiAHRg0BIABBeGovAQAQJCEFCyAFDwtBAQtZAQN/QQAhBAJAAkAgAEF8aiIFQQAoAogIIgZJDQAgBS8BACABRw0AIABBfmovAQAgAkcNACAALwEAIANHDQAgBSAGRg0BIABBemovAQAQJCEECyAEDwtBAQtmAQJ/QQAoAtAIIQADfwJAIAAvAQAiAUF3akEFSQ0AIAFBIEYNAAJAIAFBL0cNAAJAIAAvAQIiAEEqRg0AIABBL0cNARARDAILEBMMAQsgAQ8LQQBBACgC0AhBAmoiADYC0AgMAAsLnAEBAX8CQAJAIABBIkYNACAAQSdHDQFBAEEAKALQCCIAQQJqNgLQCEEAKAKICCEBEBAgACABa0EBdUEBakEAKALQCCIAQQAoAogIa0EBdSAAQX9BABACDwtBAEEAKALQCCIAQQJqNgLQCEEAKAKICCEBEBIgACABa0EBdUEBakEAKALQCCIAQQAoAogIa0EBdSAAQX9BABACDwsQGAtJAQF/QQAhBwJAIAAvAQAgAUcNACAALwECIAJHDQAgAC8BBCADRw0AIAAvAQYgBEcNACAALwEIIAVHDQAgAC8BCiAGRiEHCyAHCzUBAX8CQAJAIABBd2pB//8DcSIBQRhPDQBBn4CABCABdkEBcQ0BCyAAQS5HIAAQJXEPC0EBC2MBAX8CQAJAIABBX2oiAUEFSw0AQQEgAXRBMXENAQsgAEH4/wNxQShGDQAgAEFGakH//wNxQQZJDQACQCAAQaV/aiIBQQNLDQAgAUEBRw0BCyAAQYV/akH//wNxQQRJDwtBAQtlAQJ/AkACQANAAkAgAEH//wNxIgFBd2oiAkEXSw0AQQEgAnRBn4CABHENAgsgACECIAEQJQ0CQQAhAkEAQQAoAtAIIgBBAmo2AtAIIAAvAQIiAA0ADAILCyAAIQILIAJB//8DcQsvAQF/AkACQCAAQXdqQf//A3EiAUEYTw0AQZ+AgAQgAXZBAXENAQsgABAlDwtBAQtsAQJ/QQAoAtAIIQACQANAAkAgAC8BAiIBQdwARw0AIABBBGohAAwBCyAAQQJqIQACQAJAIAFBDUsNAEEBIAF0QYHIAHENAQsgAUHdAEcNAQwCCwtBACAANgLQCBAYIAEPC0EAIAA2AtAIIAELPwEBf0EAIQYCQCAALwEAIAFHDQAgAC8BAiACRw0AIAAvAQQgA0cNACAALwEGIARHDQAgAC8BCCAFRiEGCyAGC1MBAX9BACEIAkAgAC8BACABRw0AIAAvAQIgAkcNACAALwEEIANHDQAgAC8BBiAERw0AIAAvAQggBUcNACAALwEKIAZHDQAgAC8BDCAHRiEICyAICwtlAwBBgAgLAgAAAEGECAsIAAQAAGAkAAAAQYwIC0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";let Q,B;if("undefined"!=typeof Buffer)Q=Buffer.from(A,"base64");else{const B=atob(A),C=B.length;Q=new Uint8Array(C);for(let A=0;A<C;A++)Q[A]=B.charCodeAt(A)}export const init=WebAssembly.compile(Q).then(WebAssembly.instantiate).then(({exports:A})=>{B=A});
{
"name": "es-module-lexer",
"version": "0.3.5",
"version": "0.3.6",
"description": "Lexes ES modules returning their import/export metadata",

@@ -5,0 +5,0 @@ "main": "dist/lexer.cjs",

@@ -5,11 +5,9 @@ # ES Module Lexer

A very small single JS file (4KiB gzipped) that includes inlined Web Assembly for [very fast source analysis](#benchmarks) of ECMAScript syntax only.
Outputs the list of exports and locations of import specifiers, including dynamic import and import meta handling.
_Comprehensively handles the JS language grammar while remaining small and fast - can parse 2MB of JavaScript in ~22ms from a completely cold start, and in ~14ms after a few runs, [see benchmarks](#benchmarks) for more info._
A very small single JS file (4KiB gzipped) that includes inlined Web Assembly for very fast source analysis of ECMAScript module syntax only.
### Environment Support
For an example of the performance, Angular 1 (720KiB) is fully parsed in 5ms, in comparison to the fastest JS parser, Acorn which takes over 100ms.
Node.js 10+, and [all browsers with Web Assembly support](https://caniuse.com/#search=web%20assembly).
_Comprehensively handles the JS language grammar while remaining small and fast - ~10ms per MB of JS cold and ~5ms per MB of JS warm, [see benchmarks](#benchmarks) for more info._

@@ -83,2 +81,27 @@ ### Usage

### Environment Support
Node.js 10+, and [all browsers with Web Assembly support](https://caniuse.com/#search=web%20assembly).
### Grammar Support
* Token state parses all line comments, block comments, strings, template strings, blocks, parens and punctuators.
* Division operator / regex token ambiguity is handled via backtracking checks against punctuator prefixes, including closing brace or paren backtracking.
### Limitations
The lexing approach is designed to deal with the full language grammar including RegEx / division operator ambiguity through backtracking and paren / brace tracking.
The only limitation to the reduced parser is that the "exports" list may not correctly gather all export identifiers in the following edge cases:
```js
// Only "a" is detected as an export, "q" isn't
export var a = 'asdf', q = z;
// "b" is not detected as an export
export var { a: b } = asdf;
```
The above cases are handled gracefully in that the lexer will keep going fine, it will just not properly detect the export names above.
### Benchmarks

@@ -91,11 +114,13 @@

```
Module load time
> 6ms
Cold Run, All Samples
test/samples/*.js (2150 KiB)
> 22ms
test/samples/*.js (3057 KiB)
> 26ms
Warm Runs (average of 25 runs)
test/samples/angular.js (719 KiB)
> 5.32ms
test/samples/angular.min.js (188 KiB)
> 3.4ms
test/samples/d3.js (491 KiB)
> 4.2ms
> 4.48ms
test/samples/d3.min.js (274 KiB)

@@ -106,5 +131,5 @@ > 2.16ms

test/samples/magic-string.min.js (20 KiB)
> 0ms
> 0.04ms
test/samples/rollup.js (902 KiB)
> 6.2ms
> 6.04ms
test/samples/rollup.min.js (429 KiB)

@@ -114,4 +139,4 @@ > 3.2ms

Warm Runs, All Samples (average of 25 runs)
test/samples/*.js (2150 KiB)
> 14.08ms
test/samples/*.js (3057 KiB)
> 18.92ms
```

@@ -131,20 +156,4 @@

### Limitations
The lexing approach is designed to deal with the full language grammar including RegEx / division operator ambiguity through backtracking and paren / brace tracking.
The only limitation to the reduced parser is that the "exports" list may not correctly gather all export identifiers in the following edge cases:
```js
// Only "a" is detected as an export, "q" isn't
export var a = 'asdf', q = z;
// "b" is not detected as an export
export var { a: b } = asdf;
```
The above cases are handled gracefully in that the lexer will keep going fine, it will just not properly detect the export names above.
### License
MIT

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc