Skip to content

Commit 0aa9d77

Browse files
hugomrdiasjacobheun
authored andcommitted
fix: reduce bundle size (#186)
* fix: reduce bundle size * chore: update deps and fix tests * chore: change safe-buffer to buffer * fix: fix config get callbacks
1 parent ca31174 commit 0aa9d77

File tree

6 files changed

+45
-50
lines changed

6 files changed

+45
-50
lines changed

.npmignore

Lines changed: 0 additions & 30 deletions
This file was deleted.

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
"npm": ">=3.0.0"
4343
},
4444
"devDependencies": {
45-
"aegir": "^18.1.0",
45+
"aegir": "^18.2.1",
4646
"chai": "^4.2.0",
4747
"dirty-chai": "^2.0.1",
4848
"lodash": "^4.17.11",
@@ -55,18 +55,18 @@
5555
"dependencies": {
5656
"async": "^2.6.2",
5757
"base32.js": "~0.1.0",
58-
"bignumber.js": "^8.0.2",
59-
"cids": "~0.5.7",
58+
"bignumber.js": "^8.1.1",
59+
"buffer": "^5.2.1",
60+
"cids": "~0.5.8",
6061
"datastore-core": "~0.6.0",
6162
"datastore-fs": "~0.8.0",
6263
"datastore-level": "~0.10.0",
63-
"debug": "^4.1.1",
64+
"debug": "^4.1.0",
65+
"dlv": "^1.1.2",
6466
"interface-datastore": "~0.6.0",
6567
"ipfs-block": "~0.8.0",
66-
"lodash.get": "^4.4.2",
67-
"lodash.has": "^4.5.2",
68-
"lodash.set": "^4.3.2",
69-
"multiaddr": "^6.0.4",
68+
"just-safe-set": "^2.1.0",
69+
"multiaddr": "^6.0.6",
7070
"proper-lockfile": "^4.0.0",
7171
"pull-stream": "^3.6.9",
7272
"sort-keys": "^2.0.0"

src/blockstore.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ const Block = require('ipfs-block')
88
const setImmediate = require('async/setImmediate')
99
const reject = require('async/reject')
1010
const CID = require('cids')
11-
const pull = require('pull-stream')
11+
const pull = require('pull-stream/pull')
12+
const collect = require('pull-stream/sinks/collect')
1213

1314
/**
1415
* Transform a raw buffer to a base32 encoded key.
@@ -60,7 +61,7 @@ function createBaseStore (store) {
6061
query (query, callback) {
6162
pull(
6263
store.query(query),
63-
pull.collect(callback)
64+
collect(callback)
6465
)
6566
},
6667
/**

src/config.js

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
const Key = require('interface-datastore').Key
44
const queue = require('async/queue')
55
const waterfall = require('async/waterfall')
6-
const _get = require('lodash.get')
7-
const _set = require('lodash.set')
8-
const _has = require('lodash.has')
6+
const _get = require('dlv')
7+
const _set = require('just-safe-set')
8+
const Buffer = require('buffer').Buffer
99

1010
const configKey = new Key('config')
1111

@@ -37,10 +37,21 @@ module.exports = (store) => {
3737
} catch (err) {
3838
return callback(err)
3939
}
40-
if (key !== undefined && !_has(config, key)) {
41-
return callback(new Error('Key ' + key + ' does not exist in config'))
40+
41+
if (typeof key === 'undefined') {
42+
return callback(null, config)
43+
}
44+
45+
if (typeof key !== 'string') {
46+
return callback(new Error('Key ' + key + ' must be a string.'))
4247
}
43-
const value = key !== undefined ? _get(config, key) : config
48+
49+
const value = _get(config, key, null)
50+
51+
if (value === null) {
52+
return callback(new Error('Key ' + key + ' does not exist in config.'))
53+
}
54+
4455
callback(null, value)
4556
})
4657
},
@@ -91,7 +102,10 @@ module.exports = (store) => {
91102
waterfall(
92103
[
93104
(cb) => configStore.get(cb),
94-
(config, cb) => cb(null, _set(config, key, value)),
105+
(config, cb) => {
106+
_set(config, key, value)
107+
cb(null, config)
108+
},
95109
_saveAll
96110
],
97111
callback)

src/index.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ const waterfall = require('async/waterfall')
44
const series = require('async/series')
55
const parallel = require('async/parallel')
66
const each = require('async/each')
7-
const _get = require('lodash.get')
7+
const _get = require('dlv')
88
const assert = require('assert')
99
const path = require('path')
1010
const debug = require('debug')
1111
const Big = require('bignumber.js')
12-
const pull = require('pull-stream')
12+
const pull = require('pull-stream/pull')
13+
const reduce = require('pull-stream/sinks/reduce')
1314

1415
const backends = require('./backends')
1516
const version = require('./version')
@@ -328,7 +329,7 @@ class IpfsRepo {
328329
function getSize (queryFn, callback) {
329330
pull(
330331
queryFn.query({}),
331-
pull.reduce((sum, block) => {
332+
reduce((sum, block) => {
332333
return sum
333334
.plus(block.value.byteLength)
334335
.plus(block.key._buf.byteLength)

test/repo-test.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,15 @@ module.exports = (repo) => {
4949
})
5050
})
5151

52+
it('get config key should fail with non string key', (done) => {
53+
repo.config.get(1111, (err, value) => {
54+
expect(err).to.exist()
55+
console.log(value)
56+
57+
done()
58+
})
59+
})
60+
5261
it('set config key', (done) => {
5362
series([
5463
(cb) => repo.config.set('c.x', 'd', cb),

0 commit comments

Comments
 (0)