Skip to content
This repository was archived by the owner on Apr 24, 2023. It is now read-only.

Commit 44f4232

Browse files
authoredApr 13, 2021
chore: update deps (#329)
1 parent f644b08 commit 44f4232

19 files changed

+159
-119
lines changed
 

‎.github/workflows/main.yml

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: ci
2+
on:
3+
push:
4+
branches:
5+
- master
6+
pull_request:
7+
branches:
8+
- master
9+
10+
jobs:
11+
check:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v2
15+
- run: npm install
16+
- run: npx aegir lint
17+
- run: npx aegir dep-check -- -i wrtc -i electron-webrtc
18+
- run: npx aegir build --no-types
19+
test-node:
20+
needs: check
21+
runs-on: ${{ matrix.os }}
22+
strategy:
23+
matrix:
24+
os: [windows-latest, ubuntu-latest, macos-latest]
25+
node: [14, 15]
26+
fail-fast: true
27+
steps:
28+
- uses: actions/checkout@v2
29+
- uses: actions/setup-node@v1
30+
with:
31+
node-version: ${{ matrix.node }}
32+
- run: npm install @mapbox/node-pre-gyp -g
33+
- run: npm install
34+
- run: npx aegir test -t node --cov --bail
35+
- uses: codecov/codecov-action@v1
36+
test-chrome:
37+
needs: check
38+
runs-on: ubuntu-latest
39+
steps:
40+
- uses: actions/checkout@v2
41+
- run: npm install
42+
- run: npx aegir test -t browser --bail
43+
test-firefox:
44+
needs: check
45+
runs-on: ubuntu-latest
46+
steps:
47+
- uses: actions/checkout@v2
48+
- run: npm install
49+
- run: npx aegir test -t browser --bail -- --browser firefox

‎.travis.yml

-41
This file was deleted.

‎package.json

+10-11
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@
3232
"lint"
3333
],
3434
"engines": {
35-
"node": ">=10.0.0",
36-
"npm": ">=6.0.0"
35+
"node": ">=14.0.0"
3736
},
3837
"repository": {
3938
"type": "git",
@@ -49,13 +48,13 @@
4948
},
5049
"homepage": "https://github.com/libp2p/js-libp2p-webrtc-star#readme",
5150
"devDependencies": {
52-
"aegir": "^30.2.0",
53-
"chai": "^4.2.0",
51+
"aegir": "^30.3.0",
52+
"chai": "^4.3.4",
5453
"dirty-chai": "^2.0.1",
5554
"electron-webrtc": "~0.3.0",
56-
"libp2p-interfaces": "^0.8.1",
55+
"libp2p-interfaces": "^0.9.0",
5756
"p-wait-for": "^3.1.0",
58-
"sinon": "^9.2.0",
57+
"sinon": "^10.0.1",
5958
"socket.io-client": "^2.3.0",
6059
"uint8arrays": "^2.0.5",
6160
"wrtc": "^0.4.6"
@@ -69,18 +68,18 @@
6968
"err-code": "^3.0.1",
7069
"ipfs-utils": "^6.0.0",
7170
"it-pipe": "^1.1.0",
72-
"libp2p-utils": "^0.2.1",
71+
"libp2p-utils": "^0.3.0",
7372
"libp2p-webrtc-peer": "^10.0.1",
74-
"mafmt": "^8.0.0",
73+
"mafmt": "^9.0.0",
7574
"menoetius": "0.0.2",
7675
"minimist": "^1.2.5",
77-
"multiaddr": "^8.0.0",
76+
"multiaddr": "^9.0.1",
7877
"p-defer": "^3.0.0",
7978
"peer-id": "^0.14.2",
8079
"prom-client": "^13.0.0",
8180
"socket.io": "^2.3.0",
82-
"socket.io-next": "npm:socket.io@^3.0.4",
83-
"socket.io-client-next": "npm:socket.io-client@^3.0.4",
81+
"socket.io-next": "npm:socket.io@^3.1.2",
82+
"socket.io-client-next": "npm:socket.io-client@^3.1.2",
8483
"stream-to-it": "^0.2.2",
8584
"streaming-iterables": "^5.0.3"
8685
},

‎src/index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const { AbortError } = require('abortable-iterator')
1212
const SimplePeer = require('libp2p-webrtc-peer')
1313
const { supportsWebRTCDataChannels: webrtcSupport } = require('ipfs-utils/src/supports')
1414

15-
const multiaddr = require('multiaddr')
15+
const { Multiaddr } = require('multiaddr')
1616
const mafmt = require('mafmt')
1717
const PeerId = require('peer-id')
1818

@@ -232,7 +232,7 @@ class WebRTCStar {
232232
log('Peer Discovered:', maStr)
233233
maStr = cleanMultiaddr(maStr)
234234

235-
const ma = multiaddr(maStr)
235+
const ma = new Multiaddr(maStr)
236236
const peerId = PeerId.createFromB58String(ma.getPeerId())
237237

238238
this.discovery.emit('peer', {

‎src/listener.js

+10-4
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ const debug = require('debug')
55
const log = debug('libp2p:webrtc-star:listener')
66
log.error = debug('libp2p:webrtc-star:listener:error')
77

8-
const multiaddr = require('multiaddr')
9-
8+
const { Multiaddr } = require('multiaddr')
109
const io = require('socket.io-client-next')
1110
const SimplePeer = require('libp2p-webrtc-peer')
1211
const pDefer = require('p-defer')
@@ -149,16 +148,23 @@ module.exports = ({ handler, upgrader }, WebRTCStar, options = {}) => {
149148
}
150149

151150
listener.close = async () => {
152-
listener.io && listener.io.emit('ss-leave')
151+
if (listener.io) {
152+
listener.io.emit('ss-leave')
153+
listener.io.close()
154+
}
155+
153156
await Promise.all(listener.__connections.map(maConn => maConn.close()))
154157
listener.emit('close')
158+
159+
listener.removeAllListeners()
155160
}
156161

157162
listener.getAddrs = () => {
158163
return [listeningAddr]
159164
}
160165

161-
WebRTCStar.listenersRefs[multiaddr.toString()] = listener
166+
WebRTCStar.listenersRefs[Multiaddr.toString()] = listener
167+
162168
return listener
163169
}
164170

‎src/sig-server/index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ module.exports = {
2727
log('signaling server has started on: ' + http.info.uri)
2828

2929
const peers = require('./routes-ws')(http, options.metrics).peers
30-
const next = require('./routes-ws/next')(http, options.metrics).peers
30+
const nextPeers = require('./routes-ws/next')(http, options.metrics).peers
3131

3232
http.peers = () => ({
3333
...peers(),
34-
...next()
34+
...nextPeers()
3535
})
3636

3737
http.route({

‎src/sig-server/routes-ws/index.js

+6
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ module.exports = (http, hasMetrics) => {
1818
const io = new SocketIO(http.listener)
1919
io.on('connection', handle)
2020

21+
http.events.on('stop', () => io.close())
22+
2123
const peers = {}
2224

2325
const peersMetric = hasMetrics ? new client.Gauge({ name: 'webrtc_star_peers', help: 'peers online now' }) : fake.gauge
@@ -30,6 +32,10 @@ module.exports = (http, hasMetrics) => {
3032

3133
const refreshMetrics = () => peersMetric.set(Object.keys(peers).length)
3234

35+
this.io = () => {
36+
return io
37+
}
38+
3339
this.peers = () => {
3440
return peers
3541
}

‎src/sig-server/routes-ws/next.js

+6
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ module.exports = (http, hasMetrics) => {
1919
path: '/socket.io-next/' // This should be removed when socket.io@2 support is removed
2020
})
2121

22+
http.events.on('stop', () => io.close())
23+
2224
io.on('connection', handle)
2325

2426
const peers = {}
@@ -33,6 +35,10 @@ module.exports = (http, hasMetrics) => {
3335

3436
const refreshMetrics = () => peersMetric.set(Object.keys(peers).length)
3537

38+
this.io = () => {
39+
return io
40+
}
41+
3642
this.peers = () => {
3743
return peers
3844
}

‎src/utils.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict'
22

3-
const multiaddr = require('multiaddr')
3+
const { Multiaddr } = require('multiaddr')
44

55
function cleanUrlSIO (ma) {
66
const maStrSplit = ma.toString().split('/')
@@ -12,16 +12,16 @@ function cleanUrlSIO (ma) {
1212
throw new Error('invalid multiaddr: ' + ma.toString())
1313
}
1414

15-
if (!multiaddr.isName(ma)) {
15+
if (!Multiaddr.isName(ma)) {
1616
return 'http://' + maStrSplit[2] + ':' + maStrSplit[4]
1717
}
1818

1919
if (wsProto === 'ws') {
20-
return 'http://' + maStrSplit[2] + (tcpPort === 80 ? '' : ':' + tcpPort)
20+
return 'http://' + maStrSplit[2] + (tcpPort === '80' ? '' : ':' + tcpPort)
2121
}
2222

2323
if (wsProto === 'wss') {
24-
return 'https://' + maStrSplit[2] + (tcpPort === 443 ? '' : ':' + tcpPort)
24+
return 'https://' + maStrSplit[2] + (tcpPort === '443' ? '' : ':' + tcpPort)
2525
}
2626
}
2727

@@ -30,7 +30,7 @@ function cleanMultiaddr (maStr) {
3030

3131
if (maStr.indexOf(legacy) !== -1) {
3232
maStr = maStr.substring(legacy.length, maStr.length)
33-
let ma = multiaddr(maStr)
33+
let ma = new Multiaddr(maStr)
3434
const tuppleIPFS = ma.stringTuples().filter((tupple) => {
3535
return tupple[0] === 421 // ipfs code
3636
})[0]

‎test/compliance.spec.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const wrtc = require('wrtc')
66
const sinon = require('sinon')
77
const testsTransport = require('libp2p-interfaces/src/transport/tests')
88
const testsDiscovery = require('libp2p-interfaces/src/peer-discovery/tests')
9-
const multiaddr = require('multiaddr')
9+
const { Multiaddr } = require('multiaddr')
1010

1111
const WStar = require('../src')
1212

@@ -21,9 +21,9 @@ describe('interface-transport compliance', function () {
2121
}
2222

2323
const addrs = [
24-
multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2a')),
25-
multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2b')),
26-
multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2c'))
24+
new Multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2a')),
25+
new Multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2b')),
26+
new Multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2c'))
2727
]
2828

2929
// Used by the dial tests to simulate a delayed connect

‎test/sig-server-next.js

+8-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
const { expect } = require('aegir/utils/chai')
55
const io = require('socket.io-client-next')
6-
const multiaddr = require('multiaddr')
6+
const { Multiaddr } = require('multiaddr')
77

88
const sigServer = require('../src/sig-server')
99

@@ -25,10 +25,10 @@ describe('signalling', () => {
2525
return `/ip4/127.0.0.1/tcp/9090/ws/p2p-webrtc-star/ipfs/${id}`
2626
}
2727

28-
const c1mh = multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo1'))
29-
const c2mh = multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo2'))
30-
const c3mh = multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo3'))
31-
const c4mh = multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4'))
28+
const c1mh = new Multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo1'))
29+
const c2mh = new Multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo2'))
30+
const c3mh = new Multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo3'))
31+
const c4mh = new Multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4'))
3232

3333
it('start and stop signalling server (default port)', async () => {
3434
const server = await sigServer.start()
@@ -56,6 +56,9 @@ describe('signalling', () => {
5656

5757
await server.stop()
5858
})
59+
cl.on('disconnect', () => {
60+
cl.close()
61+
})
5962
})
6063

6164
it('start and stop signalling server (custom port)', async () => {

‎test/sig-server.js

+8-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
const { expect } = require('aegir/utils/chai')
55
const io = require('socket.io-client')
6-
const multiaddr = require('multiaddr')
6+
const { Multiaddr } = require('multiaddr')
77

88
const sigServer = require('../src/sig-server')
99

@@ -24,10 +24,10 @@ describe('signalling', () => {
2424
return `/ip4/127.0.0.1/tcp/9090/ws/p2p-webrtc-star/ipfs/${id}`
2525
}
2626

27-
const c1mh = multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo1'))
28-
const c2mh = multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo2'))
29-
const c3mh = multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo3'))
30-
const c4mh = multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4'))
27+
const c1mh = new Multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo1'))
28+
const c2mh = new Multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo2'))
29+
const c3mh = new Multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo3'))
30+
const c4mh = new Multiaddr(base('QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4'))
3131

3232
it('start and stop signalling server (default port)', async () => {
3333
const server = await sigServer.start()
@@ -55,6 +55,9 @@ describe('signalling', () => {
5555

5656
await server.stop()
5757
})
58+
cl.on('disconnect', () => {
59+
cl.close()
60+
})
5861
})
5962

6063
it('start and stop signalling server (custom port)', async () => {

0 commit comments

Comments
 (0)