From 56b90d9b0c4e2446c3f48fb94d79ca8847cb7520 Mon Sep 17 00:00:00 2001 From: Alan Shaw Date: Tue, 3 Sep 2019 15:53:07 +0100 Subject: [PATCH] fix: more fix License: MIT Signed-off-by: Alan Shaw --- package.json | 2 +- src/add-from-fs/glob-source.js | 6 +-- src/files-regular/index.js | 67 +++++++++++++--------------------- src/utils/load-commands.js | 25 +++++-------- test/interface.spec.js | 4 -- 5 files changed, 40 insertions(+), 64 deletions(-) diff --git a/package.json b/package.json index 43f938875..393111987 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "is-stream": "^2.0.0", "iso-stream-http": "~0.1.2", "iso-url": "~0.4.6", - "it-glob": "0.0.3", + "it-glob": "0.0.4", "it-to-stream": "^0.1.1", "iterable-ndjson": "^1.1.0", "just-kebab-case": "^1.1.0", diff --git a/src/add-from-fs/glob-source.js b/src/add-from-fs/glob-source.js index 5828bd410..465b45494 100644 --- a/src/add-from-fs/glob-source.js +++ b/src/add-from-fs/glob-source.js @@ -46,7 +46,7 @@ async function * toGlobSource ({ path, type, prefix }, options) { if (type === 'file') { yield { - path: baseName.replace(prefix, ''), + path: baseName, content: fs.createReadStream( Path.isAbsolute(path) ? path : Path.join(process.cwd(), path) ) @@ -71,8 +71,8 @@ async function * toGlobSource ({ path, type, prefix }, options) { for await (const p of glob(path, '**/*', globOptions)) { yield { - path: toPosix(p.replace(prefix, '')), - content: fs.createReadStream(p) + path: toPosix(Path.join(baseName, p)), + content: fs.createReadStream(Path.join(path, p)) } } } diff --git a/src/files-regular/index.js b/src/files-regular/index.js index 20812d749..d098516f1 100644 --- a/src/files-regular/index.js +++ b/src/files-regular/index.js @@ -6,57 +6,42 @@ const { collectify, pullify, streamify } = require('../lib/converters') module.exports = (arg) => { const send = moduleConfig(arg) + const add = require('../add')(arg) + const addFromFs = require('../add-from-fs')(arg) + const addFromURL = require('../add-from-url')(arg) return { - add: (_, config) => { - const add = collectify(require('../add')(config)) - return (input, options, callback) => { - if (typeof options === 'function') { - callback = options - options = {} - } - return nodeify(add(input, options), callback) + add: (input, options, callback) => { + if (typeof options === 'function') { + callback = options + options = {} } + return nodeify(collectify(add)(input, options), callback) }, - addReadableStream: (_, config) => { - const add = require('../add')(config) - return streamify.transform(add) - }, - addPullStream: (_, config) => { - const add = require('../add')(config) - return pullify.transform(add) - }, - addFromFs: (_, config) => { - const addFromFs = collectify(require('../add-from-fs')(config)) - return (path, options, callback) => { - if (typeof options === 'function') { - callback = options - options = {} - } - return nodeify(addFromFs(path, options), callback) + addReadableStream: streamify.transform(add), + addPullStream: pullify.transform(add), + addFromFs: (path, options, callback) => { + if (typeof options === 'function') { + callback = options + options = {} } + return nodeify(collectify(addFromFs)(path, options), callback) }, - addFromURL: (_, config) => { - const addFromURL = collectify(require('../add-from-url')(config)) - return (url, options, callback) => { - if (typeof options === 'function') { - callback = options - options = {} - } - return nodeify(addFromURL(url, options), callback) + addFromURL: (url, options, callback) => { + if (typeof options === 'function') { + callback = options + options = {} } + return nodeify(collectify(addFromURL)(url, options), callback) }, - addFromStream: (_, config) => { - const add = collectify(require('../add')(config)) - return (input, options, callback) => { - if (typeof options === 'function') { - callback = options - options = {} - } - return nodeify(add(input, options), callback) + addFromStream: (input, options, callback) => { + if (typeof options === 'function') { + callback = options + options = {} } + return nodeify(collectify(add)(input, options), callback) }, - _addAsyncIterator: (_, config) => require('../add')(config), + _addAsyncIterator: add, cat: require('../files-regular/cat')(send), catReadableStream: require('../files-regular/cat-readable-stream')(send), catPullStream: require('../files-regular/cat-pull-stream')(send), diff --git a/src/utils/load-commands.js b/src/utils/load-commands.js index f23f6130d..710b8396f 100644 --- a/src/utils/load-commands.js +++ b/src/utils/load-commands.js @@ -1,10 +1,12 @@ 'use strict' -function requireCommands () { - return { - // Files Regular (not MFS) - ...require('../files-regular'), +function requireCommands (send, config) { + const cmds = { + ...require('../files-regular')(config), + getEndpointConfig: require('../get-endpoint-config')(config) + } + const subCmds = { // Files MFS (Mutable Filesystem) files: require('../files-mfs'), @@ -42,21 +44,14 @@ function requireCommands () { stats: require('../stats'), update: require('../update'), version: require('../version'), - resolve: require('../resolve'), - // ipfs-http-client instance - getEndpointConfig: (send, config) => require('../get-endpoint-config')(config) + resolve: require('../resolve') } -} - -function loadCommands (send, config) { - const files = requireCommands() - const cmds = {} - Object.keys(files).forEach((file) => { - cmds[file] = files[file](send, config) + Object.keys(subCmds).forEach((file) => { + cmds[file] = subCmds[file](send, config) }) return cmds } -module.exports = loadCommands +module.exports = requireCommands diff --git a/test/interface.spec.js b/test/interface.spec.js index 7a7f2f1fa..370331adf 100644 --- a/test/interface.spec.js +++ b/test/interface.spec.js @@ -131,10 +131,6 @@ describe('interface-ipfs-core tests', () => { name: 'addFromFs', reason: 'Not designed to run in the browser' }, - { - name: 'should ignore a directory from the file system', - reason: 'FIXME bug in it-glob' - }, // .addFromURL isNode ? null : { name: 'addFromURL',