メインコンテンツにスキップ

Electronの開発

これらのガイドは、Electronプロジェクト自体に取り組んでいる人向けです。Electronアプリ開発のガイドについては、/docs/README.mdをご覧ください。

目次

はじめに

Electronに貢献するには、まずコードを取得する必要があります。

Electronのbuild-toolsは、異なる構成とビルドターゲットでソースからElectronをコンパイルするためのセットアップの多くを自動化します。

Electronを手動でビルドする場合は、ビルド手順をご覧ください。

コードをチェックアウトしてビルドしたら、ソースツリーを見て、各ディレクトリの役割を理解することをお勧めします。ソースコードディレクトリ構造は、各ディレクトリの目的の概要を示しています。

ElectronでIssueを開く

どんな問題でも、一般的に個人が貢献できる方法は3つあります。

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

詳細については、Issueをご覧ください。

Electronへのプルリクエストを作成する

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

詳細については、プルリクエストをご覧ください。

Electronに新しいAPIモジュールを追加する場合は、APIの作成をご覧ください。

ガバナンス

Electronには、Electronのアクティビティを監督する本格的なガバナンスシステムがあり、そのワーキンググループは、API、リリース、ChromiumやNode.jsを含むElectronの依存関係のアップグレードなどの分野を担当しています。貢献の頻度と目的に応じて、ワーキンググループへの参加を検討することができます。

各グループとその役割の詳細については、ガバナンスリポジトリをご覧ください。

Electronのパッチ

Electronは、ChromiumとNode.jsという2つの主要なアップストリームプロジェクト上に構築されています。これらのプロジェクトはそれぞれ、独自の依存関係をいくつか持っています。私たちは、これらの依存関係をそのまま使用するよう最善を尽くしていますが、ユースケースに合わせてこれらのアップストリームの依存関係にパッチを当てずに目標を達成できないことがあります。

そのため、ソースツリーの一部としてパッチのコレクションを管理しています。プルリクエストを介してElectronのソースツリーにこれらのパッチを追加または変更するプロセスについては、パッチをご覧ください。

デバッグ

Electronの問題やバグをデバッグするには、さまざまな方法があり、その多くはプラットフォーム固有です。

Electron自体(Electronで*構築されたアプリではなく*)のデバッグに関する情報の概要については、デバッグをご覧ください。