From dcc28630907d219445b7c4670d3baaccea9d7a4a Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Tue, 4 Dec 2018 20:44:39 +0000 Subject: [PATCH 01/21] fix: add bundle-size --- package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 0e58febec..704424fc3 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,8 @@ "release-major": "aegir release --type major ", "coverage": "aegir coverage --timeout 100000", "coverage-publish": "aegir coverage --provider coveralls --timeout 100000", - "dep-check": "npx dependency-check package.json './test/**/*.js' './src/**/*.js'" + "dep-check": "npx dependency-check package.json './test/**/*.js' './src/**/*.js'", + "size": "bundlesize -f dist/index.min.js -s 329kB" }, "dependencies": { "async": "^2.6.1", @@ -79,6 +80,7 @@ "devDependencies": { "aegir": "^18.0.2", "browser-process-platform": "~0.1.1", + "bundlesize": "^0.17.0", "chai": "^4.2.0", "cross-env": "^5.2.0", "dirty-chai": "^2.0.1", From 9980d68c047603a09eef516b9fdf32a4188dcbab Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Tue, 4 Dec 2018 20:44:49 +0000 Subject: [PATCH 02/21] fix: remove lodash --- package.json | 7 ++++--- src/files-mfs/stat.js | 4 ++-- src/files-regular/add.js | 3 +-- src/pin/ls.js | 3 +-- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 704424fc3..532a46e2e 100644 --- a/package.json +++ b/package.json @@ -45,10 +45,11 @@ "is-ipfs": "~0.4.7", "is-pull-stream": "0.0.0", "is-stream": "^1.1.0", - "libp2p-crypto": "~0.16.0", - "lodash": "^4.17.11", - "lru-cache": "^5.1.1", + "just-kebab-case": "^1.1.0", + "just-map-keys": "^1.1.0", + "libp2p-crypto": "~0.14.0", "multiaddr": "^6.0.0", + "lru-cache": "^4.1.3", "multibase": "~0.6.0", "multicodec": "~0.5.0", "multihashes": "~0.4.14", diff --git a/src/files-mfs/stat.js b/src/files-mfs/stat.js index a205fea8e..7274e32a1 100644 --- a/src/files-mfs/stat.js +++ b/src/files-mfs/stat.js @@ -1,8 +1,8 @@ 'use strict' const promisify = require('promisify-es6') -const mapKeys = require('lodash/mapKeys') -const kebabCase = require('lodash/kebabCase') +const mapKeys = require('just-map-keys') +const kebabCase = require('just-kebab-case') const transform = function (data, callback) { callback(null, { diff --git a/src/files-regular/add.js b/src/files-regular/add.js index 97fe3a5e5..c5506b48b 100644 --- a/src/files-regular/add.js +++ b/src/files-regular/add.js @@ -4,7 +4,6 @@ const promisify = require('promisify-es6') const ConcatStream = require('concat-stream') const once = require('once') const isStream = require('is-stream') -const isString = require('lodash/isString') const isSource = require('is-pull-stream').isSource const FileResultStreamConverter = require('../utils/file-result-stream-converter') const SendFilesStream = require('../utils/send-files-stream') @@ -33,7 +32,7 @@ module.exports = (send) => { // path is optional if content is present if (obj.content) return isBufferOrStream(obj.content) // path must be a non-empty string if no content - return Boolean(obj.path) && isString(obj.path) + return Boolean(obj.path) && typeof obj.path === 'string' } // An input atom: a buffer, stream or content object const isInput = obj => isBufferOrStream(obj) || isContentObject(obj) diff --git a/src/pin/ls.js b/src/pin/ls.js index 6348dfe89..c8ad26a4b 100644 --- a/src/pin/ls.js +++ b/src/pin/ls.js @@ -1,7 +1,6 @@ 'use strict' const promisify = require('promisify-es6') -const keys = require('lodash/keys') module.exports = (send) => { return promisify((hash, opts, callback) => { @@ -26,7 +25,7 @@ module.exports = (send) => { if (err) { return callback(err) } - callback(null, keys(res.Keys).map(hash => ( + callback(null, Object.keys(res.Keys).map(hash => ( { hash, type: res.Keys[hash].Type } ))) }) From 06396baa0e0d49b484c693011ef0e205fb0ba4d7 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Tue, 11 Dec 2018 18:07:54 +0000 Subject: [PATCH 03/21] chore: reduce bundle size --- package.json | 17 ++++++++++------- src/files-regular/add-from-url.js | 2 +- src/utils/request-browser.js | 7 +++++++ src/utils/send-files-stream.js | 2 +- 4 files changed, 19 insertions(+), 9 deletions(-) create mode 100644 src/utils/request-browser.js diff --git a/package.json b/package.json index 532a46e2e..cf56dc4f4 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,9 @@ "glob": false, "fs": false, "stream": "readable-stream", - "http": "stream-http" + "http": "stream-http", + "./src/utils/request.js": "./src/utils/request-browser.js", + "./src/utils/url.js": "./src/utils/url-browser.js" }, "scripts": { "test": "aegir test", @@ -45,26 +47,27 @@ "is-ipfs": "~0.4.7", "is-pull-stream": "0.0.0", "is-stream": "^1.1.0", + "iso-url": "^0.1.2", "just-kebab-case": "^1.1.0", "just-map-keys": "^1.1.0", - "libp2p-crypto": "~0.14.0", - "multiaddr": "^6.0.0", + "libp2p-crypto": "libp2p/js-libp2p-crypto#feat/bundle-size", "lru-cache": "^4.1.3", + "multiaddr": "multiformats/js-multiaddr#feat/bundle-size", "multibase": "~0.6.0", "multicodec": "~0.5.0", "multihashes": "~0.4.14", "ndjson": "^1.5.0", "once": "^1.4.0", - "peer-id": "~0.12.1", - "peer-info": "~0.15.0", + "peer-id": "libp2p/js-peer-id#feat/bundle-size", + "peer-info": "libp2p/js-peer-info#feat/bundle-size", "promisify-es6": "^1.0.3", "pull-defer": "~0.2.3", "pull-pushable": "^2.2.0", "pull-stream-to-stream": "^1.3.4", "pump": "^3.0.0", "qs": "^6.5.2", - "readable-stream": "^3.0.6", - "stream-http": "^3.0.0", + "readable-stream": "^2.3.6", + "stream-http": "hugomrdias/stream-http#develop", "stream-to-pull-stream": "^1.7.2", "streamifier": "~0.1.1", "tar-stream": "^1.6.2", diff --git a/src/files-regular/add-from-url.js b/src/files-regular/add-from-url.js index e926a7c81..ec21537ab 100644 --- a/src/files-regular/add-from-url.js +++ b/src/files-regular/add-from-url.js @@ -1,7 +1,7 @@ 'use strict' const promisify = require('promisify-es6') -const { URL } = require('url') +const { URL } = require('iso-url') const request = require('../utils/request') const SendOneFile = require('../utils/send-one-file-multiple-results') const FileResultStreamConverter = require('../utils/file-result-stream-converter') diff --git a/src/utils/request-browser.js b/src/utils/request-browser.js new file mode 100644 index 000000000..cb91a9009 --- /dev/null +++ b/src/utils/request-browser.js @@ -0,0 +1,7 @@ +'use strict' + +const http = require('stream-http') + +module.exports = (protocol) => { + return http.request +} diff --git a/src/utils/send-files-stream.js b/src/utils/send-files-stream.js index aff2cdcc9..c2450d39e 100644 --- a/src/utils/send-files-stream.js +++ b/src/utils/send-files-stream.js @@ -1,6 +1,6 @@ 'use strict' -const Duplex = require('stream').Duplex +const { Duplex } = require('readable-stream') const eachSeries = require('async/eachSeries') const isStream = require('is-stream') const once = require('once') From f17ec2c348b9f10e5adb0c695a078cad49059324 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Fri, 14 Dec 2018 16:08:09 +0000 Subject: [PATCH 04/21] fix: remove more stuff --- package.json | 2 +- src/files-regular/get-pull-stream.js | 5 +++-- src/files-regular/ls-pull-stream.js | 4 ++-- src/stats/bw-pull-stream.js | 5 +++-- test/files-mfs.spec.js | 14 ++++++++------ test/ping.spec.js | 2 +- 6 files changed, 18 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index cf56dc4f4..247e15ac0 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "glob": "^7.1.3", "ipfs-block": "~0.8.0", "ipfs-unixfs": "~0.1.16", - "ipld-dag-cbor": "~0.13.0", + "ipld-dag-cbor": "hugomrdias/js-ipld-dag-cbor#feat/reduce-bundle-size", "ipld-dag-pb": "~0.15.0", "is-ipfs": "~0.4.7", "is-pull-stream": "0.0.0", diff --git a/src/files-regular/get-pull-stream.js b/src/files-regular/get-pull-stream.js index c7d8aa7a4..4b2ede770 100644 --- a/src/files-regular/get-pull-stream.js +++ b/src/files-regular/get-pull-stream.js @@ -3,7 +3,8 @@ const cleanCID = require('../utils/clean-cid') const TarStreamToObjects = require('../utils/tar-stream-to-objects') const v = require('is-ipfs') -const pull = require('pull-stream') +const pull = require('pull-stream/pull') +const map = require('pull-stream/throughs/map') const toPull = require('stream-to-pull-stream') const deferred = require('pull-defer') @@ -30,7 +31,7 @@ module.exports = (send) => { p.resolve( pull( toPull.source(stream), - pull.map(file => { + map(file => { const { path, content } = file return content ? { path, content: toPull.source(content) } : file }) diff --git a/src/files-regular/ls-pull-stream.js b/src/files-regular/ls-pull-stream.js index c82d54f62..d1e238df0 100644 --- a/src/files-regular/ls-pull-stream.js +++ b/src/files-regular/ls-pull-stream.js @@ -1,7 +1,7 @@ 'use strict' const moduleConfig = require('../utils/module-config') -const pull = require('pull-stream') +const values = require('pull-stream/sources/values') const deferred = require('pull-defer') const IsIpfs = require('is-ipfs') const cleanCID = require('../utils/clean-cid') @@ -54,7 +54,7 @@ module.exports = (arg) => { type: typeOf(link) })) - p.resolve(pull.values(result)) + p.resolve(values(result)) }) return p diff --git a/src/stats/bw-pull-stream.js b/src/stats/bw-pull-stream.js index f302a3a5f..26a4eb311 100644 --- a/src/stats/bw-pull-stream.js +++ b/src/stats/bw-pull-stream.js @@ -1,7 +1,8 @@ 'use strict' const toPull = require('stream-to-pull-stream') -const pull = require('pull-stream') +const map = require('pull-stream/throughs/map') +const pull = require('pull-stream/pull') const transformChunk = require('./bw-util') const deferred = require('pull-defer') @@ -21,7 +22,7 @@ module.exports = (send) => { p.resolve(pull( toPull.source(stream), - pull.map(transformChunk) + map(transformChunk) )) }) diff --git a/test/files-mfs.spec.js b/test/files-mfs.spec.js index b550105a6..f88e37ba9 100644 --- a/test/files-mfs.spec.js +++ b/test/files-mfs.spec.js @@ -9,7 +9,9 @@ chai.use(dirtyChai) const loadFixture = require('aegir/fixtures') const mh = require('multihashes') const CID = require('cids') -const pull = require('pull-stream') +const values = require('pull-stream/sources/values') +const pull = require('pull-stream/pull') +const collect = require('pull-stream/sinks/collect') const ipfsClient = require('../src') const f = require('./utils/factory') @@ -280,9 +282,9 @@ describe('.files (the MFS API part)', function () { const expectedCid = 'QmRf22bZar3WKmojipms22PkXH1MZGmvsqzQtuSvQE3uhm' pull( - pull.values([{ content: pull.values([Buffer.from('test')]) }]), + values([{ content: values([Buffer.from('test')]) }]), ipfs.addPullStream(), - pull.collect((err, res) => { + collect((err, res) => { expect(err).to.not.exist() expect(res).to.have.length(1) @@ -295,7 +297,7 @@ describe('.files (the MFS API part)', function () { it('.add with pull stream (callback)', (done) => { const expectedCid = 'QmRf22bZar3WKmojipms22PkXH1MZGmvsqzQtuSvQE3uhm' - ipfs.add(pull.values([Buffer.from('test')]), (err, res) => { + ipfs.add(values([Buffer.from('test')]), (err, res) => { expect(err).to.not.exist() expect(res).to.have.length(1) @@ -307,7 +309,7 @@ describe('.files (the MFS API part)', function () { it('.add with pull stream (promise)', () => { const expectedCid = 'QmRf22bZar3WKmojipms22PkXH1MZGmvsqzQtuSvQE3uhm' - return ipfs.add(pull.values([Buffer.from('test')])) + return ipfs.add(values([Buffer.from('test')])) .then((res) => { expect(res).to.have.length(1) expect(res[0]).to.deep.equal({ path: expectedCid, hash: expectedCid, size: 12 }) @@ -317,7 +319,7 @@ describe('.files (the MFS API part)', function () { it('.add with array of objects with pull stream content', () => { const expectedCid = 'QmRf22bZar3WKmojipms22PkXH1MZGmvsqzQtuSvQE3uhm' - return ipfs.add([{ content: pull.values([Buffer.from('test')]) }]) + return ipfs.add([{ content: values([Buffer.from('test')]) }]) .then((res) => { expect(res).to.have.length(1) expect(res[0]).to.eql({ path: expectedCid, hash: expectedCid, size: 12 }) diff --git a/test/ping.spec.js b/test/ping.spec.js index c8a856e13..5f6ecd3ea 100644 --- a/test/ping.spec.js +++ b/test/ping.spec.js @@ -3,7 +3,7 @@ const chai = require('chai') const dirtyChai = require('dirty-chai') -const pull = require('pull-stream') +const pull = require('pull-stream/pull') const collect = require('pull-stream/sinks/collect') const expect = chai.expect chai.use(dirtyChai) From 6452be2c0f30e9c979870881ed9530c094f7ae58 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Tue, 18 Dec 2018 14:29:49 +0000 Subject: [PATCH 05/21] fix: more stuff --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 247e15ac0..2f13df967 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "stream-http": "hugomrdias/stream-http#develop", "stream-to-pull-stream": "^1.7.2", "streamifier": "~0.1.1", - "tar-stream": "^1.6.2", + "tar-stream": "hugomrdias/tar-stream#chore/update-bl", "through2": "^3.0.0" }, "engines": { From 24462c9505fc3b2437f356e68381801499e769ef Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Tue, 18 Dec 2018 14:59:14 +0000 Subject: [PATCH 06/21] fix: deps clean up --- package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/package.json b/package.json index 2f13df967..146d425fa 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,6 @@ "flatmap": "0.0.3", "glob": "^7.1.3", "ipfs-block": "~0.8.0", - "ipfs-unixfs": "~0.1.16", "ipld-dag-cbor": "hugomrdias/js-ipld-dag-cbor#feat/reduce-bundle-size", "ipld-dag-pb": "~0.15.0", "is-ipfs": "~0.4.7", @@ -50,7 +49,6 @@ "iso-url": "^0.1.2", "just-kebab-case": "^1.1.0", "just-map-keys": "^1.1.0", - "libp2p-crypto": "libp2p/js-libp2p-crypto#feat/bundle-size", "lru-cache": "^4.1.3", "multiaddr": "multiformats/js-multiaddr#feat/bundle-size", "multibase": "~0.6.0", @@ -62,7 +60,6 @@ "peer-info": "libp2p/js-peer-info#feat/bundle-size", "promisify-es6": "^1.0.3", "pull-defer": "~0.2.3", - "pull-pushable": "^2.2.0", "pull-stream-to-stream": "^1.3.4", "pump": "^3.0.0", "qs": "^6.5.2", @@ -70,6 +67,7 @@ "stream-http": "hugomrdias/stream-http#develop", "stream-to-pull-stream": "^1.7.2", "streamifier": "~0.1.1", + "pull-stream": "^3.6.9", "tar-stream": "hugomrdias/tar-stream#chore/update-bl", "through2": "^3.0.0" }, From 288fe83e423576b50c2eca17cb1d4f3c830937ab Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Tue, 18 Dec 2018 16:26:58 +0000 Subject: [PATCH 07/21] fix: lint --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 146d425fa..272f6fd1c 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "is-ipfs": "~0.4.7", "is-pull-stream": "0.0.0", "is-stream": "^1.1.0", - "iso-url": "^0.1.2", + "iso-url": "~0.1.2", "just-kebab-case": "^1.1.0", "just-map-keys": "^1.1.0", "lru-cache": "^4.1.3", @@ -82,7 +82,7 @@ "devDependencies": { "aegir": "^18.0.2", "browser-process-platform": "~0.1.1", - "bundlesize": "^0.17.0", + "bundlesize": "~0.17.0", "chai": "^4.2.0", "cross-env": "^5.2.0", "dirty-chai": "^2.0.1", From f11281031aa6f56ac158f522b24a9d5b80613277 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Tue, 26 Feb 2019 11:06:12 +0000 Subject: [PATCH 08/21] fix: cleanup and reduce size --- .aegir.js | 1 + package.json | 36 ++++++++++++++---------------------- src/config/replace.js | 13 +++++++++++-- src/utils/multipart.js | 4 ++-- 4 files changed, 28 insertions(+), 26 deletions(-) diff --git a/.aegir.js b/.aegir.js index 51aedf024..bd81b952c 100644 --- a/.aegir.js +++ b/.aegir.js @@ -5,6 +5,7 @@ const createServer = require('ipfsd-ctl').createServer const server = createServer() module.exports = { + bundlesize: { maxSize: '234kB' }, webpack: { resolve: { mainFields: ['browser', 'main'] diff --git a/package.json b/package.json index 272f6fd1c..d5d483af4 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,7 @@ "fs": false, "stream": "readable-stream", "http": "stream-http", - "./src/utils/request.js": "./src/utils/request-browser.js", - "./src/utils/url.js": "./src/utils/url-browser.js" + "./src/utils/request.js": "./src/utils/request-browser.js" }, "scripts": { "test": "aegir test", @@ -21,11 +20,7 @@ "build": "aegir build", "release": "aegir release ", "release-minor": "aegir release --type minor ", - "release-major": "aegir release --type major ", - "coverage": "aegir coverage --timeout 100000", - "coverage-publish": "aegir coverage --provider coveralls --timeout 100000", - "dep-check": "npx dependency-check package.json './test/**/*.js' './src/**/*.js'", - "size": "bundlesize -f dist/index.min.js -s 329kB" + "release-major": "aegir release --type major " }, "dependencies": { "async": "^2.6.1", @@ -41,34 +36,33 @@ "flatmap": "0.0.3", "glob": "^7.1.3", "ipfs-block": "~0.8.0", - "ipld-dag-cbor": "hugomrdias/js-ipld-dag-cbor#feat/reduce-bundle-size", + "ipld-dag-cbor": "~0.13.1", "ipld-dag-pb": "~0.15.0", - "is-ipfs": "~0.4.7", + "is-ipfs": "~0.5.1", "is-pull-stream": "0.0.0", "is-stream": "^1.1.0", - "iso-url": "~0.1.2", + "iso-url": "~0.4.6", "just-kebab-case": "^1.1.0", "just-map-keys": "^1.1.0", - "lru-cache": "^4.1.3", - "multiaddr": "multiformats/js-multiaddr#feat/bundle-size", + "lru-cache": "^5.1.1", + "multiaddr": "^6.0.5", "multibase": "~0.6.0", "multicodec": "~0.5.0", "multihashes": "~0.4.14", - "ndjson": "^1.5.0", + "ndjson": "hugomrdias/ndjson#feat/readable-stream3", "once": "^1.4.0", - "peer-id": "libp2p/js-peer-id#feat/bundle-size", - "peer-info": "libp2p/js-peer-info#feat/bundle-size", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1", "promisify-es6": "^1.0.3", "pull-defer": "~0.2.3", - "pull-stream-to-stream": "^1.3.4", + "pull-stream": "^3.6.9", + "pull-to-stream": "^0.1.0", "pump": "^3.0.0", "qs": "^6.5.2", - "readable-stream": "^2.3.6", + "readable-stream": "^3.1.1", "stream-http": "hugomrdias/stream-http#develop", "stream-to-pull-stream": "^1.7.2", - "streamifier": "~0.1.1", - "pull-stream": "^3.6.9", - "tar-stream": "hugomrdias/tar-stream#chore/update-bl", + "tar-stream": "^2.0.0", "through2": "^3.0.0" }, "engines": { @@ -82,7 +76,6 @@ "devDependencies": { "aegir": "^18.0.2", "browser-process-platform": "~0.1.1", - "bundlesize": "~0.17.0", "chai": "^4.2.0", "cross-env": "^5.2.0", "dirty-chai": "^2.0.1", @@ -91,7 +84,6 @@ "interface-ipfs-core": "~0.99.0", "ipfsd-ctl": "~0.42.0", "nock": "^10.0.2", - "pull-stream": "^3.6.9", "stream-equal": "^1.1.1" }, "keywords": [ diff --git a/src/config/replace.js b/src/config/replace.js index 24f9f0b00..971c61ee0 100644 --- a/src/config/replace.js +++ b/src/config/replace.js @@ -1,14 +1,23 @@ 'use strict' -const streamifier = require('streamifier') +const { Readable } = require('readable-stream') const promisify = require('promisify-es6') const SendOneFile = require('../utils/send-one-file') +function toStream (input) { + return new Readable({ + read () { + this.push(input) + this.push(null) + } + }) +} + module.exports = (send) => { const sendOneFile = SendOneFile(send, 'config/replace') return promisify((config, callback) => { if (typeof config === 'object') { - config = streamifier.createReadStream(Buffer.from(JSON.stringify(config))) + config = toStream(Buffer.from(JSON.stringify(config))) } sendOneFile(config, {}, callback) diff --git a/src/utils/multipart.js b/src/utils/multipart.js index a7096eefd..37ed83128 100644 --- a/src/utils/multipart.js +++ b/src/utils/multipart.js @@ -3,7 +3,7 @@ const Transform = require('stream').Transform const isNode = require('detect-node') const isSource = require('is-pull-stream').isSource -const toStream = require('pull-stream-to-stream') +const toStream = require('pull-to-stream') const PADDING = '--' const NEW_LINE = '\r\n' @@ -78,7 +78,7 @@ class Multipart extends Transform { } if (isSource(content)) { - content = toStream.source(content) + content = toStream.readable(content) } // From now on we assume content is a stream From 40e40bd15f7bb5a82f5281aa0b09a48d919e012c Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Tue, 26 Feb 2019 11:22:54 +0000 Subject: [PATCH 09/21] fix: fix deps semver --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d5d483af4..f666a5bfe 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "promisify-es6": "^1.0.3", "pull-defer": "~0.2.3", "pull-stream": "^3.6.9", - "pull-to-stream": "^0.1.0", + "pull-to-stream": "~0.1.0", "pump": "^3.0.0", "qs": "^6.5.2", "readable-stream": "^3.1.1", From 2078f06702dbe0f5b23d2666c942bf2d29c21502 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Tue, 26 Feb 2019 12:27:57 +0000 Subject: [PATCH 10/21] chore: fix tests --- test/get.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/get.spec.js b/test/get.spec.js index 2c5adb6d9..c789ce971 100644 --- a/test/get.spec.js +++ b/test/get.spec.js @@ -23,7 +23,7 @@ describe('.get (specific go-ipfs features)', function () { const smallFile = { cid: 'Qma4hjFTnCasJ8PVp3mZbZK5g2vGDT4LByLJ7m8ciyRFZP', - data: fixture('test/fixtures/testfile.txt') + data: fixture('js/test/fixtures/testfile.txt') } let ipfsd From 0ea9aa673108d57976597b93ac62401f805f5b13 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Tue, 26 Feb 2019 12:31:24 +0000 Subject: [PATCH 11/21] chore: add badges --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 817ccdb78..3e82afc21 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ +
From 5ddb6d777d2e14a3c23257f3a101234d9cd0ed42 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Tue, 26 Feb 2019 12:32:06 +0000 Subject: [PATCH 12/21] chore: fix typo in the badges --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3e82afc21..f850a1f31 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ - +

From b49c5bb47edc64db6c8fced6bc58a1ef453bc13c Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Tue, 26 Feb 2019 12:33:26 +0000 Subject: [PATCH 13/21] chore: make badge square --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f850a1f31..95baf704f 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ - +

From 25018dda423c0457ec1d911780735d5d07f8d27e Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Tue, 26 Feb 2019 12:34:05 +0000 Subject: [PATCH 14/21] chore: make cov badge square --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 95baf704f..a1ef73530 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@

- +
From c24d91a4276ed4e41e336ebc3847732be9506171 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Wed, 27 Feb 2019 12:24:05 +0000 Subject: [PATCH 15/21] chore: improve ci --- .travis.yml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 12b8e9494..912ef7ac7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,6 +23,7 @@ jobs: - stage: check script: + - npx aegir build --bundlesize - npx aegir commitlint --travis - npx aegir dep-check - npm run lint @@ -31,19 +32,13 @@ jobs: name: chrome addons: chrome: stable - script: npx aegir test -t browser + script: npx aegir test -t browser -t webworker - stage: test name: firefox addons: firefox: latest - script: npx aegir test -t browser -- --browsers FirefoxHeadless - - - stage: test - name: webworker - addons: - chrome: stable - script: npx aegir test -t webworker + script: npx aegir test -t browser -t webworker -- --browsers FirefoxHeadless notifications: email: false From 4d51b293cb36b95ea5bcb21c752e79ef8d7b76a4 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Wed, 27 Feb 2019 13:09:36 +0000 Subject: [PATCH 16/21] chore: upgrade aegir --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f666a5bfe..f4aeec38c 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "url": "https://github.com/ipfs/js-ipfs-http-client" }, "devDependencies": { - "aegir": "^18.0.2", + "aegir": "^18.2.0", "browser-process-platform": "~0.1.1", "chai": "^4.2.0", "cross-env": "^5.2.0", From feaf537845d990e9f0cbb4734b3306ca62dc8141 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Thu, 28 Feb 2019 12:17:55 +0000 Subject: [PATCH 17/21] fix: more deps updates --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index f4aeec38c..0d25fa439 100644 --- a/package.json +++ b/package.json @@ -25,10 +25,10 @@ "dependencies": { "async": "^2.6.1", "bignumber.js": "^8.0.2", - "bl": "^2.1.2", + "bl": "^3.0.0", "bs58": "^4.0.1", "cids": "~0.5.5", - "concat-stream": "^2.0.0", + "concat-stream": "hugomrdias/concat-stream#feat/smaller", "debug": "^4.1.0", "detect-node": "^2.0.4", "end-of-stream": "^1.4.1", @@ -62,7 +62,7 @@ "readable-stream": "^3.1.1", "stream-http": "hugomrdias/stream-http#develop", "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.0", + "tar-stream": "^2.0.1", "through2": "^3.0.0" }, "engines": { From 18430e7feacd05d9fa88c8b12c22087f05d1536f Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Thu, 28 Feb 2019 17:34:43 +0000 Subject: [PATCH 18/21] chore: reduce bundle max size --- .aegir.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.aegir.js b/.aegir.js index bd81b952c..dee1dc749 100644 --- a/.aegir.js +++ b/.aegir.js @@ -5,7 +5,7 @@ const createServer = require('ipfsd-ctl').createServer const server = createServer() module.exports = { - bundlesize: { maxSize: '234kB' }, + bundlesize: { maxSize: '225kB' }, webpack: { resolve: { mainFields: ['browser', 'main'] From 3a4e98690c7a717cd17133f26e7ac2e26d502e2d Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Mon, 4 Mar 2019 19:38:35 +0000 Subject: [PATCH 19/21] chore: add coverage npm script --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 0d25fa439..0ce4e86be 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,8 @@ "build": "aegir build", "release": "aegir release ", "release-minor": "aegir release --type minor ", - "release-major": "aegir release --type major " + "release-major": "aegir release --type major ", + "coverage": "npx nyc -r html npm run test:node -- --bail" }, "dependencies": { "async": "^2.6.1", From 990e80462a7e1357ec6f0c8a2294de60ca698558 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Thu, 14 Mar 2019 17:35:26 +0000 Subject: [PATCH 20/21] fix: update with iso-stream-http --- package.json | 18 ++++++++---------- src/files-mfs/ls-readable-stream.js | 2 +- src/files-regular/add-from-url.js | 4 ++-- src/utils/multipart.js | 2 +- src/utils/request-browser.js | 7 ------- src/utils/request.js | 12 ------------ src/utils/send-request.js | 4 ++-- test/get.spec.js | 2 +- 8 files changed, 15 insertions(+), 36 deletions(-) delete mode 100644 src/utils/request-browser.js delete mode 100644 src/utils/request.js diff --git a/package.json b/package.json index 0ce4e86be..2a4449e0a 100644 --- a/package.json +++ b/package.json @@ -7,9 +7,7 @@ "browser": { "glob": false, "fs": false, - "stream": "readable-stream", - "http": "stream-http", - "./src/utils/request.js": "./src/utils/request-browser.js" + "stream": "readable-stream" }, "scripts": { "test": "aegir test", @@ -38,15 +36,16 @@ "glob": "^7.1.3", "ipfs-block": "~0.8.0", "ipld-dag-cbor": "~0.13.1", - "ipld-dag-pb": "~0.15.0", - "is-ipfs": "~0.5.1", + "ipld-dag-pb": "~0.15.3", + "is-ipfs": "~0.6.0", "is-pull-stream": "0.0.0", "is-stream": "^1.1.0", + "iso-stream-http": "~0.1.1", "iso-url": "~0.4.6", "just-kebab-case": "^1.1.0", "just-map-keys": "^1.1.0", "lru-cache": "^5.1.1", - "multiaddr": "^6.0.5", + "multiaddr": "^6.0.6", "multibase": "~0.6.0", "multicodec": "~0.5.0", "multihashes": "~0.4.14", @@ -61,10 +60,9 @@ "pump": "^3.0.0", "qs": "^6.5.2", "readable-stream": "^3.1.1", - "stream-http": "hugomrdias/stream-http#develop", "stream-to-pull-stream": "^1.7.2", "tar-stream": "^2.0.1", - "through2": "^3.0.0" + "through2": "^3.0.1" }, "engines": { "node": ">=10.0.0", @@ -75,7 +73,7 @@ "url": "https://github.com/ipfs/js-ipfs-http-client" }, "devDependencies": { - "aegir": "^18.2.0", + "aegir": "^18.2.1", "browser-process-platform": "~0.1.1", "chai": "^4.2.0", "cross-env": "^5.2.0", @@ -179,4 +177,4 @@ "url": "https://github.com/ipfs/js-ipfs-http-client/issues" }, "homepage": "https://github.com/ipfs/js-ipfs-http-client" -} \ No newline at end of file +} diff --git a/src/files-mfs/ls-readable-stream.js b/src/files-mfs/ls-readable-stream.js index 2e0ea1a50..404893e70 100644 --- a/src/files-mfs/ls-readable-stream.js +++ b/src/files-mfs/ls-readable-stream.js @@ -3,7 +3,7 @@ const { Transform, PassThrough -} = require('stream') +} = require('readable-stream') const pump = require('pump') const ndjson = require('ndjson') const isStream = require('is-stream') diff --git a/src/files-regular/add-from-url.js b/src/files-regular/add-from-url.js index ec21537ab..f1065f2de 100644 --- a/src/files-regular/add-from-url.js +++ b/src/files-regular/add-from-url.js @@ -2,7 +2,7 @@ const promisify = require('promisify-es6') const { URL } = require('iso-url') -const request = require('../utils/request') +const { getRequest } = require('iso-stream-http') const SendOneFile = require('../utils/send-one-file-multiple-results') const FileResultStreamConverter = require('../utils/file-result-stream-converter') @@ -37,7 +37,7 @@ const validUrl = (url) => typeof url === 'string' && url.startsWith('http') const requestWithRedirect = (url, opts, sendOneFile, callback) => { const parsedUrl = new URL(url) - const req = request(parsedUrl.protocol)(url, (res) => { + const req = getRequest(parsedUrl, (res) => { if (res.statusCode >= 400) { return callback(new Error(`Failed to download with ${res.statusCode}`)) } diff --git a/src/utils/multipart.js b/src/utils/multipart.js index 37ed83128..22006c435 100644 --- a/src/utils/multipart.js +++ b/src/utils/multipart.js @@ -1,6 +1,6 @@ 'use strict' -const Transform = require('stream').Transform +const Transform = require('readable-stream').Transform const isNode = require('detect-node') const isSource = require('is-pull-stream').isSource const toStream = require('pull-to-stream') diff --git a/src/utils/request-browser.js b/src/utils/request-browser.js deleted file mode 100644 index cb91a9009..000000000 --- a/src/utils/request-browser.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict' - -const http = require('stream-http') - -module.exports = (protocol) => { - return http.request -} diff --git a/src/utils/request.js b/src/utils/request.js deleted file mode 100644 index d81edff7c..000000000 --- a/src/utils/request.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict' - -const http = require('http') -const https = require('https') - -module.exports = (protocol) => { - if (protocol.indexOf('https') === 0) { - return https.request - } - - return http.request -} diff --git a/src/utils/send-request.js b/src/utils/send-request.js index 16351bb39..219327adf 100644 --- a/src/utils/send-request.js +++ b/src/utils/send-request.js @@ -6,9 +6,9 @@ const isNode = require('detect-node') const ndjson = require('ndjson') const pump = require('pump') const once = require('once') +const { getRequest } = require('iso-stream-http') const streamToValue = require('./stream-to-value') const streamToJsonValue = require('./stream-to-json-value') -const request = require('./request') const log = require('debug')('ipfs-http-client:request') // -- Internal @@ -171,7 +171,7 @@ function requestAPI (config, options, callback) { protocol: `${config.protocol}:` } - const req = request(config.protocol)(reqOptions, onRes(options.buffer, callback)) + const req = getRequest(reqOptions, onRes(options.buffer, callback)) req.on('error', (err) => { callback(err) diff --git a/test/get.spec.js b/test/get.spec.js index c789ce971..2c5adb6d9 100644 --- a/test/get.spec.js +++ b/test/get.spec.js @@ -23,7 +23,7 @@ describe('.get (specific go-ipfs features)', function () { const smallFile = { cid: 'Qma4hjFTnCasJ8PVp3mZbZK5g2vGDT4LByLJ7m8ciyRFZP', - data: fixture('js/test/fixtures/testfile.txt') + data: fixture('test/fixtures/testfile.txt') } let ipfsd From 42ec7466a98625bc599ccd11a5737abcd1805be6 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Thu, 14 Mar 2019 17:41:41 +0000 Subject: [PATCH 21/21] chore: increase bundle size --- .aegir.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.aegir.js b/.aegir.js index dee1dc749..6effabad0 100644 --- a/.aegir.js +++ b/.aegir.js @@ -5,7 +5,7 @@ const createServer = require('ipfsd-ctl').createServer const server = createServer() module.exports = { - bundlesize: { maxSize: '225kB' }, + bundlesize: { maxSize: '231kB' }, webpack: { resolve: { mainFields: ['browser', 'main']