forge icon indicating copy to clipboard operation
forge copied to clipboard

Release v6.0.0 Stable

Open malept opened this issue 6 years ago • 43 comments

  • [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 in package.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?)
  • [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., install bolt 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

malept avatar Nov 07 '18 04:11 malept

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 ^^

MarshallOfSound avatar Nov 08 '18 03:11 MarshallOfSound

Do we no longer want to use the electron-forge NPM package?

malept avatar Nov 09 '18 16:11 malept

@malept I don't think so, we could alias it to @electron-forge/cli but I think we should just make people move 👍

MarshallOfSound avatar Nov 17 '18 08:11 MarshallOfSound

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 avatar Nov 17 '18 08:11 malept

@malept We can have npx create-electron-app and yarn create electron-app for the one-liner no-scope commands

MarshallOfSound avatar Nov 24 '18 04:11 MarshallOfSound

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.

malept avatar Dec 06 '18 19:12 malept

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 avatar Jan 03 '19 22:01 philcockfield

@philcockfield Those warnings are just disclaimers at this point. A bunch of people are already using the webpack plugin, feel free to dive in

MarshallOfSound avatar Jan 03 '19 22:01 MarshallOfSound

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.

malept avatar Jan 03 '19 22:01 malept

Awesome - thanks.

philcockfield avatar Jan 04 '19 00:01 philcockfield

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!

philcockfield avatar Jan 11 '19 21:01 philcockfield

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 ?

philcockfield avatar Jan 11 '19 21:01 philcockfield

electron-webpack is a different node module not affiliated with Electron Forge.

malept avatar Jan 11 '19 22:01 malept

Oh! My bad, I thought that was under electron-userland banner.

Don't suppose there is working sample repo anywhere?

philcockfield avatar Jan 11 '19 23:01 philcockfield

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.

malept avatar Jan 11 '19 23:01 malept

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.

ghost avatar Feb 13 '19 06:02 ghost

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.

malept avatar Feb 13 '19 06:02 malept

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)

spasma avatar Feb 25 '19 17:02 spasma

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 avatar Feb 25 '19 17:02 malept

@malept ah I see, good to hear that. Thanks for the heads up!

spasma avatar Feb 25 '19 17:02 spasma

I love this project, great job! What's the status of V6?

austencollins avatar Jun 13 '19 14:06 austencollins

I've updated the TODOs in the issue summary.

malept avatar Jun 13 '19 14:06 malept

Thanks. Looks close. Nice work!

austencollins avatar Jun 13 '19 18:06 austencollins

Nice work

Bubbabry88 avatar Jun 28 '19 15:06 Bubbabry88

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.

damienallen avatar Jul 16 '19 10:07 damienallen

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.

malept avatar Jul 16 '19 14:07 malept

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!

miwelc avatar Sep 10 '19 14:09 miwelc

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 avatar Sep 10 '19 19:09 malept

@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!

damienallen avatar Sep 26 '19 16:09 damienallen

Is v6 stable yet? Or usable?

deadcoder0904 avatar Dec 01 '19 15:12 deadcoder0904