@cliz/nrm
Version:
NPM Registry Manager
72 lines (71 loc) • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const cli_1 = require("@cliz/cli");
const core = require("../core");
exports.default = (0, cli_1.defineSubCommand)(createCommand => {
return createCommand('Update a registry')
.argument('[registry]', 'Registry name')
.argument('[url]', 'Registry url')
.action(async ({ args }) => {
let name = args.registry;
let registry = args.url;
let home = args.home;
let shouldAddHome = !name || !registry;
if (!name) {
const answers = await cli_1.inquirer
.prompt([
{
name: 'name',
type: 'text',
message: 'Registry Name:',
validate: v => {
if (!v) {
return 'name is required';
}
return true;
},
},
]);
name = answers.name;
}
if (!registry) {
const answers = await cli_1.inquirer
.prompt([
{
name: 'registry',
type: 'text',
message: 'New Registry URL:',
validate: v => {
if (!v) {
return 'registry is required';
}
if (!/^https?:\/\//.test(v)) {
return `${v} is not a valid url`;
}
return true;
},
},
]);
registry = answers.registry;
}
if (shouldAddHome) {
const answers = await cli_1.inquirer
.prompt([
{
name: 'home',
type: 'text',
message: 'Registry Home (optional):',
},
]);
home = answers.home;
}
if (!core.has(name)) {
throw new Error(`registry(${name}) not found`);
}
await core.update(name, {
...core.get(name),
registry,
});
});
});