Electron の開発
これらのガイドは、Electron プロジェクトそのものに取り組む人を対象にしています。 For guides on Electron app development, see /docs/README.md.
目次
- Issues
- プルリクエスト
- ドキュメントガイド
- ソースコードのディレクトリ構造
- コーディング スタイル
- C++ コードに clang-tidy を使用する
- ビルド手順
- Chromium開発
- V8 開発
- テスト
- デバッグする
- パッチ
始めましょう
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 つあります。
- 議論のために Issue を開く
- Electron に新たなバグを見つけたと思われたら、
electron/electron
の Issue トラッカー に新しい Issue を作って報告することを推奨します。
- Electron に新たなバグを見つけたと思われたら、
- Issue のトリアージを支援する
- 補助となる詳細 (バグを実証する再現可能なテストケース) や問題に対処する提案を提供することで支援できます。
- 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.