new commander.Command(packageJson.name) .version(packageJson.version) .arguments('<project-directory>') .usage(`${chalk.green('<project-directory>')} [options]`) .action(name => (projectName = name)) .option('--verbose', 'print additional logs') .allowUnknownOption() .on('--help', () => { console.log(` Only ${chalk.green('<project-directory>')} is required.\n`) }) .parse(process.argv)
program .description(chalk.white('Clay allows you to instantly build and remix cloud hosted functions')) .version('0.5.2') .usage('<command>') .command('new [serviceName]') .description('creates a new service with the name [serviceName].') .action((cmd) => service.create(cmd, account))
function setupCommander() { const program = new commander.Command(); program .version(package.version) .option( "-y, --skip-prompts", "skips questions, directly opens devimalplanet.com" ) .option( "-u, --url <URL>", "skips questions, directly opens provided URL" ) .parse(process.argv); return program; }
new commander.Command(packageJson.name) .version(packageJson.version) .option( '-p, --preset [name]', `[ default | server ] * default: Typescript, Webpack, Karma, Jasmine * server: Typescript, ts-node, nodemon`, 'default' ) .arguments('<project-directory>') .usage(`${chalk.green('<project-directory>')}`) .action(name => { projectName = name; }) .on('--help', () => { console.log(` Only ${chalk.green('<project-directory>')} is required.`); console.log(); }) .parse(process.argv)
program .description("List all resources") .version(pkg.version) .action(async () => { try { const result = await pool.query(`SELECT * FROM resources`); if (!result || !result.rows || !result.rows.length) { throw new Error("Cannot find any records!"); } const data = [["URI", "Name", "Description", "Operations"]]; for (let i = 0; i < result.rows.length; i++) { const res = result.rows[i]; res["operations"] = await getOperationsByResourceId(res["id"]); res["operations"] = res["operations"] .map((op) => op.uri) .join("\n"); delete res["id"]; data.push(Object.values(res)); } console.log(table(data)); } catch (e) { console.error(chalk.red(`Error: ${e}`)); } process.exit(0); }) .parse(process.argv);
program .description( `Create a root tree node with specified name. You can then complete other node fields using other DB admin tools.` ) .option("<nodeName>", "Root node name") .version(pkg.version) .action(async (nodeName) => { try { if (!process.argv.slice(2).length) { program.help(); } nodeName = nodeName.trim(); if (nodeName === "") throw new Error("Node Name can't be empty!"); const pool = getDBPool(); const queryer = new NestedSetModelQueryer(pool, "org_units"); const nodeId = await queryer.createRootNode({ name: nodeName }); console.log( chalk.green( `Root node with name: ${nodeName} created. \nId: ${nodeId}` ) ); } catch (e) { console.error(chalk.red(`Error: ${e}`)); } process.exit(0); }) .parse(process.argv);
program .description("calculate JWT token (only for testing purpose)") .option("<userId>", "User ID") .option( "[jwtSecret]", "Optional JWT secret. Default value: `" + DEFAULT_JWT_SECRET + "`" ) .version(pkg.version) .action(async (userId, jwtSecret) => { try { console.log(`JWT token for user ${userId} is: `); console.log( chalk.yellow( buildJwt( typeof jwtSecret === "string" ? jwtSecret : DEFAULT_JWT_SECRET, userId ) ) ); } catch (e) { console.error(chalk.red(`Error: ${e}`)); } process.exit(0); }) .parse(process.argv);
program .description("Remove the specified user to from any org unit.") .option("<userNameOrId>", "user name or id") .version(pkg.version) .action(async (userNameOrId) => { try { if (process.argv.slice(2).length < 1) { program.help(); } userNameOrId = userNameOrId ? userNameOrId.trim() : ""; if (userNameOrId === "") throw new Error("User Name or Id can't be empty!"); const pool = getDBPool(); const userId = await getUserIdFromNameOrId(userNameOrId, pool); await pool.query( `UPDATE "users" SET "orgUnitId" = NULL WHERE "id" = $1`, [userId] ); console.log( chalk.green(`The user (id: ${userId}) has been unassigned.`) ); } catch (e) { console.error(chalk.red(`Error: ${e}`)); } process.exit(0); }) .parse(process.argv);
new commander.Command(packageFile.name) .version(packageFile.version) .arguments('<project-directory>') .usage(`${chalk.green('<project-directory>')} [options]`) .action(name => { projectName = name; }) .option( '--override-page [page-name]', 'override default page like New Tab, Bookmarks, or History page' ) .option('--devtools', 'add features to Chrome Developer Tools') .on('--help', () => { console.log(` Only ${chalk.green('<project-directory>')} is required.`); }) .parse(process.argv)
new commander.Command(packageJson.name) .version(packageJson.version) .option( '-p, --preset [name]', `[ default | server ] * default: Typescript, Webpack, Karma, Jasmine * server: Typescript, ts-node, nodemon`, 'default' ) .arguments('<project-directory>') .usage(`${chalk.green('<project-directory>')}`) .action(name => { projectName = name; }) .on('--help', () => { console.log(` Only ${chalk.green('<project-directory>')} is required.`); console.log(); }) .parse(process.argv)