trm-core
Version:
TRM (Transport Request Manager) Core
32 lines (31 loc) • 1.13 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.validatePackageVisibility = validatePackageVisibility;
const commons_1 = require("../commons");
const registry_1 = require("../registry");
function validatePackageVisibility(registryType, packageName, isPrivate, latestReleaseVisibility) {
if (registryType === registry_1.RegistryType.PUBLIC) {
if (latestReleaseVisibility !== undefined) {
if (isPrivate !== latestReleaseVisibility) {
return `Cannot change package visibility from ${isPrivate ? 'private' : 'public'} to ${latestReleaseVisibility ? 'private' : 'public'}.`;
}
}
if (isPrivate) {
const packageNameParsed = (0, commons_1.parsePackageName)({
fullName: packageName
});
if (!packageNameParsed.organization) {
return `Private packages on public registry need a scope!`;
}
else {
return true;
}
}
else {
return true;
}
}
else {
return true;
}
}
;