mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-03-16 07:30:51 +00:00
56 lines
1.3 KiB
JavaScript
56 lines
1.3 KiB
JavaScript
'use strict'
|
|
|
|
const gulp = require('gulp')
|
|
const Node = require('./test/nodejs-bundle/nodejs-bundle.js')
|
|
const PeerInfo = require('peer-info')
|
|
const PeerId = require('peer-id')
|
|
const pull = require('pull-stream')
|
|
|
|
const sigServer = require('libp2p-webrtc-star/src/sig-server')
|
|
let server
|
|
|
|
let node
|
|
const rawPeer = require('./test/browser-bundle/peer.json')
|
|
|
|
gulp.task('libnode:start', (done) => {
|
|
let count = 0
|
|
const ready = () => ++count === 2 ? done() : null
|
|
|
|
sigServer.start({ port: 15555 }, (err, _server) => {
|
|
if (err) {
|
|
throw err
|
|
}
|
|
server = _server
|
|
ready()
|
|
})
|
|
|
|
PeerId.createFromJSON(rawPeer, (err, peerId) => {
|
|
if (err) {
|
|
return done(err)
|
|
}
|
|
const peer = new PeerInfo(peerId)
|
|
|
|
peer.multiaddrs.add('/ip4/127.0.0.1/tcp/9200/ws')
|
|
|
|
node = new Node(peer)
|
|
node.handle('/echo/1.0.0', (protocol, conn) => pull(conn, conn))
|
|
node.start(() => ready())
|
|
})
|
|
})
|
|
|
|
gulp.task('libnode:stop', (done) => {
|
|
setTimeout(() => node.stop((err) => {
|
|
if (err) {
|
|
return done(err)
|
|
}
|
|
server.stop(done)
|
|
}), 2000)
|
|
})
|
|
|
|
gulp.task('test:browser:before', ['libnode:start'])
|
|
gulp.task('test:node:before', ['libnode:start'])
|
|
gulp.task('test:browser:after', ['libnode:stop'])
|
|
gulp.task('test:node:after', ['libnode:stop'])
|
|
|
|
require('aegir/gulp')(gulp)
|