From 0a0d0aeb0db5595e9f734263eec777fa697f0f10 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Wed, 24 Apr 2019 10:39:16 +0100 Subject: [PATCH 1/7] feat: add file dom api support to files api --- examples/upload-file-via-browser/.eslintrc | 11 ----- examples/upload-file-via-browser/package.json | 24 ++++++++--- examples/upload-file-via-browser/server.js | 13 ------ examples/upload-file-via-browser/src/App.js | 18 ++++---- .../upload-file-via-browser/webpack.config.js | 9 +--- package.json | 4 +- src/files-regular/add.js | 4 +- src/utils/prepare-file.js | 41 +++++++++++++++++++ 8 files changed, 73 insertions(+), 51 deletions(-) delete mode 100644 examples/upload-file-via-browser/.eslintrc delete mode 100644 examples/upload-file-via-browser/server.js diff --git a/examples/upload-file-via-browser/.eslintrc b/examples/upload-file-via-browser/.eslintrc deleted file mode 100644 index 676feeeb1..000000000 --- a/examples/upload-file-via-browser/.eslintrc +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "standard", - "rules": { - "react/jsx-uses-react": 2, - "react/jsx-uses-vars": 2, - "react/react-in-jsx-scope": 2 - }, - "plugins": [ - "react" - ] -} diff --git a/examples/upload-file-via-browser/package.json b/examples/upload-file-via-browser/package.json index d5e1fad68..08f911293 100644 --- a/examples/upload-file-via-browser/package.json +++ b/examples/upload-file-via-browser/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "description": "Upload file to IPFS via browser using js-ipfs-http-client with Webpack", "scripts": { - "start": "node server.js" + "start": "webpack-dev-server" }, "author": "Harlan T Wood ", "contributors": [ @@ -12,12 +12,26 @@ "license": "MIT", "devDependencies": { "@babel/core": "^7.4.3", + "@babel/preset-env": "^7.3.1", + "@babel/preset-react": "^7.0.0", + "eslint": "^5.16.0", + "eslint-plugin-react": "^7.11.1", "ipfs-http-client": "../../", "pull-file-reader": "~1.0.2", - "react": "~16.8.6", - "react-dom": "~16.8.6", - "react-hot-loader": "~4.8.4", - "webpack": "~4.31.0", + "react": "~16.6.3", + "react-dom": "~16.6.3", + "webpack": "~4.30.0", "webpack-dev-server": "~3.3.1" + }, + "eslintConfig" : { + "extends": "standard", + "rules": { + "react/jsx-uses-react": 2, + "react/jsx-uses-vars": 2, + "react/react-in-jsx-scope": 2 + }, + "plugins": [ + "react" + ] } } diff --git a/examples/upload-file-via-browser/server.js b/examples/upload-file-via-browser/server.js deleted file mode 100644 index 6b476dcb0..000000000 --- a/examples/upload-file-via-browser/server.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict' -let webpack = require('webpack') -let WebpackDevServer = require('webpack-dev-server') -let config = require('./webpack.config') - -new WebpackDevServer(webpack(config), { - publicPath: config.output.publicPath, - hot: true, - historyApiFallback: true -}).listen(3000, 'localhost', function (err) { - if (err) throw new Error(err) - console.log('Listening at localhost:3000') -}) diff --git a/examples/upload-file-via-browser/src/App.js b/examples/upload-file-via-browser/src/App.js index 77f5b43d2..bf1c04b55 100644 --- a/examples/upload-file-via-browser/src/App.js +++ b/examples/upload-file-via-browser/src/App.js @@ -1,6 +1,6 @@ 'use strict' const React = require('react') -const ipfsClient = require('ipfs-http-client') +const ipfsClient = require('../../../src') // create a stream from a file, which enables uploads of big files without allocating memory twice const fileReaderPullStream = require('pull-file-reader') @@ -11,7 +11,7 @@ class App extends React.Component { this.state = { added_file_hash: null } - this.ipfs = ipfsClient('localhost', '5001') + this.ipfs = ipfsClient('localhost', '50895') // bind methods this.captureFile = this.captureFile.bind(this) @@ -22,25 +22,23 @@ class App extends React.Component { captureFile (event) { event.stopPropagation() event.preventDefault() - const file = event.target.files[0] if (document.getElementById('keepFilename').checked) { - this.saveToIpfsWithFilename(file) + this.saveToIpfsWithFilename(event.target.files) } else { - this.saveToIpfs(file) + this.saveToIpfs(event.target.files) } } // Example #1 // Add file to IPFS and return a CID - saveToIpfs (file) { + saveToIpfs (files) { let ipfsId - const fileStream = fileReaderPullStream(file) - this.ipfs.add(fileStream, { progress: (prog) => console.log(`received: ${prog}`) }) + this.ipfs.add([...files][0], { progress: (prog) => console.log(`received: ${prog}`) }) .then((response) => { console.log(response) ipfsId = response[0].hash console.log(ipfsId) - this.setState({added_file_hash: ipfsId}) + this.setState({ added_file_hash: ipfsId }) }).catch((err) => { console.error(err) }) @@ -65,7 +63,7 @@ class App extends React.Component { // CID of wrapping directory is returned last ipfsId = response[response.length - 1].hash console.log(ipfsId) - this.setState({added_file_hash: ipfsId}) + this.setState({ added_file_hash: ipfsId }) }).catch((err) => { console.error(err) }) diff --git a/examples/upload-file-via-browser/webpack.config.js b/examples/upload-file-via-browser/webpack.config.js index 6dfc86d24..c28ec1168 100644 --- a/examples/upload-file-via-browser/webpack.config.js +++ b/examples/upload-file-via-browser/webpack.config.js @@ -1,14 +1,11 @@ 'use strict' const path = require('path') -const webpack = require('webpack') module.exports = { mode: 'development', devtool: 'eval', entry: [ - 'webpack-dev-server/client?http://localhost:3000', - 'webpack/hot/only-dev-server', './src/index' ], output: { @@ -16,9 +13,6 @@ module.exports = { filename: 'bundle.js', publicPath: '/static/' }, - plugins: [ - new webpack.HotModuleReplacementPlugin() - ], module: { rules: [ { @@ -28,8 +22,7 @@ module.exports = { { loader: 'babel-loader', options: { - presets: ['@babel/preset-env', '@babel/preset-react'], - plugins: ['react-hot-loader/babel'] + presets: ['@babel/preset-env', '@babel/preset-react'] } } ] diff --git a/package.json b/package.json index 43879e244..1d514fa7b 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,7 @@ "iso-url": "~0.4.6", "just-kebab-case": "^1.1.0", "just-map-keys": "^1.1.0", + "kind-of": "^6.0.2", "lru-cache": "^5.1.1", "multiaddr": "^6.0.6", "multibase": "~0.6.0", @@ -83,9 +84,8 @@ "chai": "^4.2.0", "cross-env": "^5.2.0", "dirty-chai": "^2.0.1", - "eslint-plugin-react": "^7.11.1", "go-ipfs-dep": "0.4.19", - "interface-ipfs-core": "~0.101.1", + "interface-ipfs-core": "~0.102.0", "ipfsd-ctl": "~0.42.0", "nock": "^10.0.2", "stream-equal": "^1.1.1" diff --git a/src/files-regular/add.js b/src/files-regular/add.js index c5506b48b..bcf0344e6 100644 --- a/src/files-regular/add.js +++ b/src/files-regular/add.js @@ -2,6 +2,7 @@ const promisify = require('promisify-es6') const ConcatStream = require('concat-stream') +const kindOf = require('kind-of') const once = require('once') const isStream = require('is-stream') const isSource = require('is-pull-stream').isSource @@ -16,7 +17,6 @@ module.exports = (send) => { _callback = options options = null } - const callback = once(_callback) if (!options) { @@ -35,7 +35,7 @@ module.exports = (send) => { return Boolean(obj.path) && typeof obj.path === 'string' } // An input atom: a buffer, stream or content object - const isInput = obj => isBufferOrStream(obj) || isContentObject(obj) + const isInput = obj => isBufferOrStream(obj) || isContentObject(obj) || kindOf(_files) === 'file' // All is ok if data isInput or data is an array of isInput const ok = isInput(_files) || (Array.isArray(_files) && _files.every(isInput)) diff --git a/src/utils/prepare-file.js b/src/utils/prepare-file.js index 738c4a4c0..87733ff3d 100644 --- a/src/utils/prepare-file.js +++ b/src/utils/prepare-file.js @@ -2,7 +2,11 @@ const isNode = require('detect-node') const flatmap = require('flatmap') +const { Readable } = require('stream') +const kindOf = require('kind-of') +// eslint-disable-next-line no-undef +const supportsFileReader = FileReader in self function loadPaths (opts, file) { const path = require('path') const fs = require('fs') @@ -73,6 +77,34 @@ function loadPaths (opts, file) { } } +function streamFromFileReader (file) { + class FileStream extends Readable { + constructor (file, options = {}) { + super(options) + this.offset = 0 + this.chunkSize = 1024 * 1024 + this.fileReader = new self.FileReader(file) + this.fileReader.onloadend = (event) => { + const data = event.target.result + if (data.byteLength === 0) { + this.push(null) + } + this.push(new Uint8Array(data)) + } + this.fileReader.onerror = (err) => this.emit('error', err) + } + + _read (size) { + const end = this.offset + this.chunkSize + const slice = file.slice(this.offset, end) + this.fileReader.readAsArrayBuffer(slice) + this.offset = end + } + } + + return new FileStream(file) +} + function prepareFile (file, opts) { let files = [].concat(file) @@ -94,6 +126,15 @@ function prepareFile (file, opts) { return file } + if (supportsFileReader && kindOf(file) === 'file') { + return { + path: '', + symlink: false, + dir: false, + content: streamFromFileReader(file, opts) + } + } + return { path: '', symlink: false, From cc02a9a365321b7090581c36bcded1dcd466508a Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Thu, 2 May 2019 11:47:22 +0100 Subject: [PATCH 2/7] feat: add support for File DOM API to files-regular --- examples/upload-file-via-browser/.gitignore | 1 + examples/upload-file-via-browser/package.json | 2 - examples/upload-file-via-browser/src/App.js | 13 ++- package.json | 2 + src/files-regular/add.js | 26 ++---- src/utils/multipart.js | 5 -- src/utils/prepare-file.js | 84 ++++++++++--------- 7 files changed, 59 insertions(+), 74 deletions(-) diff --git a/examples/upload-file-via-browser/.gitignore b/examples/upload-file-via-browser/.gitignore index 44b50488c..c089921a3 100644 --- a/examples/upload-file-via-browser/.gitignore +++ b/examples/upload-file-via-browser/.gitignore @@ -2,3 +2,4 @@ node_modules npm-debug.log .DS_Store dist +yarn.lock \ No newline at end of file diff --git a/examples/upload-file-via-browser/package.json b/examples/upload-file-via-browser/package.json index 08f911293..8827052ca 100644 --- a/examples/upload-file-via-browser/package.json +++ b/examples/upload-file-via-browser/package.json @@ -16,8 +16,6 @@ "@babel/preset-react": "^7.0.0", "eslint": "^5.16.0", "eslint-plugin-react": "^7.11.1", - "ipfs-http-client": "../../", - "pull-file-reader": "~1.0.2", "react": "~16.6.3", "react-dom": "~16.6.3", "webpack": "~4.30.0", diff --git a/examples/upload-file-via-browser/src/App.js b/examples/upload-file-via-browser/src/App.js index bf1c04b55..258dc53ed 100644 --- a/examples/upload-file-via-browser/src/App.js +++ b/examples/upload-file-via-browser/src/App.js @@ -2,16 +2,13 @@ const React = require('react') const ipfsClient = require('../../../src') -// create a stream from a file, which enables uploads of big files without allocating memory twice -const fileReaderPullStream = require('pull-file-reader') - class App extends React.Component { constructor () { super() this.state = { added_file_hash: null } - this.ipfs = ipfsClient('localhost', '50895') + this.ipfs = ipfsClient('localhost', '58041') // bind methods this.captureFile = this.captureFile.bind(this) @@ -33,7 +30,7 @@ class App extends React.Component { // Add file to IPFS and return a CID saveToIpfs (files) { let ipfsId - this.ipfs.add([...files][0], { progress: (prog) => console.log(`received: ${prog}`) }) + this.ipfs.add([...files], { progress: (prog) => console.log(`received: ${prog}`) }) .then((response) => { console.log(response) ipfsId = response[0].hash @@ -46,12 +43,12 @@ class App extends React.Component { // Example #2 // Add file to IPFS and wrap it in a directory to keep the original filename - saveToIpfsWithFilename (file) { + saveToIpfsWithFilename (files) { + const file = [...files][0] let ipfsId - const fileStream = fileReaderPullStream(file) const fileDetails = { path: file.name, - content: fileStream + content: file } const options = { wrapWithDirectory: true, diff --git a/package.json b/package.json index 1d514fa7b..af5163d6a 100644 --- a/package.json +++ b/package.json @@ -39,9 +39,11 @@ "err-code": "^1.1.2", "flatmap": "0.0.3", "glob": "^7.1.3", + "ipfs": "^0.35.0", "ipfs-block": "~0.8.0", "ipld-dag-cbor": "~0.13.1", "ipld-dag-pb": "~0.15.3", + "ipfs-utils": "github:hugomrdias/js-ipfs-utils#master", "is-ipfs": "~0.6.0", "is-pull-stream": "0.0.0", "is-stream": "^2.0.0", diff --git a/src/files-regular/add.js b/src/files-regular/add.js index bcf0344e6..cb5898265 100644 --- a/src/files-regular/add.js +++ b/src/files-regular/add.js @@ -2,12 +2,11 @@ const promisify = require('promisify-es6') const ConcatStream = require('concat-stream') -const kindOf = require('kind-of') const once = require('once') -const isStream = require('is-stream') -const isSource = require('is-pull-stream').isSource +const { isSource } = require('is-pull-stream') const FileResultStreamConverter = require('../utils/file-result-stream-converter') const SendFilesStream = require('../utils/send-files-stream') +const validateAddInput = require('ipfs-utils/src/files/add-input-validation') module.exports = (send) => { const createAddStream = SendFilesStream(send, 'add') @@ -24,23 +23,10 @@ module.exports = (send) => { } options.converter = FileResultStreamConverter - // Buffer, pull stream or Node.js stream - const isBufferOrStream = obj => Buffer.isBuffer(obj) || isStream.readable(obj) || isSource(obj) - // An object like { content?, path? }, where content isBufferOrStream and path isString - const isContentObject = obj => { - if (typeof obj !== 'object') return false - // 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) && typeof obj.path === 'string' - } - // An input atom: a buffer, stream or content object - const isInput = obj => isBufferOrStream(obj) || isContentObject(obj) || kindOf(_files) === 'file' - // All is ok if data isInput or data is an array of isInput - const ok = isInput(_files) || (Array.isArray(_files) && _files.every(isInput)) - - if (!ok) { - return callback(new Error('invalid input: expected buffer, readable stream, pull stream, object or array of objects')) + try { + validateAddInput(_files) + } catch (err) { + return callback(err) } const files = [].concat(_files) diff --git a/src/utils/multipart.js b/src/utils/multipart.js index 22006c435..d26dc9ce9 100644 --- a/src/utils/multipart.js +++ b/src/utils/multipart.js @@ -77,12 +77,7 @@ class Multipart extends Transform { return callback() // early } - if (isSource(content)) { - content = toStream.readable(content) - } - // From now on we assume content is a stream - content.once('error', this.emit.bind(this, 'error')) content.once('end', () => { diff --git a/src/utils/prepare-file.js b/src/utils/prepare-file.js index 87733ff3d..1ffe3f31c 100644 --- a/src/utils/prepare-file.js +++ b/src/utils/prepare-file.js @@ -2,11 +2,14 @@ const isNode = require('detect-node') const flatmap = require('flatmap') -const { Readable } = require('stream') +const { Readable } = require('readable-stream') const kindOf = require('kind-of') +const { isSource } = require('is-pull-stream') +const isStream = require('is-stream') +const pullToStream = require('pull-to-stream') +const { supportsFileReader } = require('ipfs-utils/src/supports') +const streamFromFileReader = require('ipfs-utils/src/streams/stream-from-filereader') -// eslint-disable-next-line no-undef -const supportsFileReader = FileReader in self function loadPaths (opts, file) { const path = require('path') const fs = require('fs') @@ -77,38 +80,36 @@ function loadPaths (opts, file) { } } -function streamFromFileReader (file) { - class FileStream extends Readable { - constructor (file, options = {}) { - super(options) - this.offset = 0 - this.chunkSize = 1024 * 1024 - this.fileReader = new self.FileReader(file) - this.fileReader.onloadend = (event) => { - const data = event.target.result - if (data.byteLength === 0) { - this.push(null) - } - this.push(new Uint8Array(data)) +function contentToStream (content) { + if (supportsFileReader && kindOf(content) === 'file') { + return streamFromFileReader(content) + } + + if (kindOf(content) === 'buffer') { + return new Readable({ + read () { + this.push(content) + this.push(null) } - this.fileReader.onerror = (err) => this.emit('error', err) - } + }) + } - _read (size) { - const end = this.offset + this.chunkSize - const slice = file.slice(this.offset, end) - this.fileReader.readAsArrayBuffer(slice) - this.offset = end - } + if (isSource(content)) { + return pullToStream.readable(content) } - return new FileStream(file) + if (isStream.readable(content)) { + return content + } + + throw new Error(`Input not supported. Expected Buffer|ReadableStream|PullStream|File got ${kindOf(content)}. Check the documentation for more info https://github.com/ipfs/interface-js-ipfs-core/blob/master/SPEC/FILES.md#add`) } function prepareFile (file, opts) { let files = [].concat(file) return flatmap(files, (file) => { + // add from fs with file path if (typeof file === 'string') { if (!isNode) { throw new Error('Can only add file paths in node') @@ -117,21 +118,26 @@ function prepareFile (file, opts) { return loadPaths(opts, file) } - if (file.path && !file.content) { - file.dir = true - return file - } + // add with object syntax { path : , content: Date: Thu, 2 May 2019 15:20:42 +0100 Subject: [PATCH 3/7] chore: fix package declaration cause npm is dumb --- package.json | 3 +-- src/files-regular/add.js | 2 +- src/utils/prepare-file.js | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index af5163d6a..e81cde284 100644 --- a/package.json +++ b/package.json @@ -39,16 +39,15 @@ "err-code": "^1.1.2", "flatmap": "0.0.3", "glob": "^7.1.3", - "ipfs": "^0.35.0", "ipfs-block": "~0.8.0", "ipld-dag-cbor": "~0.13.1", "ipld-dag-pb": "~0.15.3", - "ipfs-utils": "github:hugomrdias/js-ipfs-utils#master", "is-ipfs": "~0.6.0", "is-pull-stream": "0.0.0", "is-stream": "^2.0.0", "iso-stream-http": "~0.1.2", "iso-url": "~0.4.6", + "js-ipfs-utils": "hugomrdias/js-ipfs-utils", "just-kebab-case": "^1.1.0", "just-map-keys": "^1.1.0", "kind-of": "^6.0.2", diff --git a/src/files-regular/add.js b/src/files-regular/add.js index cb5898265..940e9a8d6 100644 --- a/src/files-regular/add.js +++ b/src/files-regular/add.js @@ -6,7 +6,7 @@ const once = require('once') const { isSource } = require('is-pull-stream') const FileResultStreamConverter = require('../utils/file-result-stream-converter') const SendFilesStream = require('../utils/send-files-stream') -const validateAddInput = require('ipfs-utils/src/files/add-input-validation') +const validateAddInput = require('js-ipfs-utils/src/files/add-input-validation') module.exports = (send) => { const createAddStream = SendFilesStream(send, 'add') diff --git a/src/utils/prepare-file.js b/src/utils/prepare-file.js index 1ffe3f31c..2ac686a2a 100644 --- a/src/utils/prepare-file.js +++ b/src/utils/prepare-file.js @@ -7,8 +7,8 @@ const kindOf = require('kind-of') const { isSource } = require('is-pull-stream') const isStream = require('is-stream') const pullToStream = require('pull-to-stream') -const { supportsFileReader } = require('ipfs-utils/src/supports') -const streamFromFileReader = require('ipfs-utils/src/streams/stream-from-filereader') +const { supportsFileReader } = require('js-ipfs-utils/src/supports') +const streamFromFileReader = require('js-ipfs-utils/src/streams/stream-from-filereader') function loadPaths (opts, file) { const path = require('path') From af45c322985619e2100fa2cb686203da3c50922e Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Thu, 2 May 2019 15:40:56 +0100 Subject: [PATCH 4/7] chore: fix lint --- src/utils/multipart.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/utils/multipart.js b/src/utils/multipart.js index d26dc9ce9..a6df61fd4 100644 --- a/src/utils/multipart.js +++ b/src/utils/multipart.js @@ -2,8 +2,6 @@ const Transform = require('readable-stream').Transform const isNode = require('detect-node') -const isSource = require('is-pull-stream').isSource -const toStream = require('pull-to-stream') const PADDING = '--' const NEW_LINE = '\r\n' From 7fde80a346feaa3c1a978fc21efc66f489c96a0a Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Thu, 16 May 2019 17:02:31 +0200 Subject: [PATCH 5/7] chore: add ipfs-utils --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e81cde284..5296c01ea 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "is-stream": "^2.0.0", "iso-stream-http": "~0.1.2", "iso-url": "~0.4.6", - "js-ipfs-utils": "hugomrdias/js-ipfs-utils", + "ipfs-utils": "~0.0.3", "just-kebab-case": "^1.1.0", "just-map-keys": "^1.1.0", "kind-of": "^6.0.2", From 35c13f724d3733afc5da69ea0725589e1941628c Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Thu, 16 May 2019 18:16:48 +0200 Subject: [PATCH 6/7] fix: change the requires to ipfs-utils --- src/files-regular/add.js | 2 +- src/utils/prepare-file.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/files-regular/add.js b/src/files-regular/add.js index 940e9a8d6..cb5898265 100644 --- a/src/files-regular/add.js +++ b/src/files-regular/add.js @@ -6,7 +6,7 @@ const once = require('once') const { isSource } = require('is-pull-stream') const FileResultStreamConverter = require('../utils/file-result-stream-converter') const SendFilesStream = require('../utils/send-files-stream') -const validateAddInput = require('js-ipfs-utils/src/files/add-input-validation') +const validateAddInput = require('ipfs-utils/src/files/add-input-validation') module.exports = (send) => { const createAddStream = SendFilesStream(send, 'add') diff --git a/src/utils/prepare-file.js b/src/utils/prepare-file.js index 2ac686a2a..1ffe3f31c 100644 --- a/src/utils/prepare-file.js +++ b/src/utils/prepare-file.js @@ -7,8 +7,8 @@ const kindOf = require('kind-of') const { isSource } = require('is-pull-stream') const isStream = require('is-stream') const pullToStream = require('pull-to-stream') -const { supportsFileReader } = require('js-ipfs-utils/src/supports') -const streamFromFileReader = require('js-ipfs-utils/src/streams/stream-from-filereader') +const { supportsFileReader } = require('ipfs-utils/src/supports') +const streamFromFileReader = require('ipfs-utils/src/streams/stream-from-filereader') function loadPaths (opts, file) { const path = require('path') From fe012ecf5edc40eeaf690c29a57c17ba544a0829 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Thu, 16 May 2019 19:25:53 +0200 Subject: [PATCH 7/7] chore: increase max bundle size --- .aegir.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.aegir.js b/.aegir.js index 6effabad0..fe08c25af 100644 --- a/.aegir.js +++ b/.aegir.js @@ -5,7 +5,7 @@ const createServer = require('ipfsd-ctl').createServer const server = createServer() module.exports = { - bundlesize: { maxSize: '231kB' }, + bundlesize: { maxSize: '232kB' }, webpack: { resolve: { mainFields: ['browser', 'main']