2
2
mirror of https://github.com/Llewellynvdm/nativefier.git synced 2024-11-16 10:05:09 +00:00
Commit Graph

221 Commits

Author SHA1 Message Date
Ronan Jouchet
17f688de63 Get rid of lodash 2021-01-15 21:50:07 -05:00
Ronan Jouchet
0eaf72ced8 Publish TS types, for them to show up in npm
See https://github.blog/changelog/2020-12-16-npm-displays-packages-with-bundled-typescript-declarations/
2020-12-17 20:59:04 -05:00
Ronan Jouchet
cf11a71a7c Update changelog for v42.0.2 2020-12-07 16:51:49 -05:00
Ronan Jouchet
412b724292 Update changelog for v42.0.1 2020-12-06 23:20:07 -05:00
Ronan Jouchet
7c5b2bb68f Bump default Electron to 11.0.3, bump dep eslint-config-prettier to 7.x, bump version to something far away from current Electron version
Rationale for nonsensical major version bump: around Nativefier 8.x,
versions of Nativefier and Electron aligned, by release schedule coincidence.
Since Nativefier has little breaking changes, it was great: as Electron
releases are breaking, Nativefier had no breaking changes, I bumped our
major version on new major Electron, and everything was good.

Except *now*, as I have a breaking change, that would bump Nativefier to
12.x, which would be confusing since we'd still default to Electron 11 :-/ .

-> To keep respecting semver and reduce confusion, bumping Nativefier
   version to something far ahead. No it doesn't matter, version
   number are meaningless anyway (well, outside of semver, whose
   respect is precisely the point here).
2020-12-06 13:57:51 -05:00
Ronan Jouchet
b821ade761 Update changelog for v11.0.2 2020-11-21 14:52:08 -05:00
Ronan Jouchet
7531c3136e Update changelog for v10.1.5 2020-11-08 21:52:39 -05:00
Ronan Jouchet
f9815cb49f Deps: more trying getting npm7 peerDeps to play nice 2020-11-08 21:31:04 -05:00
Ronan Jouchet
571717949d Deps: try to make npm7 peerDep resolution happy
see example failed build at https://travis-ci.org/github/jiahaog/nativefier/jobs/742329221
2020-11-08 21:15:51 -05:00
Ronan Jouchet
810f4a1e6a Deps: bump webpack from 4.x to 5.x (-cli from 3.x to 4.x) 2020-11-08 21:08:24 -05:00
Ronan Jouchet
1add237878 Deps: bump ts-eslint from 3.x to 4.x 2020-11-08 20:52:42 -05:00
Ronan Jouchet
6dbe4998b6 Update changelog for v10.1.0 2020-08-29 17:11:55 -04:00
Ronan Jouchet
b1d0d6857f Bump default Electron to 10.1.0, bump to TS 4.x 2020-08-29 16:16:25 -04:00
Ronan Jouchet
e24b22ea7f Update changelog for v9.2.0 2020-08-10 21:47:07 -04:00
Joe Skeen
3e5f1fabad
[dev] Add unified {build,test} watch mode, using "concurrently" (#1011)
I noticed that the development README suggested using multiple console 
windows/tabs for a good development experience. Using the package `concurrently`,
we can streamline that and require only one window with output for both watch processes:

![image](https://user-images.githubusercontent.com/12286274/88694827-477d9e80-d0be-11ea-898c-ee9a509db4bb.png)


Co-authored-by: Ronan Jouchet <ronan@jouchet.fr>
2020-08-05 12:52:49 -04:00
Ronan Jouchet
8684887fc6 Bump eslint to 7.x, fix new lint errors 2020-07-18 11:19:58 -04:00
Ronan Jouchet
aa5a98b5e7 Update changelog for v9.1.0 2020-07-18 02:19:44 -04:00
Ronan Jouchet
53a2e9b4d3 Remove @types/electron-packager, they're built-in since 15.x 2020-07-18 02:18:33 -04:00
Ronan Jouchet
792156f376 Bump deps: electron-packager, ts-loader, types 2020-07-18 01:47:46 -04:00
Ronan Jouchet
8fa394a1c0 [BREAKING CHANGE] Require Node.js >= 10
- Several deps started requiring it
- CI started breaking on Node 8
- Node 8 is end-of-life, no longer maintained
- Even latest Debian stable and Ubuntu LTS ship Node 10:
    https://packages.debian.org/search?suite=stable&keywords=nodejs
    https://packages.ubuntu.com/search?searchon=names&suite=all&section=all&keywords=nodejs

So, requiring Node 10 and npm 6 going with it.
2020-06-13 10:46:27 -04:00
Ronan Jouchet
e5ba8c779f Bump default Electron to 9.0.4, bump deps (jest, electron-context-menu) 2020-06-13 10:23:15 -04:00
Alexander Weps
1d3bed5f09
Fix: notifications (fix #88, fix #956), processEnvs, using as git (#955)
1. Fix (broken since 2016): Notifications broken by lambda constructor
2. Fix: `--processEnvs` broken by additional processEnvs object, the result was:
`processEnvs: {processEnvs: {...}}` which caused the conversion of the inner object into string `[object Object]`, no nesting allowed there probably. Compatibility introduced.
3. Fix: package.json missing `prepare` (or even prepublish), which breaks using as git dependency.
2020-04-27 11:52:21 -04:00
Ronan Jouchet
9ccda87938 Update changelog for v8.0.7 2020-04-22 22:12:36 -04:00
Ronan Jouchet
fd0395a860 Update changelog for v8.0.6 2020-03-27 09:11:58 -04:00
Ronan Jouchet
34e443c832 Update changelog for v8.0.5 2020-03-27 09:00:39 -04:00
Ronan Jouchet
0c2510f31e Bump default Electron to 8.2.0 and Prettier 2020-03-24 20:27:25 -04:00
Ronan Jouchet
72a9eae6d6 Update changelog for v8.0.4 2020-03-16 21:34:20 -04:00
Ronan Jouchet
cde5c1e13b Fix failing to global-sudo-install due to postinstall script (fix #923)
As documented in https://github.com/jiahaog/nativefier/issues/923#issuecomment-599300317 ,

- #923 is caused by installing placeholder app deps at nativefier
  *install* time, with yarn (8.0.2) or npm (8.0.3). This is new in
  Nativefier 8.x, for the motivations behind it, see
  https://github.com/jiahaog/nativefier/pull/898#issuecomment-583865045

- During testing, I did test global installs, but never to a
  system / non-user-writable path (my `$npm_config_prefix` is set to
  `"$HOME/.node_modules"`)

- But without such a config and when installing globally to a
  non-user-writable/system path with `sudo npm i -g nativefier`,

    - Installation of nativefier core works...

    - ... but then `postinstall` tries to do its job of installing
    app deps, and fails in various OS-dependent ways, but all about
    access rights.
    I suspect that, although main nativefier install runs as `su` with
    access rights to system paths, `postinstall` scripts are run *out*
    of `su`.
    That would make sense for security reasons: out of hook scripts,
    npm knows exactly what will be touched in your filesystem: it's the
    static contents of the published tarball; a postinstall script with
    sudo rights could do nasty dynamic stuff. So, although I don't see
    any mention of that in
    [npm-scripts docs / hooks](https://docs.npmjs.com/misc/scripts#hook-scripts)
    and I haven't dug npm/cli's code, I can understand it.

So, reverting back to `webpack`ing the placeholder app, as done pre-8.0.
2020-03-16 21:06:03 -04:00
Ronan Jouchet
0a380bd0f4 Update changelog for v8.0.3 2020-03-15 20:57:48 -04:00
Ronan Jouchet
f1f6dda4d1 Fix failing to install due to app yarn install
Actually not sure this will work, but let's try.
If that works, that means we're back to pre-
https://github.com/jiahaog/nativefier/pull/898#issuecomment-583865045 ,
with a 60s timeout due to npm bug https://github.com/npm/cli/issues/757

Looking at a real fix, potentially coming back to `webpack` the app.
2020-03-15 20:54:21 -04:00
Ronan Jouchet
2c036cb8a2 Update changelog for v8.0.2 2020-03-15 17:41:20 -04:00
Ronan Jouchet
f600047463 Update changelog for v8.0.1 2020-03-15 17:24:51 -04:00
Ronan Jouchet
93c2d32c87 Update changelog for v8.0.0 2020-03-15 16:51:09 -04:00
Ronan Jouchet
c9ee6667d4
Revamp and move to TypeScript (#898)
## Breaking changes

- Require **Node >= 8.10.0 and npm 5.6.0**
- Move to **Electron 8.1.1**.
- That's it. Lots of care went into breaking CLI & programmatic behavior
  as little as possible. **Please report regressions**.
- Known issue: build may fail behind a proxy. Get in touch if you use one:
  https://github.com/jiahaog/nativefier/issues/907#issuecomment-596144768

## Changes summary

Nativefier didn't get much love recently, to the point that it's
becoming hard to run on recent Node, due to old dependencies.
Also, some past practices now seem weird, as better expressible
by modern JS/TS, discouraging contributions including mine.

Addressing this, and one thing leading to another, came a
bigger-than-expected revamp, aiming at making Nativefier more
**lean, stable, future-proof, user-friendly and dev-friendly**,
while **not changing the CLI/programmatic interfaces**. Highlights:

- **Require Node>=8**, as imposed by many of our dependencies. Node 8
  is twice LTS, and easily available even in conservative Linux distros.
  No reason not to demand it.
- **Default to Electron 8**.
- **Bump** all dependencies to latest version, including electron-packager.
- **Move to TS**. TS is great. As of today, I see no reason not to use it,
  and fight interface bugs at runtime rather than at compile time.
  With that, get rid of everything Babel/Webpack.
- **Move away from Gulp**. Gulp's selling point is perf via streaming,
  but for small builds like Nativefier, npm tasks are plenty good
  and less dependency bloat. Gulp was the driver for this PR: broken
  on Node 12, and I didn't feel like just upgrading and keeping it.
- Add tons of **verbose logs** everywhere it makes sense, to have a
  fine & clear trace of the program flow. This will be helpful to
  debug user-reported issues, and already helped me fix a few bugs.
    - With better simple logging, get rid of the quirky and buggy
      progress bar based on package `progress`. Nice logging (minimal
      by default, the verbose logging mentioned above is only used
      when passing `--verbose`) is better and one less dependency.
- **Dump `async` package**, a relic from old callback-hell early Node.
  Also dump a few other micro-packages unnecessary now.
- A first pass of code **cleanup** thanks to modern JS/TS features:
  fixes, simplifications, jsdoc type annotations to types, etc.
- **Remove GitHub integrations Hound & CodeClimate**, which are more
  exotic than good'ol'linters, and whose signal-to-noise ratio is too low.
- Quality: **Add tests** and add **Windows + macOS CI builds**.
  Also, add a **manual test script**, helping to quickly verify the
  hard-to-programatically-test stuff before releases, and limit regressions.
- **Fix a very small number of existing bugs**. The goal of this PR was
  *not* to fix bugs, but to get Nativefier in better shape to do so.
  Bugfixes will come later. Still, these got addressed:
  - Add common `Alt`+`Left`/`Right` for previous/next navigation.
  - Improve #379: fix zoom with `Ctrl` + numpad `+`/`-`
  - Fix pinch-to-zoom (see https://github.com/jiahaog/nativefier/issues/379#issuecomment-598612128 )
2020-03-15 16:50:01 -04:00
Ronan Jouchet
b927b401b0 Update changelog for v7.7.1 2020-01-23 20:00:43 -05:00
Ronan Jouchet
4f235c550a Update changelog for v7.7.0 2019-08-22 21:55:44 +02:00
Nate Woolls
5433569921 Support macOS 10.4+ Dark Mode, default to Electron 5.x (#796)
Introduces a `--darwin-dark-mode-support` flag. 
(I kept the same flag used by Electron Packager.)
This required bumping Electron and Electron Packager.

Addresses:

- https://github.com/jiahaog/nativefier/issues/733
- https://github.com/jiahaog/nativefier/issues/727
2019-08-22 21:05:39 +02:00
Ronan Jouchet
070efe6fa9 Update changelog for v7.6.12 2019-03-25 19:14:25 -04:00
Ronan Jouchet
07faeb1881 Update changelog for v7.6.11 2019-02-10 22:20:40 -05:00
Ronan Jouchet
726f44d266 Bump default Electron to 3.1.3 2019-02-09 21:46:15 -05:00
Ronan Jouchet
c722f8a5ac Update changelog for v7.6.10 2019-01-01 23:44:57 -05:00
Ronan Jouchet
ae3eafe653 Update changelog for v7.6.9 2018-12-01 14:07:47 -05:00
Ronan Jouchet
d3a6acc22d Let Jest install its own regenerator-runtime dep
See: https://jestjs.io/docs/en/getting-started
Note: Explicitly installing regenerator-runtime is not needed if you use npm 3 or 4 or Yarn
2018-12-01 00:15:13 -05:00
Ronan Jouchet
11644e34d8 Update changelog for v7.6.8 2018-10-06 22:20:21 -04:00
Ronan Jouchet
0f88a761de Bump default electron to 3.0.3, deps (eslint-plugin-prettier) 2018-10-06 22:13:47 -04:00
Ronan Jouchet
e228f0cff8 Bump default Electron to 2.0.8, upgrade dep 2018-08-22 16:01:45 -04:00
Ronan Jouchet
2b8f1390fb Update changelog for v7.6.7 2018-07-31 21:29:04 -04:00
Ronan Jouchet
94efbc44c4 Update changelog for v7.6.6 2018-07-22 10:44:44 -04:00
Ronan Jouchet
b31be18303 Update changelog for v7.6.5 2018-07-21 09:23:03 -04:00
Ronan Jouchet
bbef14ccc6 Bump default Electron to 2.0.5, upgrade deps 2018-07-21 08:58:53 -04:00