trm-core
Version:
TRM (Transport Request Manager) Core
125 lines (124 loc) • 5.96 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
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.installDependencies = void 0;
const logger_1 = require("../../logger");
const Inquirer_1 = require("../../inquirer/Inquirer");
const __1 = require("..");
const registry_1 = require("../../registry");
const _ = __importStar(require("lodash"));
const SUBWORKFLOW_NAME = 'install-dependency-sub-install';
exports.installDependencies = {
name: 'install-dependencies',
filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
if (context.runtime.dependenciesToInstall.length > 0) {
return true;
}
else {
logger_1.Logger.log(`Skipping dependencies install (no packages to install)`, true);
return false;
}
}),
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
logger_1.Logger.log('Install dependencies step', true);
if (context.runtime.dependenciesToInstall.length === 1) {
logger_1.Logger.info(`There is ${context.runtime.dependenciesToInstall.length} missing dependency to install:`);
}
else {
logger_1.Logger.info(`There are ${context.runtime.dependenciesToInstall.length} missing dependencies to install:`);
}
context.runtime.dependenciesToInstall.forEach((o, i) => {
logger_1.Logger.info(` ${i + 1}/${context.runtime.dependenciesToInstall.length} ${o.name} ${o.version}`);
});
var confirmInstall = true;
if (!context.rawInput.contextData.noInquirer) {
confirmInstall = (yield Inquirer_1.Inquirer.prompt({
type: 'confirm',
default: true,
message: `Install missing dependencies?`,
name: 'confirmInstall'
})).confirmInstall;
}
if (!confirmInstall) {
throw new Error(`Install aborted`);
}
var counter = 0;
for (const dependency of context.runtime.dependenciesToInstall) {
counter++;
logger_1.Logger.loading(`Getting ready to install missing dependency "${dependency.name}"...`);
var prefix = ` (${counter}/${context.runtime.dependenciesToInstall.length}) `;
if (logger_1.Logger.getPrefix()) {
prefix = `${logger_1.Logger.getPrefix()} -> ${prefix}`;
}
logger_1.Logger.setPrefix(prefix);
Inquirer_1.Inquirer.setPrefix(prefix);
var registry;
var tmpRegistry = new registry_1.Registry(dependency.registry || registry_1.PUBLIC_RESERVED_KEYWORD);
if (registry_1.Registry.compare(tmpRegistry, context.rawInput.packageData.registry)) {
registry = context.rawInput.packageData.registry;
}
else {
registry = tmpRegistry;
}
var inputData = {
dependencyDataPackage: {
name: dependency.name,
versionRange: dependency.version,
integrity: dependency.integrity,
registry
},
contextData: _.cloneDeep(context.rawInput.contextData),
installData: _.cloneDeep(context.rawInput.installData)
};
if (inputData.contextData) {
inputData.contextData.noR3transInfo = true;
}
logger_1.Logger.log(`Ready to execute sub-workflow ${SUBWORKFLOW_NAME}, input data: ${(0, logger_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
const result = yield (0, __1.installDependency)(inputData);
logger_1.Logger.log(`Workflow ${SUBWORKFLOW_NAME} result: ${(0, logger_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
logger_1.Logger.removePrefix();
Inquirer_1.Inquirer.removePrefix();
}
})
};