#!/usr/bin/env node /** * Command line interface of tmplconv. * This file is auto generated by ape-tmpl. */ "use strict"; const program = require('commander'), pkg = require('../package'), tmplconv = require('../lib'); program .version(pkg['version']) .description(pkg['description']) ; //========================= // Handle `tmplify` command //========================= program .command("tmplify ") .description("Generate a template from existing files") .option('-d, --data ', "Name or path of data module.") .option('-p, --pattern ', "File name patterns") .option('-i, --ignore ', "File name patterns to ignore") .option('-P, --prefix ', "Embed prefix") .option('-S, --suffix ', "Embed suffix") .option('-e, --extname ', "Embed Template extension name") .option('-s, --silent', "Disable console logs") .option('-c, --clean', "Cleanup destination directory before convert") .option('-n, --once', "Write only first time. Skip if already exists") .option('-m, --mode', "File permission to generate") .action((srcDir, destDir, options) => { tmplconv.tmplify(srcDir, destDir, options ,done); }); //========================= // Handle `render` command //========================= program .command("render ") .description("") .option('-d, --data ', "Name or path of data module.") .option('-p, --pattern ', "File name patterns") .option('-i, --ignore ', "File name patterns to ignore") .option('-P, --prefix ', "Embed prefix") .option('-S, --suffix ', "Embed suffix") .option('-e, --extname ', "Embed Template extension name") .option('-s, --silent', "Disable console logs") .option('-c, --clean', "Cleanup destination directory before convert") .option('-n, --once', "Write only first time. Skip if already exists") .option('-m, --mode', "File permission to generate") .action((srcDir, destDir, options) => { tmplconv.render(srcDir, destDir, options ,done); }); //========================= // Handle `transplant` command //========================= program .command("transplant ") .description("Tmplify and render at once") .option('-, --rule', "Rule for convert") .option('-p, --pattern ', "File name patterns") .option('-i, --ignore ', "File name patterns to ignore") .option('-s, --silent', "Disable console logs") .option('-c, --clean', "Cleanup destination directory before convert") .option('-n, --once', "Write only first time. Skip if already exists") .option('-m, --mode', "File permission to generate") .action((src, dest, options) => { tmplconv.transplant(src, dest, options ,done); }); program.parse(process.argv); //========================= // Check sub command //========================= { let command = process.argv[2]; if (!command) { program.outputHelp(); return; } let _isValid = name => { for (let command of program.commands) { let hit = (command.name() == name) || (command.alias() == name); if(hit){ return true; } } return false; }; if (!_isValid(command)) { console.log("[tmplconv] '%s' is not an tmplconv command. See 'tmplconv --help'.", command); } }; /** When command done. */ function done(err) { if (err) { console.error(err); process.exit(1); } else { process.exit(0); } }