The Bun Shell
21–30 of 239 posts
Re: The Bun Shell
#22I work on Bun - happy to answer any questions/feedback
How do you ensure cross platform compatibility under the hood?
Unlike zx/execa, we have our own shell instead of relying on a system-installed one.
Re: The Bun Shell
#23Earlier quoted context omitted.
How do you ensure cross platform compatibility under the hood?
We implement a handful of the most common commands like cd, rm, ls, which, pwd, mv. Instead of using the system-provided ones, it uses ours. Unlike zx/execa, we have our own shell instead of relying on a system-installed one.
Re: The Bun Shell
#24Earlier quoted context omitted.
We implement a handful of the most common commands like cd, rm, ls, which, pwd, mv. Instead of using the system-provided ones, it uses ours. Unlike zx/execa, we have our own shell instead of relying on a system-installed one.
Is this done in zig in the core bun runtime or is it implemented as part of the standard bun lib? How much perf is there? Small commands like cd or ls I'm less interested in. You say you provide your own shell... bsh, zigsh, what?
The parser, lexer, interpreter, process execution and builtin commands are all implemented in Zig.
There’s a JS wrapper that extends Promise but JS doesn’t do much else.
The performance of the interpreter probably isn’t as good as bash, but the builtin commands should be competitive with GNU coreutils. We have spent a lot of time optimizing our node:fs implementation and this code is implemented similarly. We expect most scripts to be simple one-liners since you can use JS for anything more complicated.
Re: The Bun Shell
#25Re: The Bun Shell
#26Hope they succeed though!
Re: The Bun Shell
#27rm -r -fo my-folder-name
Re: The Bun Shell
#28Re: The Bun Shell
#29Re: The Bun Shell
#30I guess this is too new for there to be any language documentation yet? Or perhaps I missed it. I'm wondering if it's picked up any ideas from oil shell [1]. [1] https://www.oilshell.org/