@rnv/engine-core
Version:
ReNative Engine Core
77 lines • 4.56 kB
JavaScript
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
;