UNPKG

@cliz/nrm

Version:
72 lines (71 loc) 2.29 kB
#!/usr/bin/env node "use strict"; 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, }); }); });