Сосредоточьтесь на функциональности вашего пакета npm, не беспокоясь о настройке или настройке

Необходимость быстро приступить к работе

Когда у вас внезапно появляется вдохновение для создания проекта или вам нужно создать его для работы, обычно возникают какие-то трения, чтобы начать работу. Вы можете потратить от нескольких минут до часа на настройку среды разработки, поиск некоторых руководств, а затем настройку в соответствии с вашими потребностями. Следующее, что вы знаете, вы сталкиваетесь с проблемой и теряете вдохновение, пока не поймете, что больше не хотите продолжать.

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

Это совсем не идеально. Вы же не хотите зацикливаться на повторяющейся работе над стандартным кодом. Вы хотите сосредоточиться на решении актуальной проблемы, работая над функциональностью.

Если у вас есть способы быстро начать работу и развернуть свой проект, вы можете протестировать больше своих идей. Кто знает? Одна из ваших идей может стать впечатляющим проектом с открытым исходным кодом или продуктом, который изменит вашу жизнь.

Это был бы идеальный сценарий:

Наличие готового к использованию шаблона cookiecutter, который решает этапы «Начало работы» и «Развертывание или публикация», настраивает вас на успех.

Пошаговое руководство

В этой статье я хотел бы поделиться шаблоном cookiecutter, который я использую для создания и публикации пакетов npm.

Откройте вашу IDE и терминал. Давайте начнем!

Технические характеристики

  • Я тестировал это на npm 6.13.4 и Node v10.19.0.
  • Начальный код написан на TypeScript.

Начать - Cookiecutter

Cookiecutter - это инструмент командной строки Python для создания шаблонов проектов. Он поддерживает конфигурацию, которая позволяет вам устанавливать значения, которые будут использоваться в вашем проекте, и другие удобные функции, такие как хуки.

Предварительное условие: Python установлен и настроен. Если вы еще не сделали этого, обратитесь к этому руководству.

Чтобы установить его, просто запустите:

pip install cookiecutter

«Вырежьте из файла cookie» шаблон пакета npm:

cookiecutter [email protected]:ardydedase/cookiecutter-npm-package.git

Вам будет предложено ввести следующие значения:

  • github_username: имя пользователя GitHub или организация, в которой вы хотите создать свой репозиторий.
  • project_name: Как вы хотите назвать свой проект. Значение по умолчанию для project_slug будет основано на этом.
  • project_slug: Значение по умолчанию - project_name в тире. Это будет использоваться в качестве имени пакета, поэтому убедитесь, что выбранное вами имя пакета еще не занято. Вы можете проверить это на npmjs.com.
  • project_short_description: Краткое описание, которое будет использоваться по умолчанию в сгенерированном файле Readme вашего проекта.
  • version: номер версии вашего пакета npm.

У них будут значения по умолчанию, которые вы можете найти в cookiecutter.json файле, что делает его удобным для тестирования и сборки CI. Это будет напоминать следующее в командной строке, где значение по умолчанию github_username будет ardydedase, которое вам нужно будет заменить своим собственным:

github_username [ardydedase]:

После удаления файлов cookie будет создана папка со значением project_slug . Измените текущий рабочий каталог на созданную папку.

Существует образец справочного пакета, созданный с помощью нашего cookiecutter, на который вы можете ссылаться на GitHub. Я использовал это пошаговое руководство, чтобы структурировать этот пакет с некоторыми настройками в соответствии со своими предпочтениями.

cd <replace with your project_slug>

Теперь, когда у нас есть стартовый код для нашего пакета npm, приступим к разработке.

Разработка - пакет npm

Это будет охватывать команды, которые нам нужно запустить, чтобы запустить наш проект. Если вы ранее занимались разработкой Node.js, этот раздел должен быть легким.

Установите зависимости npm:

npm install

Запускаем нашу сборку. Это сгенерирует скомпилированный код с определениями типов в папке dist:

npm run build

Форматирование и линтинг:

npm run lint
npm run format

Выполните тесты:

npm test

На этом этапе вы можете начать создавать функциональные возможности своего домена поверх начального примера в папке src, которая представляет собой простую функцию, возвращающую список репозиториев GitHub. Или вы можете продолжить и опубликовать начальную версию своего пакета на npmjs.com.

Опубликуйте свой пакет npm

Если у вас нет учетной записи npm, создайте ее или выполните команду npm adduser.

Если у вас уже есть учетная запись, войдите в систему, выполнив следующую команду, и введите свои данные для входа:

npm login

После успешного входа опубликуйте пакет:

npm publish

Теперь вы должны иметь возможность npm install опубликованный пакет. Существует пакет npm, называемый reference-package, который генерируется из этого cookiecutter. Пример использования есть на example / index.js.

Что дальше

Вы можете узнать больше об этом шаблоне cookiecutter на GitHub.