trm-client
Version:
TRM (Transport Request Manager) Client
96 lines (95 loc) • 3.92 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());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.pack = pack;
const trm_core_1 = require("trm-core");
const utils_1 = require("../utils");
const commons_1 = require("./commons");
const trm_commons_1 = require("trm-commons");
const _parseDependenciesArg = (arg) => {
if (arg) {
try {
return JSON.parse(arg);
}
catch (e) { }
}
};
const _parseSapEntriesArg = (arg) => {
if (arg) {
try {
return JSON.parse(arg);
}
catch (e) { }
}
};
const _parseReleaseTimeoutArg = (arg) => {
if (arg) {
try {
return parseInt(arg);
}
catch (e) { }
}
};
function pack(commandArgs) {
return __awaiter(this, void 0, void 0, function* () {
var outputPath = commandArgs.outputPath;
if (!outputPath) {
if (commandArgs.noPrompts) {
throw new Error(`Provide an output path for the file with option -o (--output). Run with option -h (--help) for more information.`);
}
else {
outputPath = (yield trm_commons_1.Inquirer.prompt({
message: `Output path`,
name: 'outputPath',
type: `input`
})).outputPath;
}
}
const registry = new trm_core_1.FileSystem(outputPath);
const packages = yield commons_1.CommandContext.getSystemPackages();
const result = yield (0, trm_core_1.publish)({
contextData: {
logTemporaryFolder: (0, utils_1.getTempFolder)(),
systemPackages: packages,
noInquirer: commandArgs.noPrompts
},
packageData: {
name: commandArgs.package,
version: commandArgs.version,
devclass: commandArgs.devclass,
manifest: {
authors: commandArgs.authors,
backwardsCompatible: commandArgs.backwardsCompatible,
description: commandArgs.description,
git: commandArgs.git,
keywords: commandArgs.keywords,
license: commandArgs.license,
website: commandArgs.website,
dependencies: _parseDependenciesArg(commandArgs.dependencies),
sapEntries: _parseSapEntriesArg(commandArgs.sapEntries)
},
registry
},
publishData: {
noLanguageTransport: commandArgs.noLanguageTransport,
noDependenciesDetection: commandArgs.noDependenciesDetection,
skipCustomizingTransports: commandArgs.skipCustomizingTransports,
customizingTransports: commandArgs.customizingTransports
},
systemData: {
releaseTimeout: _parseReleaseTimeoutArg(commandArgs.releaseTimeout),
transportTarget: commandArgs.transportTarget
}
});
const sOutput = `+ ${result.trmPackage.manifest.get().name} ${result.trmPackage.manifest.get().version} >> ${outputPath}`;
trm_commons_1.Logger.success(sOutput);
});
}