'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)