@libp2p/websockets 1.0.9 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,33 +1,34 @@
1
- # js-libp2p-websockets <!-- omit in toc -->
2
-
3
- [![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io)
4
- [![](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)
5
- [![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)
6
- [![Discourse posts](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg)](https://discuss.libp2p.io)
7
- [![Coverage Status](https://coveralls.io/repos/github/libp2p/js-libp2p-websockets/badge.svg?branch=master)](https://coveralls.io/github/libp2p/js-libp2p-websockets?branch=master)
8
- [![Build Status](https://github.com/libp2p/js-libp2p-websockets/actions/workflows/js-test-and-release.yml/badge.svg?branch=main)](https://github.com/libp2p/js-libp2p-websockets/actions/workflows/js-test-and-release.yml)
9
- [![Dependency Status](https://david-dm.org/libp2p/js-libp2p-websockets.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-websockets)
10
- [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard)
11
- ![](https://img.shields.io/badge/Node.js-%3E%3D14.0.0-orange.svg?style=flat-square)
1
+ # @libp2p/websockets <!-- omit in toc -->
12
2
 
13
- [![](https://raw.githubusercontent.com/libp2p/interface-transport/master/img/badge.png)](https://github.com/libp2p/interface-transport)
14
- [![](https://raw.githubusercontent.com/libp2p/interface-connection/master/img/badge.png)](https://github.com/libp2p/interface-connection)
3
+ [![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)
4
+ [![IRC](https://img.shields.io/badge/freenode-%23libp2p-yellow.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23libp2p)
5
+ [![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)
6
+ [![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p-websockets.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-websockets)
7
+ [![CI](https://img.shields.io/github/workflow/status/libp2p/js-libp2p-interfaces/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/libp2p/js-libp2p-websockets/actions/workflows/js-test-and-release.yml)
15
8
 
16
- > JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport interface
9
+ > JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport spec
17
10
 
18
- ## Table of Contents <!-- omit in toc -->
11
+ ## Table of contents <!-- omit in toc -->
19
12
 
13
+ - [Install](#install)
20
14
  - [Description](#description)
21
15
  - [Usage](#usage)
22
- - [Install](#install)
23
- - [npm](#npm)
24
16
  - [Constructor properties](#constructor-properties)
25
17
  - [Libp2p Usage Example](#libp2p-usage-example)
26
18
  - [API](#api)
27
19
  - [Transport](#transport)
28
20
  - [Connection](#connection)
29
21
  - [License](#license)
30
- - [Contribution](#contribution)
22
+ - [Contribution](#contribution)
23
+
24
+ ## Install
25
+
26
+ ```console
27
+ $ npm i @libp2p/websockets
28
+ ```
29
+
30
+ [![](https://raw.githubusercontent.com/libp2p/interface-transport/master/img/badge.png)](https://github.com/libp2p/interface-transport)
31
+ [![](https://raw.githubusercontent.com/libp2p/interface-connection/master/img/badge.png)](https://github.com/libp2p/interface-connection)
31
32
 
32
33
  ## Description
33
34
 
@@ -35,10 +36,6 @@
35
36
 
36
37
  ## Usage
37
38
 
38
- ## Install
39
-
40
- ### npm
41
-
42
39
  ```sh
43
40
  > npm i @libp2p/websockets
44
41
  ```
@@ -56,10 +53,10 @@ const properties = {
56
53
  const ws = new WS(properties)
57
54
  ```
58
55
 
59
- | Name | Type | Description | Default |
60
- |------|------|-------------|---------|
61
- | upgrader | [`Upgrader`](https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-interfaces/src/transport#upgrader) | connection upgrader object with `upgradeOutbound` and `upgradeInbound` | **REQUIRED** |
62
- | filter | `(multiaddrs: Array<Multiaddr>) => Array<Multiaddr>` | override transport addresses filter | **Browser:** DNS+WSS multiaddrs / **Node.js:** DNS+{WS, WSS} multiaddrs |
56
+ | Name | Type | Description | Default |
57
+ | -------- | -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------- |
58
+ | upgrader | [`Upgrader`](https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-interfaces/src/transport#upgrader) | connection upgrader object with `upgradeOutbound` and `upgradeInbound` | **REQUIRED** |
59
+ | filter | `(multiaddrs: Array<Multiaddr>) => Array<Multiaddr>` | override transport addresses filter | **Browser:** DNS+WSS multiaddrs / **Node.js:** DNS+{WS, WSS} multiaddrs |
63
60
 
64
61
  You can create your own address filters for this transports, or rely in the filters [provided](./src/filters.js).
65
62
 
@@ -114,9 +111,9 @@ For more information see [libp2p/js-libp2p/doc/CONFIGURATION.md#customizing-tran
114
111
 
115
112
  Licensed under either of
116
113
 
117
- * Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / http://www.apache.org/licenses/LICENSE-2.0)
118
- * MIT ([LICENSE-MIT](LICENSE-MIT) / http://opensource.org/licenses/MIT)
114
+ - Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)
115
+ - MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)
119
116
 
120
- ### Contribution
117
+ ## Contribution
121
118
 
122
119
  Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { WebSocketOptions } from 'it-ws/client';
3
- import { Transport, MultiaddrFilter, symbol, CreateListenerOptions, DialOptions } from '@libp2p/interfaces/transport';
3
+ import { Transport, MultiaddrFilter, symbol, CreateListenerOptions, DialOptions } from '@libp2p/interface-transport';
4
4
  import type { AbortOptions } from '@libp2p/interfaces';
5
5
  import type { Multiaddr } from '@multiformats/multiaddr';
6
6
  import type { DuplexWebSocket } from 'it-ws/duplex';
@@ -16,14 +16,14 @@ export declare class WebSockets implements Transport {
16
16
  constructor(init?: WebSocketsInit);
17
17
  get [Symbol.toStringTag](): string;
18
18
  get [symbol](): true;
19
- dial(ma: Multiaddr, options: DialOptions): Promise<import("@libp2p/interfaces/dist/src/connection").Connection>;
19
+ dial(ma: Multiaddr, options: DialOptions): Promise<import("@libp2p/interface-connection/dist/src").Connection>;
20
20
  _connect(ma: Multiaddr, options: AbortOptions): Promise<DuplexWebSocket>;
21
21
  /**
22
22
  * Creates a Websockets listener. The provided `handler` function will be called
23
23
  * anytime a new incoming Connection has been successfully upgraded via
24
24
  * `upgrader.upgradeInbound`
25
25
  */
26
- createListener(options: CreateListenerOptions): import("@libp2p/interfaces/transport").Listener;
26
+ createListener(options: CreateListenerOptions): import("@libp2p/interface-transport").Listener;
27
27
  /**
28
28
  * Takes a list of `Multiaddr`s and returns only valid Websockets addresses.
29
29
  * By default, in a browser environment only DNS+WSS multiaddr is accepted,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAW,gBAAgB,EAAE,MAAM,cAAc,CAAA;AASxD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AACrH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAIlC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,gBAAgB;IACpE,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,UAAW,YAAW,SAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAgB;gBAEzB,IAAI,CAAC,EAAE,cAAc;IAIlC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAEvB;IAED,IAAI,CAAC,MAAM,CAAC,IAAK,IAAI,CAEpB;IAEK,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW;IAazC,QAAQ,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IA8D/E;;;;OAIG;IACH,cAAc,CAAE,OAAO,EAAE,qBAAqB;IAI9C;;;;OAIG;IACH,MAAM,CAAE,UAAU,EAAE,SAAS,EAAE;CAchC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAW,gBAAgB,EAAE,MAAM,cAAc,CAAA;AASxD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACpH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAIlC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,gBAAgB;IACpE,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,UAAW,YAAW,SAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAgB;gBAEzB,IAAI,CAAC,EAAE,cAAc;IAIlC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAEvB;IAED,IAAI,CAAC,MAAM,CAAC,IAAK,IAAI,CAEpB;IAEK,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW;IAazC,QAAQ,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IA8D/E;;;;OAIG;IACH,cAAc,CAAE,OAAO,EAAE,qBAAqB;IAI9C;;;;OAIG;IACH,MAAM,CAAE,UAAU,EAAE,SAAS,EAAE;CAchC"}
package/dist/src/index.js CHANGED
@@ -7,7 +7,7 @@ import env from 'wherearewe';
7
7
  import { createListener } from './listener.js';
8
8
  import { socketToMaConn } from './socket-to-conn.js';
9
9
  import * as filters from './filters.js';
10
- import { symbol } from '@libp2p/interfaces/transport';
10
+ import { symbol } from '@libp2p/interface-transport';
11
11
  const log = logger('libp2p:websockets');
12
12
  export class WebSockets {
13
13
  constructor(init) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import type { Listener, CreateListenerOptions } from '@libp2p/interfaces/transport';
2
+ import type { Listener, CreateListenerOptions } from '@libp2p/interface-transport';
3
3
  import type { Server } from 'http';
4
4
  export interface WebSocketListenerInit extends CreateListenerOptions {
5
5
  server?: Server;
@@ -1 +1 @@
1
- {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,QAAQ,EAAkB,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACnG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAiJlC,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,cAAc,CAAE,IAAI,EAAE,qBAAqB,GAAG,QAAQ,CAErE"}
1
+ {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,QAAQ,EAAkB,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAiJlC,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,cAAc,CAAE,IAAI,EAAE,qBAAqB,GAAG,QAAQ,CAErE"}
@@ -1,5 +1,5 @@
1
1
  import type { AbortOptions } from '@libp2p/interfaces';
2
- import type { MultiaddrConnection } from '@libp2p/interfaces/transport';
2
+ import type { MultiaddrConnection } from '@libp2p/interface-connection';
3
3
  import type { Multiaddr } from '@multiformats/multiaddr';
4
4
  import type { DuplexWebSocket } from 'it-ws/duplex';
5
5
  export interface SocketToConnOptions extends AbortOptions {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/websockets",
3
- "version": "1.0.9",
3
+ "version": "2.0.0",
4
4
  "description": "JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport spec",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p-websockets#readme",
@@ -44,9 +44,11 @@
44
44
  ],
45
45
  "exports": {
46
46
  ".": {
47
+ "types": "./src/index.d.ts",
47
48
  "import": "./dist/src/index.js"
48
49
  },
49
50
  "./filters": {
51
+ "types": "./dist/src/filters.d.ts",
50
52
  "import": "./dist/src/filters.js"
51
53
  }
52
54
  },
@@ -152,7 +154,9 @@
152
154
  "release": "aegir release"
153
155
  },
154
156
  "dependencies": {
155
- "@libp2p/interfaces": "^2.0.1",
157
+ "@libp2p/interface-connection": "^1.0.1",
158
+ "@libp2p/interface-transport": "^1.0.0",
159
+ "@libp2p/interfaces": "^3.0.1",
156
160
  "@libp2p/logger": "^1.1.3",
157
161
  "@libp2p/utils": "^1.0.10",
158
162
  "@multiformats/mafmt": "^11.0.2",
@@ -166,9 +170,10 @@
166
170
  "wherearewe": "^1.0.0"
167
171
  },
168
172
  "devDependencies": {
169
- "@libp2p/interface-compliance-tests": "^2.0.1",
173
+ "@libp2p/interface-mocks": "^1.0.1",
174
+ "@libp2p/interface-transport-compliance-tests": "^1.0.0",
170
175
  "@types/ws": "^8.2.2",
171
- "aegir": "^37.0.12",
176
+ "aegir": "^37.2.0",
172
177
  "is-loopback-addr": "^2.0.1",
173
178
  "it-all": "^1.0.6",
174
179
  "it-drain": "^1.0.5",
package/src/index.ts CHANGED
@@ -7,7 +7,7 @@ import env from 'wherearewe'
7
7
  import { createListener } from './listener.js'
8
8
  import { socketToMaConn } from './socket-to-conn.js'
9
9
  import * as filters from './filters.js'
10
- import { Transport, MultiaddrFilter, symbol, CreateListenerOptions, DialOptions } from '@libp2p/interfaces/transport'
10
+ import { Transport, MultiaddrFilter, symbol, CreateListenerOptions, DialOptions } from '@libp2p/interface-transport'
11
11
  import type { AbortOptions } from '@libp2p/interfaces'
12
12
  import type { Multiaddr } from '@multiformats/multiaddr'
13
13
  import type { DuplexWebSocket } from 'it-ws/duplex'
package/src/listener.ts CHANGED
@@ -4,12 +4,12 @@ import { createServer } from 'it-ws/server'
4
4
  import { logger } from '@libp2p/logger'
5
5
  import { socketToMaConn } from './socket-to-conn.js'
6
6
  import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr'
7
- import type { Listener, ListenerEvents, CreateListenerOptions } from '@libp2p/interfaces/transport'
7
+ import type { Listener, ListenerEvents, CreateListenerOptions } from '@libp2p/interface-transport'
8
8
  import type { Server } from 'http'
9
9
  import type { WebSocketServer } from 'it-ws/server'
10
10
  import type { DuplexWebSocket } from 'it-ws/duplex'
11
11
  import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events'
12
- import type { Connection } from '@libp2p/interfaces/connection'
12
+ import type { Connection } from '@libp2p/interface-connection'
13
13
 
14
14
  const log = logger('libp2p:websockets:listener')
15
15
 
@@ -3,7 +3,7 @@ import { CLOSE_TIMEOUT } from './constants.js'
3
3
  import pTimeout from 'p-timeout'
4
4
  import { logger } from '@libp2p/logger'
5
5
  import type { AbortOptions } from '@libp2p/interfaces'
6
- import type { MultiaddrConnection } from '@libp2p/interfaces/transport'
6
+ import type { MultiaddrConnection } from '@libp2p/interface-connection'
7
7
  import type { Multiaddr } from '@multiformats/multiaddr'
8
8
  import type { DuplexWebSocket } from 'it-ws/duplex'
9
9