-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Electron 11.0.0-beta.11 produces invalid builds #103
Comments
There is a similar problem connected to electron 9 prebuilds, also coincidentally relating to serialport. In this case the electron 9 betas up to beta 9 are producing the problem, but from beta 10 and up it seems to work just fine. @MarshallOfSound Looking at how the Since the update script is run automatically that wouldn't create any extra work for anyone, and I think it would solve both of these problems with prebuild. |
@dunkmann00 that will break various methods exposed by this library, such as https://github.com/lgeiger/node-abi/blob/master/index.js#L16. I believe the primary purpose of this data is to figure out what abi version to use for a process, and not for prebuild to choose a version to build against. |
@Julusian I'm not sure why it would break something? What I was suggesting was:
function electronReleasesToTargets (releases) {
const versions = releases.map(({ version }) => version)
const versionsByModules = releases
.filter(release => release.deps && Number(release.deps.modules) >= 70)
++ .reverse()
.map(({ version, deps: { modules } }) => ({
version,
modules,
}))
.reduce(
(acc, { modules, version }) => ({
...acc,
[modules]: version,
}),
{}
)
...
} Just adding the reverse array method call on the line marked wiht the |
That results in the abi_registry.json containing this:
Which means that a call to |
@Julusian 👍 I see now. |
Electron 11 should produce valid builds nowadays, the ABI registry lookup logic has been tweaked slightly. Passing the correct electron version into |
I have been digging into an issue with a nan and prebuild based library that was throwing an error only when run in electron 11 serialport/node-serialport#2191
My conclusion is that electron v11.0.0-beta.11...v11.0.0-beta.12 is a breaking abi change and should have changed the abi version number. I haven't raised anything upstream, as I don't see anything they can do other than say to not use that version.
So to make everything happy, prebuild (and others?) need to build for electron 11 against v11.0.0-beta.12 or newer. As they get the version number from this library, it would be nice to fix it here, but I don't know how the data should be modelled, as a single version essentially needs to be ignored.
The text was updated successfully, but these errors were encountered: