UNPKG

trm-core

Version:

TRM (Transport Request Manager) Core

180 lines (179 loc) 9.4 kB
"use strict"; 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); }) };