pk-template
Version:
p template engine for kubernetes
64 lines • 5.69 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 child_process_1 = require("child_process");
const preserveDir_1 = require("../pk-util/preserveDir");
const fs_1 = require("fs");
exports.MODULE_DIR = 'pk-modules';
exports.cloneModule = (module, isGlobal) => __awaiter(this, void 0, void 0, function* () {
yield preserveDir_1.preserveDir(() => __awaiter(this, void 0, void 0, function* () {
const moduleDir = `${exports.MODULE_DIR}/${module.name}`;
console.log('* cloning module ...');
const cmd = isGlobal
? `git clone ${module.repository} ${moduleDir}`
: `git submodule add ${module.repository} ${moduleDir}`;
console.log(cmd);
child_process_1.execSync(cmd);
process.chdir(moduleDir);
if (module.branch) {
console.log(`* checking out ${module.branch} branch ...`);
child_process_1.execSync(`git checkout ${module.branch}`);
}
else if (module.tag) {
console.log(`* checking out tags/${module.tag} tag ...`);
child_process_1.execSync(`git checkout ${module.tag}`);
}
if (fs_1.existsSync('package.json')) {
console.log('* updating npm modules');
child_process_1.execSync('npm install');
}
console.log(`* done`);
}));
});
exports.updateModule = (module) => __awaiter(this, void 0, void 0, function* () {
yield preserveDir_1.preserveDir(() => {
const moduleDir = `${exports.MODULE_DIR}/${module.name}`;
process.chdir(moduleDir);
console.log('* fetching submodule ...');
const cmd = `git fetch --all`;
child_process_1.execSync(cmd);
if (module.branch) {
child_process_1.execSync(`git reset --hard `);
child_process_1.execSync(`git checkout ${module.branch}`);
child_process_1.execSync(`git reset --hard remotes/origin/${module.branch}`);
//execSync(`git pull --ff-only`);
}
else if (module.tag) {
console.log(`* checking out ${module.tag} tag ...`);
child_process_1.execSync(`git reset --hard`);
child_process_1.execSync(`git checkout tags/${module.tag}`);
}
if (fs_1.existsSync('package.json')) {
console.log('* updating npm modules');
child_process_1.execSync('npm install');
}
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BrLWNvbmYvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFDQSxpREFBeUM7QUFDekMsd0RBQXFEO0FBQ3JELDJCQUFnQztBQUVuQixRQUFBLFVBQVUsR0FBRyxZQUFZLENBQUM7QUFFMUIsUUFBQSxXQUFXLEdBQUcsQ0FBTyxNQUFpQixFQUFFLFFBQWlCLEVBQUUsRUFBRTtJQUN4RSxNQUFNLHlCQUFXLENBQUMsR0FBUyxFQUFFO1FBQzNCLE1BQU0sU0FBUyxHQUFHLEdBQUcsa0JBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO1FBQ25DLE1BQU0sR0FBRyxHQUFHLFFBQVE7WUFDbEIsQ0FBQyxDQUFDLGFBQWEsTUFBTSxDQUFDLFVBQVUsSUFBSSxTQUFTLEVBQUU7WUFDL0MsQ0FBQyxDQUFDLHFCQUFxQixNQUFNLENBQUMsVUFBVSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQzFELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFakIsd0JBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVkLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekIsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsQ0FBQyxDQUFBO1lBQ3pELHdCQUFRLENBQUMsZ0JBQWdCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO1NBQzFDO2FBQU0sSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFBO1lBQ3hELHdCQUFRLENBQUMsZ0JBQWdCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO1NBQ3ZDO1FBRUQsSUFBSSxlQUFVLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQ3RDLHdCQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDekI7UUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hCLENBQUMsQ0FBQSxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUEsQ0FBQTtBQUVZLFFBQUEsWUFBWSxHQUFHLENBQU8sTUFBaUIsRUFBRSxFQUFFO0lBQ3RELE1BQU0seUJBQVcsQ0FBQyxHQUFHLEVBQUU7UUFFckIsTUFBTSxTQUFTLEdBQUcsR0FBRyxrQkFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqRCxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXpCLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtRQUN2QyxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQztRQUM5Qix3QkFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWQsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pCLHdCQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUM5Qix3QkFBUSxDQUFDLGdCQUFnQixNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUMxQyx3QkFBUSxDQUFDLG1DQUFtQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUM3RCxpQ0FBaUM7U0FDbEM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUE7WUFDbkQsd0JBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzdCLHdCQUFRLENBQUMscUJBQXFCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO1NBQzVDO1FBRUQsSUFBSSxlQUFVLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQ3RDLHdCQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQSxDQUFBIn0=