TODO: windows are currently not possible, because of non 64-bit version of `node-rcedit`, see https://github.com/electron/node-rcedit/issues/22. Also there is currently no 32-bit alpine package for wine, what possible solve this image.
Instead of optionsMain exporting an async function, this commit changes
it to return a promise instead. We split all the needed async
helpers for this config builder into smaller promises, in `src/options/*`. Another side
effect of this is that we perform all our async config inferring in
parallel, which speeds up the nativefier CLI.
Add proper unit tests as well for all of these promises. Switch to
Jest for these unit tests, and we are temporarily running both Jest and
mocha together in `npm test`. To refactor all the Mocha code to use Jest in
a future commit.
We don't want to install wine on travis, as it slows down the whole CI
process.
We also shouldn't be testing if we can build the electron app,
and instead our unit tests should test that we pass the correct
parameters to electron packager.
TODO ^
* Change Mocha to not need a babel build to run
- Also add tests around normalizeUrl
* PR 359 Apply changes due to comments
- Remove babelrc as its in the package.json
- Change tdd npm task to use gulp
- Remove source map support file from import list for normalizeUrlSpec
- Change gulp tdd task to run mocha on first run
359 Apply changes due to comments
- Remove babelrc as its in the package.json
- Change tdd npm task to use gulp
- Remove source map support file from import list for normalizeUrlSpec
- Change gulp tdd task to run mocha on first run
359 Apply changes due to comments
- Remove babelrc as its in the package.json
- Change tdd npm task to use gulp
- Remove source map support file from import list for normalizeUrlSpec
- Change gulp tdd task to run mocha on first run
* When zooming in/out, start from the options zoom, not 1 (don't jump)
* Add 'Zoom Reset' feature bound to Ctrl+0, with indicative label for non-100% zoom value
Test case: open nativefier on
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Test</title>
</head>
<body>
<a href="https://google.com/">Google</a>
<br>
<a href="https://google.com/"><span>Google, in span</span></a>
</body>
</html>
```
* **Expected**: both links open in default browser
* **Actual under nativefier 7.0.1**: Nothing happens when clicking the second link in which the `<a>` contains a `<span>`