@cliz/nrm
Version:
NPM Registry Manager
37 lines (36 loc) • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const cli_1 = require("@cliz/cli");
const config_1 = require("../config");
const core = require("../core");
exports.default = (0, cli_1.defineSubCommand)((createCommand) => {
return createCommand('Change registry')
.argument('[registry]', 'Specify registry to be used')
.action(async ({ args }) => {
const { registries } = config_1.default;
const current = await core.current();
let name = args.registry;
if (!name) {
const answers = await cli_1.inquirer
.prompt([
{
name: 'name',
type: 'list',
message: '请选择',
choices: registries.map(e => ({ name: `${e.name.padEnd(10)} ${e.description}`, value: e.name })),
default: current,
loop: false,
validate: v => !!v,
},
]);
name = answers.name;
}
const registry = core.get(name);
if (!registry) {
throw new Error(`registry(${name}) is not found, use nrm ls to see available registries`);
}
await core.use(registry);
console.log(`Registry has been set to: ${cli_1.api.color.success(registry.name)} (${registry.registry})`);
});
});