@libp2p/tcp 9.1.5-e211b46cc → 9.1.6-df330695a

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.
@@ -1,4 +1,4 @@
1
- import { CodeError } from '@libp2p/interface';
1
+ import { AbortError, InvalidParametersError, TimeoutError } from '@libp2p/interface';
2
2
  import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr';
3
3
  import { duplex } from 'stream-to-it';
4
4
  import { CLOSE_TIMEOUT, SOCKET_TIMEOUT } from './constants.js';
@@ -29,7 +29,7 @@ export const toMultiaddrConnection = (socket, options) => {
29
29
  if (socket.remoteAddress == null || socket.remotePort == null) {
30
30
  // this can be undefined if the socket is destroyed (for example, if the client disconnected)
31
31
  // https://nodejs.org/dist/latest-v16.x/docs/api/net.html#socketremoteaddress
32
- throw new CodeError('Could not determine remote address or port', 'ERR_NO_REMOTE_ADDRESS');
32
+ throw new InvalidParametersError('Could not determine remote address or port');
33
33
  }
34
34
  remoteAddr = toMultiaddr(socket.remoteAddress, socket.remotePort);
35
35
  }
@@ -44,7 +44,7 @@ export const toMultiaddrConnection = (socket, options) => {
44
44
  // only destroy with an error if the remote has not sent the FIN message
45
45
  let err;
46
46
  if (socket.readable) {
47
- err = new CodeError('Socket read timeout', 'ERR_SOCKET_READ_TIMEOUT');
47
+ err = new TimeoutError('Socket read timeout');
48
48
  }
49
49
  // if the socket times out due to inactivity we must manually close the connection
50
50
  // https://nodejs.org/dist/latest-v16.x/docs/api/net.html#event-timeout
@@ -113,7 +113,7 @@ export const toMultiaddrConnection = (socket, options) => {
113
113
  };
114
114
  }
115
115
  const abortSignalListener = () => {
116
- socket.destroy(new CodeError('Destroying socket after timeout', 'ERR_CLOSE_TIMEOUT'));
116
+ socket.destroy(new AbortError('Destroying socket after timeout'));
117
117
  };
118
118
  options.signal?.addEventListener('abort', abortSignalListener);
119
119
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"socket-to-conn.js","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket-to-conn.js","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * A [libp2p transport](https://docs.libp2p.io/concepts/transports/overview/) based on the TCP networking stack.
5
+ *
6
+ * @example
7
+ *
8
+ * ```TypeScript
9
+ * import { createLibp2p } from 'libp2p'
10
+ * import { tcp } from '@libp2p/tcp'
11
+ * import { multiaddr } from '@multiformats/multiaddr'
12
+ *
13
+ * const node = await createLibp2p({
14
+ * transports: [
15
+ * tcp()
16
+ * ]
17
+ * })
18
+ *
19
+ * const ma = multiaddr('/ip4/123.123.123.123/tcp/1234')
20
+ *
21
+ * // dial a TCP connection, timing out after 10 seconds
22
+ * const connection = await node.dial(ma, {
23
+ * signal: AbortSignal.timeout(10_000)
24
+ * })
25
+ *
26
+ * // use connection...
27
+ * ```
28
+ */
29
+ import { serviceCapabilities, transportSymbol } from '@libp2p/interface';
30
+ import type { TCPDialEvents } from './index.js';
31
+ import type { Connection, Transport, Listener } from '@libp2p/interface';
32
+ import type { Multiaddr } from '@multiformats/multiaddr';
33
+ export declare class TCP implements Transport<TCPDialEvents> {
34
+ private readonly opts;
35
+ private readonly metrics?;
36
+ private readonly components;
37
+ private readonly log;
38
+ constructor();
39
+ readonly [transportSymbol] = true;
40
+ readonly [Symbol.toStringTag] = "@libp2p/tcp";
41
+ readonly [serviceCapabilities]: string[];
42
+ dial(): Promise<Connection>;
43
+ createListener(): Listener;
44
+ listenFilter(): Multiaddr[];
45
+ dialFilter(): Multiaddr[];
46
+ }
47
+ //# sourceMappingURL=tcp.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcp.browser.d.ts","sourceRoot":"","sources":["../../src/tcp.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAiB,aAAa,EAA0B,MAAM,YAAY,CAAA;AACtF,OAAO,KAAK,EAAU,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,qBAAa,GAAI,YAAW,SAAS,CAAC,aAAa,CAAC;IAClD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAY;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;;IAM5B,QAAQ,CAAC,CAAC,eAAe,CAAC,QAAO;IAEjC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAgB;IAE7C,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAEvC;IAEK,IAAI,IAAK,OAAO,CAAC,UAAU,CAAC;IAIlC,cAAc,IAAK,QAAQ;IAI3B,YAAY,IAAK,SAAS,EAAE;IAI5B,UAAU,IAAK,SAAS,EAAE;CAG3B"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * A [libp2p transport](https://docs.libp2p.io/concepts/transports/overview/) based on the TCP networking stack.
5
+ *
6
+ * @example
7
+ *
8
+ * ```TypeScript
9
+ * import { createLibp2p } from 'libp2p'
10
+ * import { tcp } from '@libp2p/tcp'
11
+ * import { multiaddr } from '@multiformats/multiaddr'
12
+ *
13
+ * const node = await createLibp2p({
14
+ * transports: [
15
+ * tcp()
16
+ * ]
17
+ * })
18
+ *
19
+ * const ma = multiaddr('/ip4/123.123.123.123/tcp/1234')
20
+ *
21
+ * // dial a TCP connection, timing out after 10 seconds
22
+ * const connection = await node.dial(ma, {
23
+ * signal: AbortSignal.timeout(10_000)
24
+ * })
25
+ *
26
+ * // use connection...
27
+ * ```
28
+ */
29
+ import { serviceCapabilities, transportSymbol } from '@libp2p/interface';
30
+ export class TCP {
31
+ opts;
32
+ metrics;
33
+ components;
34
+ log;
35
+ constructor() {
36
+ throw new Error('TCP connections are not possible in browsers');
37
+ }
38
+ [transportSymbol] = true;
39
+ [Symbol.toStringTag] = '@libp2p/tcp';
40
+ [serviceCapabilities] = [
41
+ '@libp2p/transport'
42
+ ];
43
+ async dial() {
44
+ throw new Error('TCP connections are not possible in browsers');
45
+ }
46
+ createListener() {
47
+ throw new Error('TCP connections are not possible in browsers');
48
+ }
49
+ listenFilter() {
50
+ return [];
51
+ }
52
+ dialFilter() {
53
+ return [];
54
+ }
55
+ }
56
+ //# sourceMappingURL=tcp.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcp.browser.js","sourceRoot":"","sources":["../../src/tcp.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAKxE,MAAM,OAAO,GAAG;IACG,IAAI,CAAY;IAChB,OAAO,CAAa;IACpB,UAAU,CAAe;IACzB,GAAG,CAAQ;IAE5B;QACE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;IAEQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAA;IAExB,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,aAAa,CAAA;IAEpC,CAAC,mBAAmB,CAAC,GAAa;QACzC,mBAAmB;KACpB,CAAA;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;IAED,cAAc;QACZ,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;IAED,YAAY;QACV,OAAO,EAAE,CAAA;IACX,CAAC;IAED,UAAU;QACR,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * A [libp2p transport](https://docs.libp2p.io/concepts/transports/overview/) based on the TCP networking stack.
5
+ *
6
+ * @example
7
+ *
8
+ * ```TypeScript
9
+ * import { createLibp2p } from 'libp2p'
10
+ * import { tcp } from '@libp2p/tcp'
11
+ * import { multiaddr } from '@multiformats/multiaddr'
12
+ *
13
+ * const node = await createLibp2p({
14
+ * transports: [
15
+ * tcp()
16
+ * ]
17
+ * })
18
+ *
19
+ * const ma = multiaddr('/ip4/123.123.123.123/tcp/1234')
20
+ *
21
+ * // dial a TCP connection, timing out after 10 seconds
22
+ * const connection = await node.dial(ma, {
23
+ * signal: AbortSignal.timeout(10_000)
24
+ * })
25
+ *
26
+ * // use connection...
27
+ * ```
28
+ */
29
+ /// <reference types="node" />
30
+ import { serviceCapabilities, transportSymbol } from '@libp2p/interface';
31
+ import type { TCPComponents, TCPCreateListenerOptions, TCPDialEvents, TCPDialOptions, TCPOptions } from './index.js';
32
+ import type { Connection, Transport, Listener } from '@libp2p/interface';
33
+ import type { Multiaddr } from '@multiformats/multiaddr';
34
+ import type { Socket } from 'net';
35
+ export declare class TCP implements Transport<TCPDialEvents> {
36
+ private readonly opts;
37
+ private readonly metrics?;
38
+ private readonly components;
39
+ private readonly log;
40
+ constructor(components: TCPComponents, options?: TCPOptions);
41
+ readonly [transportSymbol] = true;
42
+ readonly [Symbol.toStringTag] = "@libp2p/tcp";
43
+ readonly [serviceCapabilities]: string[];
44
+ dial(ma: Multiaddr, options: TCPDialOptions): Promise<Connection>;
45
+ _connect(ma: Multiaddr, options: TCPDialOptions): Promise<Socket>;
46
+ /**
47
+ * Creates a TCP listener. The provided `handler` function will be called
48
+ * anytime a new incoming Connection has been successfully upgraded via
49
+ * `upgrader.upgradeInbound`.
50
+ */
51
+ createListener(options: TCPCreateListenerOptions): Listener;
52
+ /**
53
+ * Takes a list of `Multiaddr`s and returns only valid TCP addresses
54
+ */
55
+ listenFilter(multiaddrs: Multiaddr[]): Multiaddr[];
56
+ /**
57
+ * Filter check for all Multiaddrs that this transport can dial
58
+ */
59
+ dialFilter(multiaddrs: Multiaddr[]): Multiaddr[];
60
+ }
61
+ //# sourceMappingURL=tcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcp.d.ts","sourceRoot":"","sources":["../../src/tcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;AAGH,OAAO,EAAyB,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAO/F,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,aAAa,EAAE,cAAc,EAAc,UAAU,EAAE,MAAM,YAAY,CAAA;AAChI,OAAO,KAAK,EAAU,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAA8C,MAAM,KAAK,CAAA;AAE7E,qBAAa,GAAI,YAAW,SAAS,CAAC,aAAa,CAAC;IAClD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAY;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;gBAEf,UAAU,EAAE,aAAa,EAAE,OAAO,GAAE,UAAe;IAehE,QAAQ,CAAC,CAAC,eAAe,CAAC,QAAO;IAEjC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAgB;IAE7C,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAEvC;IAEK,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IA4ClE,QAAQ,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAsExE;;;;OAIG;IACH,cAAc,CAAE,OAAO,EAAE,wBAAwB,GAAG,QAAQ;IAc5D;;OAEG;IACH,YAAY,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;IAgBnD;;OAEG;IACH,UAAU,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;CAGlD"}
@@ -0,0 +1,190 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * A [libp2p transport](https://docs.libp2p.io/concepts/transports/overview/) based on the TCP networking stack.
5
+ *
6
+ * @example
7
+ *
8
+ * ```TypeScript
9
+ * import { createLibp2p } from 'libp2p'
10
+ * import { tcp } from '@libp2p/tcp'
11
+ * import { multiaddr } from '@multiformats/multiaddr'
12
+ *
13
+ * const node = await createLibp2p({
14
+ * transports: [
15
+ * tcp()
16
+ * ]
17
+ * })
18
+ *
19
+ * const ma = multiaddr('/ip4/123.123.123.123/tcp/1234')
20
+ *
21
+ * // dial a TCP connection, timing out after 10 seconds
22
+ * const connection = await node.dial(ma, {
23
+ * signal: AbortSignal.timeout(10_000)
24
+ * })
25
+ *
26
+ * // use connection...
27
+ * ```
28
+ */
29
+ import net from 'net';
30
+ import { AbortError, CodeError, serviceCapabilities, transportSymbol } from '@libp2p/interface';
31
+ import * as mafmt from '@multiformats/mafmt';
32
+ import { CustomProgressEvent } from 'progress-events';
33
+ import { CODE_CIRCUIT, CODE_P2P, CODE_UNIX } from './constants.js';
34
+ import { TCPListener } from './listener.js';
35
+ import { toMultiaddrConnection } from './socket-to-conn.js';
36
+ import { multiaddrToNetConfig } from './utils.js';
37
+ export class TCP {
38
+ opts;
39
+ metrics;
40
+ components;
41
+ log;
42
+ constructor(components, options = {}) {
43
+ this.log = components.logger.forComponent('libp2p:tcp');
44
+ this.opts = options;
45
+ this.components = components;
46
+ if (components.metrics != null) {
47
+ this.metrics = {
48
+ dialerEvents: components.metrics.registerCounterGroup('libp2p_tcp_dialer_events_total', {
49
+ label: 'event',
50
+ help: 'Total count of TCP dialer events by type'
51
+ })
52
+ };
53
+ }
54
+ }
55
+ [transportSymbol] = true;
56
+ [Symbol.toStringTag] = '@libp2p/tcp';
57
+ [serviceCapabilities] = [
58
+ '@libp2p/transport'
59
+ ];
60
+ async dial(ma, options) {
61
+ options.keepAlive = options.keepAlive ?? true;
62
+ options.noDelay = options.noDelay ?? true;
63
+ // options.signal destroys the socket before 'connect' event
64
+ const socket = await this._connect(ma, options);
65
+ // Avoid uncaught errors caused by unstable connections
66
+ socket.on('error', err => {
67
+ this.log('socket error', err);
68
+ });
69
+ const maConn = toMultiaddrConnection(socket, {
70
+ remoteAddr: ma,
71
+ socketInactivityTimeout: this.opts.outboundSocketInactivityTimeout,
72
+ socketCloseTimeout: this.opts.socketCloseTimeout,
73
+ metrics: this.metrics?.dialerEvents,
74
+ logger: this.components.logger
75
+ });
76
+ const onAbort = () => {
77
+ maConn.close().catch(err => {
78
+ this.log.error('Error closing maConn after abort', err);
79
+ });
80
+ };
81
+ options.signal?.addEventListener('abort', onAbort, { once: true });
82
+ this.log('new outbound connection %s', maConn.remoteAddr);
83
+ const conn = await options.upgrader.upgradeOutbound(maConn);
84
+ this.log('outbound connection %s upgraded', maConn.remoteAddr);
85
+ options.signal?.removeEventListener('abort', onAbort);
86
+ if (options.signal?.aborted === true) {
87
+ conn.close().catch(err => {
88
+ this.log.error('Error closing conn after abort', err);
89
+ });
90
+ throw new AbortError();
91
+ }
92
+ return conn;
93
+ }
94
+ async _connect(ma, options) {
95
+ options.signal?.throwIfAborted();
96
+ options.onProgress?.(new CustomProgressEvent('tcp:open-connection'));
97
+ return new Promise((resolve, reject) => {
98
+ const start = Date.now();
99
+ const cOpts = multiaddrToNetConfig(ma, {
100
+ ...(this.opts.dialOpts ?? {}),
101
+ ...options
102
+ });
103
+ this.log('dialing %a', ma);
104
+ const rawSocket = net.connect(cOpts);
105
+ const onError = (err) => {
106
+ const cOptsStr = cOpts.path ?? `${cOpts.host ?? ''}:${cOpts.port}`;
107
+ err.message = `connection error ${cOptsStr}: ${err.message}`;
108
+ this.metrics?.dialerEvents.increment({ error: true });
109
+ done(err);
110
+ };
111
+ const onTimeout = () => {
112
+ this.log('connection timeout %a', ma);
113
+ this.metrics?.dialerEvents.increment({ timeout: true });
114
+ const err = new CodeError(`connection timeout after ${Date.now() - start}ms`, 'ERR_CONNECT_TIMEOUT');
115
+ // Note: this will result in onError() being called
116
+ rawSocket.emit('error', err);
117
+ };
118
+ const onConnect = () => {
119
+ this.log('connection opened %a', ma);
120
+ this.metrics?.dialerEvents.increment({ connect: true });
121
+ done();
122
+ };
123
+ const onAbort = () => {
124
+ this.log('connection aborted %a', ma);
125
+ this.metrics?.dialerEvents.increment({ abort: true });
126
+ rawSocket.destroy();
127
+ done(new AbortError());
128
+ };
129
+ const done = (err) => {
130
+ rawSocket.removeListener('error', onError);
131
+ rawSocket.removeListener('timeout', onTimeout);
132
+ rawSocket.removeListener('connect', onConnect);
133
+ if (options.signal != null) {
134
+ options.signal.removeEventListener('abort', onAbort);
135
+ }
136
+ if (err != null) {
137
+ reject(err);
138
+ return;
139
+ }
140
+ resolve(rawSocket);
141
+ };
142
+ rawSocket.on('error', onError);
143
+ rawSocket.on('timeout', onTimeout);
144
+ rawSocket.on('connect', onConnect);
145
+ if (options.signal != null) {
146
+ options.signal.addEventListener('abort', onAbort);
147
+ }
148
+ });
149
+ }
150
+ /**
151
+ * Creates a TCP listener. The provided `handler` function will be called
152
+ * anytime a new incoming Connection has been successfully upgraded via
153
+ * `upgrader.upgradeInbound`.
154
+ */
155
+ createListener(options) {
156
+ return new TCPListener({
157
+ ...(this.opts.listenOpts ?? {}),
158
+ ...options,
159
+ maxConnections: this.opts.maxConnections,
160
+ backlog: this.opts.backlog,
161
+ closeServerOnMaxConnections: this.opts.closeServerOnMaxConnections,
162
+ socketInactivityTimeout: this.opts.inboundSocketInactivityTimeout,
163
+ socketCloseTimeout: this.opts.socketCloseTimeout,
164
+ metrics: this.components.metrics,
165
+ logger: this.components.logger
166
+ });
167
+ }
168
+ /**
169
+ * Takes a list of `Multiaddr`s and returns only valid TCP addresses
170
+ */
171
+ listenFilter(multiaddrs) {
172
+ multiaddrs = Array.isArray(multiaddrs) ? multiaddrs : [multiaddrs];
173
+ return multiaddrs.filter(ma => {
174
+ if (ma.protoCodes().includes(CODE_CIRCUIT)) {
175
+ return false;
176
+ }
177
+ if (ma.protoCodes().includes(CODE_UNIX)) {
178
+ return true;
179
+ }
180
+ return mafmt.TCP.matches(ma.decapsulateCode(CODE_P2P));
181
+ });
182
+ }
183
+ /**
184
+ * Filter check for all Multiaddrs that this transport can dial
185
+ */
186
+ dialFilter(multiaddrs) {
187
+ return this.listenFilter(multiaddrs);
188
+ }
189
+ }
190
+ //# sourceMappingURL=tcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcp.js","sourceRoot":"","sources":["../../src/tcp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/tcp",
3
- "version": "9.1.5-e211b46cc",
3
+ "version": "9.1.6-df330695a",
4
4
  "description": "A TCP transport for libp2p",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/transport-tcp#readme",
@@ -52,12 +52,16 @@
52
52
  "doc-check": "aegir doc-check",
53
53
  "build": "aegir build",
54
54
  "test": "aegir test -t node -t electron-main",
55
+ "test:chrome": "aegir test -t browser -f ./dist/test/browser.js --cov",
56
+ "test:chrome-webworker": "aegir test -t webworker -f ./dist/test/browser.js",
57
+ "test:firefox": "aegir test -t browser -f ./dist/test/browser.js -- --browser firefox",
58
+ "test:firefox-webworker": "aegir test -t webworker -f ./dist/test/browser.js -- --browser firefox",
55
59
  "test:node": "aegir test -t node --cov",
56
60
  "test:electron-main": "aegir test -t electron-main"
57
61
  },
58
62
  "dependencies": {
59
- "@libp2p/interface": "1.7.0-e211b46cc",
60
- "@libp2p/utils": "5.4.9-e211b46cc",
63
+ "@libp2p/interface": "1.7.0-df330695a",
64
+ "@libp2p/utils": "5.4.9-df330695a",
61
65
  "@multiformats/mafmt": "^12.1.6",
62
66
  "@multiformats/multiaddr": "^12.2.3",
63
67
  "@types/sinon": "^17.0.3",
@@ -65,14 +69,18 @@
65
69
  "stream-to-it": "^1.0.1"
66
70
  },
67
71
  "devDependencies": {
68
- "@libp2p/interface-compliance-tests": "5.4.12-e211b46cc",
69
- "@libp2p/logger": "4.0.20-e211b46cc",
72
+ "@libp2p/interface-compliance-tests": "5.4.12-df330695a",
73
+ "@libp2p/logger": "4.0.20-df330695a",
70
74
  "aegir": "^44.0.1",
71
75
  "it-all": "^3.0.6",
72
76
  "it-pipe": "^3.0.1",
73
77
  "p-defer": "^4.0.1",
74
78
  "sinon": "^18.0.0",
75
- "uint8arrays": "^5.1.0"
79
+ "uint8arrays": "^5.1.0",
80
+ "wherearewe": "^2.0.1"
81
+ },
82
+ "browser": {
83
+ "./dist/src/tcp.js": "./dist/src/tcp.browser.js"
76
84
  },
77
85
  "sideEffects": false
78
86
  }