「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > TypeScript とセマンティック バージョニングを使用して npm ライブラリを作成して公開する

TypeScript とセマンティック バージョニングを使用して npm ライブラリを作成して公開する

2024 年 11 月 7 日に公開
ブラウズ:915

?最小限のコードを作成して公開する

npm でライブラリを公開するには、次のものが必要です:

  1. npm アカウント;ここからサインアップできます。

  2. プロジェクトとしてのコード。つまり、コード ディレクトリに package.json があり、名前とバージョンが指定されています。このファイルは
    経由で生成できることに注意してください。

npm init
    プロジェクト内の
  1. index.js。ユーザーが関数をインポートできるようにするには、関数をエクスポートする必要があることに注意してください。

注: スクリプトの名前がindex.jsではなく、プロジェクトのルートに配置されている場合は、package.jsonで「main」プロパティを指定する必要があります。詳細については、この回答を参照してください。

名前が 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 を接頭辞として使用できますが、他の接頭辞は使用できません。

また、npm publish --access public を実行する必要があります。これは、npm は有料機能であるプライベート パッケージを公開したいと考えているためです。

この出力は成功したことを意味します。ただし、何らかの問題が発生した場合は、Google で検索してトラブルシューティングを行うことができます。独自のライブラリを使用する方法は次のとおりです:

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

このガイドに従っている場合は、代わりに独自のライブラリを試してください。

さらに詳しく知りたい場合は、@backendbro にこれよりもさらに詳しいガイドがあることもわかりました。

コードを公開した後、コードを更新する場合は、npm publish を再度実行できます。ただし、公開する前に package.json の version プロパティを更新し、セマンティック バージョニングに準拠してください。

ぜひ試してみてください!あなたのライブラリの v1.0.1 または v1.1.0 を公開して、それを今私がやったように別のプロジェクトで使用できますか? npm ライブラリのバージョンを更新する方法を理解できますか?

? TypeScript を使用する

これまでに作成したこのライブラリは最新のものではありません。型宣言が欠けているため、ライブラリを使用するユーザーが入力によって強調表示されません。また、ECMAScript 構文で TypeScript を使用するのが一般的です。違いについて学ぶには: Node.js モジュール: CommonJS vs. ECMAScript by Saisathish

ただし、この記事では TypeScript の詳細な設定については省略します。 inapeace0.

による「TypeScript ライブラリの開発方法」など、TypeScript プロジェクトの初期化方法を学ぶための優れたチュートリアルが数多くあります。

さらに、多くの最新ツールやベスト プラクティスなどが既に統合されている alexjoverm/typescript-library-starter のようなテンプレート TypeScript リポジトリを使用することもできます。

TypeScript ライブラリを公開する場合の重要な注意事項をいくつか説明します。

  1. 公開する前にビルドします。 一般に公開する必要がある場合、最も一般的な Node.js 環境を使用している人は、.js ファイルのみを実行できます。したがって、tsc、rollup (または rollup を使用する vite)、または webpack を使用してコードをコンパイルする必要があります。どれでも大丈夫です。

package.json のモジュール、メイン、またはエントリのプロパティを使用して、コンパイルされたファイルを正しく指定する必要があります。テンプレートを使用して 1 つずつ学習するのが良い選択です。繰り返しになりますが、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

✨ セマンティックバージョニング

一般的だが少し高度な問題が解決を待っています。パッケージを更新するたびに、バージョン コードを編集する必要があります。

これは、特にコードを頻繁に更新する場合には面倒です。

ただし、役立つツールがあります。

  • semantic-release: 完全に自動。これを GitHub CI に統合すると、GitHub でコードを更新するたびにバージョン コードが自動的に更新され、npm に公開されます。
  • release-it: バージョンを上げるのにも役立ちますが、使い方は簡単です (CI の知識は必要ありません)。その間、完全に自動化されるように構成しません。

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

ChatGPT を使用して、2 つのツールを比較したこの概要を生成しました。新しいプログラマーの場合は、release-it を試すことをお勧めしますが、CI と統合する方法を知っている場合は semantic-release も便利です。

この投稿では、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