Electronの開発
これらのガイドは、Electronプロジェクト自体に取り組んでいる人向けです。Electronアプリ開発のガイドについては、/docs/README.mdをご覧ください。
目次
- Issue
- プルリクエスト
- ドキュメントスタイルガイド
- ソースコードディレクトリ構造
- コーディングスタイル
- C++コードでclang-tidyを使用する
- ビルド手順
- Chromiumの開発
- V8の開発
- テスト
- デバッグ
- パッチ
はじめに
Electronに貢献するには、まずコードを取得する必要があります。
Electronのbuild-tools
は、異なる構成とビルドターゲットでソースからElectronをコンパイルするためのセットアップの多くを自動化します。
Electronを手動でビルドする場合は、ビルド手順をご覧ください。
コードをチェックアウトしてビルドしたら、ソースツリーを見て、各ディレクトリの役割を理解することをお勧めします。ソースコードディレクトリ構造は、各ディレクトリの目的の概要を示しています。
ElectronでIssueを開く
どんな問題でも、一般的に個人が貢献できる方法は3つあります。
- 議論のためにIssueを開くことによって
- Electronに新しいバグが見つかったと思われる場合は、
electron/electron
Issueトラッカーに新しいIssueを作成して報告する必要があります。
- Electronに新しいバグが見つかったと思われる場合は、
- 問題のトリアージを助けることによって
- 補助的な詳細(バグを示す再現可能なテストケース)を提供するか、問題に対処するための提案を提供することで、これを行うことができます。
- 問題の解決を助けることによって
- これは、問題がバグではないこと、または修正済みであることを示すことで行うことができます。しかし、より gyakujitsu ni ha、
electron/electron
のソースを具体的かつレビュー可能な方法で変更するプルリクエストを開くことによって行われます。
- これは、問題がバグではないこと、または修正済みであることを示すことで行うことができます。しかし、より gyakujitsu ni ha、
詳細については、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で*構築されたアプリではなく*)のデバッグに関する情報の概要については、デバッグをご覧ください。