electron/lib/browser/api
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
..
auto-updater chore: rename atomBinding to electronBinding (#17419) 2019-03-18 12:37:06 -07:00
exports refactor: bundle the browser and renderer process electron code (#18553) 2019-06-02 13:03:03 -07:00
views chore: rename atomBinding to electronBinding (#17419) 2019-03-18 12:37:06 -07:00
app.ts refactor: bundle the browser and renderer process electron code (#18553) 2019-06-02 13:03:03 -07:00
auto-updater.js chore: have 'use strict' consistently across our lib files (#14721) 2018-09-23 00:28:50 +12:00
browser-view.js chore: rename atomBinding to electronBinding (#17419) 2019-03-18 12:37:06 -07:00
browser-window.js fix: 'page-title-updated' event forwarding + documentation (#18270) 2019-05-16 12:33:16 +03:00
content-tracing.js feat: [contentTracing] allow calling stopTracing() with no arguments (#18411) 2019-05-28 14:15:42 -07:00
crash-reporter.js refactor: crashReporterInit (#16729) 2019-02-05 12:56:44 -08:00
dialog.js fix: set window to null when no window is passed (#18240) 2019-05-21 09:08:22 -05:00
global-shortcut.js chore: rename atomBinding to electronBinding (#17419) 2019-03-18 12:37:06 -07:00
in-app-purchase.js chore: remove promisification deprecation callbacks (#17907) 2019-04-30 07:08:32 -07:00
ipc-main.ts feat: add ipcRenderer.invoke() (#18449) 2019-05-31 10:25:19 -07:00
menu-item-roles.js refactor: make name a prop on app (#17701) 2019-04-30 13:55:33 -07:00
menu-item.js feat: allow MenuItems to work optionally when hidden (#16853) 2019-02-28 17:00:54 +00:00
menu-utils.js fix: ability to fetch separators by id (#15290) 2018-10-19 13:09:40 -07:00
menu.js chore: rename atomBinding to electronBinding (#17419) 2019-03-18 12:37:06 -07:00
module-keys.js refactor: bundle the browser and renderer process electron code (#18553) 2019-06-02 13:03:03 -07:00
module-list.js refactor: bundle the browser and renderer process electron code (#18553) 2019-06-02 13:03:03 -07:00
net-log.js fix: correctly return properties on the netLog module (#17525) 2019-03-25 22:40:38 -04:00
net.js fix: match net module headers & http.IncomingMessage headers (#17517) 2019-04-02 07:41:19 -07:00
notification.js chore: rename atomBinding to electronBinding (#17419) 2019-03-18 12:37:06 -07:00
power-monitor.ts chore: remove deprecated APIs (#18159) 2019-05-09 14:48:10 -04:00
power-save-blocker.js chore: rename atomBinding to electronBinding (#17419) 2019-03-18 12:37:06 -07:00
protocol.ts chore: rename atomBinding to electronBinding (#17419) 2019-03-18 12:37:06 -07:00
screen.ts refactor: allow requiring modules with no side effects (#17496) 2019-04-30 09:46:08 +09:00
session.js refactor: netLog directly uses network service (#18289) 2019-05-23 15:31:38 -07:00
system-preferences.js refactor: set appLevelAppearance prop on systemPreferences (#18477) 2019-05-30 17:12:46 -07:00
top-level-window.js refactor: make applicationMenu a property on app (#17361) 2019-04-02 13:36:57 -07:00
touch-bar.js chore: remove deprecated touch-bar API (#15650) 2018-11-09 17:00:19 +11:00
tray.js chore: rename atomBinding to electronBinding (#17419) 2019-03-18 12:37:06 -07:00
view.js chore: rename atomBinding to electronBinding (#17419) 2019-03-18 12:37:06 -07:00
web-contents-view.js chore: rename atomBinding to electronBinding (#17419) 2019-03-18 12:37:06 -07:00
web-contents.js feat: add ipcRenderer.invoke() (#18449) 2019-05-31 10:25:19 -07:00