]> git.immae.eu Git - perso/Immae/Projets/Nodejs/Surfer.git/commitdiff
Use del instead of rimraf
authorJohannes Zellner <johannes@nebulon.de>
Sat, 27 Jun 2015 15:28:23 +0000 (17:28 +0200)
committerJohannes Zellner <johannes@nebulon.de>
Sat, 27 Jun 2015 15:28:23 +0000 (17:28 +0200)
cli/actions.js
cli/surfer.js
package.json
src/files.js

index 592d8090193f39e2ca4f66b0afba341ded2f4b7e..00ffb6fba0663362f9b946ff9ec03d55f5d404dc 100644 (file)
@@ -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);
     });
index d906d6237ed5399c145d6ccdd2015b51eb7e3675..fbc95b6f8f962d228562d8860250132bb071ab0c 100755 (executable)
@@ -15,6 +15,7 @@ program.command('login')
     .action(actions.login);
 
 program.command('put <file> [files...]')
+    .option('-d --destination <folder>', 'Destination folder. This is prepended to the relative <file> path')
     .description('Put a file')
     .action(actions.put);
 
index 5e97c28dc28606f572f47ef4f08caa1a9eb569ae..01e9eff185b98fdff34d63333bc085f103b659ce 100644 (file)
     "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"
index 48f91a816574808cea9939c2ee4006cb5354066d..6946ff30b51404c0ccbe97564ce8bc2fa7488605 100644 (file)
@@ -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 }));
         });
     });
 }