@@ -14,7 +14,7 @@ Here is a list of general frequently asked questions.
14
14
The answer is ** NO** .
15
15
16
16
Eask builds native executable on every release, see our [ release page] ( https://github.com/emacs-eask/cli/releases )
17
- to download it! However, Node.JS is required if you are going to develop Eask!
17
+ to download it! However, [ Node.JS] [ ] is required if you are going to develop Eask!
18
18
19
19
## ❓ Who should use this tool?
20
20
@@ -33,32 +33,47 @@ repository!
33
33
34
34
## ❓ Why Node.JS?
35
35
36
- Node has better support on all kinds of terminal applications (compare to just
37
- the shell script)! Like colorful interface, entire npm community, etc. So you
38
- can build cross-platform software with fewer hassles! Especially after Microsoft
39
- had bought the NPM inc, and would likely support their own system well.
36
+ [ Node] [ Node.js ] provides better support for various terminal applications compared to shell
37
+ scripts. It offers features like a rich, colorful interface and access to the
38
+ vast npm ecosystem, making cross-platform development more convenient. This is
39
+ especially true since Microsoft acquired [ npm] [ ] Inc., likely ensuring strong
40
+ support for their own systems.
40
41
41
- Cask does not seem to support Windows (no WSL) after version ` 0.8.6 ` . In the
42
- early versions, they have used Python, but due to the Python supports on Windows
43
- are just not as good as Node.JS .
42
+ [ Cask] [ ] seems to have dropped support for Windows (while still supporting [ WSL ] [ ] )
43
+ after version ` 0.8.6 ` . Earlier versions were built on [ Python] [ ] , but [ Python] [ ] ’s support
44
+ on Windows has traditionally been less reliable than [ Node.js ] [ ] .
44
45
45
46
See [ issue #140 ] ( https://github.com/emacs-eask/cli/issues/140 ) for more information!
46
47
48
+ ## ❓ Why JavaScript?
49
+
50
+ There are many languages I could use to build around Eask, so why did I choose [ JavaScript] [ ] ?
51
+
52
+ I have three reasons:
53
+
54
+ - [ JavaScript] [ ] is easy to learn.
55
+ - It offers excellent cross-platform compatibility, thanks to the [ Node.js] [ ] runtime.
56
+ - I just happen to know [ JavaScript] [ ] , and I’m comfortable with it.
57
+
58
+ I also considered [ Rust] [ ] and [ Common Lisp] [ ] . However, [ Rust] [ ] was still relatively
59
+ new when I started this project, and [ Common Lisp] [ ] , while powerful, has a steeper
60
+ learning curve and is often seen as somewhat outdated. So, I went with [ JavaScript] [ ] .
61
+
47
62
## ❓ Why yargs?
48
63
49
- [ yargs] [ ] has a very wide community; and it has been used in many tools.
50
- It's cross-platform! And most importantly, this is one of the tools that
51
- work well on Linux, macOS, and Windows.
64
+ [ yargs] [ ] has a large and active community and is widely used in various tools.
65
+ It’s fully cross-platform and, most importantly, works seamlessly on Linux, macOS,
66
+ and Windows.
52
67
53
- There is also the major difference compared with Eask and other alternatives.
54
- [ Cask] [ ] , [ makem.sh] [ ] , or [ Eldev] [ ] rely more on ` batch ` and ` bash ` . We chose a
55
- different route and would like to hand over heavy tasks to a high-level
56
- programming language, ** ` JavaScript ` ** . The development simply became easier,
57
- since we don't need to care about different types of shells anymore!
68
+ One key difference between Eask and other alternatives is how they handle scripting .
69
+ Tools like [ Cask] [ ] , [ makem.sh] [ ] , and [ Eldev] [ ] rely heavily on batch and bash scripts.
70
+ Instead, we took a different approach by leveraging a high-level programming
71
+ language- [ JavaScript] [ ] . This made development significantly easier, as we no longer
72
+ need to worry about shell compatibility.
58
73
59
- The drawback is the NodeJS runtime, but we can simply pack the entire CLI
60
- program into an executable! That way we would not need to install ` Node ` and
61
- ` npm ` before using eask !
74
+ The main drawback is the [ Node.js ] [ ] runtime requirement , but we can mitigate this
75
+ by packaging the entire CLI program into an executable. This way, users won’t
76
+ need to install [ Node ] [ Node.js ] or [ npm] [ ] beforehand to use Eask !
62
77
63
78
# 🔍 Usage
64
79
@@ -166,8 +181,17 @@ Add the following code snippet to your Eask-file:
166
181
<!-- Links -->
167
182
168
183
[ emacs-eask/archives ] : https://github.com/emacs-eask/archives
184
+
169
185
[ Cask ] : https://github.com/cask/cask
170
186
[ makem.sh ] : https://github.com/alphapapa/makem.sh
171
187
[ Eldev ] : https://github.com/doublep/eldev
172
188
189
+ [ Node.js ] : https://nodejs.org/
190
+ [ npm ] : https://www.npmjs.com/
173
191
[ yargs ] : https://www.npmjs.com/package/yargs
192
+
193
+ [ WSL ] : https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux
194
+ [ JavaScript ] : https://simple.wikipedia.org/wiki/JavaScript
195
+ [ Python ] : https://www.python.org/
196
+ [ Rust ] : https://www.rust-lang.org/
197
+ [ Common Lisp ] : https://lisp-lang.org/
0 commit comments