From eb83e4daa3726d3e7f12c513a19d212b709dadff Mon Sep 17 00:00:00 2001 From: Johannes Zellner Date: Sat, 27 Jun 2015 17:28:23 +0200 Subject: [PATCH 1/1] Use del instead of rimraf --- cli/actions.js | 5 +++-- cli/surfer.js | 1 + package.json | 2 +- src/files.js | 6 +++--- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/cli/actions.js b/cli/actions.js index 592d809..00ffb6f 100644 --- a/cli/actions.js +++ b/cli/actions.js @@ -46,7 +46,7 @@ function login(server) { config.set('server', server); } -function put(filePath, otherFilePaths) { +function put(filePath, otherFilePaths, options) { checkConfig(); var files = collectFiles([ filePath ].concat(otherFilePaths)); @@ -54,7 +54,7 @@ function put(filePath, otherFilePaths) { async.eachSeries(files, function (file, callback) { var relativeFilePath = path.resolve(file).slice(process.cwd().length + 1); - console.log('Uploading file %s', relativeFilePath.cyan); + console.log('Uploading file %s -> %s', relativeFilePath.cyan, ((options.destination ? options.destination : '') + '/' + relativeFilePath).cyan); superagent.put(config.server() + API + relativeFilePath).attach('file', file).end(callback); }, function (error) { @@ -90,6 +90,7 @@ function del(filePath) { var relativeFilePath = path.resolve(filePath).slice(process.cwd().length + 1); superagent.del(config.server() + API + relativeFilePath).end(function (error, result) { + if (error.status === 404) return console.log('No such file or directory'); if (error) return console.log('Failed', result ? result.body : error); console.log('Success', result.body); }); diff --git a/cli/surfer.js b/cli/surfer.js index d906d62..fbc95b6 100755 --- a/cli/surfer.js +++ b/cli/surfer.js @@ -15,6 +15,7 @@ program.command('login') .action(actions.login); program.command('put [files...]') + .option('-d --destination ', 'Destination folder. This is prepended to the relative path') .description('Put a file') .action(actions.put); diff --git a/package.json b/package.json index 5e97c28..01e9eff 100644 --- a/package.json +++ b/package.json @@ -24,12 +24,12 @@ "connect-lastmile": "0.0.10", "connect-timeout": "^1.6.2", "debug": "^2.2.0", + "del": "^1.2.0", "ejs": "^2.3.1", "express": "^4.12.4", "mkdirp": "^0.5.1", "morgan": "^1.6.0", "multiparty": "^4.1.2", - "rimraf": "^2.4.0", "safetydance": "0.0.16", "superagent": "^1.2.0", "underscore": "^1.8.3" diff --git a/src/files.js b/src/files.js index 48f91a8..6946ff3 100644 --- a/src/files.js +++ b/src/files.js @@ -3,7 +3,7 @@ var fs = require('fs'), path = require('path'), ejs = require('ejs'), - rimraf = require('rimraf'), + rm = require('del'), debug = require('debug')('files'), mkdirp = require('mkdirp'), HttpError = require('connect-lastmile').HttpError, @@ -116,9 +116,9 @@ function del(req, res, next) { fs.stat(absoluteFilePath, function (error, result) { if (error) return next(new HttpError(404, error)); - rimraf(absoluteFilePath, function (error) { + rm(absoluteFilePath, function (error, result) { if (error) return next(new HttpError(500, 'Unable to remove')); - next(new HttpSuccess(200, {})); + next(new HttpSuccess(200, { entries: result })); }); }); } -- 2.41.0