2
2
mirror of https://github.com/Llewellynvdm/nativefier.git synced 2024-11-15 17:27:08 +00:00
Commit Graph

243 Commits

Author SHA1 Message Date
Ronan Jouchet
fa9bd2aba5 Update changelog for v43.0.2 2021-04-13 21:53:05 -04:00
Ronan Jouchet
f64c05f735 Update changelog for v43.0.1 2021-04-11 20:58:20 -04:00
Ronan Jouchet
96f3ab4ec7 Update changelog for v43.0.0 2021-03-10 20:37:37 -05:00
Ronan Jouchet
21665cac5f Bump deps 2021-03-10 19:41:02 -05:00
Ronan Jouchet
7ee2f97599 Update changelog for v42.4.0 2021-03-04 12:46:10 -05:00
Ronan Jouchet
e59e056f59 Bump deps 2021-03-04 12:37:11 -05:00
Adam Weeden
adcf21a3df
macOS: Prompt for accessibility permissions if needed by Global Shortcuts using Media Keys (Fix #1120) (PR #1121)
When setting a media key (play, pause, next/previous track) as global shortcut in Mac OS 10.14+, accessibility permissions must be given to the app for it to work (see https://www.electronjs.org/docs/api/global-shortcut?q=MediaPlayPause#globalshortcutregisteraccelerator-callback).

This PR will accomplish the following on generated app launch:
- Check if global shortcuts are being setup
- Check if the host OS is Mac OS
- Check if the global shortcuts were one of the media keys
- If the above are true, check if the app has accessibility permissions
- If the app does not have the accessibility permissions it will ask the user if they would like to be prompted for these permissions, and then ask Mac OS to prompt for accessibility permissions.

~~As well, a new command line flag is added (`--no-accessibility-prompt`) to preventatively suppress these prompts if desired.~~

Screenshots of the new behavior:
![Screen Shot 2021-02-26 at 2 41 21 PM](https://user-images.githubusercontent.com/547567/109356260-76bfde00-784e-11eb-8c36-3a51b911b780.png)
![Screen Shot 2021-02-26 at 2 41 28 PM](https://user-images.githubusercontent.com/547567/109356266-79223800-784e-11eb-94eb-66437c05fd10.png)
![Screen Shot 2021-02-26 at 2 41 50 PM](https://user-images.githubusercontent.com/547567/109356270-7aebfb80-784e-11eb-9e90-e09bb49752c6.png)

Co-authored-by: Ronan Jouchet <ronan@jouchet.fr>
2021-02-28 10:24:14 -05:00
Ronan Jouchet
75aa10382b Move some tooling config (eslintignore, prettierrc) to package.json
To limit amount of dotfiles at repo root
2021-02-27 22:31:59 -05:00
Ronan Jouchet
5129dbafe1 Deps: bump gitcloud to 0.2 and page-icon to 0.4 2021-02-27 01:15:26 -05:00
Ronan Jouchet
d90d9f3d7f Scripts: get rid of dev-up and dev-up-win scripts
They used to be necessary when we did OS-specific stuff in here, but
we're no longer, and `foo && bar` is supported by both *nixes and Windows
2021-02-26 22:41:00 -05:00
Ronan Jouchet
0aa8276922 Update changelog for v42.3.0 2021-02-25 19:49:22 -05:00
Ronan Jouchet
17231d707f Bump eslint-config-prettier from ^7.2.0 to ^8.1.0 2021-02-25 19:10:11 -05:00
Ronan Jouchet
1a5d79ecf8 Bump commander from ^4.1.1 to ^7.1.0
Looked at https://github.com/tj/commander.js/blob/master/CHANGELOG.md
and tested a bit, seems like no change is needed
2021-02-25 19:08:37 -05:00
Ronan Jouchet
9b52f210db Get rid of dependency "shelljs"
We don't need a fancy _"portable (Windows/Linux/macOS) implementation
of Unix shell commands on top of the Node.js API"_, we just want to run
a simple script. Replacing with using stdlib `child_process.spawnSync`.
2021-02-25 18:15:24 -05:00
Ronan Jouchet
4bf0226da0 Deps: come back to semver ^a.b.c syntax
Thinking about it again, the user-friendlier `a.x` syntax has one disadvantage
over `^a.b.c`: it doesn't force deps upgrades when they upgrade Nativefier.
`a.x` is fine on initial install, but a user with an insecure dep
(e.g. axios 0.19.0) will _not_ get fixed axios 0.21.1 on upgrading Nativefier.
-> Come back to `a.x` everywhere.

Still not introducing package locks, they're too confusing to new devs.
See https://github.com/nativefier/nativefier/pull/1099#issuecomment-761250232
2021-02-25 08:15:39 -05:00
Ronan Jouchet
b99b2f9632 Deps: bump axios from 0.x to ^0.21.1, to reassure dependabot 2021-02-24 23:12:21 -05:00
Jia Hao
7a3730e5a9 Update changelog for v42.2.1 2021-01-30 05:04:51 +00:00
Jia Hao
6316d23762 Move to nativefier organization 2021-01-30 04:49:52 +00:00
Milo
9c784dcfaf
Move TS @types from dependencies to devDependencies (PR #1102)
Co-authored-by: Ronan Jouchet <ronan@jouchet.fr>
2021-01-24 20:36:06 -05:00
Ronan Jouchet
dcefe0074d Update changelog for v42.2.0 2021-01-18 09:24:28 -05:00
Ronan Jouchet
422f72aa3b Update changelog for v42.1.0 2021-01-16 08:47:17 -05:00
Ronan Jouchet
b0a953eb2d Get rid of cheerio
Not sure this one will stick, maybe my regex is too naive.
Works for common websites. Let's see
2021-01-15 22:15:48 -05:00
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