UNPKG

@rnv/engine-core

Version:
77 lines 4.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.checkCrypto = exports.getEnvVar = exports.getEnvExportCmd = void 0; var tslib_1 = require("tslib"); var core_1 = require("@rnv/core"); var path_1 = tslib_1.__importDefault(require("path")); var getEnvExportCmd = function (envVar, key) { if (core_1.isSystemWin) { return "".concat((0, core_1.chalk)().bold.white("setx ".concat(envVar, " \"").concat(key, "\""))); } return "".concat((0, core_1.chalk)().bold.white("export ".concat(envVar, "=\"").concat(key, "\""))); }; exports.getEnvExportCmd = getEnvExportCmd; var getEnvVar = function () { var _a, _b; var c = (0, core_1.getContext)(); if (!c.files.project.package.name) { (0, core_1.logError)('package.json requires `name` field. cannot generate ENV variables for crypto'); return; } var splitDelimiter = core_1.isSystemWin ? '\\' : '/'; var p1 = (_b = (_a = c.paths.workspace.dir.split(splitDelimiter).pop()) === null || _a === void 0 ? void 0 : _a.replace) === null || _b === void 0 ? void 0 : _b.call(_a, '.', ''); var p2 = c.files.project.package.name.replace('@', '').replace('/', '_').replace(/-/g, '_'); var envVar = "CRYPTO_".concat(p1, "_").concat(p2).toUpperCase(); (0, core_1.logDebug)('encrypt looking for env var:', envVar); return envVar; }; exports.getEnvVar = getEnvVar; var checkCrypto = function (parentTaskName, originTaskName) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { var c, sourceRaw, source, tsProjectPath, wsPath, tsWorkspacePath, tsWorkspace, tsProject; var _a, _b, _c, _d; return tslib_1.__generator(this, function (_e) { switch (_e.label) { case 0: c = (0, core_1.getContext)(); (0, core_1.logTask)('checkCrypto'); if (c.program.opts().ci || ((_b = (_a = c.files.project.config) === null || _a === void 0 ? void 0 : _a.crypto) === null || _b === void 0 ? void 0 : _b.isOptional)) return [2 /*return*/]; sourceRaw = (_d = (_c = c.files.project.config) === null || _c === void 0 ? void 0 : _c.crypto) === null || _d === void 0 ? void 0 : _d.path; if (!c.files.project.package.name) { (0, core_1.logError)('package.json requires `name` field. cannot check crypto'); return [2 /*return*/]; } if (!sourceRaw) return [3 /*break*/, 4]; source = "".concat((0, core_1.getRealPath)(sourceRaw, 'crypto.path')); tsProjectPath = "".concat(source, ".timestamp"); wsPath = path_1.default.join(c.paths.workspace.dir, c.files.project.package.name); tsWorkspacePath = path_1.default.join(wsPath, 'timestamp'); if (!!(0, core_1.fsExistsSync)(source)) return [3 /*break*/, 1]; (0, core_1.logWarning)("This project uses encrypted files but you don't have them installed"); return [3 /*break*/, 4]; case 1: tsWorkspace = 0; tsProject = 0; if ((0, core_1.fsExistsSync)(tsWorkspacePath)) { tsWorkspace = parseInt((0, core_1.fsReadFileSync)(tsWorkspacePath).toString(), 10); } if ((0, core_1.fsExistsSync)(tsProjectPath)) { tsProject = parseInt((0, core_1.fsReadFileSync)(tsProjectPath).toString(), 10); } if (!(tsProject > tsWorkspace)) return [3 /*break*/, 3]; (0, core_1.logWarning)("Your ".concat(tsWorkspacePath, " is out of date.\nproject timestamp: ").concat((0, core_1.chalk)().grey("".concat(tsProject, " - ").concat(new Date(tsProject))), "\nworkspace timestamp: ").concat((0, core_1.chalk)().grey("".concat(tsWorkspace, " - ").concat(new Date(tsWorkspace))), "\nyou should run decrypt")); return [4 /*yield*/, (0, core_1.executeTask)({ taskName: core_1.RnvTaskName.cryptoDecrypt, parentTaskName: parentTaskName, originTaskName: originTaskName })]; case 2: _e.sent(); return [2 /*return*/]; case 3: if (tsProject < tsWorkspace) { (0, core_1.logWarning)("Your ".concat(tsWorkspacePath, " is newer than your project one.")); } _e.label = 4; case 4: return [2 /*return*/]; } }); }); }; exports.checkCrypto = checkCrypto; //# sourceMappingURL=common.js.map