diff --git a/bin/tessel-push.js b/bin/tessel-push.js index 98c0889..3a671e7 100755 --- a/bin/tessel-push.js +++ b/bin/tessel-push.js @@ -37,6 +37,11 @@ var argv = require("nomnom") flag: true, help: '[Tessel] Hide tessel deployment messages.' }) + .option('verbose', { + abbr: 'v', + flag: true, + help: '[Tessel] Show debug messages (such as which files are being bundled).' + }) .option('messages', { abbr: 'm', flag: true, @@ -47,6 +52,10 @@ var argv = require("nomnom") flag: true, help: '[Tessel] Stay connected and print logs.' }) + .option('show', { + flag: true, + help: 'Lists which files are being bundled during the push' + }) .option('single', { abbr: 's', flag: true, @@ -59,7 +68,10 @@ var argv = require("nomnom") }) .parse(); -argv.verbose = !argv.quiet; +if (argv.verbose && argv.quiet) { + argv.quiet = false; + logs.warn("Both --verbose and --quiet were specified. Defaulting to --verbose"); +} function usage () { console.error(require('nomnom').getUsage()); @@ -114,15 +126,18 @@ common.controller(true, function (err, client) { }); function pushCode(){ - client.run(pushpath, ['tessel', pushpath].concat(argv.arguments || []), { - flash: true, - single: argv.single - }, function (err) { + client.run(pushpath, ['tessel', pushpath].concat(argv.arguments || []) + , { flash: true + , single: argv.single + , verbose: argv.verbose + , quiet : argv.quiet + } + , function (err) { - logs.info("Finished deployment"); + if (!argv.quiet) logs.info("Finished deployment"); function exit(code) { - logs.info("Run \"tessel logs\" or \"tessel push -l\" to see logged output."); + if (!argv.quiet) logs.info("Run \"tessel logs\" or \"tessel push -l\" to see logged output."); client.close(function () { process.exit(code || 0); }); diff --git a/bin/tessel-run.js b/bin/tessel-run.js index de1664d..6599a8c 100755 --- a/bin/tessel-run.js +++ b/bin/tessel-run.js @@ -40,14 +40,6 @@ var argv = require("nomnom") list: true, help: 'Arguments to pass in as process.argv.' }) - .option('version', { - abbr: 'v', - flag: true, - help: 'Print tessel-node\'s version.', - callback: function() { - return require('./package.json').version.replace(/^v?/, 'v'); - } - }) .option('interactive', { abbr: 'i', flag: true, @@ -63,6 +55,10 @@ var argv = require("nomnom") // flag: true, // help: '[Tessel] Push code to a Tessel by IP address.' // }) + .option('show', { + flag: true, + help: 'Lists which files are being bundled during the push' + }) .option('listen', { abbr: 'l', help: 'Listen and display specific logs. "--listen all" outputs all logs.' @@ -72,6 +68,11 @@ var argv = require("nomnom") flag: true, help: '[Tessel] Hide tessel deployment messages.' }) + .option('verbose', { + abbr: 'v', + flag: true, + help: '[Tessel] Show debug messages (such as which files are being bundled).' + }) .option('single', { abbr: 's', flag: true, @@ -84,7 +85,10 @@ var argv = require("nomnom") }) .parse(); -argv.verbose = !argv.quiet; +if (argv.verbose && argv.quiet) { + argv.quiet = false; + logs.warn("Both --verbose and --quiet were specified. Defaulting to --verbose"); +} function usage () { console.error(require('nomnom').getUsage()); @@ -186,11 +190,14 @@ common.controller(true, function (err, client) { }); function pushCode(){ - client.run(pushpath, ['tessel', pushpath].concat(argv.arguments || []), { - single: argv.single - }, function () { + client.run(pushpath, ['tessel', pushpath].concat(argv.arguments || []) + , { single: argv.single + , verbose : argv.verbose + , quiet : argv.quiet + } + , function () { // script-start emitted. - logs.info('Running script...'); + if (!argv.quiet) logs.info('Running script...'); // Forward pipes. if (!('listen' in argv)) { @@ -206,7 +213,7 @@ common.controller(true, function (err, client) { process.on('SIGINT', function() { setTimeout(function () { // timeout :| - logs.info('Script aborted'); + if (!argv.quiet) logs.info('Script aborted'); process.exit(131); }, 200); client.stop(); @@ -228,7 +235,7 @@ common.controller(true, function (err, client) { try { var packet = require('structured-clone').deserialize(data); fs.writeFileSync(path.resolve(upload_dir, path.basename(packet.filename)), packet.buffer); - logs.info(util.format(packet.filename, 'saved to', upload_dir)); + if (!argv.quiet) logs.info(util.format(packet.filename, 'saved to', upload_dir)); } catch (e) { logs.err('invalid sendfile packet received.'); } diff --git a/src/bundle.js b/src/bundle.js index d8e8df7..76ef7fd 100644 --- a/src/bundle.js +++ b/src/bundle.js @@ -31,7 +31,7 @@ var path = require('path') } })(); -exports.bundleFiles = function (startpath, args, files, next) +exports.bundleFiles = function (startpath, args, files, bundleopts, next) { temp.mkdir('colony', function (err, dirpath) { var mkdirp = require('mkdirp'); @@ -63,6 +63,9 @@ exports.bundleFiles = function (startpath, args, files, next) var f = _f[0], fullpath = _f[1]; debug('compiling', f); + if (bundleopts.show && !bundleopts.quiet) { + logs.info('compiling', f); + } try { var source = fs.readFileSync(fullpath, 'utf-8'); @@ -92,6 +95,9 @@ exports.bundleFiles = function (startpath, args, files, next) try { colonyCompiler.toBytecode(res, '/' + f.split(path.sep).join('/'), function (err, bytecode) { debug('writing', f); + if (bundleopts.show && !bundleopts.quiet) { + logs.info('writing', f); + } !err && fs.writeFileSync(fullpath, bytecode); next(err); }); diff --git a/src/script.js b/src/script.js index ec62a24..9253658 100644 --- a/src/script.js +++ b/src/script.js @@ -122,16 +122,15 @@ tessel.bundleScript = function (pushpath, argv, bundleopts, next) next = bundleopts; bundleopts = {}; } - var verbose = !bundleopts.quiet; - var ret = analyzeScript(pushpath, bundleopts); if (ret.warning) { - verbose && logs.warn(ret.warning); + bundleopts.verbose && logs.warn(ret.warning); } - verbose && logs.info('Bundling directory ' + ret.pushdir + ' (~' + humanize.filesize(ret.size) + ')'); + + if (!bundleopts.quiet) logs.info('Bundling directory ' + ret.pushdir ); // Create archive and deploy it to tessel. - tessel.bundleFiles(ret.relpath, argv, ret.files, next); + tessel.bundleFiles(ret.relpath, argv, ret.files, bundleopts, next); } // client#run(pushpath, args, next(err)) diff --git a/test/test_symlinks.js b/test/test_symlinks.js index 432a490..9a1c080 100644 --- a/test/test_symlinks.js +++ b/test/test_symlinks.js @@ -4,7 +4,7 @@ var tar = require('tar'); console.log('1..1') tessel.bundleFiles('index.js', [], { 'sym/sym2/index.js': __dirname + '/sym/sym2/index.js' -}, function (err, bundle) { +}, {}, function (err, bundle) { tar.Parse() .on('entry', function (data) { if (data.path == 'app/sym/sym2/index.js') {