trm-core
Version:
TRM (Transport Request Manager) Core
180 lines (179 loc) • 9.4 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.setManifestValues = void 0;
const logger_1 = require("../../logger");
const inquirer_1 = require("../../inquirer");
const registry_1 = require("../../registry");
const manifest_1 = require("../../manifest");
const chalk_1 = __importDefault(require("chalk"));
exports.setManifestValues = {
name: 'set-manifest-values',
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
logger_1.Logger.log('Set manifest values step', true);
if (context.rawInput.publishData.keepLatestReleaseManifestValues) {
if (context.runtime.trmPackage.latestReleaseManifest) {
logger_1.Logger.log(`Setting manifest values like latest version (${context.runtime.trmPackage.latestReleaseManifest.version})`, true);
context.runtime.trmPackage.manifest.description = context.runtime.trmPackage.manifest.description || context.runtime.trmPackage.latestReleaseManifest.description;
context.runtime.trmPackage.manifest.git = context.runtime.trmPackage.manifest.git || context.runtime.trmPackage.latestReleaseManifest.git;
context.runtime.trmPackage.manifest.license = context.runtime.trmPackage.manifest.license || context.runtime.trmPackage.latestReleaseManifest.license;
context.runtime.trmPackage.manifest.website = context.runtime.trmPackage.manifest.website || context.runtime.trmPackage.latestReleaseManifest.website;
if (context.runtime.trmPackage.manifest.authors) {
if (Array.isArray(context.runtime.trmPackage.manifest.authors) && context.runtime.trmPackage.manifest.authors.length === 0) {
context.runtime.trmPackage.manifest.authors = context.runtime.trmPackage.latestReleaseManifest.authors;
}
}
else {
context.runtime.trmPackage.manifest.authors = context.runtime.trmPackage.latestReleaseManifest.authors;
}
if (context.runtime.trmPackage.manifest.keywords) {
if (Array.isArray(context.runtime.trmPackage.manifest.keywords) && context.runtime.trmPackage.manifest.keywords.length === 0) {
context.runtime.trmPackage.manifest.keywords = context.runtime.trmPackage.latestReleaseManifest.keywords;
}
}
else {
context.runtime.trmPackage.manifest.keywords = context.runtime.trmPackage.latestReleaseManifest.keywords;
}
}
}
if (!context.rawInput.contextData.noInquirer) {
var defaultAuthors;
var defaultKeywords;
if (Array.isArray(context.runtime.trmPackage.manifest.authors)) {
defaultAuthors = context.runtime.trmPackage.manifest.authors.map(o => {
var author;
if (o.name) {
author = o.name;
if (o.email) {
author += ` <${o.email}>`;
}
}
else if (o.email) {
author = o.email;
}
return author;
}).filter(o => o !== undefined).join(', ');
}
else {
defaultAuthors = context.runtime.trmPackage.manifest.authors;
}
if (Array.isArray(context.runtime.trmPackage.manifest.keywords)) {
defaultKeywords = context.runtime.trmPackage.manifest.keywords.join(', ');
}
else {
defaultKeywords = context.runtime.trmPackage.manifest.keywords;
}
var inq = yield inquirer_1.Inquirer.prompt([{
type: "list",
message: "Package visibility",
name: "private",
default: context.runtime.trmPackage.manifest.private,
choices: [{
name: `Public`,
value: false
}, {
name: `Private`,
value: true
}],
validate: (input) => {
return (0, inquirer_1.validatePackageVisibility)(context.rawInput.packageData.registry.getRegistryType(), context.rawInput.packageData.name, input, context.runtime.trmPackage.latestReleaseManifest ? context.runtime.trmPackage.latestReleaseManifest.private : undefined);
},
}, {
type: "input",
message: "Short description",
name: "description",
default: context.runtime.trmPackage.manifest.description,
validate: (input) => {
if (context.rawInput.packageData.registry.getRegistryType() === registry_1.RegistryType.PUBLIC) {
if (input.length > 50) {
return "Maximum length: 50 characters";
}
else {
return true;
}
}
else {
return true;
}
}
}, {
type: "input",
message: "Website",
name: "website",
default: context.runtime.trmPackage.manifest.website,
validate: (input) => {
if (context.rawInput.packageData.registry.getRegistryType() === registry_1.RegistryType.PUBLIC) {
if (input.length > 100) {
return "Maximum length: 100 characters";
}
else {
return true;
}
}
else {
return true;
}
}
}, {
type: "input",
message: "Git repository",
name: "git",
default: context.runtime.trmPackage.manifest.git,
validate: (input) => {
if (context.rawInput.packageData.registry.getRegistryType() === registry_1.RegistryType.PUBLIC) {
if (input.length > 100) {
return "Maximum length: 100 characters";
}
else {
return true;
}
}
else {
return true;
}
}
}, {
type: "input",
message: "Authors (separated by comma)",
name: "authors",
default: defaultAuthors
}, {
type: "input",
message: "Keywords (separated by comma)",
name: "keywords",
default: defaultKeywords
}, {
type: "input",
message: "License",
name: "license",
default: context.runtime.trmPackage.manifest.license
}]);
context.runtime.trmPackage.manifest = Object.assign(Object.assign({}, context.runtime.trmPackage.manifest), inq);
}
logger_1.Logger.info(`Package visibility: ${chalk_1.default.bold(context.runtime.trmPackage.manifest.private ? 'private' : 'public')}`);
if (context.runtime.packageData.namespace) {
context.runtime.trmPackage.manifest.namespace = {
replicense: context.runtime.packageData.namespace.trnspacet.replicense,
texts: context.runtime.packageData.namespace.trnspacett.map(o => {
return {
description: o.descriptn,
language: o.spras,
owner: o.owner
};
})
};
}
context.runtime.trmPackage.manifest = manifest_1.Manifest.normalize(context.runtime.trmPackage.manifest, false);
})
};