ファーストパーティ プラグインを追加する

詳しくは、プラグインをご覧ください。

プロセス

プラグインには、提案ディスカッション実装公開という 4 つのステージがあります。

アドバイス

プラグインは「提案」として開始されます。機能リクエスト テンプレートを使用して新しい問題を作成すると、プラグインを提案できます。

機能リクエストを作成する方法を確認してください。

プラグインの提案には、基本的な機能リクエスト情報に加えて、次の情報を含める必要があります。

  • プラグインが公開する API。
  • プラグインをサポートするために、Blockly コアで追加または変更する必要のある API です。
  • スクリーンショット、GIF、モックアップ(プラグインに UI 機能が含まれている場合)。
  • サードパーティ プラグインではなくファーストパーティ プラグインにする必要がある理由の説明。

Blockly チームは受信した提案を確認し、問題をクローズするか、status: discussion ラベルを追加します。

ディスカッション

次に、プラグインはディスカッション フェーズに入ります。このフェーズには以下が含まれます。

  • 希望する機能を明確にする。
  • プラグインの API を明確にしました。
  • 実装のプランニングを行う。
  • テストの計画
  • Blockly コアにおける API の変更に関するディスカッション。
  • 大きなプラグインを実装手順に分割します。
  • 命名規則に基づくプラグインの命名。
  • 自社基準がすべて満たされることを確認する。

このディスカッションは通常、GitHub の問題で行われます。プラグインの範囲が狭いほど、検討のスピードが上がります。プラグインの規模が大きいほど、適切なソリューションに対するコミュニティの注目を集め、強い意見が集まる可能性があります。これで問題が解決しました。皆が関心を持っているものを見つけました。

目標は、ディスカッション フェーズの終了時に設計に関する重要な決定をすべて行い、実装手順を明確にリストすることです。どちらも問題に関するコメントに記録する必要があります。

検討の過程で、プラグインをサードパーティ プラグインとし、@blockly スコープでは公開しないという判断に至る場合があります。その場合は、Google が理由を説明し、問題をクローズします。

ディスカッションが完了したら、Blockly のチームメンバーが問題に status:implementation ラベルを追加します。

実装

導入のステップは次のとおりです。

  • npx @blockly/create-package を実行して、テンプレートからプラグインとそのディレクトリを設定します。詳細...
  • プラグインのコアロジックを実装する。
  • UI の実装(必要な場合)
  • mocha を使用してプラグインをテストします。
  • README を含むプラグインのドキュメントをご覧ください。

プラグインの問題に status: implementation ラベルが付いている場合は、実装の準備ができているか、積極的に実装中のいずれかです。同じ内容と重複を避けるため、関心をお持ちの方は、問題についてコメントし、引き続き貢献を受け付けているかどうかをお問い合わせください。

複数のコントリビューターが同時に導入することもできます。プラグインは、独自のフォークに共同で実装することも、このリポジトリに対する pull リクエストを介して実装することもできます。このリポジトリのプラグインを共同で開発する場合は、Blockly チームに機能ブランチの作成を依頼してください。

プラグインは、blockly-samples の master ブランチの gh-pages/index.md ファイルに追加する必要があります。プラグイン サイトに表示されます。ファーストパーティ プラグインは、テストページを指している必要があります。このページには、サードパーティのプラグインも追加できます。このプラグインは、ホストされたデモや npm ページなど、オーナーが選択したリンクを指すことができます。

公開中

最後に、公開します。Blockly チームは、Lerna を使用して、すべてのプラグインのバージョニングと公開を管理しています。

前回のリリースから変更されたプラグインが毎週木曜日に公開されます。変更をすぐに公開する必要がある場合は、pull リクエストにその旨を記載してください。

プラグイン サイトも、プラグインが公開されるたびに更新されます。

公開する準備ができていないプラグインは、package.jsonprivate とマークする必要があります。これは、プラグインがコア Blockly の未公開の変更に依存している場合に発生することがあります。Core Blockly は各四半期の最終週に公開されます(3 か月に 1 回)。