electron/script
Samuel Attard bc527f6b51
refactor: bundle the browser and renderer process electron code (#18553)
* refactor: bundle the browser and renderer process electron code

* Bundles browser/init and renderer/init
  * Improves load performance of main process by ~40%
  * Improves load performance of renderer process by ~30%
* Prevents users from importing our "requiring" our internal logic such
as ipc-main-internal.  This makes those message buses safer as they are
less accessible, there is still some more work to be done though to lock
down those buses completely.
* The electron.asar file now only contains 2 files, as a future
improvement maybe we can use atom_natives to ship these two files
embedded in the binary
* This also removes our dependency on browserify which had some strange
edge cases that caused us to have to hack around require-order and
stopped us using certain ES6/7 features we should have been able to use
(async / await in some files in the sandboxed renderer init script)

TLDR: Things are faster and better :)

* fix: I really do not want to talk about it

* chore: add performance improvements from debugging

* fix: resolve the provided path so webpack thinks it is absolute

* chore: fixup per PR review

* fix: use webpacks ProvidePlugin to keep global, process and Buffer alive after deletion from global scope for use in internal code

* fix: bundle worker/init as well to make node-in-workers work

* chore: update wording as per feedback

* chore: make the timers hack work when yarn is not used
2019-06-02 13:03:03 -07:00
..
codesign spec: add tests for the autoUpdater on macOS that actually test if it works (#17442) 2019-03-29 17:32:52 -07:00
lib spec: run nan tests to ensure v8 compat has not broken (#18489) 2019-05-29 12:38:17 -07:00
release-notes build: remove deprecated octokit auth calls (#18205) 2019-05-07 18:48:40 -07:00
.electron.attributes build: ensure we use objc regexps for export-patches (#17598) 2019-03-28 14:01:43 -07:00
apply_all_patches.py build: actually run import-patches on gclient sync (#17885) 2019-04-23 10:28:26 -07:00
bump-version.js build: ensure consistent lock files across multiple machines (#17955) 2019-04-30 13:59:47 -07:00
check-relative-doc-links.py chore: fix relative links in docs and enforce we dont break them again (#14832) 2018-09-28 13:16:38 +10:00
check-trailing-whitespace.py build: auto-fix whitespace in docs in pre-commit hook (#17490) 2019-03-21 12:15:55 -07:00
check-zip-manifest.py ci: add check for dist zip file changes (#18446) 2019-05-29 09:40:02 -07:00
ci-release-build.js build: move Windows release builds to AppVeyor cloud (#18337) 2019-05-23 16:54:34 -04:00
dbus_mock.py refactor: use one script to launch all linters (#14622) 2018-09-17 16:09:02 -05:00
dist_zip.linux.arm.manifest ci: add check for dist zip file changes (#18446) 2019-05-29 09:40:02 -07:00
dist_zip.linux.arm64.manifest ci: add check for dist zip file changes (#18446) 2019-05-29 09:40:02 -07:00
dist_zip.linux.x64.manifest ci: add check for dist zip file changes (#18446) 2019-05-29 09:40:02 -07:00
dist_zip.linux.x86.manifest ci: add check for dist zip file changes (#18446) 2019-05-29 09:40:02 -07:00
dist_zip.mac.x64.manifest ci: add check for dist zip file changes (#18446) 2019-05-29 09:40:02 -07:00
dist_zip.mac_mas.x64.manifest ci: add check for dist zip file changes (#18446) 2019-05-29 09:40:02 -07:00
download-circleci-artifacts.js ci: add retries to downloads for arm testing (#18526) 2019-05-30 17:22:34 -07:00
dump-symbols.py build: use different directory for generated breakpad symbols (#15716) 2018-11-14 12:47:01 -08:00
external-binaries.json build: use https to download from GitHub for external binaries (#17928) 2019-05-01 13:49:29 -07:00
find-release.js build: remove deprecated octokit auth calls (#18205) 2019-05-07 18:48:40 -07:00
gen-filenames.js refactor: bundle the browser and renderer process electron code (#18553) 2019-06-02 13:03:03 -07:00
generate-deps-hash.js build: ensure consistent lock files across multiple machines (#17955) 2019-04-30 13:59:47 -07:00
generate-zip-manifest.py ci: add check for dist zip file changes (#18446) 2019-05-29 09:40:02 -07:00
get-last-major-for-master.js chore: convert bump script to js (#15820) 2018-12-06 11:00:10 -08:00
get-version.py Add testing for arm, arm64 and ia32 linux builds 2017-12-20 11:54:52 -05:00
git-export-patches chore: save HEAD when git-import-patches runs (#17824) 2019-04-17 11:16:03 -07:00
git-import-patches build: actually run import-patches on gclient sync (#17885) 2019-04-23 10:28:26 -07:00
gn-asar.js build: use async remove method to handle errors better (#16917) 2019-03-26 10:34:03 +09:00
lint.js chore: add clang-format and limited linting for Objective-C sources (#18104) 2019-05-02 21:05:37 +09:00
merge-electron-checksums.py
nan-spec-runner.js spec: run nan tests to ensure v8 compat has not broken (#18489) 2019-05-29 12:38:17 -07:00
native-tests.py ci: run more Chromium unit tests (#15363) 2018-10-25 14:28:50 -04:00
prepare-release.js build: remove deprecated octokit auth calls (#18205) 2019-05-07 18:48:40 -07:00
publish-to-npm.js chore: refactor scripts for octokit update (#16284) 2019-01-08 12:05:58 -08:00
pump.py chore: fix python lint warnings (#14638) 2018-09-16 12:24:07 -05:00
release-artifact-cleanup.js build: remove deprecated octokit auth calls (#18205) 2019-05-07 18:48:40 -07:00
release.js build: remove deprecated octokit auth calls (#18205) 2019-05-07 18:48:40 -07:00
run-clang-format.py chore: add --fix option to lint:cpp (#14977) 2018-10-15 22:59:45 -07:00
run-gn-format.py chore: auto-format GN and python files in our precommit (#16722) 2019-02-05 13:54:45 -08:00
spec-runner.js spec: run nan tests to ensure v8 compat has not broken (#18489) 2019-05-29 12:38:17 -07:00
start.js chore: refactor scripts for octokit update (#16284) 2019-01-08 12:05:58 -08:00
strip-binaries.py ci: strip linux binaries for release builds (#14991) 2018-10-09 16:19:05 -04:00
sysroots.json feat: Upgrade to Chromium 71.0.3578.98 (#15966) 2019-01-11 17:00:43 -08:00
tls.py chore: fix relative links in docs and enforce we dont break them again (#14832) 2018-09-28 13:16:38 +10:00
update-external-binaries.py ci: make macOS CI faster (#16766) 2019-02-06 13:16:11 -08:00
upload-index-json.py build: ensure index.json is actually valid JSON before uploading (#16518) 2019-02-05 11:36:31 -08:00
upload-node-checksums.py docs: replace the atom.io headers URL with electronjs.org (#18328) 2019-05-21 16:17:07 +09:00
upload-node-headers.py chore: fix out_dir usage in upload-symbols.py 2018-09-28 11:24:50 +10:00
upload-symbols.py build: ensure that the uploaded symbol path is correct for our symbol (#16908) 2019-02-12 14:10:24 -08:00
upload-to-github.js build: remove deprecated octokit auth calls (#18205) 2019-05-07 18:48:40 -07:00
upload.py build: remove native mksnapshot for arm/arm64 (#17561) 2019-03-28 11:05:43 -04:00
verify-ffmpeg.py fixme: dont use --enable-logging on the ffmpeg verify phase 2018-10-10 13:11:10 +11:00
verify-mksnapshot.py chore: bump chromium to 1e9f9a24aa12 (master) (#17880) 2019-04-20 10:20:37 -07:00
zip-symbols.py build: use different directory for generated breakpad symbols (#15716) 2018-11-14 12:47:01 -08:00