UNPKG

inversitron

Version:
54 lines (53 loc) 2.32 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var colors_1 = require("colors"); var process_1 = require("process"); var configFile_1 = require("../../utils/configFile"); var fileGenerator_1 = __importDefault(require("../../utils/fileGenerator")); var child_process_1 = require("child_process"); var initFiles_1 = require("./initFiles"); var packageGenarator_1 = __importDefault(require("../../../templates/packageGenarator")); var tsconfig_1 = __importDefault(require("../../../templates/tsconfig")); var directoryUtils_1 = require("../../utils/directoryUtils"); var fileExt_1 = __importDefault(require("../../enums/fileExt")); var convertUtils_1 = require("../../utils/convertUtils"); var ora_1 = __importDefault(require("ora")); function createFiles(name) { var loading = ora_1.default({ color: 'cyan', spinner: 'simpleDotsScrolling' }); loading.start('Creating Inversitron configuration files'); var path = process_1.cwd(); var packageJson = convertUtils_1.convertToJson(packageGenarator_1.default(name)); var tsconfigJson = convertUtils_1.convertToJson(tsconfig_1.default); var tronConfigJson = convertUtils_1.convertToJson(configFile_1.tronConfig); var mkFiles = directoryUtils_1.makeFilesInDirectory(path); mkFiles(tronConfigJson, configFile_1.configFileName, fileExt_1.default.json); mkFiles(packageJson, 'package', fileExt_1.default.json); mkFiles(tsconfigJson, 'tsconfig', fileExt_1.default.json); fileGenerator_1.default(path + "/src", initFiles_1.initFiles); loading.succeed(colors_1.green('All files created')); loading.start('Installing packages'); child_process_1.exec('npm install', function (err) { if (err) { loading.fail(colors_1.red("Package installation " + err)); } loading.succeed(colors_1.green("Packages installed, app " + name + " successfully created")); }); } function init(name) { try { if (!name) { throw new Error('Missing application name'); } createFiles(name); } catch (err) { console.error(colors_1.red(err)); } } exports.default = init;