UNPKG

@fewer/cli

Version:

The CLI to scaffold and perform operations for Fewer.

47 lines 2.04 kB
"use strict"; 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