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']