Создание инструмента CLI с помощью TypeScript

Создание инструмента интерфейса командной строки (CLI) с помощью TypeScript обеспечивает безопасность типов и современные функции JavaScript. TypeScript улучшает процесс разработки, предлагая статическую типизацию и лучшую поддержку инструментов. В этом руководстве рассматриваются шаги по созданию инструмента CLI с помощью TypeScript.

Шаг 1: Настройте свой проект TypeScript

Начните с настройки нового проекта TypeScript. Инициализируйте новый проект npm и установите TypeScript и другие зависимости.

npm init -y
npm install typescript ts-node @types/node --save-dev
npx tsc --init

Пакет ts-node позволяет запускать файлы TypeScript напрямую, а @types/node предоставляет определения типов для Node.js.

Шаг 2: Создание базового сценария CLI

Создайте файл TypeScript, который будет служить точкой входа для инструмента CLI. Этот файл будет обрабатывать аргументы командной строки и реализовывать основную функциональность.

import { Command } from 'commander';

const program = new Command();

program
  .version('1.0.0')
  .description('A simple CLI tool')
  .option('-n, --name <name>', 'Specify the name')
  .action((options) => {
    console.log(`Hello, ${options.name || 'World'}!`);
  });

program.parse(process.argv);

Здесь пакет commander используется для обработки аргументов командной строки и предоставляет простой интерфейс для определения команд и параметров.

Шаг 3: Добавьте зависимости CLI

Установите дополнительные зависимости, необходимые для сборки инструмента CLI. В этом примере commander используется для разбора аргументов.

npm install commander

Шаг 4: Компиляция кода TypeScript

Скомпилируйте код TypeScript в JavaScript. Этот шаг необходим для распространения инструмента CLI.

npx tsc

Шаг 5: Создание исполняемого скрипта

Обновите файл package.json, включив в него раздел bin. Этот раздел сопоставляет команду CLI с скомпилированным файлом JavaScript.

{
  "name": "my-cli-tool",
  "version": "1.0.0",
  "bin": {
    "my-cli-tool": "./dist/index.js"
  },
  "scripts": {
    "build": "tsc",
    "start": "ts-node src/index.ts"
  },
  "dependencies": {
    "commander": "^8.3.0"
  },
  "devDependencies": {
    "@types/node": "^14.14.31",
    "typescript": "^4.3.5",
    "ts-node": "^10.2.1"
  }
}

Шаг 6: протестируйте свой CLI-инструмент

Скомпонуйте CLI-инструмент локально, чтобы протестировать его перед публикацией. Используйте npm link для создания символической ссылки в глобальном каталоге node_modules.

npm link
my-cli-tool --name TypeScript

Заключение

Создание инструмента CLI с TypeScript включает в себя настройку проекта TypeScript, создание базового скрипта CLI, добавление зависимостей и компиляцию кода. Используя статическую типизацию и современные функции TypeScript, можно создавать надежные и поддерживаемые инструменты CLI.