console-commander
TypeScript icon, indicating that this package has built-in type declarations

2.1.0 • Public • Published

console-commander

Простой консольный менеджер команд

Установка

Добавьте пакет в свои dependencies с помощью npm или yarn

$ npm i console-commander

$ yarn add console-commander

Использование

// Импорт модулей
const { Commander, Command } = require('console-commander');

// Создание класса обработчика команд
class TestCommand extends Command {
	signature = 'test-command {--T|<number>timeout=1 : время в секундах}';

	get description() {
		return 'Это описание команды';
	}

	handle() {
		return new Promise((resolve) => {
			setTimeout(() => {
				resolve({ response: 'ok' });
			}, this.options.timeout * 1000);
		});
	}
}

// Инициализация Commander
const commander = new Commander();

// Добавление команд
commander.append(TestCommand);

// Старт
commander
	.start()
	.then((result) => {
		console.log(result);
	})
	.catch((error) => console.error(error.message));
$ example test-command --timeout 5

Определение входных данных

Все параметры, предоставленные пользователем, заключены в фигурные скобки и имеют префикс "--".

class TestCommand extends Command {
	signature = 'test-command {--verbose}';
}

Алиас

Чтобы назначить алиас при определении опции, вы можете указать его перед именем опции и использовать символ | в качестве разделителя, чтобы отделить ярлык от полного имени опции:

class TestCommand extends Command {
	signature = 'test-command {--T|timeout}';
}

Описание

Вы можете назначить описания параметрам ввода, отделив имя параметра от описания двоеточием.

class TestCommand extends Command {
	signature = 'test-command {--timeout : время в секундах}';
}

Типизация

Чтобы описать тип, напишите его <typing> впереди с именем параметра

class TestCommand extends Command {
	signature = 'test-command {--<number>timeout}';
}

Разрешены типы Boolean, Number и String

default Boolean

Ввод массива

Чтобы дождаться нескольких вариантов, нажмите * после имени параметра

class TestCommand extends Command {
	signature = 'test-command {--src*}';
}

Значения по умолчанию

Чтобы определить значение по умолчанию, завершите имя с помощью = и добавьте значение

class TestCommand extends Command {
	signature = 'test-command {--src=one.js}';
}

Для нескольких значений по умолчанию необходимо написать *=

class TestCommand extends Command {
	signature = 'test-command {--src*=one.js,two.js}';
}

Значения разделяются ,

Параметры командира

Опция Алиас Описание
--help -H Вывод справки
--list -L Вывод списка команд

Вывод справки у команды

$ example test-command --help

Dependents (0)

Package Sidebar

Install

npm i console-commander

Weekly Downloads

12

Version

2.1.0

License

MIT

Unpacked Size

24.9 kB

Total Files

21

Last publish

Collaborators

  • tak_ne_poidet