inversitron
Version:
Simple framework based on InversifyJS
54 lines (53 loc) • 2.32 kB
JavaScript
;
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;