Ninety Percent Muffin

    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

    Install

    npm i console-commander

    DownloadsWeekly Downloads

    15

    Version

    2.1.0

    License

    MIT

    Unpacked Size

    24.9 kB

    Total Files

    21

    Last publish

    Collaborators

    • tak_ne_poidet