Skip to content
This repository was archived by the owner on Aug 12, 2020. It is now read-only.

Commit 7563ae8

Browse files
dignifiedquiredaviddias
authored andcommitted
Async Crypto Endeavour (#82)
* more fixes for merkledag changes * fix some more tests * next aegir * ready for the next level * ready * chore: update deps
1 parent 8721317 commit 7563ae8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+71
-57
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,3 @@ build/Release
3030
node_modules
3131

3232
dist
33-
lib

.travis.yml

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
sudo: false
22
language: node_js
3-
node_js:
4-
- 4
5-
- 5
6-
- stable
3+
4+
matrix:
5+
include:
6+
- node_js: 4
7+
env: CXX=g++-4.8
8+
- node_js: 6
9+
env:
10+
- SAUCE=true
11+
- CXX=g++-4.8
12+
- node_js: stable
13+
env: CXX=g++-4.8
714

815
# Make sure we have new NPM.
916
before_install:
@@ -14,12 +21,17 @@ script:
1421
- npm test
1522
- npm run coverage
1623

17-
addons:
18-
firefox: 'latest'
19-
2024
before_script:
2125
- export DISPLAY=:99.0
2226
- sh -e /etc/init.d/xvfb start
2327

2428
after_success:
2529
- npm run coverage-publish
30+
31+
addons:
32+
firefox: 'latest'
33+
apt:
34+
sources:
35+
- ubuntu-toolchain-r-test
36+
packages:
37+
- g++-4.8

README.md

Lines changed: 6 additions & 2 deletions

package.json

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,19 @@
22
"name": "ipfs-unixfs-engine",
33
"version": "0.12.0",
44
"description": "JavaScript implementation of the unixfs Engine used by IPFS",
5-
"main": "lib/index.js",
6-
"jsnext:main": "src/index.js",
5+
"main": "src/index.js",
6+
"browser": {
7+
"fs": false
8+
},
79
"scripts": {
810
"lint": "aegir-lint",
911
"build": "aegir-build",
10-
"test": "PHANTOM=off aegir-test",
12+
"test": "aegir-test",
1113
"test:node": "aegir-test --env node",
12-
"test:browser": "PHANTOM=off aegir-test --env browser",
13-
"release": "PHANTOM=off aegir-release",
14-
"release-minor": "PHANTOM=off aegir-release --type minor",
15-
"release-major": "PHANTOM=off aegir-release --type major",
14+
"test:browser": "aegir-test --env browser",
15+
"release": "aegir-release",
16+
"release-minor": "aegir-release --type minor",
17+
"release-major": "aegir-release --type major",
1618
"coverage": "aegir-coverage",
1719
"coverage-publish": "aegir-coverage publish"
1820
},
@@ -32,36 +34,37 @@
3234
"bugs": {
3335
"url": "https://github.com/ipfs/js-ipfs-unixfs-engine/issues"
3436
},
35-
"homepage": "https://github.com/ipfs/js-ipfs-unixfs-engineg#readme",
37+
"engines": {
38+
"node": ">=4.0.0"
39+
},
40+
"homepage": "https://github.com/ipfs/js-ipfs-unixfs-engine#readme",
3641
"devDependencies": {
37-
"aegir": "^8.1.2",
42+
"aegir": "^9.1.0",
3843
"buffer-loader": "0.0.1",
3944
"chai": "^3.5.0",
4045
"fs-pull-blob-store": "^0.4.1",
4146
"idb-pull-blob-store": "^0.5.1",
4247
"ipfs-block-service": "^0.6.0",
43-
"ipfs-repo": "^0.10.0",
48+
"ipfs-repo": "^0.11.0",
4449
"ncp": "^2.0.0",
4550
"pre-commit": "^1.1.3",
4651
"pull-zip": "^2.0.1",
47-
"raw-loader": "^0.5.1",
48-
"rimraf": "^2.5.4",
49-
"run-series": "^1.1.4"
52+
"rimraf": "^2.5.4"
5053
},
5154
"dependencies": {
55+
"async": "^2.1.2",
5256
"cids": "^0.2.0",
53-
"ipfs-unixfs": "^0.1.4",
54-
"ipld-dag-pb": "^0.1.3",
55-
"ipld-resolver": "^0.1.1",
57+
"ipfs-unixfs": "^0.1.5",
58+
"ipld-dag-pb": "^0.8.0",
59+
"ipld-resolver": "^0.2.0",
5660
"is-ipfs": "^0.2.1",
5761
"multihashes": "^0.2.2",
5862
"pull-block": "^1.0.2",
5963
"pull-paramap": "^1.2.0",
6064
"pull-pushable": "^2.0.1",
61-
"pull-stream": "^3.4.5",
65+
"pull-stream": "^3.5.0",
6266
"pull-traverse": "^1.0.3",
63-
"pull-write": "^1.1.1",
64-
"run-parallel": "^1.1.6"
67+
"pull-write": "^1.1.1"
6568
},
6669
"contributors": [
6770
"David Dias <daviddias.p@gmail.com>",
@@ -73,4 +76,4 @@
7376
"jbenet <juan@benet.ai>",
7477
"nginnever <ginneversource@gmail.com>"
7578
]
76-
}
79+
}

src/exporter/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const traverse = require('pull-traverse')
44
const pull = require('pull-stream')
55
const CID = require('cids')
6+
const isIPFS = require('is-ipfs')
67

78
const util = require('./../util')
89
const switchType = util.switchType
@@ -12,6 +13,10 @@ const dirExporter = require('./dir')
1213
const fileExporter = require('./file')
1314

1415
module.exports = (hash, ipldResolver, options) => {
16+
if (!isIPFS.multihash(hash)) {
17+
return pull.error(new Error('not valid multihash'))
18+
}
19+
1520
hash = cleanMultihash(hash)
1621
options = options || {}
1722

src/importer/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const assert = require('assert')
55
const pull = require('pull-stream')
66
const pullPushable = require('pull-pushable')
77
const pullWrite = require('pull-write')
8-
const parallel = require('run-parallel')
8+
const parallel = require('async/parallel')
99
const dagPB = require('ipld-dag-pb')
1010
const CID = require('cids')
1111

src/util.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,23 @@
33
const UnixFS = require('ipfs-unixfs')
44
const pull = require('pull-stream')
55
const mh = require('multihashes')
6-
const isIPFS = require('is-ipfs')
76

87
exports.switchType = (node, dirHandler, fileHandler) => {
98
const data = UnixFS.unmarshal(node.data)
109
const type = data.type
1110

12-
if (type === 'directory') return dirHandler()
13-
if (type === 'file') return fileHandler()
11+
if (type === 'directory') {
12+
return dirHandler()
13+
}
14+
15+
if (type === 'file') {
16+
return fileHandler()
17+
}
1418

1519
return pull.error(new Error('Unkown node type'))
1620
}
1721

1822
exports.cleanMultihash = (multihash) => {
19-
if (!isIPFS.multihash(multihash)) {
20-
throw new Error('not valid multihash')
21-
}
22-
2323
if (Buffer.isBuffer(multihash)) {
2424
return mh.toB58String(multihash)
2525
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

test/node.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const path = require('path')
77
const IPFSRepo = require('ipfs-repo')
88
const Store = require('fs-pull-blob-store')
99
const mkdirp = require('mkdirp')
10-
const series = require('run-series')
10+
const series = require('async/series')
1111

1212
describe('core', () => {
1313
const repoExample = path.join(process.cwd(), '/test/repo-example')

test/test-exporter.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,21 @@ const expect = require('chai').expect
55
const BlockService = require('ipfs-block-service')
66
const IPLDResolver = require('ipld-resolver')
77
const UnixFS = require('ipfs-unixfs')
8-
const fs = require('fs')
9-
const path = require('path')
108
const bs58 = require('bs58')
119
const pull = require('pull-stream')
1210
const zip = require('pull-zip')
1311
const CID = require('cids')
12+
const loadFixture = require('aegir/fixtures')
1413

1514
const unixFSEngine = require('./../src')
1615
const exporter = unixFSEngine.exporter
1716

17+
const bigFile = loadFixture(__dirname, 'fixtures/1.2MiB.txt')
18+
1819
module.exports = (repo) => {
1920
describe('exporter', () => {
2021
let ipldResolver
2122

22-
const bigFile = fs.readFileSync(path.join(__dirname, '/test-data/1.2MiB.txt'))
23-
2423
before(() => {
2524
const bs = new BlockService(repo)
2625
ipldResolver = new IPLDResolver(bs)

test/test-fixed-size-chunker.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,11 @@
22
'use strict'
33

44
const chunker = require('./../src/chunker/fixed-size')
5-
const fs = require('fs')
65
const expect = require('chai').expect
7-
const path = require('path')
86
const pull = require('pull-stream')
7+
const loadFixture = require('aegir/fixtures')
98

10-
const rawFile = fs.readFileSync(
11-
path.join(__dirname, '/test-data/1MiB.txt')
12-
)
9+
const rawFile = loadFixture(__dirname, 'fixtures/1MiB.txt')
1310

1411
describe('chunker: fixed size', () => {
1512
it('chunks non flat buffers', (done) => {

test/test-importer.js

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@
44
const importer = require('./../src').importer
55
const expect = require('chai').expect
66
const BlockService = require('ipfs-block-service')
7-
const fs = require('fs')
8-
const path = require('path')
97
const pull = require('pull-stream')
108
const mh = require('multihashes')
119
const IPLDResolver = require('ipld-resolver')
10+
const loadFixture = require('aegir/fixtures')
1211

1312
function stringifyMh (files) {
1413
return files.map((file) => {
@@ -17,17 +16,13 @@ function stringifyMh (files) {
1716
})
1817
}
1918

19+
const bigFile = loadFixture(__dirname, 'fixtures/1.2MiB.txt')
20+
const smallFile = loadFixture(__dirname, 'fixtures/200Bytes.txt')
21+
2022
module.exports = function (repo) {
2123
describe('importer', function () {
2224
let ipldResolver
2325

24-
const bigFile = fs.readFileSync(path.join(__dirname, '/test-data/1.2MiB.txt'))
25-
const smallFile = fs.readFileSync(path.join(__dirname, '/test-data/200Bytes.txt'))
26-
27-
// const dirSmall = path.join(__dirname, '/test-data/dir-small')
28-
// const dirBig = path.join(__dirname, '/test-data/dir-big')
29-
// const dirNested = path.join(__dirname, '/test-data/dir-nested')
30-
3126
before(() => {
3227
const bs = new BlockService(repo)
3328
ipldResolver = new IPLDResolver(bs)

0 commit comments

Comments
 (0)