Open Fuco1 opened 1 year ago
I love Eask and the UX it provides and I wish it would get bigger adoption. I think one issue with that would be the javascript dependency.
Users can use binaries (executable), see install with binary, JavaScript isn't required. But you do need to install node for Eask development.
Many people using Emacs do not use javascript and don't know how to install node (it's a bit of pain). Cask was using python which is almost on every computer and even that was a problem. Eventually, they got rid of the python dependency and it's now pure elisp.
I recently had a discussion with flycheck
's maintainers regarding Python vs Node, therefore, you can get more information here => https://github.com/flycheck/flycheck/issues/1957. The conclusion is node has a much stabler cross-platform capability.
Eldev is the tool that doesn't rely on any of these (Python or Node), here are my thoughts:
eldev
, eldev.bat
, eldev.ps1
, etc.makem.sh
)There is https://github.com/rejeep/commander.el but it's very basic compared to yargs. We could either take it and improve it or start something from scratch.
I know this tool but does it has some bug? I don't remember where I got the information, but like I mentioned above, I would like to avoid all the hassles. 😅
LMKWYT? ;)
To me it makes sense. I haven't tried the binary install method. I guess the startup time might be a bit of a pickle to solve with pure elisp indeed.
There is currently one issue with binary, see https://github.com/emacs-eask/cli/issues/104.
Basically, you cannot use:
$ eask run another-eask-command
In Eask-file:
(script "another-eask-command" "eask info") ; ❌ This wouldn't work with binary, but running from node is good.
(script "test" "echo Hello!") ; ✔️ Good!
I love Eask and the UX it provides and I wish it would get bigger adoption. I think one issue with that would be the javascript dependency.
Many people using Emacs do not use javascript and don't know how to install node (it's a bit of pain). Cask was using python which is almost on every computer and even that was a problem. Eventually, they got rid of the python dependency and it's now pure elisp.
I see that a lot of the javascript is used for parsing (yargs). If, hypothetically, we port yargs to elisp, would that be a lot more code left in JS?
There is https://github.com/rejeep/commander.el but it's very basic compared to yargs. We could either take it and improve it or start something from scratch.
Here's a little table of tools I've found in the space of package dev/management. All of them seem to be pretty dead except the first three.