Développer Electron
Ces guides sont destinés aux personnes travaillant sur le projet Electron lui-même. For guides on Electron app development, see /docs/README.md.
Table des matières
- Issues
- Requêtes de Pull
- Règles de style pour la documentation
- Structure du répertoire du Code Source
- Style de Codage
- Utilisation de clang-tidy sur du code C ++
- Instructions pour compiler Electron
- Développement Chromium
- Développement V8
- Test
- Débogage
- Patchs
Démarrer
Afin de contribuer à Electron, la première chose que vous voudrez faire est d’obtenir le code.
Les outils de conception
d’Electron automatisent une grande partie de la configuration pour compiler Electron à partir d’une source avec différentes configurations et cibles de conception.
If you would prefer to build Electron manually, see the build instructions.
Une fois que vous avez extrait et construit le code, vous pouvez jeter un coup d’œil à l’arborescence source pour avoir une meilleure idée de ce dont chaque répertoire est responsable. The source code directory structure gives a good overview of the purpose of each directory.
Problèmes d’ouverture sur Electron
Pour toute question, il y a généralement trois façons pour une personne de contribuer :
- En ouvrant la question à la discussion
- Si vous pensez avoir trouvé un nouveau bug dans Electron, vous devez le signaler en créant un nouveau sujet dans le suivi des problèmes
d'Electron
.
- Si vous pensez avoir trouvé un nouveau bug dans Electron, vous devez le signaler en créant un nouveau sujet dans le suivi des problèmes
- En aidant à trier le problème
- Vous pouvez le faire soit en fournissant des détails supplémentaires (un cas de test reproductible qui démontre un bug) soit en fournissant des suggestions pour résoudre le problème.
- En aidant à résoudre le problème
- En aidant à résoudre le problème : cela peut être fait en démontrant que le problème n'est pas un bug ou qu'il est résolu ; mais plus souvent, en ouvrant une pull request (demande de tirage) qui modifie la source dans
electron/electron
d'une manière concrète et vérifiable.
- En aidant à résoudre le problème : cela peut être fait en démontrant que le problème n'est pas un bug ou qu'il est résolu ; mais plus souvent, en ouvrant une pull request (demande de tirage) qui modifie la source dans
See issues for more information.
Faire une demande de tirage à Electron
La plupart des pull request ouvertes sur le référentiel electron/electron
incluent les modifications des éléments suivants: le code C/C++ dans le dossier shell/
, le code TypeScript dans le dossier lib/
, la documentation dans docs/
, ou les tests dans le dossier 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.
Gouvernance
Electron dispose d'un système de gouvernance à part entière qui supervise l'activité d'Electron et dont les groupes de travail sont responsables de domaines tels que les API, la publication de versions, et la mise à jour des dépendances d'Electron, y compris Chromium et Node.js. En fonction de la fréquence et de la finalité de vos contributions, vous pouvez envisager de rejoindre un groupe de travail.
Des détails sur chaque groupe et ses responsabilités peuvent être trouvés dans le dépôt de la gouvernance.
Correctifs dans Electron
Electron est construit en amont sur deux grands projets: Chromium et Node.js. Chacun de ces projets ayant également plusieurs dépendances propres. Nous faisons de notre mieux pour utiliser ces dépendances exactement telles qu'elles sont, mais parfois nous ne pouvons atteindre nos objectifs qu'en apportant des corrections à celles-ci afin de les adapter à nos cas d'utilisation.
À ce titre, nous maintenons une collection de correctifs dans le cadre de notre arborescence source. The process for adding or altering one of these patches to Electron's source tree via a pull request can be found in patches.
Débogage
Il y a de nombreuses approches pour déboguer les problèmes et bogues dans Electron, beaucoup étant spécifiques à la plate-forme.
For an overview of information related to debugging Electron itself (and not an app built with Electron), see debugging.