KIESEL(1)

πŸ“¦ version 0.2.0, in alpine 3.24

πŸ’– KIESEL(1) πŸ’–

okay bestie, so kiesel is a whole thing β€” it's the manual page for the kiesel JavaScript engine, and I'm literally gonna walk you through every single flag so you don't have to guess. section one is the General Commands Manual, and yes, we're reading it together. 🫢


✨ NAME ✨

kiesel β€” a JavaScript engine written in Zig. no cap, from scratch. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

kiesel [-c, --command command] [-d, --debug] [--disable-gc]
       [-m, --module] [--print-ast] [--print-bytecode] [--print-ir]
       [--print-gc-warnings] [--print-promise-rejection-warnings]
       [-p, --print-result] [-v, --version] [-h, --help] [file]

🌸 DESCRIPTION 🌸

so like, kiesel is a JavaScript engine that was written completely from scratch, and its eventual goal (manifesting it ✨) is full support for the latest ECMAScript standard. main character energy fr.

the command line options are as follows β€” and yes I'm listing all of them, because I would never do you like that:

  • -c, --command command β€” runs command instead of reading from a file. like, you just hand it the code directly. iconic.
  • -d, --debug β€” enables debug mode, which gives you a more detailed output. it's giving "tell me everything" πŸ”
  • --disable-gc β€” disables garbage collection. heads up bestie: this results in memory leaks. like, that's literally what it does, it's not a bug it's the feature 😭
  • -m, --module β€” runs the code as a module instead of a script. vibe check: module mode.
  • --print-ast β€” prints the parsed AST for file, or for every statement in the interactive input. and it still continues with normal execution afterwards. ✨
  • --print-bytecode β€” prints the generated bytecode for file, or for every statement in the interactive input. also continues with normal execution afterwards. πŸŽ€
  • --print-ir β€” prints the generated IR for file, or for every statement in the interactive input. yep, normal execution continues afterwards too. πŸ’œ
  • --print-gc-warnings β€” prints the warnings from the garbage collector, e.g. out-of-memory situations. lowkey useful ngl.
  • --print-promise-rejection-warnings β€” prints promise rejection warnings. so you actually know when a promise got rejected instead of suffering in silence πŸ™ˆ
  • -p, --print-result β€” prints the evaluated result for file at the end of its execution. oh and btw, this behavior is the default when running in interactive mode. 🫢
  • -v, --version β€” prints the version and exits. quick lil peek. πŸ¦‹
  • -h, --help β€” prints a help text and exits. the classic. πŸ‘‘

πŸ’€ EXIT STATUS πŸ’€

the kiesel utility exits 0 on success, and >0 if an error occurs. periodt.


πŸ“ EXAMPLES πŸ“

okay so place the following in a file named script.js:

const words = [ "meow :3", "awawawa", "uwu" ];
for (let i = 0; i < words.length: i++) {
        console.log(words[i]);
}

(yes that's exactly how it's written in the manual, don't come for me πŸ’€)

executing the following command:

kiesel script.js

will result in:

meow :3
awawawa
uwu

slay. it ate. πŸ”₯


🌈 SEE ALSO 🌈

porffor(1) β€” go say hi to the neighbors πŸ’–


⭐ STANDARDS ⭐

Ecma International, ECMA-262, https://tc39.es/ecma262/. the sacred texts, iykyk πŸ“œβœ¨


🧚 HISTORY 🧚

the kiesel JavaScript engine has been in development since mid-2023. so it's been grinding for a minute 🫑


πŸ‘‘ AUTHORS πŸ‘‘

the kiesel JavaScript engine was written by Linus Groh <mail@linusgroh.de>. the manual page was written by Clara Engler <https://cve.cx>. legends, both of them πŸ’œ


😭 BUGS 😭

yes. awawawawa :3. that's the answer, that's the bug report.

the bug tracker is hosted on Codeberg: https://codeberg.org/kiesel-js/kiesel/issues β€” go drop your findings there bestie πŸ›πŸ“Œ

aaaand that's the whole page! this glorious thing came to you via Debian, dated August 19, 2024 β€” bookmark it, screenshot it, tattoo it, whatever. bye bestie, go write some Zig-adjacent JavaScript πŸŽ€πŸ’…βœ¨

πŸ“¦ where this page comes from