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

Commit affa0da

Browse files
authored
Merge pull request #1 from ipfs/add-mfs-write-command
feat: Basic mfs.write command
2 parents 723bbe9 + 3e5620b commit affa0da

Some content is hidden

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

41 files changed

+1902
-412
lines changed

.travis.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

appveyor.yml

Lines changed: 0 additions & 29 deletions
This file was deleted.

circle.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Warning: This file is automatically synced from https://github.com/ipfs/ci-sync so if you want to change it, please change it there and ask someone to sync all repositories.
22
machine:
33
node:
4-
version: stable
4+
version: 8
55

66
test:
77
pre:

package.json

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,16 @@
77
"fs": false
88
},
99
"scripts": {
10-
"test": "DEBUG=mfs:* aegir test -f test/browser.js",
10+
"test": "cross-env aegir test -f test/browser.js",
1111
"test:node": "aegir test -t node",
1212
"test:browser": "aegir test -t browser -t webworker -f test/browser.js",
1313
"build": "aegir build",
1414
"lint": "aegir lint",
1515
"release": "aegir release",
1616
"release-minor": "aegir release --type minor",
1717
"release-major": "aegir release --type major",
18-
"coverage": "aegir coverage"
18+
"coverage": "aegir coverage",
19+
"commit-lint": "commitlint --extends=@commitlint/config-conventional --from=remotes/origin/master --to=HEAD"
1920
},
2021
"repository": {
2122
"type": "git",
@@ -35,39 +36,48 @@
3536
},
3637
"homepage": "https://github.com/ipfs/js-ipfs-mfs#readme",
3738
"devDependencies": {
39+
"@commitlint/cli": "^6.2.0",
40+
"@commitlint/config-conventional": "^6.1.3",
3841
"aegir": "^13.0.6",
3942
"chai": "^4.1.2",
43+
"cross-env": "^5.1.4",
4044
"dirty-chai": "^2.0.1",
41-
"ipfs": "^0.28.2",
45+
"ipfs": "~0.28.2",
4246
"pre-commit": "^1.2.2",
4347
"safe-buffer": "^5.1.1",
44-
"tmp": "0.0.33"
48+
"sign-commit": "~0.1.0",
49+
"tmp": "~0.0.33"
4550
},
4651
"dependencies": {
4752
"async": "^2.6.0",
48-
"blob": "0.0.4",
53+
"blob": "~0.0.4",
4954
"bs58": "^4.0.1",
5055
"cids": "~0.5.3",
5156
"debug": "^3.1.0",
5257
"detect-node": "^2.0.3",
53-
"file-api": "^0.10.4",
54-
"filereader-stream": "^1.0.0",
55-
"interface-datastore": "^0.4.2",
56-
"ipfs-unixfs": "^0.1.14",
57-
"ipfs-unixfs-engine": "^0.29.0",
58-
"is-pull-stream": "0.0.0",
58+
"file-api": "~0.10.4",
59+
"filereader-stream": "^2.0.0",
60+
"interface-datastore": "~0.4.2",
61+
"ipfs-unixfs": "~0.1.14",
62+
"ipfs-unixfs-engine": "~0.29.0",
63+
"is-pull-stream": "~0.0.0",
5964
"is-stream": "^1.1.0",
6065
"promisify-es6": "^1.0.3",
6166
"pull-cat": "^1.1.11",
6267
"pull-paramap": "^1.2.2",
68+
"pull-pushable": "^2.2.0",
6369
"pull-stream": "^3.6.7",
70+
"pull-stream-to-stream": "^1.3.4",
6471
"pull-traverse": "^1.0.3",
6572
"stream-to-pull-stream": "^1.7.2"
6673
},
6774
"pre-commit": [
6875
"lint",
6976
"test"
7077
],
78+
"pre-push": [
79+
"commit-lint"
80+
],
7181
"contributors": [
7282
"Alex Potsides <[email protected]>"
7383
]

src/cli/cp.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
'use strict'
2+
3+
module.exports = {
4+
command: 'cp <source> <dest>',
5+
6+
describe: 'Copy files between locations in the mfs.',
7+
8+
builder: {
9+
parents: {
10+
alias: 'p',
11+
type: 'boolean',
12+
default: false,
13+
describe: 'Create any non-existent intermediate directories'
14+
},
15+
recursive: {
16+
alias: 'r',
17+
type: 'boolean',
18+
default: false,
19+
describe: 'Remove directories recursively'
20+
}
21+
},
22+
23+
handler (argv) {
24+
let {
25+
source,
26+
dest,
27+
ipfs,
28+
parents,
29+
recursive
30+
} = argv
31+
32+
ipfs.mfs.cp(source, dest, {
33+
parents,
34+
recursive
35+
}, (error) => {
36+
if (error) {
37+
throw error
38+
}
39+
})
40+
}
41+
}

src/cli/mv.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
'use strict'
2+
3+
module.exports = {
4+
command: 'mv <source> <dest>',
5+
6+
describe: 'Move files around. Just like traditional unix mv',
7+
8+
builder: {
9+
parents: {
10+
alias: 'p',
11+
type: 'boolean',
12+
default: false,
13+
describe: 'Create any non-existent intermediate directories'
14+
},
15+
recursive: {
16+
alias: 'r',
17+
type: 'boolean',
18+
default: false,
19+
describe: 'Remove directories recursively'
20+
}
21+
},
22+
23+
handler (argv) {
24+
let {
25+
source,
26+
dest,
27+
ipfs,
28+
parents,
29+
recursive
30+
} = argv
31+
32+
ipfs.mfs.mv(source, dest, {
33+
parents,
34+
recursive
35+
}, (error) => {
36+
if (error) {
37+
throw error
38+
}
39+
})
40+
}
41+
}

src/cli/rm.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
'use strict'
2+
3+
module.exports = {
4+
command: 'rm <path>',
5+
6+
describe: 'Remove a file or directory',
7+
8+
builder: {
9+
recursive: {
10+
alias: 'r',
11+
type: 'boolean',
12+
default: false,
13+
describe: 'Remove directories recursively'
14+
}
15+
},
16+
17+
handler (argv) {
18+
let {
19+
path,
20+
ipfs,
21+
recursive
22+
} = argv
23+
24+
ipfs.mfs.rm(path, {
25+
recursive
26+
}, (error) => {
27+
if (error) {
28+
throw error
29+
}
30+
})
31+
}
32+
}

0 commit comments

Comments
 (0)