niledatabase
Version:
Command line interface for Nile databases
46 lines (45 loc) • 2.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const commander_1 = require("commander");
const connect_1 = require("./commands/connect");
const workspace_1 = require("./commands/workspace");
const db_1 = require("./commands/db");
const tenants_1 = require("./commands/tenants");
const config_1 = require("./commands/config");
const user_1 = require("./commands/user");
const local_1 = require("./commands/local");
const auth_1 = require("./commands/auth");
const globalOptions_1 = require("./lib/globalOptions");
const package_json_1 = require("../package.json");
const cli = new commander_1.Command()
.version(package_json_1.version)
.description('Nile CLI')
.addHelpText('after', `
Examples:
$ nile connect Connect to Nile
$ nile --no-color db show my-database
$ nile tenants list List tenants in selected database
$ nile config --api-key <key> Set API key in config
$ nile users create Create a new user
$ nile local start Start local development environment
$ nile auth quickstart --nextjs Set up authentication in a Next.js app
$ nile auth env Generate environment variables
`);
// Add global options
(0, globalOptions_1.addGlobalOptions)(cli);
// Configure color settings
cli.hook('preAction', (thisCommand) => {
const opts = thisCommand.opts();
(0, globalOptions_1.updateChalkConfig)(opts.color);
});
// Register commands
cli.addCommand((0, connect_1.createConnectCommand)(() => cli.opts()));
cli.addCommand((0, workspace_1.createWorkspaceCommand)(() => cli.opts()));
cli.addCommand((0, db_1.createDbCommand)(() => cli.opts()));
cli.addCommand((0, tenants_1.createTenantsCommand)(() => cli.opts()));
cli.addCommand((0, config_1.configCommand)());
cli.addCommand((0, user_1.createUsersCommand)(() => cli.opts()));
cli.addCommand((0, local_1.createLocalCommand)(() => cli.opts()));
cli.addCommand((0, auth_1.createAuthCommand)(() => cli.opts()));
cli.parse(process.argv);