@fewer/cli
Version:
The CLI to scaffold and perform operations for Fewer.
47 lines • 2.04 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const cli_ux_1 = __importDefault(require("cli-ux"));
const command_1 = require("@oclif/command");
const utils_1 = require("../../utils");
const commonFlags_1 = __importDefault(require("../../commonFlags"));
const getConfig_1 = __importDefault(require("../../getConfig"));
class GenerateDatabase extends command_1.Command {
async run() {
const { flags, args } = this.parse(GenerateDatabase);
const config = await getConfig_1.default();
cli_ux_1.default.action.start('Installing adapter');
await utils_1.installPackages(this.warn, `@fewer/adapter-${flags.adapter}`);
cli_ux_1.default.action.stop();
cli_ux_1.default.action.start('Creating files');
const extension = config.typescript ? 'ts' : 'js';
await utils_1.createFile('db', path_1.default.join(config.src, `${args.name}.${extension}`), {
adapter: flags.adapter,
}, config.cjs);
cli_ux_1.default.action.stop();
}
}
GenerateDatabase.description = 'Generates a new database file.';
GenerateDatabase.examples = [
'$ fewer generate:database myDatabase',
'$ fewer generate:database myDatabase --adapter=mysql',
];
GenerateDatabase.flags = Object.assign({}, commonFlags_1.default, { adapter: command_1.flags.string({
char: 'v',
default: 'postgres',
options: ['postgres'],
description: 'The Database adapter to generate use with the database. The CLI will attempt to install the adapter before creating the file.',
required: true,
}) });
GenerateDatabase.args = [
{
name: 'name',
required: true,
description: 'The name of the file for the database that will be created.',
},
];
exports.default = GenerateDatabase;
//# sourceMappingURL=database.js.map