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

tsc-esm-fix

Package Overview
Dependencies
Maintainers
1
Versions
77
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tsc-esm-fix - npm Package Compare versions

Comparing version 2.20.15 to 2.20.16

target/ts/meow.d.ts

8

buildstamp.json
{
"date": "2023-08-12T21:59:27.478Z",
"date": "2023-09-18T13:41:52.145Z",
"git_commit_branch": "master",
"git_commit_id": "647121808c402fd7ac36bc5964eb35e599bd6206",
"git_commit_id": "f250b2b688b1427475e56f0d072d72d9c3f7c3ac",
"git_repo_url": "https://github.com/antongolub/tsc-esm-fix",
"git_repo_name": "antongolub/tsc-esm-fix",
"ci_run_id": "5843631278",
"ci_run_url": "https://github.com/antongolub/tsc-esm-fix/actions/runs/5843631278"
"ci_run_id": "6223382345",
"ci_run_url": "https://github.com/antongolub/tsc-esm-fix/actions/runs/6223382345"
}

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

## [2.20.16](https://github.com/antongolub/tsc-esm-fix/compare/v2.20.15...v2.20.16) (2023-09-18)
### Fixes & improvements
* perf: up deps ([b69d862](https://github.com/antongolub/tsc-esm-fix/commit/b69d8620aeea0b69d7a716420b42b2c6824e09da))
* fix: provide support for shortened import syntax ([53e493b](https://github.com/antongolub/tsc-esm-fix/commit/53e493bc88c52a9b7c6d2d516226158210af7936))
## [2.20.15](https://github.com/antongolub/tsc-esm-fix/compare/v2.20.14...v2.20.15) (2023-08-12)

@@ -2,0 +8,0 @@

{
"name": "tsc-esm-fix",
"version": "2.20.15",
"version": "2.20.16",
"private": false,

@@ -29,10 +29,10 @@ "publishConfig": {

"test": "npm-run-all -p -l lint test:unit test:it test:depcheck test:depaudit",
"test:unit": "NODE_OPTIONS=--experimental-vm-modules jest --config=jest.config.json --runInBand",
"test:unit": "npx cross-env NODE_OPTIONS=\"--experimental-vm-modules\" jest --config=jest.config.json --runInBand",
"test:it": "npx cross-env NODE_OPTIONS=\"--experimental-vm-modules --experimental-modules\" npx glob-runner src/test/**/*.it.js",
"test:deps": "npm-run-all -p -l test:depcheck test:depauditfix",
"test:depcheck": "npm_config_yes=true npx depcheck --ignore-patterns fixtures --ignores glob-runner,tslib,@types/jest,@types/node,eslint-config-*,typedoc,mkdirp,rimraf",
"test:depcheck": "npx depcheck --ignore-patterns fixtures --ignores glob-runner,tslib,@types/jest,@types/node,eslint-config-*,typedoc,mkdirp,rimraf",
"test:depaudit": "yarn audit --groups=dependencies --level=moderate; [[ $? -ge 4 ]] && exit 1 || exit 0",
"test:depauditfix": "npm_config_yes=true npx yarn-audit-fix --audit-level=moderate",
"test:depauditfix": "npx yarn-audit-fix --audit-level=moderate",
"test:report": "yarn test",
"prebuild": "yarn clean && npm_config_yes=true npx buildstamp --git --out.path buildstamp.json",
"prebuild": "yarn clean && npx buildstamp --git",
"build": "npm-run-all -p -l build:es6 build:ts build:bundle docs && yarn build:fix",

@@ -44,5 +44,4 @@ "build:es6": "mkdirp target/es6 && tsc -p tsconfig.es6.json",

"docs": "typedoc",
"uglify": "for f in $(find target -name '*.js'); do short=${f%.js}; terser -c -m -o $short.js -- $f; done",
"postupdate": "yarn && yarn test:deps && yarn build && yarn test",
"updeps": "npm_config_yes=true npx npm-upgrade",
"updeps": "npx npm-upgrade",
"publish:beta": "npm publish --no-git-tag-version --tag beta",

@@ -55,21 +54,21 @@ "publish:rc": "npm publish --no-git-tag-version --tag rc"

"json5": "^2.2.3",
"meow": "^12.0.1",
"tslib": "^2.6.1"
"meow": "^12.1.1",
"tslib": "^2.6.2"
},
"devDependencies": {
"@types/fs-extra": "^11.0.1",
"@types/fs-extra": "^11.0.2",
"@qiwi/npm-run-all": "^4.1.7",
"@types/jest": "^29.5.3",
"@types/node": "^20.4.10",
"@types/semver": "^7.5.0",
"@types/jest": "^29.5.5",
"@types/node": "^20.6.2",
"@types/semver": "^7.5.2",
"cpy-cli": "^5.0.0",
"cross-env": "^7.0.3",
"eslint": "^8.47.0",
"eslint": "^8.49.0",
"eslint-config-prettier": "^9.0.0",
"eslint-config-qiwi": "^2.1.3",
"glob-runner": "^2.1.1",
"jest": "^29.6.2",
"jest": "^29.7.0",
"microbundle": "^0.15.1",
"mkdirp": "^3.0.1",
"prettier": "^3.0.1",
"prettier": "^3.0.3",
"prettier-config-qiwi": "^2.1.2",

@@ -79,6 +78,5 @@ "rimraf": "^5.0.1",

"tempy": "^3.1.0",
"terser": "^5.19.2",
"ts-jest": "^29.1.1",
"typedoc": "^0.24.8",
"typescript": "^5.1.6"
"typedoc": "^0.25.1",
"typescript": "^5.2.2"
},

@@ -85,0 +83,0 @@ "repository": {

@@ -66,3 +66,3 @@ # tsc-esm-fix

### Requirements
Node.js `^12.20.0 || ^14.13.1 || >=16.0.0`
Node.js `>=16.0.0`

@@ -69,0 +69,0 @@ ### Fetching

#!/usr/bin/env node
export {};
import './meow.d.ts';

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

!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("node:path"),require("fs-extra"),require("json5"),require("globby"),require("node:fs")):"function"==typeof define&&define.amd?define(["exports","node:path","fs-extra","json5","globby","node:fs"],n):n((e||self).tscEsmFix={},e.node_path,e.fsExtra,e.json5,e.globby,e.node_fs)}(this,function(e,n,r,t,o,u){function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=/*#__PURE__*/i(r),c=/*#__PURE__*/i(t);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},l.apply(this,arguments)}var a=function(e){return s.default.readFileSync(e,{encoding:"utf8"})},f=function(e,n){return s.default.outputFileSync(e,n,{encoding:"utf8"})},d=function(e){return c.default.parse(a(e))},m=function(e){return e?Array.isArray(e)?e:[e]:[]},p=s.default.unlinkSync,g=function(e){return e.replace(/\\/g,"/")},v=function e(r){var t=d(r);if(t.extends){var o=e(n.resolve(n.dirname(r),t.extends));return l({},o,t,{compilerOptions:l({},o.compilerOptions,t.compilerOptions)})}return t},b={cwd:process.cwd(),tsconfig:"./tsconfig.json",filenameVar:!0,dirnameVar:!0,ext:!0,unlink:!0,debug:function(){}},h=function(e,r){return m(e).reduce(function(e,t){var o,u,i=v(n.resolve(r,t)),s=null==i||null==(o=i.compilerOptions)?void 0:o.outDir,c=null==i||null==(u=i.compilerOptions)||null==u.module.toLowerCase?void 0:u.module.toLowerCase();return s&&c.startsWith("es")?e.push(s):console.warn("tsconfig should declare `outDir` and `module` type es6 or above"),e},[])},x=function(e,n){return e.map(function(e){return e.endsWith(".d.ts")?e:e.replace(/\.[^./\\]+$/,n)})},y=function(e,r,t,o,u){return e.replace(/(\sfrom\s|[\s(:[](?:import|require)[ (])(["'])([^"']+\/[^"']+|\.{1,2})\/?(["'])/g,function(e,i,s,c,l){return""+i+s+(u.includes(c)?c:function(e,r,t,o){var u=n.dirname(e),i=n.resolve(o,"node_modules"),s=/^\..+\.[^./\\]+$/.test(r)?[r,r.replace(/\.[^./\\]+$/,"")]:[r],c=[".js",".cjs",".mjs"].reduce(function(e,n){return s.forEach(function(r){return e.push(""+r+n,r+"/index"+n)}),e},[]);return c.find(function(e){return t.includes(g(n.resolve(u,e)))})||c.find(function(e){return t.includes(g(n.resolve(i,e)))})||r}(r,c,t,o))+l})},j=function(e,n){return e.replace(/__dirname/g,"`${process.platform === 'win32' ? '' : '/'}${/file:\\/{2,3}(.+)\\/[^/]/.exec(import.meta.url)"+(n?"!":"")+"[1]}`")},P=function(e,n){return e.replace(/__filename/g,"`${process.platform === 'win32' ? '' : '/'}${/file:\\/{2,3}(.+)/.exec(import.meta.url)"+(n?"!":"")+"[1]}`")},O=function(e){return e.includes("export default")?e:e+"\nexport default undefined\n"},_=function(e){return 0===e.trim().length?"\nexport {}\nexport default undefined\n":e},w=function(e,r,t){return r===t?e:e.replace("//# sourceMappingURL="+n.basename(r)+".map","//# sourceMappingURL="+n.basename(t)+".map")},F=function(e,n,r,t,o,u,i){var s=t.dirnameVar,c=t.filenameVar,l=t.fillBlank,a=t.forceDefaultExport,f=t.sourceMap;void 0===o&&(o=n),void 0===u&&(u=!1),void 0===i&&(i=[]);var d=e;return t.ext&&(d=y(d,n,r,t.cwd,i)),s&&(d=j(d,u)),c&&(d=P(d,u)),l&&(d=_(d)),a&&(d=O(d)),f&&(d=w(d,o,n)),d},k=function(e,r){if(!r)return e;var t=r;return t.includes("*")&&(t=t.slice(0,t.indexOf("*"))).includes("/")&&(t=t.slice(0,t.lastIndexOf("/"))),n.join(e,t)};e.DEFAULT_FIX_OPTIONS=b,e.fix=function(e){try{var r=function(e){return l({},b,e,{debug:"function"==typeof(null==e?void 0:e.debug)?e.debug:!0===(null==e?void 0:e.debug)?console.log:b.debug})}(e),t=r.cwd,i=r.target,s=r.src,c=r.tsconfig,v=r.out,y=r.ext,j=r.debug,P=r.unlink,O=r.sourceMap,_=n.resolve(t,void 0===v?t:v),w=m(s),M=[].concat(m(i),h(c,t));j("debug:cwd",t),j("debug:outdir",_),j("debug:sources",w),j("debug:targets",M);var E=w.length>0,S=function(e,n){return e.length>0?e.map(function(e){return e.includes("*")?e:e+"/**/*.{ts,tsx}"}):n.map(function(e){return e.includes("*")?e:e+"/**/*.{js,d.ts}"})}(w,M);return Promise.resolve(o.globby(S,{cwd:t,onlyFiles:!0,absolute:!0})).then(function(e){return Promise.resolve(function(e){try{return Promise.resolve(function(e){return o.globby(["node_modules/*/package.json","node_modules/@*/*/package.json"],{cwd:e,onlyFiles:!0,absolute:!0}).then(function(e){try{return Promise.resolve(Promise.all(e.map(function(e){try{return Promise.resolve(d(e)).then(function(r){var t=r.name,u=r.exports;if(!u)return{name:t};var i=n.dirname(e),s=function(e){var n=Object.entries(e),r=function e(n){return"string"==typeof n?[n]:Object.values(n).map(e).flat(2)};return"string"!=typeof e&&Object.keys(e).some(function(e){return e.startsWith(".")})?n.map(function(e){return[e[0],r(e[1])]}):[[".",r(e)]]}(u);return Promise.resolve(Promise.all(s.map(function(e){var r=e[0];return Promise.all(e[1].map(function(e){try{return Promise.resolve(o.globby(e,{cwd:i,onlyFiles:!0,absolute:!1})).then(function(o){return o.map(function(o){return n.join(o).replace(k(".",e),k(t,r))})})}catch(e){return Promise.reject(e)}}))}))).then(function(e){return{name:t,files:e.flat(2)}})})}catch(e){return Promise.reject(e)}}))).then(function(e){return e.reduce(function(e,n){var r,t=n.name,o=n.files;return t&&e.names.push(t),o&&(r=e.files).push.apply(r,o),e},{names:[],files:[]})})}catch(e){return Promise.reject(e)}})}(e)).then(function(n){var r=n.names,t=n.files;return Promise.resolve(o.globby(["!node_modules/.cache","!node_modules/.bin","!node_modules/**/node_modules"].concat(r.map(function(e){return"!node_modules/"+e}),["node_modules/**/*.(m|c)?js"]),{cwd:e,onlyFiles:!0,absolute:!0})).then(function(e){return{cjsModules:e,esmModules:t,allPackages:r}})})}catch(e){return Promise.reject(e)}}(t)).then(function(o){var i=o.cjsModules,s=o.esmModules,c=o.allPackages;j("debug:external-cjs-modules",i),j("debug:external-esm-modules",s);var l=[].concat(s,c),m="string"==typeof y?x(e,y):e,v=[].concat(i,m),b=[].concat(i,x(e,".js"));j("debug:local-modules",m),m.forEach(function(o,i){var s=o.endsWith(".d.ts")?b:v,c=e[i],m=(0===w.length?o:c).replace(g(t),g(_)),h=a(c),x=F(h,o,s,r,c,E,l);f(m,x),0===w.length&&P&&t===_&&m!==c&&p(c),O&&function(e,r,t){if(void 0===t&&(t=!1),e!==r){var o=e+".map";if(u.existsSync(o)){var i=r+".map",s=d(o);s.file=n.basename(r),f(i,JSON.stringify(s)),t&&p(o)}}}(c,m,P&&t===_)})})})}catch(e){return Promise.reject(e)}},e.fixBlankFiles=_,e.fixContents=F,e.fixDefaultExport=O,e.fixDirnameVar=j,e.fixFilenameExtensions=x,e.fixFilenameVar=P,e.fixModuleReferences=y,e.fixSourceMapRef=w});
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("node:path"),require("fs-extra"),require("json5"),require("globby"),require("node:fs")):"function"==typeof define&&define.amd?define(["exports","node:path","fs-extra","json5","globby","node:fs"],n):n((e||self).tscEsmFix={},e.node_path,e.fsExtra,e.json5,e.globby,e.node_fs)}(this,function(e,n,r,t,o,u){function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=/*#__PURE__*/i(r),c=/*#__PURE__*/i(t);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},l.apply(this,arguments)}var a=function(e){return s.default.readFileSync(e,{encoding:"utf8"})},f=function(e,n){return s.default.outputFileSync(e,n,{encoding:"utf8"})},d=function(e){return c.default.parse(a(e))},m=function(e){return e?Array.isArray(e)?e:[e]:[]},p=s.default.unlinkSync,g=function(e){return e.replace(/\\/g,"/")},v=function e(r){var t=d(r);if(t.extends){var o=e(n.resolve(n.dirname(r),t.extends));return l({},o,t,{compilerOptions:l({},o.compilerOptions,t.compilerOptions)})}return t},b={cwd:process.cwd(),tsconfig:"./tsconfig.json",filenameVar:!0,dirnameVar:!0,ext:!0,unlink:!0,debug:function(){}},h=function(e,r){return m(e).reduce(function(e,t){var o,u,i=v(n.resolve(r,t)),s=null==i||null==(o=i.compilerOptions)?void 0:o.outDir,c=null==i||null==(u=i.compilerOptions)||null==u.module.toLowerCase?void 0:u.module.toLowerCase();return s&&c.startsWith("es")?e.push(s):console.warn("tsconfig should declare `outDir` and `module` type es6 or above"),e},[])},x=function(e,n){return e.map(function(e){return e.endsWith(".d.ts")?e:e.replace(/\.[^./\\]+$/,n)})},y=function(e,r,t,o,u){return e.replace(/((?:\s|^)import\s+|\s+from\s+|\W(?:import|require)\s*\()(["'])([^"']+\/[^"']+|\.{1,2})\/?(["'])/g,function(e,i,s,c,l){return""+i+s+(u.includes(c)?c:function(e,r,t,o){var u=n.dirname(e),i=n.resolve(o,"node_modules"),s=/^\..+\.[^./\\]+$/.test(r)?[r,r.replace(/\.[^./\\]+$/,"")]:[r],c=[".js",".cjs",".mjs"].reduce(function(e,n){return s.forEach(function(r){return e.push(""+r+n,r+"/index"+n)}),e},[]);return c.find(function(e){return t.includes(g(n.resolve(u,e)))})||c.find(function(e){return t.includes(g(n.resolve(i,e)))})||r}(r,c,t,o))+l})},j=function(e,n){return e.replace(/__dirname/g,"`${process.platform === 'win32' ? '' : '/'}${/file:\\/{2,3}(.+)\\/[^/]/.exec(import.meta.url)"+(n?"!":"")+"[1]}`")},P=function(e,n){return e.replace(/__filename/g,"`${process.platform === 'win32' ? '' : '/'}${/file:\\/{2,3}(.+)/.exec(import.meta.url)"+(n?"!":"")+"[1]}`")},O=function(e){return e.includes("export default")?e:e+"\nexport default undefined\n"},_=function(e){return 0===e.trim().length?"\nexport {}\nexport default undefined\n":e},w=function(e,r,t){return r===t?e:e.replace("//# sourceMappingURL="+n.basename(r)+".map","//# sourceMappingURL="+n.basename(t)+".map")},F=function(e,n,r,t,o,u,i){var s=t.dirnameVar,c=t.filenameVar,l=t.fillBlank,a=t.forceDefaultExport,f=t.sourceMap;void 0===o&&(o=n),void 0===u&&(u=!1),void 0===i&&(i=[]);var d=e;return t.ext&&(d=y(d,n,r,t.cwd,i)),s&&(d=j(d,u)),c&&(d=P(d,u)),l&&(d=_(d)),a&&(d=O(d)),f&&(d=w(d,o,n)),d},k=function(e,r){if(!r)return e;var t=r;return t.includes("*")&&(t=t.slice(0,t.indexOf("*"))).includes("/")&&(t=t.slice(0,t.lastIndexOf("/"))),n.join(e,t)};e.DEFAULT_FIX_OPTIONS=b,e.fix=function(e){try{var r=function(e){return l({},b,e,{debug:"function"==typeof(null==e?void 0:e.debug)?e.debug:!0===(null==e?void 0:e.debug)?console.log:b.debug})}(e),t=r.cwd,i=r.target,s=r.src,c=r.tsconfig,v=r.out,y=r.ext,j=r.debug,P=r.unlink,O=r.sourceMap,_=n.resolve(t,void 0===v?t:v),w=m(s),M=[].concat(m(i),h(c,t));j("debug:cwd",t),j("debug:outdir",_),j("debug:sources",w),j("debug:targets",M);var E=w.length>0,S=function(e,n){return e.length>0?e.map(function(e){return e.includes("*")?e:e+"/**/*.{ts,tsx}"}):n.map(function(e){return e.includes("*")?e:e+"/**/*.{js,d.ts}"})}(w,M);return Promise.resolve(o.globby(S,{cwd:t,onlyFiles:!0,absolute:!0})).then(function(e){return Promise.resolve(function(e){try{return Promise.resolve(function(e){return o.globby(["node_modules/*/package.json","node_modules/@*/*/package.json"],{cwd:e,onlyFiles:!0,absolute:!0}).then(function(e){try{return Promise.resolve(Promise.all(e.map(function(e){try{return Promise.resolve(d(e)).then(function(r){var t=r.name,u=r.exports;if(!u)return{name:t};var i=n.dirname(e),s=function(e){var n=Object.entries(e),r=function e(n){return"string"==typeof n?[n]:Object.values(n).map(e).flat(2)};return"string"!=typeof e&&Object.keys(e).some(function(e){return e.startsWith(".")})?n.map(function(e){return[e[0],r(e[1])]}):[[".",r(e)]]}(u);return Promise.resolve(Promise.all(s.map(function(e){var r=e[0];return Promise.all(e[1].map(function(e){try{return Promise.resolve(o.globby(e,{cwd:i,onlyFiles:!0,absolute:!1})).then(function(o){return o.map(function(o){return n.join(o).replace(k(".",e),k(t,r))})})}catch(e){return Promise.reject(e)}}))}))).then(function(e){return{name:t,files:e.flat(2)}})})}catch(e){return Promise.reject(e)}}))).then(function(e){return e.reduce(function(e,n){var r,t=n.name,o=n.files;return t&&e.names.push(t),o&&(r=e.files).push.apply(r,o),e},{names:[],files:[]})})}catch(e){return Promise.reject(e)}})}(e)).then(function(n){var r=n.names,t=n.files;return Promise.resolve(o.globby(["!node_modules/.cache","!node_modules/.bin","!node_modules/**/node_modules"].concat(r.map(function(e){return"!node_modules/"+e}),["node_modules/**/*.(m|c)?js"]),{cwd:e,onlyFiles:!0,absolute:!0})).then(function(e){return{cjsModules:e,esmModules:t,allPackages:r}})})}catch(e){return Promise.reject(e)}}(t)).then(function(o){var i=o.cjsModules,s=o.esmModules,c=o.allPackages;j("debug:external-cjs-modules",i),j("debug:external-esm-modules",s);var l=[].concat(s,c),m="string"==typeof y?x(e,y):e,v=[].concat(i,m),b=[].concat(i,x(e,".js"));j("debug:local-modules",m),m.forEach(function(o,i){var s=o.endsWith(".d.ts")?b:v,c=e[i],m=(0===w.length?o:c).replace(g(t),g(_)),h=a(c),x=F(h,o,s,r,c,E,l);f(m,x),0===w.length&&P&&t===_&&m!==c&&p(c),O&&function(e,r,t){if(void 0===t&&(t=!1),e!==r){var o=e+".map";if(u.existsSync(o)){var i=r+".map",s=d(o);s.file=n.basename(r),f(i,JSON.stringify(s)),t&&p(o)}}}(c,m,P&&t===_)})})})}catch(e){return Promise.reject(e)}},e.fixBlankFiles=_,e.fixContents=F,e.fixDefaultExport=O,e.fixDirnameVar=j,e.fixFilenameExtensions=x,e.fixFilenameVar=P,e.fixModuleReferences=y,e.fixSourceMapRef=w});
//# sourceMappingURL=tsc-esm-fix.umd.js.map
#!/usr/bin/env node
export {};
import './meow.d.ts';
#!/usr/bin/env node
import './meow.d.ts'
import meow from 'meow'

@@ -11,3 +12,3 @@

Usage
$ tsc-es2020-fix [options]
$ tsc-esm-fix [options]

@@ -14,0 +15,0 @@ Options

@@ -95,4 +95,4 @@ import {basename, dirname, join,resolve} from 'node:path'

contents.replace(
/(\sfrom\s|[\s(:[](?:import|require)[ (])(["'])([^"']+\/[^"']+|\.{1,2})\/?(["'])/g,
(matched, control, q1, from, q2) =>
/((?:\s|^)import\s+|\s+from\s+|\W(?:import|require)\s*\()(["'])([^"']+\/[^"']+|\.{1,2})\/?(["'])/g,
(_matched, control, q1, from, q2) =>
`${control}${q1}${ignore.includes(from) ? from : resolveDependency(

@@ -99,0 +99,0 @@ filename,

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

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