-
Notifications
You must be signed in to change notification settings - Fork 154
Switch to Electron Builder for auto-updates and proper installers #26
Comments
If you want a fancy landing page that will autodetect the user’s OS and serve the right installer, ZEIT’s hazel could be useful, although it doesn’t handle building the app. |
I've tried to add Here is my config in package.json:
Script started with I've also tried to add I have to check how the bundling can be customized at an electron-boilerplate. E.g. at this electron quick start repo. |
Neat! I'm not super concerned for that, although it's good to know about. Thanks for taking a stab at it, @AWolf81! Is your work pushed to a branch on your fork? If so, I'll try and find the time to clone it and see if I can make sense of it. |
Got it running on Windows 10, and creating an |
@joshwcomeau no problem, I haven't pushed it to my branch yet. Thanks @ganderzz, I'll try your config later today. So I probably just missed to add more files to the config. |
@AWolf81 Didn't dive too much into it, but I'm guessing it's due to |
@ganderzz It's still not working for me. 😢 The app is created/bundled but after starting the app it's not finding I'm not sure what's missing in my config (see here). I've also tried to create a second I need to check the following:
|
@AWolf81 Weird, haven't ran into that issue. The only difference I can see between our configs is |
Hey @ganderzz, Now that Windows support is complete and merged, I believe this is the new highest-priority ticket. Having auto-update is super important, so that users don't have to re-download the entire app just because an update is available. @AWolf81 is on vacation for the next 2 weeks, and I'd love to get this done before then. Is this something you're interested in continuing work on? No worries if not, I'll start a new PR based on the work you've already done :) just wanted to check! Thanks. |
Unfortunately, that’s exactly how most Electron auto-updaters work. |
@joshwcomeau Feel free to take over! Got stuck during trying to notify the app when a new version was released, and ran out of time. I've pushed up everything I have to my branch (HERE). |
Ok! Thanks @ganderzz.
Ah :/ well, I kinda mis-spoke; I think the real friction is needing to go to github, find the release, and download it... even if it has to re-download the entire 150mb+ package every update, at least it's low-friction for the user. |
So, I think I have things most of the way there. Branch here: https://github.com/Jtfinlay/guppy/tree/buildermin I have electron-builder pulling from I decided to make an 'electron' entry for webpack. It will pull whatever dependencies are needed and keep the electron starter and actual app as separate files, but we can share code between them without duplicating in the source. I then fixed some other problems this caused, and this seems to be working. The problem I haven't solved is that node's I will test on my fiancee's mac tomorrow to see whether it is working cross-platform. Interesting issue :) |
I'd imagine you'll have to do some unpacking first, since files in an |
Hi @Jtfinlay! Awesome timing, I was about to start looking at this myself this morning. I'm not in a rush, though, so I'll leave it to you :) sounds like you're making tremendous progress. I'm totally unfamiliar with asar, but it sounds like you're on the right track. Feel free to open a "WIP" commit, I'd be happy to test it on my mac as well. |
Thanks! I'll have a PR out soon for help testing. I've verified on the mac and the behavior is the same so far. More eyes will be appreciated. I have changes almost done to unpack yarn and fix the path to point to the unpacked version, and it works. The electron-builder docs say that these packages should work out of the box, so I'll get a small repro and issue on them later. Just finishing some clean up and PR will be ready. I'm not including any changes for setting up auto-update. From what I see, it should just be configuration changes once this migration is done. |
Woohoo! Can't wait :D
Not sure I understand; do you mean so that NPM scripts can be run using Yarn (AKA the stuff discussed in #44)? Or is this a part of just getting electron-builder to work?
Yep, that's exactly what I expected :) switching packagers is plenty for 1 PR, anyone can pick up the configuration once that PR is landed. |
This is regarding when we invoke different tasks from within guppy on a project. To do this, |
We can close this as Electron-builder is merged to master. |
Right now, Guppy has no auto-update mechanism. This means that when we release a new version, the people using Guppy have to come back to this repo to download and install it! This is lame.
Auto-update appears to come built-into electron-builder. It also comes with other benefits, like building a
.dmg
for installation.Unless anyone has any better ideas, I think we should switch to electron-builder.
The text was updated successfully, but these errors were encountered: