bbc/bbc-a11y

Electron needs updating to support Apple M1 devices using Node 16

andymsuk opened this issue · 4 comments

Summary

Electron needs updating to support Apple M1 devices with Node 16

Expected Behaviour

bbc-a11y can be installed with npm successfully on an Apple M1 device

Current Behaviour

npm install fails with Error: Failed to find Electron v2.0.18 for darwin-arm64 at https://github.com/electron/electron/releases/download/v2.0.18/electron-v2.0.18-darwin-arm64.zip

Your Environment

  • Version used: Latest
  • Operating System and version: macOS 12.2
  • Node 16

I was just looking at this, it seems that the package.json is very out of date.

It might take quite a few updates to get this fully working with a new version of electron and we may have to reduce compatibility with older systems, so it would be a major version change, it appears that @cucumber/electron only supports version 12 or 13 of electron as well, so we're unable to go to the latest one.

Version 11 adds support for M1 though:

https://www.electronjs.org/blog/electron-11-0

So version 13 should work.

To support Node 16, we will need to upgrade to Electron 15:

https://www.electronjs.org/blog/electron-15-0

Which would require removing packages that don't support Electron versions after version 13.

In this PR, I have upgraded to version 13:

#347

We will need a PR after this to upgrade to version 15 (I believe it's better to do this separately given the level of changes that we need to do due to the large gap between the current version of Electron that we are using and the version of Electron that we need to go to).

In particular, this is better separately as version 14 and above require the implementation of @electron/remote which causes a whole range of issues with the current codebase.

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.

This issue was closed because it has been stalled for 5 days with no activity.

This should be re-opened as it's still an issue with the library.