«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Создайте и опубликуйте библиотеку npm с TypeScript и семантическим управлением версиями.

Создайте и опубликуйте библиотеку npm с TypeScript и семантическим управлением версиями.

Опубликовано 7 ноября 2024 г.
Просматривать:459

? Напишите и опубликуйте минимальный код

Чтобы опубликовать библиотеку на npm, вам потребуется:

  1. Аккаунт npm; Вы можете зарегистрироваться здесь.

  2. Ваш код как проект; т. е. у вас есть package.json в каталоге кода, для которого указаны имя и версия. Обратите внимание, что вы можете создать этот файл с помощью:

npm init
  1. index.js в вашем проекте. Помните: вам необходимо экспортировать функцию, чтобы пользователи могли ее импортировать.

Примечание: Если ваш скрипт не называется index.js и не расположен в корне проекта, вам необходимо указать свойство «main» в package.json. Дополнительную информацию смотрите в этом ответе.

И если имя было занято в npm, вы можете добавить префикс, например @name-or-org/your-lib; то же самое сейчас делают большинство других библиотек.

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

Create and publish an npm library, with TypeScript and Semantic Versioning

Наконец, опубликуйте его с помощью команды CLI:

npm publish

Create and publish an npm library, with TypeScript and Semantic Versioning

Примечание для людей, устанавливающих имя пакета с префиксом: Это ДОЛЖНО быть вашим именем пользователя npm или названием организации, которую вы зарегистрировали на npm. Например, я могу использовать @remi_guan в качестве префикса, но не другие.

Кроме того, вам нужно запустить npmPublish --access public, потому что npm думает, что вы хотите опубликовать частный пакет, а это платная функция.

Этот результат означает, что операция прошла успешно. Однако, если у вас возникли какие-либо проблемы, вы можете выполнить поиск в Google для устранения неполадок. А вот как вы можете использовать свою собственную библиотеку:

Create and publish an npm library, with TypeScript and Semantic Versioning

Если вы следовали этому руководству, попробуйте вместо этого свою собственную библиотеку.

Я также обнаружил, что у @backendbro есть более подробное руководство, чем это, если вы хотите узнать больше.

После того, как вы опубликовали свой код, если вы хотите обновить его, вы можете снова запустить npmPublish. Однако перед публикацией вам следует обновить свойство версии package.json и соблюдать правила семантического управления версиями.

Предлагаю вам попробовать! Можете ли вы опубликовать версию вашей библиотеки v1.0.1 или v1.1.0 и использовать ее в другом проекте, подобно тому, что я только что сделал? Можете ли вы выяснить, как обновить версию вашей библиотеки npm?

? Используйте TypeScript

Эта библиотека, которую мы создали на данный момент, не является современной, в ней отсутствует объявление типа, поэтому люди, использующие вашу библиотеку, не могут быть выделены при наборе текста. Кроме того, люди обычно используют TypeScript с синтаксисом ECMAScript. Чтобы узнать о разнице: Модули Node.js: CommonJS против ECMAScript от Saisathish

Но я пропущу подробную настройку TypeScript в этом посте. Существует множество хороших руководств по инициализации проекта TypeScript, например «Как разработать библиотеку TypeScript» от inapeace0.

Более того, вы можете использовать шаблонный репозиторий TypeScript, например alexjoverm/typescript-library-starter, который уже интегрировал множество современных инструментов, передовых практик и т. д.

Я просто хочу упомянуть несколько важных замечаний, если вы публикуете библиотеку TypeScript:

  1. Создавайте перед публикацией. Если вам нужно опубликовать его для всех, люди с наиболее распространенной средой Node.js могут выполнять только файлы .js. Итак, вам нужно скомпилировать свой код с помощью tsc,rollup (или vite, который использует накопительный пакет) или webpack; любой в порядке.

Вам необходимо правильно указать скомпилированный файл, используя свойства модуля, основного или записи в package.json. Использование шаблона и изучение их один за другим — хороший выбор. Опять же, alexjoverm/typescript-library-starter правильно их определил.

  1. Включите файл .d.ts. По той же причине пользователю также необходим доступ к сигнатурам типов.

Но если вы уверены, что ваша библиотека будет работать на Deno, Bun или ts-node, вы можете игнорировать мои приведенные выше рекомендации, поскольку они изначально поддерживают запуск кода TypeScript.

Пожалуйста, попробуйте следовать руководству по созданию библиотеки TypeScript и публикации ее на npm. Это все еще просто, как и в первом примере. Вам следует протестировать его на другом проекте, используя синтаксис импорта, и вы сможете увидеть подсказки по типам в IDE.

С помощью TypeScript я могу написать свою библиотеку с использованием следующего синтаксиса:

Create and publish an npm library, with TypeScript and Semantic Versioning

И после публикации я могу установить и импортировать его, а также увидеть подсказки по типам благодаря TypeScript.

Create and publish an npm library, with TypeScript and Semantic Versioning

✨ Семантическое управление версиями

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

Это раздражает, особенно если вы часто обновляете свой код.

Однако есть инструменты, которые помогут вам.

  • семантический выпуск: Полностью автоматический; вы можете интегрировать его в GitHub CI, чтобы автоматически обновлять код версии и публиковать его в npm каждый раз, когда вы обновляете свой код на GitHub.
  • Release-it: также помогает вам обновить версию, но он прост в использовании (нет необходимости в знаниях CI); при этом вы не настраиваете его как полностью автоматизированный.

Create and publish an npm library, with TypeScript and Semantic Versioning

Я использовал ChatGPT, чтобы создать это резюме, сравнивающее два инструмента. Новым программистам я бы посоветовал попробовать Release-it, но Semantic-Release также удобен, если вы знаете, как интегрировать его с CI.

В этом посте я собираюсь показать вам, как использовать Release-it. После того, как вы внесли изменения в проект, просто запустите это в своем проекте:

npx release-it

И выберите, незначительное это изменение или серьезное изменение, и все готово!

Create and publish an npm library, with TypeScript and Semantic Versioning


Краткое содержание

И вот оно! Мы рассмотрели публикацию простой библиотеки npm, ее обновление и даже использование TypeScript, чтобы сделать ее более современной и надежной. Не забудьте:

  • Правильно экспортируйте свои функции, чтобы их могли использовать другие.
  • Обновите номера версий после семантического управления версиями.
  • Рассмотрите возможность использования TypeScript для повышения безопасности типов и удобства разработчиков.
  • Автоматизируйте выпуски с помощью таких инструментов, как Release-it или Semantic-Release, чтобы сэкономить время.

Попробуйте! Опубликуйте свою собственную библиотеку, обновите ее и посмотрите, каково это — внести свой вклад в экосистему npm. Приятного кодирования!

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/remi-guan/create-and-publish-an-npm-library-with-typescript-and-semantic-versioning-9l?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с Study_golang@163 .comdelete
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3