mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-06-19 12:11:22 +00:00
55
gulpfile.js
Normal file
55
gulpfile.js
Normal file
@ -0,0 +1,55 @@
|
||||
'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)
|
Reference in New Issue
Block a user