The source code of Electron is separated into a few parts, mostly following Chromium on the separation conventions.
You may need to become familiar with Chromium's multi-process architecture to understand the source code better.
- .circleci - Config file for CI with CircleCI.
- .github - GitHub-specific config files including issues templates and CODEOWNERS.
- dist - Temporary directory created by
script/create-dist.pyscript when creating a distribution.
- external_binaries - Downloaded binaries of third-party frameworks which
do not support building with
- node_modules - Third party node modules used for building.
- npm - Logic for installation of Electron via npm.
- out - Temporary output directory of
- script - Scripts used for development purpose like building, packaging, testing, etc.
script/ - The set of all scripts Electron runs for a variety of purposes. ├── codesign/ - Fakes codesigning for Electron apps; used for testing. ├── lib/ - Miscellaneous python utility scripts. └── release/ - Scripts run during Electron's release process. ├── notes/ - Generates release notes for new Electron versions. └── uploaders/ - Uploads various release-related files during release.
- typings - TypeScript typings for Electron's internal code.
- vendor - Source code for some third party dependencies.