メインコンテンツへ飛ぶ

Electron の開発

これらのガイドは、Electron プロジェクトそのものに取り組む人を対象にしています。 For guides on Electron app development, see /docs/README.md.

目次

始めましょう

Electron にコントリビュートするには、まずそのコードを取得する必要があります。

Electron の build-tools は、さまざまな設定やビルドターゲットを使ってソースから Electron をコンパイルするためのセットアップの、その多くを自動化します。

If you would prefer to build Electron manually, see the build instructions.

コードをチェックアウトしてビルドしたら、ソースツリーを見て回って各ディレクトリが担う役割を知り、より良いアイデアを探してみましょう。 The source code directory structure gives a good overview of the purpose of each directory.

Electron に Issue を開く

どのような Issue でも個人でコントリビュートできる方法が、一般的に 3 つあります。

  1. 議論のために Issue を開く
  2. Issue のトリアージを支援する
    • 補助となる詳細 (バグを実証する再現可能なテストケース) や問題に対処する提案を提供することで支援できます。
  3. Issue の解決を支援する
    • その問題がバグではないこと、あるいは修正済みだと示すことで解決を支援できます。しかし、大抵の場合は electron/electron のソースを具体的かつレビュー可能な方法で変更するプルリクエストを開くことが行われます。

See issues for more information.

Electron にプルリクエストを作る

electron/electron リポジトリに対して開かれるほとんどのプルリクエストは、shell/ フォルダーの C/C++ コード、lib/ フォルダーの TypeScript コード、docs/ のドキュメント、または spec/ フォルダーのテストのいずれかへの変更です。

See pull requests for more information.

If you want to add a new API module to Electron, you'll want to look in creating API.

ガバナンス

Electron には、API、リリース、Chromium や Node.js など Electron の依存関係のアップグレードといったそれぞれの領域を担当する作業グループがあり、Electron の活動を監督する本格的なガバナンスシステムを備えています。 どのくらいの頻度で、どのような目的でコントリビュートしたいかに応じて、作業グループへの参加を検討してもよいでしょう。

各グループの詳細と責務は、ガバナンスレポジトリ に記載されています。

Electron のパッチ

Electron は、Chromium と Node.js という 2 つのメジャーな上流プロジェクトで構築されています。 これらのプロジェクトにも、それぞれ独自の依存関係がいくつかあります。 これらの依存関係をそのまま使用するように最善を尽くしていますが、ユースケースに合わせて上流の依存関係にパッチを適用しないと目標を達成できない場合があります。

そのため、ソースツリーの一部としてパッチの集まりを管理しています。 The process for adding or altering one of these patches to Electron's source tree via a pull request can be found in patches.

デバッグする

Electron の問題やバグをデバッグするには様々なアプローチがありますが、その多くはプラットフォーム固有のものです。

For an overview of information related to debugging Electron itself (and not an app built with Electron), see debugging.