electron-userland / electron-prebuilt-compile

electron-prebuilt with Babel and React built-in
168 stars 56 forks source link

Please publish releases for 3.1.9, 4.2.0, and 5.0.1 #77

Closed jacobq closed 5 years ago

jacobq commented 5 years ago

It doesn't look like there is any 3.1.x version published, so when you can, please make one for 3.1.1 3.1.2 3.1.4 3.1.6 3.1.7 3.1.8 3.1.9

Likewise for 5.x: 5.0.0 5.0.1

It would be nice to have 4.0.1 4.0.2 4.0.3 4.0.5 4.0.6 4.0.8 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.2.0 also. :pray:

bendemboski commented 5 years ago

Hey @paulcbetts is something holding this up? Now that Electron 4.0.4 is released with the new ABI version so it works with prebuilt modules again, the only thing blocking me from updating to Electron 4 is an electron-prebuild-compile 4.0.4 release so I can use electron-forge and ember-electron with Electron v4.

spasma commented 5 years ago

Electron 4.0.5 is released now and with a security issue fixed in 4.0.4. I think this should be updated. This package should be automated if that is possible. I'm using electron-forge which cannot update without this being updated. Thanks in advance.

jacobq commented 5 years ago

@spasma see also https://github.com/electron-userland/electron-prebuilt-compile/issues/55

rn4n commented 5 years ago

news... ?

HydrogenC commented 5 years ago

Now 3.1.7 and 4.1.1

rn4n commented 5 years ago

I think the project will die, see #80.

jacobq commented 5 years ago

@reebr Thanks for pointing that out (I wasn't aware). Once electron-forge v6.x is ready then I can work with the ember-electron team and drop the requirement. However, in the mean time it would still be nice to get an updated release on NPM to avoid being so out of date during the transition. Unfortunately this type of project is different than many other open source works because forking it does not help due to electron-forge v5.x's tight coupling with this specific module (i.e. by literal name and version strings in package.json).

jacobq commented 5 years ago

I've been able to work-around this by doing the following:

  1. Fork project
  2. Rename version so that it's scoped under my own username (i.e. @jacobq/electron-prebuilt-compile)
  3. Update & publish desired version to NPM
  4. Use npm info @jacobq/electron-prebuilt-compile dist.tarball to get a URL, e.g.
  5. In your electron project, specify the tarball URL instead of the version string for electron-prebuilt-compile
  6. Ensure that the version of electron-forge that you are using includes https://github.com/electron-userland/electron-forge/pull/450 -- e.g. for ember-electron, I used yarn selective resolutions to force version 5.2.4
  "resolutions": {
     "**/broccoli-postcss": "^4.0.1",
    "**/electron-forge": "^5.2.4",
    "**/node-abi": "^2.7.1"
   },
jacobq commented 5 years ago

I think this project is effectively abandoned. Closing in favor of fork->scope->tarball work-around

verstaen commented 5 years ago

Thanks for the workaround @jacobq. I'm working on an ember-electron project and I have a problem. When I do what you suggest and add" "electron-prebuilt-compile": "https://registry.npmjs.org/@jacobq/electron-prebuilt-compile/-/electron-prebuilt-compile-4.2.0.tgz",

in my package.json file, "npm install" goes well, "npm list" tells me I have what I need, but electron-forge (I think...) complains that: "You must depend on an EXACT version of "electron-prebuilt-compile" not a range" Indeed, it appears a URL is considered as a range, not a pinned version. What am I doing wrong? Thanks!

jacobq commented 5 years ago

@verstaen Yes, that's exactly what I had to slog through. It's related to these:

The way I got around it was to use yarn's selective resolution feature and point to forks with my own patches (you can dig in if you want to see the changes). Here's an excerpt from my package.json file:


  "devDependencies": {
    "electron-prebuilt-compile": "https://registry.npmjs.org/@jacobq/electron-prebuilt-compile/-/electron-prebuilt-compile-5.0.1.tgz",
    "ember-electron": "adopted-ember-addons/ember-electron#34d20f76a3ee3e58e2bbbb5452cc48d9e1fa2983"
  },
  "dependencies": {
    "electron-forge": "https://registry.npmjs.org/@jacobq/electron-forge/-/electron-forge-5.2.4-jrq.6.tgz",
    "electron-packager": "electron-userland/electron-packager#7182f9080328dbef79538d384e54c597e103bd32",
    "node-abi": "jacobq/node-abi#15baa5fa42a4a379b182d08075f0515a8e9460ec",
  },
  "resolutions": {
    "**/broccoli-postcss": "^4.0.1",
    "**/electron-forge": "https://registry.npmjs.org/@jacobq/electron-forge/-/electron-forge-5.2.4-jrq.6.tgz",
    "**/electron-packager": "electron-userland/electron-packager#7182f9080328dbef79538d384e54c597e103bd32",
    "**/node-abi": "jacobq/node-abi#15baa5fa42a4a379b182d08075f0515a8e9460ec"
  },
debelop13 commented 5 years ago

Hello @jacobq,

I follow your steps and I can execute ember-electron and debug, but not compile...

Using electron-prebuilt-compile with Electron Packager requires specifying an exact Electron version

And If I add

"resolutions": { "**/broccoli-postcss": "^4.0.1", "**/electron-forge": "^5.2.4", "**/electron-packager": "^14.0.1", "**/node-abi": "2.7.1" }

I have different error:

Cannot find module 'electron-packager/targets'

I am using

"electron-prebuilt-compile": "https://registry.npmjs.org/@jacobq/electron-prebuilt-compile/-/electron-prebuilt-compile-3.1.8.tgz",

How can I fix it?

Thanks!

jacobq commented 5 years ago

@debelop13

I have different error:

Cannot find module 'electron-packager/targets'

Hmm, what happens if you run yarn then node (CLI) and var t = require('electron-packager/targets')? You should see something like the object here: https://github.com/electron-userland/electron-packager/blob/master/src/targets.js#L84

How can I fix it?

Unfortunately, I'm not sure what's going on in your case, and I've been occupied with other (non-JS) projects over the last month or so. If you'd like to share a repo demonstrating your problem here perhaps I or someone else will be able to help you troubleshoot.