Coder Social home page Coder Social logo

Comments (10)

develar avatar develar commented on August 14, 2024 2

Canonical recommends using electron-builder to build snap.

electron-builder --linux snap

If you use electron-forge — please use electron-forge-maker-snap
or simply electron-builder --linux snap --prepackaged <your out dir>

from electron-installer-snap.

flexiondotorg avatar flexiondotorg commented on August 14, 2024 1

Yes, since @develar, @malept and I will all be at the Snapcraft Summit I think that is a perfect time to discuss this 😀

from electron-installer-snap.

zeke avatar zeke commented on August 14, 2024

@malept was hired by Canonical to work on an official Snap installer for Electron, and this repo represents that work. However, the module published to electron-installer-snap is actually just a squatted package that points to electron-builder. @develar has added me as an owner of electron-installer-snap so we can rectify this confusion.

I propose:

  1. npm owner add malept electron-installer-snap
  2. @malept can publish a new major version bump of the module from this repo.

from electron-installer-snap.

DimitarNestorov avatar DimitarNestorov commented on August 14, 2024

I stumbled upon more issues after republishing this to my private repo and I spent several hours figuring out how to fix some errors while trying https://github.com/electron-userland/electron-builder. I'm proposing for at least a README.md update to point people to use https://github.com/electron-userland/electron-builder and a npm deprecate

from electron-installer-snap.

malept avatar malept commented on August 14, 2024

I stumbled upon more issues after republishing this to my private repo and I spent several hours figuring out how to fix some errors

If you could file some bugs, that would be helpful. I have a TODO list that I haven't committed, but it should work for the base case.

from electron-installer-snap.

DimitarNestorov avatar DimitarNestorov commented on August 14, 2024

I remember that this https://github.com/electron-userland/electron-installer-snap/blob/master/src/default_args.js#L45 was returning a promise and I just patched it to pathExistsSync and I think after that I stumbled upon more problems (can't remember what they were) which led me to try electron-builder again.

from electron-installer-snap.

develar avatar develar commented on August 14, 2024

I propose to continue our discussion electron/forge#25 (@zeke or @MarshallOfSound didn't answer me to email/slack). To avoid user confusion. Snapcraft team contributes to electron-builder (e.g. https://github.com/electron-userland/electron-builder/pulls?utf8=✓&q=is%3Apr+author%3Aflexiondotorg) and electron-builder also can produces snap on any OS.

@flexiondotorg In any case we all will discuss it on Snapcraft summit, right :)?

from electron-installer-snap.

zeke avatar zeke commented on August 14, 2024

@zeke ... didn't answer me to email/slack

Sorry about that. I was not following the forge repo, and I don't think I was pinged on that issue.

Snapcraft Summit I think that is a perfect time to discuss this

👍 let me know how that goes!

from electron-installer-snap.

malept avatar malept commented on August 14, 2024

electron-installer-snap 2.0.0 has been released to NPM, which is the same as the v2.0.0 tag.

from electron-installer-snap.

develar avatar develar commented on August 14, 2024

let me know how that goes

electron-installer-snap is a lightweight tool to build snap if someone doesn't want to use relatively heavy-weight forge/builder. electron-builder offers a more easy and user-friendly way:

  • build on any OS (macOS: docker or build service, windows: build service or docker, Linux that doesn't support snapcraft: docker or build service).
  • as soon as new version of snapcraft will be released, building without docker on macOS (if no custom packages (covers most of the Electron apps)).
  • build on any supported Ubuntu version if no custom packages (so, you can use Ubuntu 17+ to build snap that will be guaranteed to work on Ubuntu 16).
  • reduced build time (if no custom package).
  • lack of vendor-lock (all common Linux options are shared across all Linux targets). In most cases you just need to set target to snap and nothing else.

Ideally, yes, it will be cool if both electron-builder and electron-installer-snap will reuse the same core code (minimum descriptor that required to create snap for Electron app) to build snap, but reality is that this core code is small (though is quite critical and complex (set of default packages and other tricky parts)) and not changed often. And most of the code it is just a boring wrapper.

The only goal for me — to make sure that user have a clear picture what and when use some tool. To avoid user confusion. As upcoming Electron docs about building snap contains such note, I am happy with current situation.

Electron-builder maker for forge will be documented and will be more lightweight (it is not about number of node modules — electron-builder is lightweight and doesn't have a lot of deps, but still question "why dmg-builder is installed as part of this maker" is valid and important for some users (including me)).

from electron-installer-snap.

Related Issues (12)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.