メインコンテンツへスキップ
バージョン: 最新版 (v5.0.x)

優れたプラグインの書き方

まず、Fastify用のプラグインを作成していただきありがとうございます。Fastifyはミニマルなフレームワークであり、その強みはプラグインにあります。ありがとうございます。

Fastifyのコアとなる原則は、パフォーマンス、低オーバーヘッド、そしてユーザーへの優れたエクスペリエンスの提供です。プラグインを作成する際には、これらの原則を心に留めておくことが重要です。そのため、このドキュメントでは、高品質なプラグインの特徴を分析します。

インスピレーションが必要ですか? "plugin suggestion"ラベルを当社のイシュートラッカーで使用できます!

コード

Fastifyはコードの最適化にさまざまな手法を使用しており、その多くはガイドに記載されています。プラグインの構築に使用できるすべてのAPIと使用方法を学ぶために、プラグインのための銀河ヒッチハイクガイドを読むことを強くお勧めします。

ご質問やアドバイスが必要ですか?喜んでお手伝いさせていただきます!ヘルプリポジトリでイシュートを作成してください。

エコシステムリストにプラグインを送信すると、必要に応じてコードを確認し、改善に役立てます。

ドキュメント

ドキュメントは非常に重要です。プラグインのドキュメントが不十分な場合、エコシステムリストには掲載されません。質の高いドキュメントがないと、人々がプラグインを使用することが難しくなり、使用されない可能性が高くなります。

プラグインのドキュメント作成方法の良い例をご覧になりたい場合は、以下をご覧ください。

ライセンス

ご希望のライセンスをプラグインに使用できます。特定のライセンスを強制することはありません。

より多くの人が自由にコードを使用できると考えているため、MITライセンスを推奨します。代替ライセンスの一覧については、OSIリストまたはGitHubのchoosealicense.comを参照してください。

必ずリポジトリにサンプルファイルを含めてください。例はユーザーにとって非常に役立ち、プラグインをすばやくテストする方法を提供します。ユーザーは感謝するでしょう。

テスト

プラグインが適切に機能していることを確認するために、徹底的なテストを行うことが非常に重要です。

テストのないプラグインは、エコシステムリストには掲載されません。テストがないと信頼性がなくなり、依存関係の異なるバージョン間でコードが引き続き機能する保証がありません。

テストライブラリを強制することはありません。標準で並列テストとコードカバレッジを提供するため、tapを使用していますが、お好みのライブラリを選択できます。プラグインのテスト方法については、プラグインのテストを読むことを強くお勧めします。

コードリンター

必須ではありませんが、プラグインでコードリンターを使用することを強くお勧めします。これにより、一貫性のあるコードスタイルが確保され、多くのエラーを回避できます。

設定なしで動作し、テストスイートへの統合が非常に簡単であるため、standardを使用しています。

継続的インテグレーション

必須ではありませんが、コードをオープンソースとしてリリースする場合は、継続的インテグレーションを使用して、コントリビューションがプラグインを壊さないようにし、プラグインが意図したとおりに機能することを示すのに役立ちます。CircleCIGitHub Actionsはどちらもオープンソースプロジェクトで無料で、簡単に設定できます。

さらに、Dependabotなどのサービスを有効にすると、依存関係を最新の状態に保ち、Fastifyの新しいリリースにプラグインに関する問題がないかどうかを確認するのに役立ちます。

始めましょう!

素晴らしい!これで、Fastify用の優れたプラグインの書き方について必要な情報がすべて揃いました!1つ以上のプラグインを作成したら、お知らせください!ドキュメントのエコシステムセクションに追加します!

現実世界の例をご覧になりたい場合は、以下をご覧ください。

  • @fastify/view Fastifyのためのテンプレートレンダリング(ejs、pug、handlebars、marko)プラグインサポート。
  • @fastify/mongodb サーバーのあらゆる場所で同じMongoDB接続プールを共有できるFastify MongoDB接続プラグイン。
  • @fastify/multipart Fastifyのマルチパートサポート。
  • @fastify/helmet Fastifyの重要なセキュリティヘッダー。