mirror of
https://github.com/fluencelabs/js-libp2p-websockets
synced 2025-04-25 12:12:35 +00:00
feat: new aegir
This commit is contained in:
parent
f120f84e51
commit
3d3cdf1c1e
22
.aegir.js
Normal file
22
.aegir.js
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
const multiaddr = require('multiaddr')
|
||||||
|
const pull = require('pull-stream')
|
||||||
|
|
||||||
|
const WS = require('./src')
|
||||||
|
|
||||||
|
let listener
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
hooks: {
|
||||||
|
browser: {
|
||||||
|
pre (callback) {
|
||||||
|
const ws = new WS()
|
||||||
|
const ma = multiaddr('/ip4/127.0.0.1/tcp/9090/ws')
|
||||||
|
listener = ws.createListener((conn) => pull(conn, conn))
|
||||||
|
listener.listen(ma, callback)
|
||||||
|
},
|
||||||
|
post (callback) {
|
||||||
|
listener.close(callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,3 +1,6 @@
|
|||||||
|
package-lock.json
|
||||||
|
yarn.lock
|
||||||
|
|
||||||
# Logs
|
# Logs
|
||||||
logs
|
logs
|
||||||
*.log
|
*.log
|
||||||
@ -36,3 +39,4 @@ node_modules
|
|||||||
*.swp
|
*.swp
|
||||||
|
|
||||||
dist
|
dist
|
||||||
|
|
||||||
|
@ -3,8 +3,6 @@ language: node_js
|
|||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- node_js: 4
|
|
||||||
env: CXX=g++-4.8
|
|
||||||
- node_js: 6
|
- node_js: 6
|
||||||
env:
|
env:
|
||||||
- SAUCE=true
|
- SAUCE=true
|
||||||
|
@ -5,8 +5,10 @@ machine:
|
|||||||
dependencies:
|
dependencies:
|
||||||
pre:
|
pre:
|
||||||
- google-chrome --version
|
- google-chrome --version
|
||||||
- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
|
- curl -L -o google-chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
|
||||||
- sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
|
- sudo dpkg -i google-chrome.deb || true
|
||||||
- sudo apt-get update
|
- sudo apt-get update
|
||||||
- sudo apt-get --only-upgrade install google-chrome-stable
|
- sudo apt-get install -f
|
||||||
|
- sudo apt-get install --only-upgrade lsb-base
|
||||||
|
- sudo dpkg -i google-chrome.deb
|
||||||
- google-chrome --version
|
- google-chrome --version
|
||||||
|
24
gulpfile.js
24
gulpfile.js
@ -1,24 +0,0 @@
|
|||||||
'use strict'
|
|
||||||
|
|
||||||
const gulp = require('gulp')
|
|
||||||
const multiaddr = require('multiaddr')
|
|
||||||
const pull = require('pull-stream')
|
|
||||||
|
|
||||||
const WS = require('./src')
|
|
||||||
|
|
||||||
let listener
|
|
||||||
|
|
||||||
gulp.task('test:browser:before', (done) => {
|
|
||||||
const ws = new WS()
|
|
||||||
const ma = multiaddr('/ip4/127.0.0.1/tcp/9090/ws')
|
|
||||||
listener = ws.createListener((conn) => {
|
|
||||||
pull(conn, conn)
|
|
||||||
})
|
|
||||||
listener.listen(ma, done)
|
|
||||||
})
|
|
||||||
|
|
||||||
gulp.task('test:browser:after', (done) => {
|
|
||||||
listener.close(done)
|
|
||||||
})
|
|
||||||
|
|
||||||
require('aegir/gulp')(gulp)
|
|
25
package.json
25
package.json
@ -4,16 +4,16 @@
|
|||||||
"description": "JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport spec",
|
"description": "JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport spec",
|
||||||
"main": "src/index.js",
|
"main": "src/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"lint": "aegir-lint",
|
"lint": "aegir lint",
|
||||||
"test": "gulp test",
|
"test": "aegir test",
|
||||||
"test:node": "gulp test:node",
|
"test:node": "aegir test --target=node",
|
||||||
"test:browser": "gulp test:browser",
|
"test:browser": "aegir test --target=browser",
|
||||||
"build": "gulp build",
|
"build": "aegir build",
|
||||||
"release": "gulp release",
|
"release": "aegir release",
|
||||||
"release-minor": "gulp release --type minor",
|
"release-minor": "aegir release --type minor",
|
||||||
"release-major": "gulp release --type major",
|
"release-major": "aegir release --type major",
|
||||||
"coverage": "gulp coverage",
|
"coverage": "aegir coverage",
|
||||||
"coverage-publish": "aegir-coverage publish"
|
"coverage-publish": "aegir coverage --upload"
|
||||||
},
|
},
|
||||||
"browser": {
|
"browser": {
|
||||||
"pull-ws/server": false
|
"pull-ws/server": false
|
||||||
@ -42,7 +42,7 @@
|
|||||||
"pull-ws": "^3.2.9"
|
"pull-ws": "^3.2.9"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"aegir": "^11.0.2",
|
"aegir": "github:ipfs/aegir",
|
||||||
"chai": "^4.1.1",
|
"chai": "^4.1.1",
|
||||||
"dirty-chai": "^2.0.1",
|
"dirty-chai": "^2.0.1",
|
||||||
"gulp": "^3.9.1",
|
"gulp": "^3.9.1",
|
||||||
@ -50,7 +50,8 @@
|
|||||||
"multiaddr": "^3.0.1",
|
"multiaddr": "^3.0.1",
|
||||||
"pre-commit": "^1.2.2",
|
"pre-commit": "^1.2.2",
|
||||||
"pull-goodbye": "0.0.2",
|
"pull-goodbye": "0.0.2",
|
||||||
"pull-stream": "^3.6.0"
|
"pull-stream": "^3.6.0",
|
||||||
|
"safe-buffer": "^5.1.1"
|
||||||
},
|
},
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"Chris Campbell <christopher.d.campbell@gmail.com>",
|
"Chris Campbell <christopher.d.campbell@gmail.com>",
|
||||||
|
@ -24,12 +24,14 @@ class WebSockets {
|
|||||||
log('dialing %s', url)
|
log('dialing %s', url)
|
||||||
const socket = connect(url, {
|
const socket = connect(url, {
|
||||||
binary: true,
|
binary: true,
|
||||||
onConnect: (err) => callback(err)
|
onConnect: (err) => {
|
||||||
|
callback(err)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const conn = new Connection(socket)
|
const conn = new Connection(socket)
|
||||||
conn.getObservedAddrs = (callback) => callback(null, [ma])
|
conn.getObservedAddrs = (cb) => cb(null, [ma])
|
||||||
conn.close = (callback) => socket.close(callback)
|
conn.close = (cb) => socket.close(cb)
|
||||||
|
|
||||||
return conn
|
return conn
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,10 @@ describe('libp2p-websockets', () => {
|
|||||||
beforeEach((done) => {
|
beforeEach((done) => {
|
||||||
ws = new WS()
|
ws = new WS()
|
||||||
expect(ws).to.exist()
|
expect(ws).to.exist()
|
||||||
conn = ws.dial(ma, done)
|
conn = ws.dial(ma, (err, res) => {
|
||||||
|
expect(err).to.not.exist()
|
||||||
|
done()
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
it('echo', (done) => {
|
it('echo', (done) => {
|
||||||
@ -30,7 +33,7 @@ describe('libp2p-websockets', () => {
|
|||||||
source: pull.values([message]),
|
source: pull.values([message]),
|
||||||
sink: pull.collect((err, results) => {
|
sink: pull.collect((err, results) => {
|
||||||
expect(err).to.not.exist()
|
expect(err).to.not.exist()
|
||||||
expect(results).to.be.eql([message])
|
expect(results).to.eql([message])
|
||||||
done()
|
done()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -40,13 +43,13 @@ describe('libp2p-websockets', () => {
|
|||||||
|
|
||||||
describe('stress', () => {
|
describe('stress', () => {
|
||||||
it('one big write', (done) => {
|
it('one big write', (done) => {
|
||||||
const rawMessage = new Buffer(1000000).fill('a')
|
const rawMessage = Buffer.allocUnsafe(1000000).fill('a')
|
||||||
|
|
||||||
const s = goodbye({
|
const s = goodbye({
|
||||||
source: pull.values([rawMessage]),
|
source: pull.values([rawMessage]),
|
||||||
sink: pull.collect((err, results) => {
|
sink: pull.collect((err, results) => {
|
||||||
expect(err).to.not.exist()
|
expect(err).to.not.exist()
|
||||||
expect(results).to.be.eql([rawMessage])
|
expect(results).to.eql([rawMessage])
|
||||||
done()
|
done()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -58,7 +61,7 @@ describe('libp2p-websockets', () => {
|
|||||||
source: pull(
|
source: pull(
|
||||||
pull.infinite(),
|
pull.infinite(),
|
||||||
pull.take(1000),
|
pull.take(1000),
|
||||||
pull.map((val) => Buffer(val.toString()))
|
pull.map((val) => Buffer.from(val.toString()))
|
||||||
),
|
),
|
||||||
sink: pull.collect((err, result) => {
|
sink: pull.collect((err, result) => {
|
||||||
expect(err).to.not.exist()
|
expect(err).to.not.exist()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user