Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.

Commit 255f6d1

Browse files
refactor: replace async with light weight modules
1 parent 1adef97 commit 255f6d1

File tree

9 files changed

+35
-29
lines changed

9 files changed

+35
-29
lines changed

gulpfile.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
'use strict'
22

33
const gulp = require('gulp')
4-
const async = require('async')
4+
const parallel = require('run-parallel')
5+
const series = require('run-series')
56
const createTempNode = require('./test/utils/temp-node')
67
const API = require('./src/http-api')
78

@@ -18,17 +19,17 @@ function startNode (num, done) {
1819
}
1920

2021
gulp.task('libnode:start', (done) => {
21-
async.parallel([
22+
parallel([
2223
(cb) => startNode(7, cb),
2324
(cb) => startNode(8, cb),
2425
(cb) => startNode(9, cb)
2526
], done)
2627
})
2728

2829
gulp.task('libnode:stop', (done) => {
29-
async.eachSeries(nodes, (node, cb) => {
30+
series(nodes.map((node) => (cb) => {
3031
setTimeout(() => node.stop(cb), 500)
31-
}, done)
32+
}), done)
3233
})
3334

3435
gulp.task('test:browser:before', ['libnode:start'])

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
"homepage": "https://github.com/ipfs/js-ipfs#readme",
3939
"devDependencies": {
4040
"aegir": "^3.0.1",
41-
"async": "^2.0.0-rc.4",
4241
"buffer-loader": "0.0.1",
4342
"chai": "^3.5.0",
4443
"expose-loader": "^0.7.1",
@@ -84,6 +83,10 @@
8483
"peer-info": "^0.6.2",
8584
"readable-stream": "1.1.13",
8685
"ronin": "^0.3.11",
86+
"run-parallel": "^1.1.6",
87+
"run-parallel-limit": "^1.0.3",
88+
"run-series": "^1.1.4",
89+
"run-waterfall": "^1.1.3",
8790
"temp": "^0.8.3"
8891
},
8992
"aegir": {

src/cli/commands/config/edit.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const Command = require('ronin').Command
44
const spawn = require('child_process').spawn
55
const fs = require('fs')
66
const temp = require('temp')
7-
const async = require('async')
7+
const waterfall = require('run-waterfall')
88
const debug = require('debug')
99
const log = debug('cli:config')
1010
log.error = debug('cli:config:error')
@@ -99,7 +99,7 @@ module.exports = Command.extend({
9999
})
100100
}
101101

102-
async.waterfall([
102+
waterfall([
103103
getConfig,
104104
saveTempConfig,
105105
openEditor,

src/cli/commands/files/add.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const log = debug('cli:version')
77
log.error = debug('cli:version:error')
88
const bs58 = require('bs58')
99
const fs = require('fs')
10-
const async = require('async')
10+
const parallelLimit = require('run-parallel-limit')
1111
const path = require('path')
1212
const glob = require('glob')
1313

@@ -69,15 +69,15 @@ module.exports = Command.extend({
6969
})
7070
if (res.length !== 0) {
7171
const index = inPath.lastIndexOf('/')
72-
async.eachLimit(res, 10, (element, callback) => {
72+
parallelLimit(res.map((element) => (callback) => {
7373
if (!fs.statSync(element).isDirectory()) {
7474
i.write({
7575
path: element.substring(index + 1, element.length),
7676
stream: fs.createReadStream(element)
7777
})
7878
}
7979
callback()
80-
}, (err) => {
80+
}), 10, (err) => {
8181
if (err) {
8282
throw err
8383
}

src/core/ipfs/go-online.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
'use strict'
22

3-
const async = require('async')
3+
const series = require('run-series')
44
const Bitswap = require('ipfs-bitswap')
55

66
module.exports = function goOnline (self) {
77
return (cb) => {
8-
async.series([
8+
series([
99
self.load,
1010
self.libp2p.start
1111
], (err) => {

src/core/ipfs/init.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const BlockService = require('ipfs-block-service')
55
const DagService = require('ipfs-merkle-dag').DAGService
66
const path = require('path')
77
const glob = require('glob')
8-
const async = require('async')
8+
const parallelLimit = require('run-parallel-limit')
99
const Readable = require('stream').Readable
1010
const fs = require('fs')
1111
const Importer = require('ipfs-unixfs-engine').importer
@@ -85,7 +85,7 @@ module.exports = function init (self) {
8585
throw err
8686
}
8787
const index = __dirname.lastIndexOf('/')
88-
async.eachLimit(res, 10, (element, callback) => {
88+
parallelLimit(res.map((element) => (callback) => {
8989
const addPath = element.substring(index + 1, element.length)
9090
if (!fs.statSync(element).isDirectory()) {
9191
const rs = new Readable()
@@ -95,7 +95,7 @@ module.exports = function init (self) {
9595
i.write(filePair)
9696
}
9797
callback()
98-
}, (err) => {
98+
}), 10, (err) => {
9999
if (err) {
100100
throw err
101101
}

src/http-api/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict'
22

3-
const async = require('async')
3+
const parallel = require('run-parallel')
44
const Hapi = require('hapi')
55
const debug = require('debug')
66
const fs = require('fs')
@@ -95,7 +95,7 @@ exports = module.exports = function HttpApi (repo) {
9595

9696
console.log('Stopping server')
9797

98-
async.parallel([
98+
parallel([
9999
(cb) => this.server.stop(cb),
100100
(cb) => this.ipfs.goOffline(cb)
101101
], (err) => {

test/core-tests/browser.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* eslint-env mocha */
22
'use strict'
33

4-
const async = require('async')
4+
const series = require('run-series')
55
const store = require('idb-plus-blob-store')
66
const _ = require('lodash')
77

@@ -29,7 +29,7 @@ describe('IPFS Repo Tests on the Browser', function () {
2929
const mainBlob = store('ipfs')
3030
const blocksBlob = store('ipfs/blocks')
3131

32-
async.eachSeries(repoData, (file, cb) => {
32+
series(repoData.map((file) => (cb) => {
3333
if (_.startsWith(file.key, 'datastore/')) {
3434
return cb()
3535
}
@@ -41,7 +41,7 @@ describe('IPFS Repo Tests on the Browser', function () {
4141
blob.createWriteStream({
4242
key: key
4343
}).end(file.value, cb)
44-
}, done)
44+
}), done)
4545
})
4646

4747
it('--', () => {

test/core-tests/test-bitswap.js

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33

44
const expect = require('chai').expect
55
const _ = require('lodash')
6-
const async = require('async')
6+
const series = require('run-series')
7+
const waterfall = require('run-waterfall')
8+
const parallel = require('run-parallel')
79
const Block = require('ipfs-block')
810
const bs58 = require('bs58')
911
const bl = require('bl')
@@ -16,7 +18,7 @@ function makeBlock () {
1618
return new Block(`IPFS is awesome ${Math.random()}`)
1719
}
1820

19-
describe('bitswap', () => {
21+
describe.only('bitswap', () => {
2022
let ipfs
2123

2224
beforeEach((done) => {
@@ -43,7 +45,7 @@ describe('bitswap', () => {
4345
}
4446

4547
function connectNodes (node1, node2, done) {
46-
async.series([
48+
series([
4749
(cb) => connectNodesSingle(node1, node2, cb),
4850
(cb) => setTimeout(() => {
4951
// need timeout so we wait for identify to happen
@@ -74,7 +76,7 @@ describe('bitswap', () => {
7476
it('2 peers', (done) => {
7577
const block = makeBlock()
7678
let node
77-
async.series([
79+
series([
7880
// 0. Start node
7981
(cb) => addNode(9, (err, _ipfs) => {
8082
node = _ipfs
@@ -97,7 +99,7 @@ describe('bitswap', () => {
9799
const blocks = _.range(6).map((i) => makeBlock())
98100
const keys = blocks.map((b) => b.key)
99101
const nodes = []
100-
async.series([
102+
series([
101103
(cb) => addNode(8, (err, _ipfs) => {
102104
nodes.push(_ipfs)
103105
cb(err)
@@ -114,7 +116,7 @@ describe('bitswap', () => {
114116
(cb) => ipfs.block.put(blocks[4], cb),
115117
(cb) => ipfs.block.put(blocks[5], cb),
116118
// 3. Fetch blocks on all nodes
117-
(cb) => async.each(_.range(6), (i, cbI) => {
119+
(cb) => parallel(_.range(6).map((i) => (cbI) => {
118120
const toMh = (k) => bs58.encode(k).toString()
119121
const check = (n, k, callback) => {
120122
n.block.get(k, (err, b) => {
@@ -128,12 +130,12 @@ describe('bitswap', () => {
128130
})
129131
}
130132

131-
async.series([
133+
series([
132134
(cbJ) => check(nodes[0], toMh(keys[i]), cbJ),
133135
(cbJ) => check(nodes[1], toMh(keys[i]), cbJ),
134136
(cbJ) => check(ipfs, keys[i], cbJ)
135137
], cbI)
136-
}, cb)
138+
}), cb)
137139
], done)
138140
})
139141
})
@@ -148,7 +150,7 @@ describe('bitswap', () => {
148150
const file = new Buffer('I love IPFS <3')
149151

150152
let node
151-
async.waterfall([
153+
waterfall([
152154
// 0. Start node
153155
(cb) => addNode(9, (err, _ipfs) => {
154156
node = _ipfs

0 commit comments

Comments
 (0)