@pubgcorp/pk-template
Version:
p template engine for kubernetes
56 lines • 5.11 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const projectConf_1 = require("../../pk-conf/projectConf");
const fs_1 = require("fs");
const conf_1 = require("../../pk-conf/conf");
const libs_1 = require("../libs");
const insideGit_1 = require("../../pk-path/insideGit");
const module_1 = require("../../pk-conf/module");
exports.default = (pk) => ({
command: 'init <project-name> [directory]',
desc: 'initialize project',
builder: (yargs) => yargs,
handler: (argv) => __awaiter(void 0, void 0, void 0, function* () {
const directory = argv.directory || 'pk';
yield (0, libs_1.tryCatch)(() => __awaiter(void 0, void 0, void 0, function* () {
const conf = conf_1.PkConf.load();
if (!conf) {
throw new Error('~/pk.yaml not exists. use pk config');
}
if (!conf.data.email) {
throw new Error('user is not set. use pk config --user to set');
}
if (!argv.projectName.match(/^[a-zA-Z0-9]+$/)) {
throw new Error(`app name ${argv.projectName} is invalid`);
}
if (!(0, insideGit_1.insideGit)()) {
throw new Error(`need git reporitory to create project`);
}
console.log(`* creating ${directory}/ directory ...`);
if (!(0, fs_1.existsSync)(argv.projectConf)) {
(0, fs_1.mkdirSync)(directory);
}
console.log(`* initializing ${directory}/${projectConf_1.PkProjectConf.FILENAME} file ...`);
const file = projectConf_1.PkProjectConf.create(argv.projectName, conf.data.email);
if (projectConf_1.PkProjectConf.exists(directory)) {
throw new Error(`project ${argv.projectName} already exists`);
}
projectConf_1.PkProjectConf.save(file, directory);
const modulesDir = `${directory}/${module_1.MODULE_DIR}`;
console.log(`* creating ${modulesDir}/ directories...`);
if (!(0, fs_1.existsSync)(modulesDir)) {
(0, fs_1.mkdirSync)(modulesDir);
}
}), argv.d);
}),
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9way9jb21tYW5kcy9pbml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsMkRBQTBEO0FBQzFELDJCQUEyQztBQUMzQyw2Q0FBNEM7QUFDNUMsa0NBQW1DO0FBQ25DLHVEQUFvRDtBQUNwRCxpREFBa0Q7QUFHbEQsa0JBQWUsQ0FBQyxFQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLE9BQU8sRUFBRSxpQ0FBaUM7SUFDMUMsSUFBSSxFQUFFLG9CQUFvQjtJQUMxQixPQUFPLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUs7SUFDOUIsT0FBTyxFQUFFLENBQU8sSUFBUyxFQUFFLEVBQUU7UUFDM0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFFekMsTUFBTSxJQUFBLGVBQVEsRUFBQyxHQUFTLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEdBQUcsYUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO2FBQ3hEO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7YUFDakU7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtnQkFDN0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQyxXQUFXLGFBQWEsQ0FBQyxDQUFDO2FBQzVEO1lBRUQsSUFBSSxDQUFDLElBQUEscUJBQVMsR0FBRSxFQUFFO2dCQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7YUFDMUQ7WUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsU0FBUyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxJQUFBLGVBQVUsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ2pDLElBQUEsY0FBUyxFQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3RCO1lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsU0FBUyxJQUFJLDJCQUFhLENBQUMsUUFBUSxXQUFXLENBQUMsQ0FBQTtZQUM3RSxNQUFNLElBQUksR0FBRywyQkFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckUsSUFBSSwyQkFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksQ0FBQyxXQUFXLGlCQUFpQixDQUFDLENBQUE7YUFDOUQ7WUFDRCwyQkFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFcEMsTUFBTSxVQUFVLEdBQUcsR0FBRyxTQUFTLElBQUksbUJBQVUsRUFBRSxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxVQUFVLGtCQUFrQixDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLElBQUEsZUFBVSxFQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUMzQixJQUFBLGNBQVMsRUFBQyxVQUFVLENBQUMsQ0FBQzthQUN2QjtRQUNILENBQUMsQ0FBQSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNiLENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyJ9