Issue 1:
Electron Version: 3.0.0-beta1

Operating System (Platform and Version): Windows x86_64 10, linux Kubuntu 18.04, anywhere else

Last known working Electron version: n/a

Expected Behavior

With the Electron v3 I imagined to throw away Babel and include JS modules of bootstrap/mdc etc. source JS files and get an incredible boost...

I thought it would be nice, but it didn't.

Actual behavior

I can't import any of node_modules library in a renderer script (with type="module"), it requires an absolute or relative URL's. Moreover, in JS libraries developers use imports with non-Chromish imports, which lead to errors in dev console. Finally, for these imports to work, I need to create app:// protocol in main process (which is not a problem).

I suppose Electron is using Chrome's V8 rather than Node.js's...

To Reproduce

...
<script type="module">
import $ from 'jquery'; // nope, because it is not intended to work like that by the developer
window.$ = require('jquery'); // yep, classic solution
import Button from '../node_modules/bootstrap/js/src/button'; // nope, it imports jquery in the script using the first variant => error
import Button from 'bootstrap/js/src/button'; // are you kiddin? :)
import MDCRipple from '@material/ripple'; // ...
import MDCRipple from '../node_modules/@material/ripple'; // It has an awful import below:
import MDCComponent from '@material/base/component';
</script>
...

Additional Information

Main process fails to include using these variants too, only import(<library>).

Also, with the import errors solution from https://gist.github.com/smotaal/f1e6dbb5c0420bfd585874bd29f11c43 the directory structure becomes a real problem:

root
- front
--- index.html
--- ...
- node_modules
- index.js

There comes the problem with creating protocol. Binding app:/// protocol to a root of the app makes almost impossible to import libraries from /node_modules directory from renderer process, so logically we should change it to:

root
- front
--- index.html
--- node_modules
- index.js

A-and what? We get a bunch of problems with npm, importing libs to main process and etc etc.

**** What is the solution

Do something with the limitation to import ES modules from file:/// protocol

Import Node.JS modules when import fs from 'fs'; as an equivalent to const fs = require('fs')

Issue 2:
Output of node_modules/.bin/electron --version: 3.0.6, 4.0.0-beta.4

Operating System (Platform and Version): Mac at least

Output of node_modules/.bin/electron --version on last known working Electron version (if applicable): 2.0.11

Expected Behavior

Behaviour in Electron 2:

"View > Zoom In" menu item shows "⌘+" as a shortcut.

Pressing "⌘+" increases a page's zoom.

Actual behavior

For Electron 3 the app "View" menu shows "⌘+" as a shortcut for the "Zoom In" item.

For Electron 4 it shows "⇧⌘+".

The "⌘ and +" shortcut doesn't work but "Shift and ⌘ and +" does the job in both Electron 3 and 4.

The other zoom shortcuts "⌘ and -" and "⌘ and 0" work as expected.

To Reproduce

Open any webpage in Electron, e.g. $ ...Electron.app/Contents/MacOS/Electron https://youtube.com, try to Zoom in and Zoom out with a keyboard.

Can be reproduced even with the default app.