#!/usr/bin/env node /** * Command line interface of tmplconv. * This file is auto generated by ape-tmpl. */ 'use strict' const program = require('commander') const pkg = require('../package') const tmplconv = require('../shim/node') program .version(pkg[ 'version' ]) .description(pkg[ 'description' ]) // Handling `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).catch(handleError) ) // Handling `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).catch(handleError) ) // Handling `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).catch(handleError) ) 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) } } // Handlers /** Handle error */ function handleError (err) { console.error(err) process.exit(1) }