From 086fee1b43502b9adccc9b66a6164196d0fccc13 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Wed, 25 Mar 2020 17:18:42 +0000 Subject: [PATCH 1/2] fix: remove node globals --- package.json | 7 +++++- src/key.js | 3 ++- src/tests.js | 9 ++++---- src/utils.browser.js | 53 ++++++++++++++++++++++++++++++++++++++++++++ src/utils.js | 2 +- 5 files changed, 67 insertions(+), 7 deletions(-) create mode 100644 src/utils.browser.js diff --git a/package.json b/package.json index a40bb6e..6dd4f8f 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,9 @@ "coverage-publish": "aegir coverage --provider codecov", "docs": "aegir docs" }, + "browser": { + "./src/utils.js": "./src/utils.browser.js" + }, "repository": { "type": "git", "url": "git+https://github.com/ipfs/interface-datastore.git" @@ -38,9 +41,11 @@ "dirty-chai": "^2.0.1" }, "dependencies": { + "buffer": "^5.5.0", "class-is": "^1.1.0", "err-code": "^2.0.0", - "uuid": "^3.2.2" + "iso-random-stream": "^1.1.1", + "nanoid": "^2.1.11" }, "engines": { "node": ">=8.0.0", diff --git a/src/key.js b/src/key.js index c82a84b..9c08eb4 100644 --- a/src/key.js +++ b/src/key.js @@ -1,6 +1,7 @@ 'use strict' -const uuid = require('uuid/v4') +const { Buffer } = require('buffer') +const uuid = require('nanoid') const withIs = require('class-is') const pathSepS = '/' diff --git a/src/tests.js b/src/tests.js index 21a8fcf..5087533 100644 --- a/src/tests.js +++ b/src/tests.js @@ -2,10 +2,11 @@ /* eslint max-nested-callbacks: ["error", 8] */ 'use strict' +const { Buffer } = require('buffer') +const randomBytes = require('iso-random-stream/src/random') const chai = require('chai') chai.use(require('dirty-chai')) const expect = chai.expect -const crypto = require('crypto') const Key = require('../src').Key @@ -145,9 +146,9 @@ module.exports = (test) => { const b = store.batch() const count = 400 for (let i = 0; i < count; i++) { - b.put(new Key(`/a/hello${i}`), crypto.randomBytes(32)) - b.put(new Key(`/q/hello${i}`), crypto.randomBytes(64)) - b.put(new Key(`/z/hello${i}`), crypto.randomBytes(128)) + b.put(new Key(`/a/hello${i}`), randomBytes(32)) + b.put(new Key(`/q/hello${i}`), randomBytes(64)) + b.put(new Key(`/z/hello${i}`), randomBytes(128)) } await b.commit() diff --git a/src/utils.browser.js b/src/utils.browser.js new file mode 100644 index 0000000..69d7593 --- /dev/null +++ b/src/utils.browser.js @@ -0,0 +1,53 @@ +'use strict' + +const uuid = require('nanoid') + +exports.filter = (iterable, filterer) => { + return (async function * () { + for await (const value of iterable) { + const keep = await filterer(value) + if (!keep) continue + yield value + } + })() +} + +// Not just sort, because the sorter is given all the values and should return +// them all sorted +exports.sortAll = (iterable, sorter) => { + return (async function * () { + let values = [] + for await (const value of iterable) values.push(value) + values = await sorter(values) + for (const value of values) yield value + })() +} + +exports.take = (iterable, n) => { + return (async function * () { + if (n <= 0) return + let i = 0 + for await (const value of iterable) { + yield value + i++ + if (i >= n) return + } + })() +} + +exports.map = (iterable, mapper) => { + return (async function * () { + for await (const value of iterable) { + yield mapper(value) + } + })() +} + +exports.replaceStartWith = function (s, r) { + const matcher = new RegExp('^' + r) + return s.replace(matcher, '') +} + +exports.tmpdir = () => { + return `datastore_${uuid()}` +} diff --git a/src/utils.js b/src/utils.js index daab6bf..54e75cf 100644 --- a/src/utils.js +++ b/src/utils.js @@ -2,7 +2,7 @@ const path = require('path') const os = require('os') -const uuid = require('uuid/v4') +const uuid = require('nanoid') exports.filter = (iterable, filterer) => { return (async function * () { From d93e3190f51bfb6af9c5637c4f6c5831cf27e36e Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Thu, 26 Mar 2020 16:42:27 +0000 Subject: [PATCH 2/2] fix: feedback --- package.json | 6 ++--- src/utils.browser.js | 53 -------------------------------------------- src/utils.js | 8 ++----- 3 files changed, 4 insertions(+), 63 deletions(-) delete mode 100644 src/utils.browser.js diff --git a/package.json b/package.json index 6dd4f8f..2741685 100644 --- a/package.json +++ b/package.json @@ -17,9 +17,6 @@ "coverage-publish": "aegir coverage --provider codecov", "docs": "aegir docs" }, - "browser": { - "./src/utils.js": "./src/utils.browser.js" - }, "repository": { "type": "git", "url": "git+https://github.com/ipfs/interface-datastore.git" @@ -36,7 +33,7 @@ }, "homepage": "https://github.com/ipfs/interface-datastore#readme", "devDependencies": { - "aegir": "^20.0.0", + "aegir": "^21.4.5", "chai": "^4.1.2", "dirty-chai": "^2.0.1" }, @@ -44,6 +41,7 @@ "buffer": "^5.5.0", "class-is": "^1.1.0", "err-code": "^2.0.0", + "ipfs-utils": "^1.1.0", "iso-random-stream": "^1.1.1", "nanoid": "^2.1.11" }, diff --git a/src/utils.browser.js b/src/utils.browser.js deleted file mode 100644 index 69d7593..0000000 --- a/src/utils.browser.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict' - -const uuid = require('nanoid') - -exports.filter = (iterable, filterer) => { - return (async function * () { - for await (const value of iterable) { - const keep = await filterer(value) - if (!keep) continue - yield value - } - })() -} - -// Not just sort, because the sorter is given all the values and should return -// them all sorted -exports.sortAll = (iterable, sorter) => { - return (async function * () { - let values = [] - for await (const value of iterable) values.push(value) - values = await sorter(values) - for (const value of values) yield value - })() -} - -exports.take = (iterable, n) => { - return (async function * () { - if (n <= 0) return - let i = 0 - for await (const value of iterable) { - yield value - i++ - if (i >= n) return - } - })() -} - -exports.map = (iterable, mapper) => { - return (async function * () { - for await (const value of iterable) { - yield mapper(value) - } - })() -} - -exports.replaceStartWith = function (s, r) { - const matcher = new RegExp('^' + r) - return s.replace(matcher, '') -} - -exports.tmpdir = () => { - return `datastore_${uuid()}` -} diff --git a/src/utils.js b/src/utils.js index 54e75cf..ea5459a 100644 --- a/src/utils.js +++ b/src/utils.js @@ -1,8 +1,6 @@ 'use strict' -const path = require('path') -const os = require('os') -const uuid = require('nanoid') +const tempdir = require('ipfs-utils/src/temp-dir') exports.filter = (iterable, filterer) => { return (async function * () { @@ -50,6 +48,4 @@ exports.replaceStartWith = function (s, r) { return s.replace(matcher, '') } -exports.tmpdir = () => { - return path.join(os.tmpdir(), uuid()) -} +exports.tmpdir = tempdir