2.1.0 • Published 2 years ago

console-commander v2.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

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
2.1.0

2 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.0-beta-1

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.1.2

3 years ago

1.0.1

3 years ago

1.0.0-1

3 years ago

1.0.0

3 years ago