#!/usr/bin/env node 'use strict'; var program = require('commander'), actions = require('./actions'); program.version(require('../package.json').version); // Those override the login settings if provided program.option('-s, --server ', 'Server URL (optional)'); program.option('-t, --token ', 'Server Access Token (optional)'); program.command('login ') .description('Login to server') .option('--username [username]', 'Username (optional)') .option('--password [password]', 'Password (optional)') .action(actions.login); program.command('logout') .description('Logout from server') .action(actions.logout); program.command('put [files...]') .option('-a --all', 'Also include hidden files and folders.', false) .description('Put a file, last argument is destination if provided') .action(actions.put); program.command('get [file|dir]') .description('Get a file or directory listing') .action(actions.get); program.command('del ') .option('-r --recursive', 'Recursive delete directories.', false) .option('-d --dry-run', 'Only list files to delete.', false) .description('Delete a file or directory') .action(actions.del); program.parse(process.argv); if (!process.argv.slice(2).length) { program.outputHelp(); } else { // https://github.com/tj/commander.js/issues/338 // var knownCommand = program.commands.some(function (command) { return command._name === process.argv[2]; }); // if (!knownCommand) { // console.error('Unknown command: ' + process.argv[2]); // process.exit(1); // } }