diff --git a/.gitignore b/.gitignore index e4c5b0e..1c73b37 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +docs **/node_modules/ **/*.log test/repo-tests* diff --git a/circle.yml b/circle.yml index 56f7efb..a0da9bc 100644 --- a/circle.yml +++ b/circle.yml @@ -6,8 +6,12 @@ dependencies: pre: - google-chrome --version - curl -L -o google-chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb + - for v in $(curl http://archive.ubuntu.com/ubuntu/pool/main/n/nss/ | grep "href=" | grep "libnss3.*deb\"" -o | grep -o "libnss3.*deb" | grep "3.28" | grep "14.04"); do curl -L -o $v http://archive.ubuntu.com/ubuntu/pool/main/n/nss/$v; done && rm libnss3-tools*_i386.deb libnss3-dev*_i386.deb - sudo dpkg -i google-chrome.deb || true + - sudo dpkg -i libnss3*.deb || true - sudo apt-get update + - sudo apt-get install -f || true + - sudo dpkg -i libnss3*.deb - sudo apt-get install -f - sudo apt-get install --only-upgrade lsb-base - sudo dpkg -i google-chrome.deb diff --git a/package.json b/package.json index 9fccb2b..caa6824 100644 --- a/package.json +++ b/package.json @@ -8,16 +8,16 @@ "test" ], "scripts": { - "lint": "aegir-lint", - "build": "aegir-build", - "test": "aegir-test", - "test:node": "aegir-test node", - "test:browser": "aegir-test browser", - "release": "aegir-release", - "release-minor": "aegir-release --type minor", - "release-major": "aegir-release --type major", - "coverage": "aegir-coverage", - "coverage-publish": "aegir-coverage publish" + "lint": "aegir lint", + "build": "aegir build", + "test": "aegir test", + "test:node": "aegir test --target node", + "test:browser": "aegir test --target browser", + "release": "aegir release", + "release-minor": "aegir release --type minor", + "release-major": "aegir release --type major", + "coverage": "aegir coverage", + "coverage-publish": "aegir coverage --provider coveralls" }, "keywords": [ "IPFS" @@ -32,7 +32,7 @@ "homepage": "https://github.com/ipld/js-ipld-resolver#readme", "license": "MIT", "devDependencies": { - "aegir": "^11.0.2", + "aegir": "^12.0.8", "chai": "^4.1.2", "dirty-chai": "^2.0.1", "eth-hash-to-cid": "^0.1.0", @@ -40,13 +40,13 @@ "lodash": "^4.17.4", "ncp": "^2.0.0", "pre-commit": "^1.2.2", - "rimraf": "^2.6.1", + "rimraf": "^2.6.2", "rlp": "^2.0.0" }, "dependencies": { "async": "^2.5.0", - "cids": "~0.5.1", - "interface-datastore": "^0.3.0", + "cids": "~0.5.2", + "interface-datastore": "^0.3.1", "ipfs-block": "~0.6.0", "ipfs-block-service": "~0.12.0", "ipfs-repo": "~0.17.0", @@ -54,13 +54,14 @@ "ipld-dag-pb": "~0.11.2", "ipld-ethereum": "^1.4.2", "ipld-git": "^0.1.0", - "is-ipfs": "~0.3.0", + "ipld-raw": "^1.0.6", + "is-ipfs": "~0.3.2", "lodash.flatten": "^4.4.0", "lodash.includes": "^4.3.0", - "memdown": "^1.2.7", + "memdown": "^1.4.1", "multihashes": "~0.4.9", "pull-sort": "^1.0.1", - "pull-stream": "^3.6.0", + "pull-stream": "^3.6.1", "pull-traverse": "^1.0.3" }, "contributors": [ @@ -75,4 +76,4 @@ "wanderer ", "Ɓukasz Magiera " ] -} \ No newline at end of file +} diff --git a/src/index.js b/src/index.js index 9ce2bd3..1b07b0a 100644 --- a/src/index.js +++ b/src/index.js @@ -24,6 +24,7 @@ const ipldEthStateTrie = require('ipld-ethereum').ethStateTrie const ipldEthStorageTrie = require('ipld-ethereum').ethStorageTrie const ipldEthTx = require('ipld-ethereum').ethTx const ipldEthTxTrie = require('ipld-ethereum').ethTxTrie +const ipldRaw = require('ipld-raw') function noop () {} @@ -58,44 +59,48 @@ class IPLDResolver { // Support by default dag-pb, dag-cbor, git, and eth-* this.support.add(dagPB.resolver.multicodec, - dagPB.resolver, - dagPB.util) + dagPB.resolver, + dagPB.util) this.support.add(dagCBOR.resolver.multicodec, - dagCBOR.resolver, - dagCBOR.util) + dagCBOR.resolver, + dagCBOR.util) this.support.add(ipldGit.resolver.multicodec, - ipldGit.resolver, - ipldGit.util) + ipldGit.resolver, + ipldGit.util) this.support.add(ipldEthAccountSnapshot.resolver.multicodec, - ipldEthAccountSnapshot.resolver, - ipldEthAccountSnapshot.util) + ipldEthAccountSnapshot.resolver, + ipldEthAccountSnapshot.util) this.support.add(ipldEthBlock.resolver.multicodec, - ipldEthBlock.resolver, - ipldEthBlock.util) + ipldEthBlock.resolver, + ipldEthBlock.util) this.support.add(ipldEthBlockList.resolver.multicodec, - ipldEthBlockList.resolver, - ipldEthBlockList.util) + ipldEthBlockList.resolver, + ipldEthBlockList.util) this.support.add(ipldEthStateTrie.resolver.multicodec, - ipldEthStateTrie.resolver, - ipldEthStateTrie.util) + ipldEthStateTrie.resolver, + ipldEthStateTrie.util) this.support.add(ipldEthStorageTrie.resolver.multicodec, - ipldEthStorageTrie.resolver, - ipldEthStorageTrie.util) + ipldEthStorageTrie.resolver, + ipldEthStorageTrie.util) this.support.add(ipldEthTx.resolver.multicodec, - ipldEthTx.resolver, - ipldEthTx.util) + ipldEthTx.resolver, + ipldEthTx.util) this.support.add(ipldEthTxTrie.resolver.multicodec, - ipldEthTxTrie.resolver, - ipldEthTxTrie.util) + ipldEthTxTrie.resolver, + ipldEthTxTrie.util) + + this.support.add(ipldRaw.resolver.multicodec, + ipldRaw.resolver, + ipldRaw.util) } get (cid, path, options, callback) { diff --git a/test/basics.js b/test/basics.js index 67530a5..0e96f7e 100644 --- a/test/basics.js +++ b/test/basics.js @@ -36,7 +36,7 @@ module.exports = (repo) => { const bs = new BlockService(repo) const r = new IPLDResolver(bs) // choosing a format that is not supported - const cid = new CID(1, 'base1', multihash.encode(new Buffer('abcd', 'hex'), 'sha1')) + const cid = new CID(1, 'base1', multihash.encode(Buffer.from('abcd', 'hex'), 'sha1')) r.get(cid, '/', {}, (err, result) => { expect(err).to.exist() expect(err.message).to.eql('No resolver found for codec "base1"') @@ -48,7 +48,7 @@ module.exports = (repo) => { const bs = new BlockService(repo) const r = new IPLDResolver(bs) // choosing a format that is not supported - const cid = new CID(1, 'base1', multihash.encode(new Buffer('abcd', 'hex'), 'sha1')) + const cid = new CID(1, 'base1', multihash.encode(Buffer.from('abcd', 'hex'), 'sha1')) r.get(cid, (err, result) => { expect(err).to.exist() expect(err.message).to.eql('No resolver found for codec "base1"') @@ -71,7 +71,7 @@ module.exports = (repo) => { const bs = new BlockService(repo) const r = new IPLDResolver(bs) // choosing a format that is not supported - const cid = new CID(1, 'base1', multihash.encode(new Buffer('abcd', 'hex'), 'sha1')) + const cid = new CID(1, 'base1', multihash.encode(Buffer.from('abcd', 'hex'), 'sha1')) r._put(cid, null, (err, result) => { expect(err).to.exist() expect(err.message).to.eql('No resolver found for codec "base1"') @@ -83,7 +83,7 @@ module.exports = (repo) => { const bs = new BlockService(repo) const r = new IPLDResolver(bs) // choosing a format that is not supported - const cid = new CID(1, 'base1', multihash.encode(new Buffer('abcd', 'hex'), 'sha1')) + const cid = new CID(1, 'base1', multihash.encode(Buffer.from('abcd', 'hex'), 'sha1')) pull( r.treeStream(cid, '/', {}), pull.collect(function (err) { diff --git a/test/ipld-all.js b/test/ipld-all.js index 6758fab..aa5baaf 100644 --- a/test/ipld-all.js +++ b/test/ipld-all.js @@ -31,7 +31,7 @@ describe('IPLD Resolver for dag-cbor + dag-pb', () => { (cb) => IPLDResolver.inMemory(cb), (res, cb) => { resolver = res - dagPB.DAGNode.create(new Buffer('I am inside a Protobuf'), cb) + dagPB.DAGNode.create(Buffer.from('I am inside a Protobuf'), cb) }, (node, cb) => { nodePb = node @@ -62,7 +62,7 @@ describe('IPLD Resolver for dag-cbor + dag-pb', () => { it('resolve through different formats', (done) => { resolver.get(cidCbor, 'pb/Data', (err, result) => { expect(err).to.not.exist() - expect(result.value).to.eql(new Buffer('I am inside a Protobuf')) + expect(result.value).to.eql(Buffer.from('I am inside a Protobuf')) done() }) }) diff --git a/test/ipld-dag-pb.js b/test/ipld-dag-pb.js index d7b66bd..763ead1 100644 --- a/test/ipld-dag-pb.js +++ b/test/ipld-dag-pb.js @@ -30,21 +30,21 @@ module.exports = (repo) => { series([ (cb) => { - dagPB.DAGNode.create(new Buffer('I am 1'), (err, node) => { + dagPB.DAGNode.create(Buffer.from('I am 1'), (err, node) => { expect(err).to.not.exist() node1 = node cb() }) }, (cb) => { - dagPB.DAGNode.create(new Buffer('I am 2'), (err, node) => { + dagPB.DAGNode.create(Buffer.from('I am 2'), (err, node) => { expect(err).to.not.exist() node2 = node cb() }) }, (cb) => { - dagPB.DAGNode.create(new Buffer('I am 3'), (err, node) => { + dagPB.DAGNode.create(Buffer.from('I am 3'), (err, node) => { expect(err).to.not.exist() node3 = node cb() @@ -190,7 +190,7 @@ module.exports = (repo) => { it('resolver.get value within 1st node scope', (done) => { resolver.get(cid1, 'Data', (err, result) => { expect(err).to.not.exist() - expect(result.value).to.eql(new Buffer('I am 1')) + expect(result.value).to.eql(Buffer.from('I am 1')) done() }) }) @@ -198,7 +198,7 @@ module.exports = (repo) => { it('resolver.get value within nested scope (1 level)', (done) => { resolver.get(cid2, 'Links/0/Hash/Data', (err, result) => { expect(err).to.not.exist() - expect(result.value).to.eql(new Buffer('I am 1')) + expect(result.value).to.eql(Buffer.from('I am 1')) done() }) }) @@ -206,7 +206,7 @@ module.exports = (repo) => { it('resolver.get value within nested scope (2 levels)', (done) => { resolver.get(cid3, 'Links/1/Hash/Links/0/Hash/Data', (err, result) => { expect(err).to.not.exist() - expect(result.value).to.eql(new Buffer('I am 1')) + expect(result.value).to.eql(Buffer.from('I am 1')) done() }) }) diff --git a/test/ipld-git.js b/test/ipld-git.js index f70bf12..47df288 100644 --- a/test/ipld-git.js +++ b/test/ipld-git.js @@ -36,7 +36,7 @@ module.exports = (repo) => { series([ (cb) => { - blobNode = new Buffer('626c6f62203800736f6d6564617461', 'hex') // blob 8\0somedata + blobNode = Buffer.from('626c6f62203800736f6d6564617461', 'hex') // blob 8\0somedata ipldGit.util.cid(blobNode, (err, cid) => { expect(err).to.not.exist() diff --git a/test/node.js b/test/node.js index da01d22..efabb73 100644 --- a/test/node.js +++ b/test/node.js @@ -9,7 +9,7 @@ const os = require('os') describe('Node.js', () => { const repoExample = process.cwd() + '/test/example-repo' - const repoTests = os.tmpDir() + '/t-r-' + Date.now() + const repoTests = os.tmpdir() + '/t-r-' + Date.now() const repo = new IPFSRepo(repoTests) before((done) => {