UNPKG

@pubgcorp/pk-template

Version:
142 lines 14.1 kB
"use strict"; 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 }); exports.initModule = exports.updateModule = exports.cloneModule = exports.MODULE_DIR = void 0; const child_process_1 = require("child_process"); const preserveDir_1 = require("../pk-util/preserveDir"); const fs_1 = require("fs"); exports.MODULE_DIR = 'pk-modules'; const moduleInitialized = (moduleDir) => (0, fs_1.existsSync)(`${moduleDir}/.git`); const cloneModule = (pkModule, isGlobal) => __awaiter(void 0, void 0, void 0, function* () { return yield (0, preserveDir_1.preserveDir)(() => __awaiter(void 0, void 0, void 0, function* () { const moduleDir = `${exports.MODULE_DIR}/${pkModule.name}`; console.log('* cloning module ...'); const cmd = isGlobal ? `git clone ${pkModule.repository} ${moduleDir}` : `git submodule add ${pkModule.repository} ${moduleDir}`; console.log(cmd); (0, child_process_1.execSync)(cmd); process.chdir(moduleDir); if (pkModule.branch) { console.log(`* checking out branch ${pkModule.branch} ...`); (0, child_process_1.execSync)(`git checkout ${pkModule.branch}`); } else if (pkModule.tag) { console.log(`* checking out tag ${pkModule.tag} ...`); (0, child_process_1.execSync)(`git checkout ${pkModule.tag}`); } const revision = (0, child_process_1.execSync)('git rev-parse HEAD').toString().trim(); const gitShaRegex = /^[0-9a-f]{40}$/; if (gitShaRegex.test(revision)) { console.log(`* marking current revision ${revision} to module config`); pkModule.revision = revision; console.log(`* checking out revision ${pkModule.revision} ...`); (0, child_process_1.execSync)(`git checkout -f ${pkModule.revision}`); } if ((0, fs_1.existsSync)('package.json')) { console.log('* updating npm modules'); (0, child_process_1.execSync)('npm install'); } console.log(`* done`); return pkModule; })); }); exports.cloneModule = cloneModule; const updateModule = (pkModule) => __awaiter(void 0, void 0, void 0, function* () { return yield (0, preserveDir_1.preserveDir)(() => { const moduleDir = `${exports.MODULE_DIR}/${pkModule.name}`; if (!moduleInitialized(moduleDir)) { console.error('* Project modules are not initialized'); console.error(' Please type `pk module init` to initialize modules'); throw new Error('Modules Not Initialized'); } process.chdir(moduleDir); console.log('* fetching submodule ...'); const cmd = `git fetch --all`; (0, child_process_1.execSync)(cmd); if (pkModule.branch) { console.log(`* checking out branch ${pkModule.branch} ...`); (0, child_process_1.execSync)(`git reset --hard `); (0, child_process_1.execSync)(`git checkout ${pkModule.branch}`); (0, child_process_1.execSync)(`git reset --hard remotes/origin/${pkModule.branch}`); //execSync(`git pull --ff-only`); } else if (pkModule.tag) { console.log(`* checking out tag ${pkModule.tag} ...`); (0, child_process_1.execSync)(`git reset --hard`); (0, child_process_1.execSync)(`git checkout tags/${pkModule.tag}`); } const revision = (0, child_process_1.execSync)('git rev-parse HEAD').toString().trim(); const gitShaRegex = /^[0-9a-f]{40}$/; if (gitShaRegex.test(revision)) { console.log(`* marking current revision ${revision} to module config`); pkModule.revision = revision; console.log(`* checking out revision ${pkModule.revision} ...`); (0, child_process_1.execSync)(`git checkout -f ${pkModule.revision}`); } if ((0, fs_1.existsSync)('package.json')) { console.log('* updating npm modules'); (0, child_process_1.execSync)('npm install'); } console.log(`* done`); return pkModule; }); }); exports.updateModule = updateModule; const initModule = (pkModule, argv) => __awaiter(void 0, void 0, void 0, function* () { return yield (0, preserveDir_1.preserveDir)(() => { const moduleDir = `${exports.MODULE_DIR}/${pkModule.name}`; if (!moduleInitialized(moduleDir)) { console.log('* initialize submodule ...'); (0, child_process_1.execSync)('git submodule init'); (0, child_process_1.execSync)(`git submodule update ${moduleDir}`); } process.chdir(moduleDir); if (!argv.noForceCheckout) { console.log('* fetching submodule ...'); (0, child_process_1.execSync)('git fetch --all'); if (pkModule.revision) { console.log(`* checking out revision ${pkModule.revision} ...`); (0, child_process_1.execSync)(`git checkout -f ${pkModule.revision}`); } else { if (pkModule.branch) { console.log(`* checking out branch ${pkModule.branch} ...`); (0, child_process_1.execSync)(`git reset --hard `); (0, child_process_1.execSync)(`git checkout ${pkModule.branch}`); (0, child_process_1.execSync)(`git reset --hard remotes/origin/${pkModule.branch}`); //execSync(`git pull --ff-only`); } else if (pkModule.tag) { console.log(`* checking out tab ${pkModule.tag} ...`); (0, child_process_1.execSync)(`git reset --hard`); (0, child_process_1.execSync)(`git checkout tags/${pkModule.tag}`); } const revision = (0, child_process_1.execSync)('git rev-parse HEAD').toString().trim(); const gitShaRegex = /^[0-9a-f]{40}$/; if (gitShaRegex.test(revision)) { console.log(`* marking current revision ${revision} to module config`); pkModule.revision = revision; console.log(`* checking out revision ${pkModule.revision} ...`); (0, child_process_1.execSync)(`git checkout -f ${pkModule.revision}`); } } } if ((0, fs_1.existsSync)('package.json')) { console.log('* updating npm modules'); (0, child_process_1.execSync)('npm install'); } console.log(`* done`); return pkModule; }); }); exports.initModule = initModule; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BrLWNvbmYvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLGlEQUF5QztBQUN6Qyx3REFBcUQ7QUFDckQsMkJBQWdDO0FBRW5CLFFBQUEsVUFBVSxHQUFHLFlBQVksQ0FBQztBQUV2QyxNQUFNLGlCQUFpQixHQUFHLENBQUMsU0FBaUIsRUFBRSxFQUFFLENBQUMsSUFBQSxlQUFVLEVBQUMsR0FBRyxTQUFTLE9BQU8sQ0FBQyxDQUFBO0FBRXpFLE1BQU0sV0FBVyxHQUFHLENBQU8sUUFBbUIsRUFBRSxRQUFpQixFQUFzQixFQUFFO0lBQzlGLE9BQU8sTUFBTSxJQUFBLHlCQUFXLEVBQUMsR0FBUyxFQUFFO1FBQ2xDLE1BQU0sU0FBUyxHQUFHLEdBQUcsa0JBQVUsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO1FBQ25DLE1BQU0sR0FBRyxHQUFHLFFBQVE7WUFDbEIsQ0FBQyxDQUFDLGFBQWEsUUFBUSxDQUFDLFVBQVUsSUFBSSxTQUFTLEVBQUU7WUFDakQsQ0FBQyxDQUFDLHFCQUFxQixRQUFRLENBQUMsVUFBVSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQzVELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFakIsSUFBQSx3QkFBUSxFQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWQsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QixJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsUUFBUSxDQUFDLE1BQU0sTUFBTSxDQUFDLENBQUM7WUFDNUQsSUFBQSx3QkFBUSxFQUFDLGdCQUFnQixRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUM3QzthQUFNLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztZQUN0RCxJQUFBLHdCQUFRLEVBQUMsZ0JBQWdCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQzFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBQSx3QkFBUSxFQUFDLG9CQUFvQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEUsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUM7UUFDckMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLFFBQVEsbUJBQW1CLENBQUMsQ0FBQztZQUN2RSxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixRQUFRLENBQUMsUUFBUSxNQUFNLENBQUMsQ0FBQztZQUNoRSxJQUFBLHdCQUFRLEVBQUMsbUJBQW1CLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxJQUFBLGVBQVUsRUFBQyxjQUFjLENBQUMsRUFBRTtZQUM5QixPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDdEMsSUFBQSx3QkFBUSxFQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3pCO1FBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUEsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFBLENBQUE7QUF0Q1ksUUFBQSxXQUFXLGVBc0N2QjtBQUVNLE1BQU0sWUFBWSxHQUFHLENBQU8sUUFBbUIsRUFBc0IsRUFBRTtJQUM1RSxPQUFPLE1BQU0sSUFBQSx5QkFBVyxFQUFDLEdBQUcsRUFBRTtRQUM1QixNQUFNLFNBQVMsR0FBRyxHQUFHLGtCQUFVLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7WUFDdkQsT0FBTyxDQUFDLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztTQUM1QztRQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFekIsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO1FBQ3ZDLE1BQU0sR0FBRyxHQUFHLGlCQUFpQixDQUFDO1FBQzlCLElBQUEsd0JBQVEsRUFBQyxHQUFHLENBQUMsQ0FBQztRQUVkLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixRQUFRLENBQUMsTUFBTSxNQUFNLENBQUMsQ0FBQztZQUM1RCxJQUFBLHdCQUFRLEVBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUM5QixJQUFBLHdCQUFRLEVBQUMsZ0JBQWdCLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLElBQUEsd0JBQVEsRUFBQyxtQ0FBbUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDL0QsaUNBQWlDO1NBQ2xDO2FBQU0sSUFBSSxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLFFBQVEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1lBQ3RELElBQUEsd0JBQVEsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzdCLElBQUEsd0JBQVEsRUFBQyxxQkFBcUIsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7U0FDOUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFBLHdCQUFRLEVBQUMsb0JBQW9CLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsRSxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQztRQUNyQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsUUFBUSxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3ZFLFFBQVEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLFFBQVEsQ0FBQyxRQUFRLE1BQU0sQ0FBQyxDQUFDO1lBQ2hFLElBQUEsd0JBQVEsRUFBQyxtQkFBbUIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDbEQ7UUFFRCxJQUFJLElBQUEsZUFBVSxFQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUN0QyxJQUFBLHdCQUFRLEVBQUMsYUFBYSxDQUFDLENBQUM7U0FDekI7UUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFBLENBQUE7QUE1Q1ksUUFBQSxZQUFZLGdCQTRDeEI7QUFFTSxNQUFNLFVBQVUsR0FBRyxDQUFPLFFBQW1CLEVBQUUsSUFBUyxFQUFzQixFQUFFO0lBQ3JGLE9BQU8sTUFBTSxJQUFBLHlCQUFXLEVBQUMsR0FBRyxFQUFFO1FBQzVCLE1BQU0sU0FBUyxHQUFHLEdBQUcsa0JBQVUsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUMxQyxJQUFBLHdCQUFRLEVBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUMvQixJQUFBLHdCQUFRLEVBQUMsd0JBQXdCLFNBQVMsRUFBRSxDQUFDLENBQUM7U0FDL0M7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXpCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUN4QyxJQUFBLHdCQUFRLEVBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUU1QixJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLFFBQVEsQ0FBQyxRQUFRLE1BQU0sQ0FBQyxDQUFBO2dCQUMvRCxJQUFBLHdCQUFRLEVBQUMsbUJBQW1CLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQ2xEO2lCQUFNO2dCQUNMLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRTtvQkFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsUUFBUSxDQUFDLE1BQU0sTUFBTSxDQUFDLENBQUM7b0JBQzVELElBQUEsd0JBQVEsRUFBQyxtQkFBbUIsQ0FBQyxDQUFDO29CQUM5QixJQUFBLHdCQUFRLEVBQUMsZ0JBQWdCLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUM1QyxJQUFBLHdCQUFRLEVBQUMsbUNBQW1DLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUMvRCxpQ0FBaUM7aUJBQ2xDO3FCQUFNLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRTtvQkFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUE7b0JBQ3JELElBQUEsd0JBQVEsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDO29CQUM3QixJQUFBLHdCQUFRLEVBQUMscUJBQXFCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2lCQUMvQztnQkFFRCxNQUFNLFFBQVEsR0FBRyxJQUFBLHdCQUFRLEVBQUMsb0JBQW9CLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbEUsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQ3JDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsUUFBUSxtQkFBbUIsQ0FBQyxDQUFDO29CQUN2RSxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztvQkFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsUUFBUSxDQUFDLFFBQVEsTUFBTSxDQUFDLENBQUM7b0JBQ2hFLElBQUEsd0JBQVEsRUFBQyxtQkFBbUIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ2xEO2FBQ0Y7U0FDRjtRQUVELElBQUksSUFBQSxlQUFVLEVBQUMsY0FBYyxDQUFDLEVBQUU7WUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQ3RDLElBQUEsd0JBQVEsRUFBQyxhQUFhLENBQUMsQ0FBQztTQUN6QjtRQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUEsQ0FBQTtBQWpEWSxRQUFBLFVBQVUsY0FpRHRCIn0=