msbot
Version:
MSBot command line tool for manipulating Microsoft Bot Framework .bot files
77 lines • 3.33 kB
JavaScript
;
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');
process.stderr.write(chalk.default.yellow(`\nWARNING: msbot is deprecated. For more information refer to https://aka.ms/botframework-cli.\n`));
// 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