From 873805f7290e826e733e56799e6f059e431fd6fa Mon Sep 17 00:00:00 2001 From: dignifiedquire Date: Thu, 4 Aug 2016 21:19:01 +0200 Subject: [PATCH 1/4] docs(examples): move to webpack --- examples/browser-add/index.js | 4 +++- examples/browser-add/package.json | 7 ++++--- examples/browser-add/webpack.config.js | 12 ++++++++++++ 3 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 examples/browser-add/webpack.config.js diff --git a/examples/browser-add/index.js b/examples/browser-add/index.js index 183956bd9..29661134f 100644 --- a/examples/browser-add/index.js +++ b/examples/browser-add/index.js @@ -31,4 +31,6 @@ function display (hash) { }) } -document.getElementById('store').onclick = store +document.addEventListener('DOMContentLoaded', () => { + document.getElementById('store').onclick = store +}) diff --git a/examples/browser-add/package.json b/examples/browser-add/package.json index a2c8dbcfb..4a81c7d86 100644 --- a/examples/browser-add/package.json +++ b/examples/browser-add/package.json @@ -4,15 +4,16 @@ "description": "", "main": "index.js", "scripts": { - "start": "browserify -t brfs index.js > bundle.js && http-server -a 127.0.0.1 -p 8888" + "start": "webpack index.js bundle.js && http-server -a 127.0.0.1 -p 8888" }, "keywords": [], "author": "Friedel Ziegelmayer", "license": "MIT", "devDependencies": { "brfs": "^1.4.3", - "browserify": "^13.0.1", "http-server": "^0.9.0", - "ipfs-api": "^6.0.3" + "ipfs-api": "^6.0.3", + "json-loader": "^0.5.4", + "webpack": "^2.1.0-beta.20" } } diff --git a/examples/browser-add/webpack.config.js b/examples/browser-add/webpack.config.js new file mode 100644 index 000000000..13a8fcb07 --- /dev/null +++ b/examples/browser-add/webpack.config.js @@ -0,0 +1,12 @@ +module.exports = { + module: { + loaders: [{ + test: /\.json/, + loader: 'json' + }], + preLoaders: [{ + test: /\.js$/, + loader: 'transform?brfs' + }] + } +} From 0e66a1937ecc37a38e8e387318618629cf7e0931 Mon Sep 17 00:00:00 2001 From: dignifiedquire Date: Thu, 4 Aug 2016 21:26:49 +0200 Subject: [PATCH 2/4] add missing dep --- examples/browser-add/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/browser-add/package.json b/examples/browser-add/package.json index 4a81c7d86..b542c0778 100644 --- a/examples/browser-add/package.json +++ b/examples/browser-add/package.json @@ -14,6 +14,7 @@ "http-server": "^0.9.0", "ipfs-api": "^6.0.3", "json-loader": "^0.5.4", + "transform-loader": "^0.2.3", "webpack": "^2.1.0-beta.20" } } From ed096a59c3b3c9cf982efc4bd843f06cbbc9ce37 Mon Sep 17 00:00:00 2001 From: dignifiedquire Date: Thu, 4 Aug 2016 21:40:16 +0200 Subject: [PATCH 3/4] fix linting --- examples/browser-add/index.js | 4 ++-- examples/browser-add/webpack.config.js | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/examples/browser-add/index.js b/examples/browser-add/index.js index 29661134f..9484314b0 100644 --- a/examples/browser-add/index.js +++ b/examples/browser-add/index.js @@ -11,8 +11,8 @@ function store () { } res.forEach(function (file) { - console.log('successfully stored', file.Hash) - display(file.Hash) + console.log('successfully stored', file) + display(file.path) }) }) } diff --git a/examples/browser-add/webpack.config.js b/examples/browser-add/webpack.config.js index 13a8fcb07..135e35980 100644 --- a/examples/browser-add/webpack.config.js +++ b/examples/browser-add/webpack.config.js @@ -1,3 +1,5 @@ +'use strict' + module.exports = { module: { loaders: [{ From ca358ce771d287d3a7cc36d621be60596f404009 Mon Sep 17 00:00:00 2001 From: nycoliver Date: Wed, 7 Sep 2016 21:40:14 -0400 Subject: [PATCH 4/4] add browser-add-file example --- examples/browser-add-file/README.md | 18 ++++++++++ examples/browser-add-file/index.html | 28 +++++++++++++++ examples/browser-add-file/index.js | 50 ++++++++++++++++++++++++++ examples/browser-add-file/package.json | 16 +++++++++ 4 files changed, 112 insertions(+) create mode 100644 examples/browser-add-file/README.md create mode 100644 examples/browser-add-file/index.html create mode 100644 examples/browser-add-file/index.js create mode 100644 examples/browser-add-file/package.json diff --git a/examples/browser-add-file/README.md b/examples/browser-add-file/README.md new file mode 100644 index 000000000..c052a5723 --- /dev/null +++ b/examples/browser-add-file/README.md @@ -0,0 +1,18 @@ +# JS IPFS API - Example Browser - Add + +## Setup + +Install [go-ipfs](https://ipfs.io/docs/install/) and run it + +```bash +$ ipfs daemon +``` + +then in this folder run + +```bash +$ npm install +$ npm start +``` + +and open your browser at `http://localhost:8888` diff --git a/examples/browser-add-file/index.html b/examples/browser-add-file/index.html new file mode 100644 index 000000000..bf1910ee8 --- /dev/null +++ b/examples/browser-add-file/index.html @@ -0,0 +1,28 @@ + + + + + JS IPFS API - Example - Browser - Add + + + + + +
+

Add text - works

+ + +
+
+

Add buffer - does not work

+ + +
+
+

Response from ipfs - stream res unhandled

+
[ipfs hash]
+
[ipfs content]
+
+ + diff --git a/examples/browser-add-file/index.js b/examples/browser-add-file/index.js new file mode 100644 index 000000000..100a9ca76 --- /dev/null +++ b/examples/browser-add-file/index.js @@ -0,0 +1,50 @@ +/* globals FileReader */ +'use strict' + +var ipfs = window.IpfsApi() + +function storeText () { + store(document.getElementById('source').value) +} + +function storeFile () { + const file = document.getElementById('filePicker').files[0] + const reader = new FileReader() + reader.onload = function () { + store(reader.result) + } + reader.readAsArrayBuffer(file) +} + +// from examples/browser-add +function store (toStore) { + ipfs.add(new window.buffer.Buffer(toStore), function (err, res) { + if (err || !res) { + return console.error('ipfs add error', err, res) + } + + res.forEach(function (file) { + console.log('successfully stored', file) + display(file.path) + }) + }) +} + +function display (hash) { + ipfs.cat(hash, function (err, res) { + if (err || !res) { + return console.error('ipfs cat error', err, res) + } + if (res.readable) { + console.error('unhandled: cat result is a pipe', res) + } else { + document.getElementById('hash').innerText = hash + document.getElementById('content').innerText = res + } + }) +} + +document.addEventListener('DOMContentLoaded', function () { + document.getElementById('storeText').onclick = storeText + document.getElementById('storeBuffer').onclick = storeFile +}) diff --git a/examples/browser-add-file/package.json b/examples/browser-add-file/package.json new file mode 100644 index 000000000..56dd07187 --- /dev/null +++ b/examples/browser-add-file/package.json @@ -0,0 +1,16 @@ +{ + "name": "ipfs-api-example-browser-add-file", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "http-server -a 127.0.0.1 -p 8888" + }, + "keywords": [], + "author": "nycoliver", + "license": "MIT", + "devDependencies": { + "http-server": "^0.9.0", + "ipfs-api": "^6.0.3" + } +}