UNPKG

extremum-cli

Version:
70 lines (69 loc) 2.98 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var path_1 = __importDefault(require("path")); var fs_1 = __importDefault(require("fs")); var child_process_1 = require("child_process"); var commander_1 = require("commander"); var helpers_1 = require("../helpers"); var extremum_client_1 = __importDefault(require("../extremum-client")); var yaml_1 = require("yaml"); var initProject = function (appId) { var client = (0, extremum_client_1.default)(); var projectName = (0, helpers_1.getAppName)(); var currentPath = process.cwd(); var projectPath = path_1.default.join(currentPath, projectName); var extremumUrl = client.baseUrl; var gitRepo = 'https://github.com/smekalka/extremum-web-app-starter.git'; var buildConfigJson = function (appId, url) { var data = { 'app-id': appId, url: url, }; fs_1.default.writeFileSync("".concat(process.cwd(), "/src/config.json"), JSON.stringify(data, null, 2), 'utf8'); }; try { fs_1.default.mkdirSync(projectPath); } catch (err) { if (err.code === 'EEXIST') { console.log("The file ".concat(projectName, " already exist in the current directory, please give it another name.")); } else { console.log(err); } process.exit(-1); } try { console.log('Downloading files...'); (0, child_process_1.execSync)("git clone --depth 1 ".concat(gitRepo, " ").concat(projectPath)); process.chdir("".concat(projectPath, "/ui")); buildConfigJson(appId, extremumUrl); console.log('Your application was successfully initialized'); } catch (error) { console.log(error); } }; var changeRegistryUrl = function (registryUrl) { var appName = (0, helpers_1.getAppName)(); var pathToConfig = (0, helpers_1.getConfigFilePath)(appName); var pathToCredsConfig = (0, helpers_1.getCredentialsConfigFilePath)(appName); var config = (0, yaml_1.parse)(fs_1.default.readFileSync(pathToConfig, 'utf-8')); var credsConfig = (0, yaml_1.parse)(fs_1.default.readFileSync(pathToCredsConfig, 'utf-8')); var currentEnv = config.environments.find(function (environment) { return environment.name === credsConfig.currentEnv; }); currentEnv.docker.registry = registryUrl; fs_1.default.writeFileSync(pathToCredsConfig, (0, yaml_1.stringify)(config)); }; var app = new commander_1.Command('app').description('manage your apps'); app .command('init <app-id>') .description('create an app and initialize it with sample code') .action((0, helpers_1.actionRunner)(initProject)); app .command('registry <registry-url>') .description('Set Docker registry URL') .action((0, helpers_1.actionRunner)(changeRegistryUrl)); exports.default = app;