pk-template
Version:
p template engine for kubernetes
55 lines • 4.96 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
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) : new P(function (resolve) { resolve(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(this, void 0, void 0, function* () {
const directory = argv.directory || 'pk';
yield libs_1.tryCatch(() => __awaiter(this, 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 (!insideGit_1.insideGit()) {
throw new Error(`need git reporitory to create project`);
}
console.log(`* creating ${directory}/ directory ...`);
if (!fs_1.existsSync(argv.projectConf)) {
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 (!fs_1.existsSync(modulesDir)) {
fs_1.mkdirSync(modulesDir);
}
}), argv.d);
}),
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9way9jb21tYW5kcy9pbml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSwyREFBMEQ7QUFDMUQsMkJBQTJDO0FBQzNDLDZDQUE0QztBQUM1QyxrQ0FBbUM7QUFDbkMsdURBQW9EO0FBQ3BELGlEQUFrRDtBQUdsRCxrQkFBZSxDQUFDLEVBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEMsT0FBTyxFQUFFLGlDQUFpQztJQUMxQyxJQUFJLEVBQUUsb0JBQW9CO0lBQzFCLE9BQU8sRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsS0FBSztJQUM5QixPQUFPLEVBQUUsQ0FBTyxJQUFTLEVBQUUsRUFBRTtRQUMzQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztRQUV6QyxNQUFNLGVBQVEsQ0FBQyxHQUFTLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEdBQUcsYUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO2FBQ3hEO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7YUFDakU7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtnQkFDN0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQyxXQUFXLGFBQWEsQ0FBQyxDQUFDO2FBQzVEO1lBRUQsSUFBSSxDQUFDLHFCQUFTLEVBQUUsRUFBRTtnQkFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO2FBQzFEO1lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLFNBQVMsaUJBQWlCLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsZUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDakMsY0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3RCO1lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsU0FBUyxJQUFJLDJCQUFhLENBQUMsUUFBUSxXQUFXLENBQUMsQ0FBQTtZQUM3RSxNQUFNLElBQUksR0FBRywyQkFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckUsSUFBSSwyQkFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksQ0FBQyxXQUFXLGlCQUFpQixDQUFDLENBQUE7YUFDOUQ7WUFDRCwyQkFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFcEMsTUFBTSxVQUFVLEdBQUcsR0FBRyxTQUFTLElBQUksbUJBQVUsRUFBRSxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxVQUFVLGtCQUFrQixDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLGVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDM0IsY0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFBLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2IsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDIn0=