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

ssh2-sftp-client

Package Overview
Dependencies
Maintainers
2
Versions
74
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ssh2-sftp-client - npm Package Compare versions

Comparing version 4.2.1 to 4.2.2

6

package.json
{
"name": "ssh2-sftp-client",
"version": "4.2.1",
"version": "4.2.2",
"description": "ssh2 sftp client for node",

@@ -37,6 +37,6 @@ "main": "src/index.js",

"checksum": "^0.1.1",
"dotenv": "^8.1.0",
"mocha": "^6.2.0",
"dotenv": "^8.2.0",
"mocha": "^6.2.2",
"through2": "^3.0.1"
}
}
# Table of Contents
1. [SSH2 SFTP Client](#org2ff92dd)
2. [Installation](#org101da24)
3. [Basic Usage](#orge0baaf0)
4. [Breaking Changes in Version 4.x](#org1450b73)
5. [Enhancements in Version 4.2.x](#org0da6002)
6. [Enhancements in Version 4.1.x](#org436dffc)
7. [Documentation](#org627f927)
1. [Methods](#org2e64c16)
1. [new SftpClient(name) ===> SFTP client object](#orga990762)
2. [connect(config) ===> SFTPstream](#orga24c78c)
3. [list(path, pattern) ==> Array[object]](#org62856bf)
4. [exists(path) ==> boolean](#orgf1725d7)
5. [stat(path) ==> object](#orgca82db5)
6. [get(path, dst, options) ==> String|Stream|Buffer](#orgf03d9dc)
7. [fastGet(remotePath, localPath, options) ===> string](#org60015f8)
8. [put(src, remotePath, options) ==> string](#org4c453c1)
9. [fastPut(localPath, remotePath, options) ==> string](#org43ba146)
10. [append(input, remotePath, options) ==> string](#orgeb14ec0)
11. [mkdir(path, recursive) ==> string](#orge36efb6)
12. [rmdir(path, recursive) ==> string](#org4e9756a)
13. [delete(path) ==> string](#org5558876)
14. [rename(fromPath, toPath) ==> string](#org8d1ae7f)
15. [chmod(path, mode) ==> string](#orgd6f506d)
16. [realPath(path) ===> string](#orge278e16)
17. [cwd() ==> string](#org03d8066)
18. [end() ==> boolean](#org48ede29)
19. [Add and Remove Listeners](#orgdb4973a)
8. [FAQ](#orgd9bd9d8)
1. [Remote server drops connections with only an end event](#org5abb622)
2. [How can you pass writable stream as dst for get method?](#org3e21a0f)
3. [How can I upload files without having to specify a password?](#orgad53a21)
4. [How can I connect through a Socks Proxy](#org89b487a)
9. [Change Log](#org74bc7f8)
1. [v4.2.1 (Prod Version)](#org135b786)
2. [v4.2.0](#orgec101e3)
3. [v4.1.0](#org5da0e74)
4. [v4.0.4](#org8266de9)
5. [v4.0.3](#orgef2b0c4)
6. [v4.0.2](#org9e36bec)
7. [v4.0.0](#orge515716)
8. [v2.5.2](#org453ef69)
9. [v2.5.1](#org929e671)
10. [v2.5.0](#org09654d5)
11. [v2.4.3](#orgc17457a)
12. [v2.4.2](#org3708b37)
13. [v2.4.1](#org5293271)
14. [v2.4.0](#orgaea5aba)
15. [v2.3.0](#org65eab1d)
16. [v3.0.0 – deprecate this version](#orgcb65936)
17. [v2.1.1](#org5324914)
18. [v2.0.1](#org7238a3b)
19. [v1.1.0](#org026a96e)
20. [v1.0.5:](#org0e31491)
10. [Logging Issues](#org4860a8f)
11. [Pull Requests](#orgffb1857)
12. [Contributors](#org891dcee)
1. [SSH2 SFTP Client](#orge957cc1)
2. [Installation](#orgad61082)
3. [Basic Usage](#org3f0870b)
4. [Breaking Changes in Version 4.x](#org134cea5)
5. [Enhancements in Version 4.2.x](#org5da3c6c)
6. [Enhancements in Version 4.1.x](#org60d14ab)
7. [Documentation](#orga3a64ef)
1. [Methods](#org1db2dca)
1. [new SftpClient(name) ===> SFTP client object](#org2e175be)
2. [connect(config) ===> SFTPstream](#org773fe30)
3. [list(path, pattern) ==> Array[object]](#org357ae81)
4. [exists(path) ==> boolean](#org64b771e)
5. [stat(path) ==> object](#orga39f68e)
6. [get(path, dst, options) ==> String|Stream|Buffer](#orgec76d36)
7. [fastGet(remotePath, localPath, options) ===> string](#orge2bce52)
8. [put(src, remotePath, options) ==> string](#orgc4bdf65)
9. [fastPut(localPath, remotePath, options) ==> string](#org279b92d)
10. [append(input, remotePath, options) ==> string](#org42263e7)
11. [mkdir(path, recursive) ==> string](#orgd0b1dee)
12. [rmdir(path, recursive) ==> string](#org219cc79)
13. [delete(path) ==> string](#org5f33870)
14. [rename(fromPath, toPath) ==> string](#orgafb2f35)
15. [chmod(path, mode) ==> string](#orgdf3b959)
16. [realPath(path) ===> string](#org0586ea6)
17. [cwd() ==> string](#org1a7f778)
18. [end() ==> boolean](#orge38a312)
19. [Add and Remove Listeners](#orga8c8f1c)
8. [FAQ](#org676e51a)
1. [Remote server drops connections with only an end event](#org086ed41)
2. [How can you pass writable stream as dst for get method?](#orgc0eff83)
3. [How can I upload files without having to specify a password?](#org7068b3c)
4. [How can I connect through a Socks Proxy](#orgbd0cb2b)
9. [Change Log](#org6d48cb7)
1. [v4.2.2 (Prod Version)](#org59ac7b1)
2. [v4.2.1](#org38e776a)
3. [v4.2.0](#org37281ce)
4. [v4.1.0](#org7e97b3f)
5. [v4.0.4](#org8456c64)
6. [v4.0.3](#orgc548503)
7. [v4.0.2](#org1485aba)
8. [v4.0.0](#orgf7290f3)
9. [v2.5.2](#orged45a77)
10. [v2.5.1](#org4564b15)
11. [v2.5.0](#orgbce1dc9)
12. [v2.4.3](#orgbdfc446)
13. [v2.4.2](#org1804295)
14. [v2.4.1](#org1391e57)
15. [v2.4.0](#orgefab4cc)
16. [v2.3.0](#org26c240e)
17. [v3.0.0 – deprecate this version](#orgf5a8093)
18. [v2.1.1](#org83317d9)
19. [v2.0.1](#orga51f1ba)
20. [v1.1.0](#org44a0a57)
21. [v1.0.5:](#orgdb8ec48)
10. [Logging Issues](#orgb58e139)
11. [Pull Requests](#org48c6a38)
12. [Contributors](#org3ebc2c1)
<a id="org2ff92dd"></a>
<a id="orge957cc1"></a>

@@ -79,3 +80,3 @@ # SSH2 SFTP Client

<a id="org101da24"></a>
<a id="orgad61082"></a>

@@ -87,3 +88,3 @@ # Installation

<a id="orge0baaf0"></a>
<a id="org3f0870b"></a>

@@ -109,3 +110,3 @@ # Basic Usage

<a id="org1450b73"></a>
<a id="org134cea5"></a>

@@ -138,3 +139,3 @@ # Breaking Changes in Version 4.x

<a id="org0da6002"></a>
<a id="org5da3c6c"></a>

@@ -158,3 +159,3 @@ # Enhancements in Version 4.2.x

<a id="org436dffc"></a>
<a id="org60d14ab"></a>

@@ -172,3 +173,3 @@ # Enhancements in Version 4.1.x

<a id="org627f927"></a>
<a id="orga3a64ef"></a>

@@ -181,6 +182,6 @@ # Documentation

All the methods will return a Promise, except for `on()` and
`removeListener()`, which are typically only used in special use cases.
`removeListener()`, which are typically only used in special use cases.
<a id="org2e64c16"></a>
<a id="org1db2dca"></a>

@@ -190,3 +191,3 @@ ## Methods

<a id="orga990762"></a>
<a id="org2e175be"></a>

@@ -197,9 +198,9 @@ ### new SftpClient(name) ===> SFTP client object

can be provided, which will be used in error messages to help identify which
client has thrown the error.
client has thrown the error.
1. Constructor arguments
1. Constructor Arguments
- **name:** string. An optional name string used in error messages
2. Example Used
2. Example Use

@@ -212,3 +213,3 @@ 'use strict';

host: 'example.com',
user: 'donald',
username: 'donald',
password: 'my-secret'

@@ -232,3 +233,3 @@ };

<a id="orga24c78c"></a>
<a id="org773fe30"></a>

@@ -246,3 +247,3 @@ ### connect(config) ===> SFTPstream

relevant for SFTP connections. It is recommended you keep the config options to
the minimum needed and stick to the options listed in the `commonOpts` below.
the minimum needed and stick to the options listed in the `commonOpts` below.

@@ -252,3 +253,3 @@ The `retries`, `retry_factor` and `retry_minTimeout` options are not part of the

is used to enable retrying of sftp connection attempts. See the documentation
for that package for an explanation of these values.
for that package for an explanation of these values.

@@ -270,3 +271,3 @@ // common options

debug: myDebug // function - Set this to a function that receives a single
// string argument to get detailed (local) debug information.
// string argument to get detailed (local) debug information.
retries: 2 // integer. Number of times to retry connecting

@@ -306,3 +307,3 @@ retry_factor: 2 // integer. Time factor used to calculate time between retries

<a id="org62856bf"></a>
<a id="org357ae81"></a>

@@ -313,8 +314,8 @@ ### list(path, pattern) ==> Array[object]

realised, returns an array of objects representing items in the remote
directory.
directory.
- **path:** {String} Remote directory path
- **pattern:** (optional) {string|RegExp} A pattern used to filter the items included in the returned
array. Pattern can be a simple *glob* style string or a regular
experession. Defaults to `/.*/`.
array. Pattern can be a simple *glob*-style string or a regular
expression. Defaults to `/.*/`.

@@ -326,3 +327,3 @@ 1. Example Use

const config = {
host: 'exmaple.com',
host: 'example.com',
port: 22,

@@ -371,3 +372,3 @@ username: 'red-don',

The filter options can be a regular expression (most powerful option) or a
simple *glob* like string where \* will match any number of characters e.g
simple *glob*-like string where \* will match any number of characters, e.g.

@@ -378,3 +379,3 @@ foo* => foo, foobar, foobaz

The *glob* style matching is very simple. In most cases, you are best off using
The *glob*-style matching is very simple. In most cases, you are best off using
a real regular expression which will allow you to do more powerful matching and

@@ -384,3 +385,3 @@ anchor matches to the beginning/end of the string etc.

<a id="orgf1725d7"></a>
<a id="org64b771e"></a>

@@ -397,3 +398,3 @@ ### exists(path) ==> boolean

const config = {
host: 'exmaple.com',
host: 'example.com',
port: 22,

@@ -421,7 +422,7 @@ username: 'red-don',

<a id="orgca82db5"></a>
<a id="orga39f68e"></a>
### stat(path) ==> object
Returns the attributes associated with the object pointed to by `path`.
Returns the attributes associated with the object pointed to by `path`.

@@ -444,3 +445,3 @@ - **path:** String. Remote path to directory or file on remote server

isBlockDevice: false, // true if object is a block device
isCharcterDevice: false, // true if object is a character device
isCharacterDevice: false, // true if object is a character device
isSymbolicLink: false, // true if object is a symbolic link

@@ -470,3 +471,3 @@ isFIFO: false, // true if object is a FIFO

<a id="orgf03d9dc"></a>
<a id="orgec76d36"></a>

@@ -494,5 +495,6 @@ ### get(path, dst, options) ==> String|Stream|Buffer

The options object can be used to pass options to the underlying readStream used
to read the data from the remote server.
to read the data from the remote server.
{ flags: 'r',
{
flags: 'r',
encoding: null,

@@ -506,3 +508,3 @@ handle: null,

to set the encoding. For example, to 'utf-8'. However, it is important not to do
this for binary files to avoid data corruption.
this for binary files to avoid data corruption.

@@ -533,3 +535,3 @@ 2. Example Use

<a id="org60015f8"></a>
<a id="orge2bce52"></a>

@@ -547,3 +549,3 @@ ### fastGet(remotePath, localPath, options) ===> string

1. OPtions
1. Options

@@ -554,3 +556,3 @@ {

step: function(total_transferred, chunk, total) // callback called each time a
// chunk is transferred
// chunk is transferred
}

@@ -579,3 +581,3 @@

<a id="org4c453c1"></a>
<a id="orgc4bdf65"></a>

@@ -588,3 +590,3 @@ ### put(src, remotePath, options) ==> string

copied to the remote file and if it is a readable stream, the contents of that
stream are piped to the `remotePath` on the server.
stream are piped to the `remotePath` on the server.

@@ -611,3 +613,3 @@ - **src:** string | buffer | readable stream. Data source for data to copy to the

fine for all file types. However, using utf-8 encoding for binary files will
often result in data corruption.
often result in data corruption.

@@ -635,3 +637,3 @@ 2. Example Use

<a id="org43ba146"></a>
<a id="org279b92d"></a>

@@ -641,3 +643,3 @@ ### fastPut(localPath, remotePath, options) ==> string

Uploads the data in file at `localPath` to a new file on remote server at
`remotePath` using concurrency. The options object allows tweaking of the fast put process.
`remotePath` using concurrency. The options object allows tweaking of the fast put process.

@@ -680,3 +682,3 @@ - **localPath:** string. Path to local file to upload

<a id="orgeb14ec0"></a>
<a id="org42263e7"></a>

@@ -688,3 +690,3 @@ ### append(input, remotePath, options) ==> string

opens a writeStream on the remote file in append mode and writes the data passed
in to the file.
in to the file.

@@ -708,3 +710,3 @@ - **input:** buffer | readStream. Data to append to remote file

the defaults. You do not have to set encoding to utf-8 for text files, null is
fine for all file types. Generally, I would not attempt to append binary files.
fine for all file types. Generally, I would not attempt to append binary files.

@@ -728,3 +730,3 @@ 2. Example Use

<a id="orge36efb6"></a>
<a id="orgd0b1dee"></a>

@@ -758,3 +760,3 @@ ### mkdir(path, recursive) ==> string

<a id="org4e9756a"></a>
<a id="org219cc79"></a>

@@ -766,3 +768,3 @@ ### rmdir(path, recursive) ==> string

deleted. If set to false and the directory has sub-directories or files, the
action will fail.
action will fail.

@@ -790,3 +792,3 @@ - **path:** string. Path to remote directory

<a id="org5558876"></a>
<a id="org5f33870"></a>

@@ -816,3 +818,3 @@ ### delete(path) ==> string

<a id="org8d1ae7f"></a>
<a id="orgafb2f35"></a>

@@ -822,3 +824,3 @@ ### rename(fromPath, toPath) ==> string

Rename a file or directory from `fromPath` to `toPath`. You must have the
necessary permissions to modify the remote file.
necessary permissions to modify the remote file.

@@ -843,3 +845,3 @@ 1. Example Use

<a id="orgd6f506d"></a>
<a id="orgdf3b959"></a>

@@ -872,3 +874,3 @@ ### chmod(path, mode) ==> string

<a id="orge278e16"></a>
<a id="org0586ea6"></a>

@@ -878,3 +880,3 @@ ### realPath(path) ===> string

Converts a relative path to an absolute path on the remote server. This method
is mainly used internally to resolve remote path names.
is mainly used internally to resolve remote path names.

@@ -884,10 +886,10 @@ - **path:** A file path, either relative or absolute

<a id="org03d8066"></a>
<a id="org1a7f778"></a>
### cwd() ==> string
Returns what the server believes is the current remote working directory.
Returns what the server believes is the current remote working directory.
<a id="org48ede29"></a>
<a id="orge38a312"></a>

@@ -915,3 +917,3 @@ ### end() ==> boolean

<a id="orgdb4973a"></a>
<a id="orga8c8f1c"></a>

@@ -922,5 +924,5 @@ ### Add and Remove Listeners

ssh2 client object. This object supports a number of events, but only a few of
them have any meaning in the context of SFTP. These are
them have any meaning in the context of SFTP. These are
- **error:** An error occured. Calls listener with an error argument.
- **error:** An error occurred. Calls listener with an error argument.
- **end:** The socket has been disconnected. No argument.

@@ -940,6 +942,6 @@ - **close:** The socket was closed. Boolean argument which is true when the socket

Removes the specified listener from the event specified in eventType. Note that
the `end()` method automatically removes all listeners from the client object.
the `end()` method automatically removes all listeners from the client object.
<a id="orgd9bd9d8"></a>
<a id="org676e51a"></a>

@@ -949,3 +951,3 @@ # FAQ

<a id="org5abb622"></a>
<a id="org086ed41"></a>

@@ -962,3 +964,3 @@ ## Remote server drops connections with only an end event

unauthenticated connections after which drop 30% of connection attempts until
reaching 60 unauthenticated connections, at which time, drop all attempts.
reaching 60 unauthenticated connections, at which time, drop all attempts.

@@ -971,3 +973,3 @@ Clients first make an unauthenticated connection to the SFTP server to begin

listens for `end` events during the connection process and if one is detected,
will reject the connection promise.
will reject the connection promise.

@@ -979,6 +981,6 @@ One way to avoid this type of issue is to add a delay between connection

that the 1st connection has completed authentication before the 11th connection
is attempted.
is attempted.
<a id="org3e21a0f"></a>
<a id="orgc0eff83"></a>

@@ -990,9 +992,9 @@ ## How can you pass writable stream as dst for get method?

writeable stream created with `fs.createWriteStream()`, the data will be written
to the file specified in the constructor call to `createWriteStream()`.
to the file specified in the constructor call to `createWriteStream()`.
The wrteable stream can be any type of write stream. For example, the below code
The writeable stream can be any type of write stream. For example, the below code
will convert all the characters in the remote file to upper case before it is
saved to the local file system. This could just as easily be something like a
gunzip stream from `zlib`, enabling you to decompress remote zipped files as you
bring thenm across before saving to local file system.
bring them across before saving to local file system.

@@ -1048,3 +1050,3 @@ 'use strict';

<a id="orgad53a21"></a>
<a id="org7068b3c"></a>

@@ -1054,7 +1056,7 @@ ## How can I upload files without having to specify a password?

There are a couple of ways to do this. Essentially, you want to setup SSH keys
and use these for authentication to the remote server.
and use these for authentication to the remote server.
One solution, provided by @KalleVuorjoki is to use the SSH agent
process. **Note**: SSH<sub>AUTH</sub><sub>SOCK</sub> is normally created by your OS when you load the
ssh-agent as part of the login session.
ssh-agent as part of the login session.

@@ -1068,7 +1070,7 @@ let sftp = new Client();

}).then(() => {
sftp.fastPut(....)
sftp.fastPut(/* ... */)
}
Another alternative is to just pass in the SSH key directly as part of the
configuration.
configuration.

@@ -1080,13 +1082,13 @@ let sftp = new Client();

username: 'YOUR-USERNAME',
privateKey: fs.readFileSync('/path/to/ssh/ke')
privateKey: fs.readFileSync('/path/to/ssh/key')
}).then(() => {
sftp.fastPut(.....)
sftp.fastPut(/* ... */)
}
<a id="org89b487a"></a>
<a id="orgbd0cb2b"></a>
## How can I connect through a Socks Proxy
This solution was provided by @jmorino.
This solution was provided by @jmorino.

@@ -1118,7 +1120,6 @@ import { SocksClient } from 'socks';

// client is connected
<a id="org74bc7f8"></a>
<a id="org6d48cb7"></a>

@@ -1128,6 +1129,14 @@ # Change Log

<a id="org135b786"></a>
<a id="org59ac7b1"></a>
## v4.2.1 (Prod Version)
## v4.2.2 (Prod Version)
- Minor documentation fixes
- Added additional examples in the `example` directory
<a id="org38e776a"></a>
## v4.2.1
- Remove default close listener. changes in ssh2 API removed the utility of a

@@ -1143,3 +1152,3 @@ default close listener

<a id="orgec101e3"></a>
<a id="org37281ce"></a>

@@ -1155,3 +1164,3 @@ ## v4.2.0

<a id="org5da0e74"></a>
<a id="org7e97b3f"></a>

@@ -1173,3 +1182,3 @@ ## v4.1.0

<a id="org8266de9"></a>
<a id="org8456c64"></a>

@@ -1182,3 +1191,3 @@ ## v4.0.4

<a id="orgef2b0c4"></a>
<a id="orgc548503"></a>

@@ -1191,3 +1200,3 @@ ## v4.0.3

<a id="org9e36bec"></a>
<a id="org1485aba"></a>

@@ -1199,3 +1208,3 @@ ## v4.0.2

<a id="orge515716"></a>
<a id="orgf7290f3"></a>

@@ -1210,3 +1219,3 @@ ## v4.0.0

errors to be adequately caught and reported.
- Depricate auxList() and add pattern/regexp filter option to list()
- Deprecate auxList() and add pattern/regexp filter option to list()
- Refactored handling of event signals to provide better feedback to clients

@@ -1219,3 +1228,3 @@ - Removed pointless 'permissions' property from objects returned by `stat()`

<a id="org453ef69"></a>
<a id="orged45a77"></a>

@@ -1228,3 +1237,3 @@ ## v2.5.2

<a id="org929e671"></a>
<a id="org4564b15"></a>

@@ -1236,3 +1245,3 @@ ## v2.5.1

<a id="org09654d5"></a>
<a id="orgbce1dc9"></a>

@@ -1244,3 +1253,3 @@ ## v2.5.0

<a id="orgc17457a"></a>
<a id="orgbdfc446"></a>

@@ -1253,3 +1262,3 @@ ## v2.4.3

<a id="org3708b37"></a>
<a id="org1804295"></a>

@@ -1262,3 +1271,3 @@ ## v2.4.2

<a id="org5293271"></a>
<a id="org1391e57"></a>

@@ -1271,3 +1280,3 @@ ## v2.4.1

<a id="orgaea5aba"></a>
<a id="orgefab4cc"></a>

@@ -1278,3 +1287,3 @@ ## v2.4.0

- merge pr #97, thanks for @theophilusx
- Remove emmitter.maxListener warnings
- Remove emitter.maxListener warnings
- Upgraded ssh2 dependency from 0.5.5 to 0.6.1

@@ -1286,3 +1295,3 @@ - Enhanced error messages to provide more context and to be more consistent

<a id="org65eab1d"></a>
<a id="org26c240e"></a>

@@ -1296,3 +1305,3 @@ ## v2.3.0

<a id="orgcb65936"></a>
<a id="orgf5a8093"></a>

@@ -1305,3 +1314,3 @@ ## v3.0.0 &#x2013; deprecate this version

<a id="org5324914"></a>
<a id="org83317d9"></a>

@@ -1314,3 +1323,3 @@ ## v2.1.1

<a id="org7238a3b"></a>
<a id="orga51f1ba"></a>

@@ -1325,3 +1334,3 @@ ## v2.0.1

<a id="org026a96e"></a>
<a id="org44a0a57"></a>

@@ -1333,3 +1342,3 @@ ## v1.1.0

<a id="org0e31491"></a>
<a id="orgdb8ec48"></a>

@@ -1342,3 +1351,3 @@ ## v1.0.5:

<a id="org4860a8f"></a>
<a id="orgb58e139"></a>

@@ -1349,6 +1358,6 @@ # Logging Issues

requests. Please ensure you include the module version, node version and
platform.
platform.
<a id="orgffb1857"></a>
<a id="org48c6a38"></a>

@@ -1360,3 +1369,3 @@ # Pull Requests

included. Likewise, for new features or enhancements, please include any
relevant documentation updates.
relevant documentation updates.

@@ -1368,3 +1377,3 @@ This module will adopt a standard semantic versioning policy. Please indicate in

increase in major version number.
- **Ninor:** Minor change, enhancement or new feature which does not change
- **Minor:** Minor change, enhancement or new feature which does not change
existing API and will not break existing client code.

@@ -1375,3 +1384,3 @@ - **Bug Fix:** No change to functionality or features. Simple fix of an existing

<a id="org891dcee"></a>
<a id="org3ebc2c1"></a>

@@ -1383,3 +1392,3 @@ # Contributors

have contributed to this module, but until now, this was not tracked. My
intention is to credit anyone who contributes going forward.
intention is to credit anyone who contributes going forward.

@@ -1389,2 +1398,3 @@ - **jyu213:** Original author

- **henrytk:** Documentation fix
- **waldyrious:** Documentation fixes

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