#!/usr/bin/env node
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const commander_1 = __importDefault(require("commander"));
const util_1 = require("./util");
const optionsForTemplate = (name) => ({
    executableFile: `templates/${name}/command.js`,
});
const commandForTemplate = (name, description) => [
    `${name} <name>`,
    `creates a${(description.match('^[aieouAIEOU].*') != null ? 'n ' : ' ') + description}`,
    optionsForTemplate(name),
];
commander_1.default
    .version(require('../package.json').version)
    .command(...commandForTemplate('webapp', 'web application project'))
    .command(...commandForTemplate('microservice', 'microservice project'))
    .command(...commandForTemplate('component', 'component module'))
    .command(...commandForTemplate('container', 'container module'))
    .command(...commandForTemplate('controller', 'controller module'))
    .command(...commandForTemplate('manager', 'manager module'))
    .command(...commandForTemplate('reducer', 'reducer module'))
    .command(...commandForTemplate('injectable', 'injectable module'))
    .command(...commandForTemplate('story', 'storybook story'))
    .command(...commandForTemplate('library', 'library project'))
    .command(...commandForTemplate('monorepo', 'monorepo project'))
    .command(...commandForTemplate('client-sdk', 'server-sdk project'))
    .command(...commandForTemplate('server-sdk', 'client-sdk project'))
    .command(...commandForTemplate('api', 'api project'));
(0, util_1.runCommander)();
//# sourceMappingURL=index.js.map