Release v6.0.0 Stable
- [x] I have read the contribution documentation for this project.
- [x] I agree to follow the code of conduct that this project follows, as appropriate.
- [x] I have searched the issue tracker for an issue that matches the one I want to file, without success.
I'd like to have a solid plan for getting v6 out the door.
TODO
In no particular order.
- [x] Simple
importfrom v5 config inpackage.jsonto v6 config (#653) - [x] Another pass on the documentation (including actually having a front page)
- [x] Migrate
electronforge.ioto actually using the v6 docs - [x] Move https://github.com/MarshallOfSound/electron-forge-docs to the
electron-forgeorg (will this break gitbook?)- [ ] Update
tools/sync-readmes.tswhen this happens - [ ] Fix gitbook sync
- [ ] Update
- [x] Update templates (https://github.com/electron-userland/electron-forge-templates/pull/64)
- [x] Add at least one template with webpack
- [x] Last upgrade of as many dependencies as possible
- [x] Upgrade to Electron Packager 14, when it's released
- [x] Upgrade to
@malept/electron-installer-flatpak0.10.0, when it's released - [x] Upgrade to
electron-installer-snap4, when it's released - [x] Upgrade to
electron-winstaller4, when it's released
- ~~Replace
s3due to #479~~ Unfortunately not necessary for the release - [x] Try to resolve any pending PRs
- [x] Figure out what to do with the
electron-forgeNPM package - [x] Add docs to
CONTRIBUTING.mdon how to develop on Electron Forge (e.g., installboltglobally) - [x] Make sure packages like
create-electron-appare updated appropriately - Assist downstream packages like
ember-electronwith upgrading (this will probably happen post-release) - [x] Native modules in webpack https://github.com/electron-userland/electron-forge/issues/703
- ~~#1029 (bug with webpack + certain native modules)~~
- [x] Add note mentioning the experimental nature of native modules + webpack
Figure out what to do with the electron-forge NPM package
npm deprecate all versions of it with a message to move to @electron-forge/cli? Maybe a link to a docs page on how to move and use the importer described above ^^
Do we no longer want to use the electron-forge NPM package?
@malept I don't think so, we could alias it to @electron-forge/cli but I think we should just make people move 👍
I don't know, there's something to be said for having install instructions be npx electron-forge init my-electron-app and that's it. But I guess we live in a copy/paste world, and npx @electron-forge/cli init my-electron-app is about the same.
@malept We can have npx create-electron-app and yarn create electron-app for the one-liner no-scope commands
Update templates
From what we've talked about previously, we're going to reduce the templates to just a webpack template (and a parcel template perhaps). We should add guides to the docs for how to create apps for various popular frameworks, e.g. React via create-react-app plus electron-forge init --template=webpack. Alternatively, have docs for creating webpack-based Electron apps in general.
This issue suggests v6 stable release is imminent (??).
The documentation wisely says don't use the Webpack plugin yet...but given you're gearing up for stable release, is it possible to go ahead and work with Webpack?
Thanks so much for your work on "forge" - this is so very helpful.
@philcockfield Those warnings are just disclaimers at this point. A bunch of people are already using the webpack plugin, feel free to dive in
This issue suggests v6 stable release is imminent (??).
I would not characterize it as imminent. This issue is meant as a line in the sand to show progress towards releasing a stable version.
The documentation wisely says don't use the Webpack plugin yet...but given you're gearing up for stable release, is it possible to go ahead and work with Webpack?
What @MarshallOfSound said. There's not much in the way of documentation, so we're not yet comfortable recommending it yet.
Awesome - thanks.
Hey @MarshallOfSound - I know this is pre-release (or pre-docs and all), but I don't suppose you have a sample repo lying around anywhere of a webpack plugin configuration working?
I found this repo of yours https://github.com/MarshallOfSound/electron-forge-plugin-webpack/blob/master/example/react.js
But it's archived, and pretty old. Any hints would be awesome - thanks!
Also, for so I can understand the context of the new release - does @electron-forge/plugin-webpack supersede and make obsolete https://github.com/electron-userland/electron-webpack ?
electron-webpack is a different node module not affiliated with Electron Forge.
Oh! My bad, I thought that was under electron-userland banner.
Don't suppose there is working sample repo anywhere?
Based on https://github.com/search?q=%22electron-forge%22+%22plugin-webpack%22&type=Code there are people who are using that plugin, but I don't know how successful they are.
It'd be nice to have more than 1 webpack (or parcel) template, where at least one acts like electron-compile. My app is still basically a webview into a local app, so I've only been focused on setting up the main process so far. I ended up using node-webpack-externals to basically ignore node_modules and package it as is (otherwise webpack tries to handle node-gyp files and other stuff). I also had to override the ignore to keep node_modules for main.
We don't plan on having more than one template per bundler included by default with Electron Forge v6. And as with the old 5.x templates, they are meant to be minimal starters (like electron-quick-start) and not boilerplates. (Quite frankly, it seems to be difficult to find someone to have the time to even do a minimal template.)
That is not to say that a community member can't contribute a third-party template.
Can you make automation of new electron-prebuilt-compile packages also part of this release? electron-forge heavily depends on that package and it's pretty outdated.
Everybody is building apps on an old version of electron w/ security issues because of that. (or they hacked some things together to make it work)
As of Forge v6, electron-prebuilt-compile is no longer a requirement (although it's still somewhat supported through the optional electron-compile plugin). Its automation is specific to that module, though. See https://github.com/electron-userland/electron-prebuilt-compile/issues/55 for the automation of releases there (which I've noticed you've already found).
@malept ah I see, good to hear that. Thanks for the heads up!
I love this project, great job! What's the status of V6?
I've updated the TODOs in the issue summary.
Thanks. Looks close. Nice work!
Nice work
I've had a great experience with electron-forge so far and really looking forward to v6!
Could anyone point me to documentation (couldn't find any) or summarize how a migration might look like? Just hoping to get a rough estimate of effort/time required.
It should mostly be config changes. I wrote a fairly simple importer from v5 to v6 here: https://github.com/electron-userland/electron-forge/blob/v6.0.0-beta.42/packages/api/core/src/util/upgrade-forge-config.ts (it's invoked by running electron-forge import, using v6, on a v5 app).
Obviously, there's also a cost to migrate off of electron-prebuilt-compile (and probably onto webpack), but that can be done in a separate step.
Hi guys, do you have and ETA on this?
We need a more recent version of electron but the current dependency on electron-prebuilt-compile is limiting us (we use webpack so we don't really need it).
Thanks!
The main blocker is resolving bugs with webpack and native modules. We'd be happy to have help with this so we can (finally) release a stable version.
Aside from that, it's pretty stable.
@malept The migration script worked great, thanks for that!
Overall, the move to version 6 (and from electron-compile to webpack) took me around 7 hours. A lot of time was also spent on getting TS up and running with webpack.
Awesome work on v6!
Is v6 stable yet? Or usable?