UNPKG

msbot

Version:

MSBot command line tool for manipulating Microsoft Bot Framework .bot files

76 lines 3.19 kB
#!/usr/bin/env node "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const chalk = require("chalk"); const program = require("commander"); const process = require("process"); const semver = require("semver"); const latestVersion = require('latest-version'); program .option('--prefix', 'Append [msbot] prefix to all messages') .on('option:prefix', () => process.env.PREFIX = 'prefix'); // tslint:disable-next-line:no-var-requires no-require-imports const pkg = require('../package.json'); // tslint:disable-next-line:no-var-requires no-require-imports require('./utils'); const requiredVersion = pkg.engines.node; if (!semver.satisfies(process.version, requiredVersion)) { console.error(`Required node version ${requiredVersion} not satisfied with current version ${process.version}.`); process.exit(1); } program.Command.prototype.unknownOption = (flag) => { console.error(chalk.default.redBright(`Unknown arguments: ${flag}`)); program.outputHelp((str) => { console.error(str); return ''; }); process.exit(1); }; program .version(pkg.version, '-v, --Version') .description(`The msbot program makes it easy to manipulate .bot files for Microsoft Bot Framework tools.`); program .command('init', 'create a new .bot file'); program .command('secret', 'set or clear the secret for a .bot file'); program .command('get', 'get a connected service'); program .command('list', 'list all connected services'); program .command('export', 'export all connected services so that this bot can be cloned'); program .command('create', 'create an Azure Bot Service. '); program .command('clone', 'create a new Azure Group and clone all of the .recipe services into it. '); program .command('connect <service>', 'connect to a resource (Luis/Qna/Azure/...) used by the bot'); program .command('disconnect <service>', 'disconnect from a resource used by the bot'); program .command('update <service>', 'update a service record (Luis/Qna/Azure/...) used by the bot'); (async () => { const latest = await latestVersion(pkg.name, { version: `^${pkg.version}` }) .catch(() => pkg.version); if (semver.gt(latest, pkg.version)) { process.stderr.write(chalk.default.white(`\n Update available `)); process.stderr.write(chalk.default.grey(`${pkg.version}`)); process.stderr.write(chalk.default.white(` -> `)); process.stderr.write(chalk.default.greenBright(`${latest}\n`)); process.stderr.write(chalk.default.white(` Run `)); process.stderr.write(chalk.default.blueBright(`npm i -g ${pkg.name} `)); process.stderr.write(chalk.default.white(`to update.\n\n`)); } const args = program.parse(process.argv); // args should be undefined is subcommand is executed if (args) { const unknownArgs = process.argv.slice(2); console.error(chalk.default.redBright(`Unknown arguments: ${unknownArgs.join(' ')}`)); program.outputHelp((str) => { console.error(str); return ''; }); process.exit(1); } })(); //# sourceMappingURL=msbot.js.map