trm-client
Version:
TRM (Transport Request Manager) Client
44 lines (43 loc) • 2.78 kB
JavaScript
;
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());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.checkTrmDependencies = checkTrmDependencies;
const trm_core_1 = require("trm-core");
const commons_1 = require("../commands/commons");
const chalk_1 = __importDefault(require("chalk"));
function checkTrmDependencies(commandArgs) {
return __awaiter(this, void 0, void 0, function* () {
const packages = yield commons_1.CommandContext.getSystemPackages();
const dependenciesCheck = yield (0, trm_core_1.checkCoreTrmDependencies)(packages);
const trmDependencies = (0, trm_core_1.getCoreTrmDependencies)();
commons_1.CommandContext.trmDependencies = commons_1.CommandContext.trmDependencies.concat(dependenciesCheck.dependencies);
dependenciesCheck.missingDependencies.forEach(missingDependency => {
if (commandArgs.command === 'info') {
commons_1.CommandContext.missingTrmDependencies.push(missingDependency);
}
else {
throw new Error(`Package "${missingDependency}" is not installed on ${trm_core_1.SystemConnector.getDest()}.`);
}
});
dependenciesCheck.versionNotSatisfiedDependencies.forEach(dependency => {
if (commandArgs.command === 'info') {
commons_1.CommandContext.missingTrmDependencies.push(dependency);
}
else if (!((commandArgs.command === 'install' || commandArgs.command === 'update') && commandArgs.package === dependency.packageName)) {
const versionRange = trmDependencies[dependency.packageName];
throw new Error(`Package "${dependency.packageName}" version ${dependency.manifest.get().version} is installed on ${trm_core_1.SystemConnector.getDest()}, but does not satisfy dependency version ${versionRange}. Update with command ${chalk_1.default.italic('trm update ' + dependency.packageName)}`);
}
});
});
}