forge
forge copied to clipboard
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
import
from v5 config inpackage.json
to v6 config (#653) - [x] Another pass on the documentation (including actually having a front page)
- [x] Migrate
electronforge.io
to actually using the v6 docs - [x] Move https://github.com/MarshallOfSound/electron-forge-docs to the
electron-forge
org (will this break gitbook?)- [ ] Update
tools/sync-readmes.ts
when 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-flatpak
0.10.0, when it's released - [x] Upgrade to
electron-installer-snap
4, when it's released - [x] Upgrade to
electron-winstaller
4, when it's released
- ~~Replace
s3
due to #479~~ Unfortunately not necessary for the release - [x] Try to resolve any pending PRs
- [x] Figure out what to do with the
electron-forge
NPM package - [x] Add docs to
CONTRIBUTING.md
on how to develop on Electron Forge (e.g., installbolt
globally) - [x] Make sure packages like
create-electron-app
are updated appropriately - Assist downstream packages like
ember-electron
with 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?