Show HN: Ant – A JavaScript runtime and ecosystem(antjs.org)
antjs.org
Show HN: Ant – A JavaScript runtime and ecosystem
https://antjs.org
75 comments
I code with AI all day, every day. But I do think that it's worth pointing to this issue (from March).
The author has said that they've redone it since, but the "from-scratch hand-built" framing specifically – for me – somewhat grates given the original heavy lifting from an existing AGPL codebase.
https://github.com/cesanta/elk/issues/75
I want to acknowledge that the original authors don't seem to have minded too much – per that thread – after older versions were dropped.
For context, the current code doesn't look like it is the same shape, the same structure, etc., etc. – it _has_ been rewritten since (the 'since Feb' rewrite mentioned adjacent is related to this, AFAICT).
To the author: I absolutely love what you're doing overall. Keep going! Just be careful, folks.
The author has said that they've redone it since, but the "from-scratch hand-built" framing specifically – for me – somewhat grates given the original heavy lifting from an existing AGPL codebase.
https://github.com/cesanta/elk/issues/75
I want to acknowledge that the original authors don't seem to have minded too much – per that thread – after older versions were dropped.
For context, the current code doesn't look like it is the same shape, the same structure, etc., etc. – it _has_ been rewritten since (the 'since Feb' rewrite mentioned adjacent is related to this, AFAICT).
To the author: I absolutely love what you're doing overall. Keep going! Just be careful, folks.
Ok, but this post: https://themackabu.dev/blog/js-in-one-month
isn't the post of someone who just implemented a js engine (it reads like someone who asked an LLM to write a blog post about the git log of a different LLM which was apparently lifting code from a different js engine...)
It's a bit hard to understand what's going on here, but definitely hard to trust the project.
isn't the post of someone who just implemented a js engine (it reads like someone who asked an LLM to write a blog post about the git log of a different LLM which was apparently lifting code from a different js engine...)
It's a bit hard to understand what's going on here, but definitely hard to trust the project.
this was flagging code from all the way back in dec of 2025, back when this project was just some idea and not what it is today.
around feb thats when basically deleted the existing codebase and designed a much more reliable system from the ground up.
I knew the existing code was basically pure slop, and it was not the biggest issue then, now nothing goes past me unreviewed and untested
> To the author: I absolutely love what you're doing overall. Keep going! Just be careful, folks.
Thank you!
around feb thats when basically deleted the existing codebase and designed a much more reliable system from the ground up.
I knew the existing code was basically pure slop, and it was not the biggest issue then, now nothing goes past me unreviewed and untested
> To the author: I absolutely love what you're doing overall. Keep going! Just be careful, folks.
Thank you!
The author shared their experience building the first version in a month: https://themackabu.dev/blog/js-in-one-month
And then the follow up few months later: https://themackabu.dev/blog/ant-part-two
I'm not sure what the economics of building a new runtime and ecosystem from scratch are but it seems we're already in a phase where individual developers are creating software which previously took a whole team. And its only getting started...
And then the follow up few months later: https://themackabu.dev/blog/ant-part-two
I'm not sure what the economics of building a new runtime and ecosystem from scratch are but it seems we're already in a phase where individual developers are creating software which previously took a whole team. And its only getting started...
> The engine, Ant Silver, is hand-built.
Why call it "Ant" and not "Antjs" or "Ant.js" when there is already Ant from Apache? https://ant.apache.org
Yes. You would only name it ant if you wanted to taint the first impression of anyone that’s been coding for a couple decades or more.
Ant in JS land is already claimed and huge too lol
https://ant.design/
https://ant.design/
i was just joking about Anthropic's `ant` CLI not caring about Apache `ant` (maybe one person got it), and now we're talking about Javascript `ant`!
I thought I was the only person who remembered Apache Ant... I know we're running out of names but that was a really influential piece of infrastructure.
I dont know a single soul who uses the Anthropic `ant` cli....
The author has supposedly created a company (https://sf.tools/), with a broken /jobs page, and yet is developing the project under their personal GitHub account. Does not look trustworthy.
this page is literally a inside joke, theres a reason /jobs doesn't work (im not hiring)
> Does not look trustworthy
what are you implying specifically ?
what are you implying specifically ?
I don't understand the correlation.
I’m not that deep in the JS ecosystem or runtimes, but I’m a little surprised by some of the claims here about being smaller, having fast starts, sandboxing, performance-competitive, etc.
Does anyone have a sense of what insights, design choices, big bets, etc, unlock all these advantages against already mature and highly optimised JS stacks?
Does anyone have a sense of what insights, design choices, big bets, etc, unlock all these advantages against already mature and highly optimised JS stacks?
This project appears to be an LLM-rewritten Elk (https://github.com/cesanta/elk), as noted elsewhere in the thread. That project was established in 2019.
I don’t see any claims about runtime performance. It’s not implemented a JIT, so yes it can be smaller and start quickly.
What is the serif typeface used on the website? It’s been renamed (I assume) to ant_serif and scrubbed of any other identifiers. It’s very pleasant.
The thing that caught my eye immediately was the sandboxing. I have no idea why Node and npm don’t have sandboxing by default. It would greatly help with some of these worms and supply chain attacks.
The "VM-isolated sandbox" is apparently not referring to the JavaScript VM but to a hypervisor, according to the text a bit further down on the page. I wouldn't expect that to be particularly fast or efficient, especially not if you're already running in a VM and have to use nested virtualization (if it's even available).
its pretty fast tbh, though third-party benches would be great to have!
Is it essentially implementing a paravirtualized OS that runs the JS runtime? Presumably you have to allocate the memory for the VM up front, or how does that work?
on linux its kvm, on darwin its hypervisor.framework, the memory is not upfront, by default 256mb is lazy allocated, and ~35mb are used by both ant + the vm. the kernel is https://nanos.org with patches to get ant+networking running smoothly
Deno has that! Come join us :P no affiliation, just a happy user.
You're stating: "delivers near-V8 speeds"
But according to zoo.js benchmarks that is far from the case:
https://zoo.js.org/
Unless there were major perf gains since 2026-02-10?
But according to zoo.js benchmarks that is far from the case:
https://zoo.js.org/
Unless there were major perf gains since 2026-02-10?
many, the engine has basically gone through a full rewrite since feb, that was still mostly interpt and missing many jit ops.
nightly will include benchmarks soon as well
nightly will include benchmarks soon as well
This is very interesting! The sandboxing and quick startup make this an interesting foundation for a FaaS system.
Lots of frontend devs (and vibe coders) just want a "deploy my code" service.
Lots of frontend devs (and vibe coders) just want a "deploy my code" service.
What's the fuzzing story? If this is meant to be a product, hopefully it's being fuzzed 24/7, using multiple state-of-the-art JavaScript fuzzers, against multiple state-of-the-art JavaScript engines?
Cool project. I am working on a JavaScript dialect for my kids and non technical team members. I’ll target and as a run time.
Could you use the JSR package registry instead of setting up a new one?
I agree! It seems the author is already making thoughtful decisions on what to implement and what to drop. You kinda have to when it's a project of this scope.
Implementing, running, maintaining, scaling a module registry is probably not worth the time. Unless there's a clear technical requirement from the runtime. I would think there isn't since npm protocol compatibility is a stated goal/feature.
Implementing, running, maintaining, scaling a module registry is probably not worth the time. Unless there's a clear technical requirement from the runtime. I would think there isn't since npm protocol compatibility is a stated goal/feature.
+1 to this.
I don’t really see how you appeal to JavaScript developers with “small binaries”. What is a 50mb runtime you down once next to a 200mb node_modules ?
At least with bun you can compile with bytecode enabled. That, tree shaking and other optimizations our production app entire docker image is like 120mb...
this is coming soon!
This looks excellent. The sandboxing really stands out to me, and I think ant.land might have potential, since it has a lot of great features other registries lack.
a JS runtime called Ant. we have gone from Node to Deno to Bun to Ant — the naming convention is now just a countdown to the smallest living organism
LATEST RELEASE REQUIRES A STATIC RELEASE HOTFIX!!
https://github.com/theMackabu/ant/actions/runs/29167621329.
im very sorry everyone who tried to install and got a libcares error :(
https://github.com/theMackabu/ant/actions/runs/29167621329.
im very sorry everyone who tried to install and got a libcares error :(
ok?
I can't get Bun to work under WSL1, which is super annoying. Does Ant support WSL1?
Why are you Not using WSL2?
Slick project. Very cool.
Would not touch thios with someone else's (code/business).
wow! i’ve been using deno for a long time, and one of my fav features is compiling a binary. i didn’t see anything about that, but might have missed something… do you all plan to support this?
yes! I will be making a roadmap like a comment here suggested, should help
What's the benefits over v8?
its ~8mb including the entire runtime and node-compat work. pretty simple to embed anywhere as well
And what are the tradesoffs?
How is it so much smaller than V8 while also apparently including a package manager, a web server, a TypeScript compiler and a hypervisor?
How is it so much smaller than V8 while also apparently including a package manager, a web server, a TypeScript compiler and a hypervisor?
i might try porting this to rust ;)
Can this engine be embedded into other programs?
I have actually known* about Ant for some time from your previous submissions and its really interesting and I wish the project luck!
Do you think that Ant could be used to create a small index.html/css/js project into an desktop app minimally.
I currently found deno desktop which is pretty recent to be the easiest way of doing this for one of my projects (https://epub.mirror.forum) but I found there to be some issues within deno-desktop in terms of some features not working on the desktop app but I overall really like the idea of converting these files into desktop apps and I am wondering if ant could be suitable for that, so I am curious to hear what you think :-D
Do you think that Ant could be used to create a small index.html/css/js project into an desktop app minimally.
I currently found deno desktop which is pretty recent to be the easiest way of doing this for one of my projects (https://epub.mirror.forum) but I found there to be some issues within deno-desktop in terms of some features not working on the desktop app but I overall really like the idea of converting these files into desktop apps and I am wondering if ant could be suitable for that, so I am curious to hear what you think :-D
just got the thing for you actually! literally just finished a stable version last night, https://www.npmjs.com/package/ant-desktop. WIP still, chromium only renderer backend but webview and other backends coming soon as well. no local ant install needed as libant is bundled, when CI finishes ill have windows/linux builds too
Oh great! it seems, that great thinkers think alike :-D
Good to see that you are already working on it though, Good luck and I will hopefully try to keep a keen eye on the project for my use-cases when I need something more flexible than rust iced applications but also having a small footprint. It's good to see more competition within this space so good luck with that!
Good to see that you are already working on it though, Good luck and I will hopefully try to keep a keen eye on the project for my use-cases when I need something more flexible than rust iced applications but also having a small footprint. It's good to see more competition within this space so good luck with that!
Ant desktop is currently in development, from what I recall
http://ants.land/ant-desktop
Hmm, the ants.land website in general isn't resolving for my desktop but it is resolving for my laptop, a bit strange.
It states: Server Not Found, Zen can’t connect to the server at ants.land What can you do about it? Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
yet my laptop which also uses zen which is also connected to the same Wi-Fi resolves the page so I am not sure.
It states: Server Not Found, Zen can’t connect to the server at ants.land What can you do about it? Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.
yet my laptop which also uses zen which is also connected to the same Wi-Fi resolves the page so I am not sure.
Weird, maybe your DNS settings on your desktop or an extension blocking it?
thats very weird, its hosted on cloudflare workers atm. might be blocked by your isp? ive seen that happen to .land
Oh I think that I might be getting it now but I had an custom nextdns profile set up on my browser using nextdns with some more aggressive setups using typosquatting protection etc.
It seems that changing the dns setting made it resolve and afterwards even going back to the same profile is now (resolving it again?) [Could it be that the domain is now cached not needing to go to the dns provider] but I guess that I wouldn't blame you guys about it so much and just wanted to inform y'all of it :-D
> ive seen that happen to .land
interesting, is there any reason behind DNS/(ISP?) providers blocking .land domains?
It seems that changing the dns setting made it resolve and afterwards even going back to the same profile is now (resolving it again?) [Could it be that the domain is now cached not needing to go to the dns provider] but I guess that I wouldn't blame you guys about it so much and just wanted to inform y'all of it :-D
> ive seen that happen to .land
interesting, is there any reason behind DNS/(ISP?) providers blocking .land domains?
> interesting, is there any reason behind DNS/(ISP?) providers blocking .land domains?
tbh have not seen any reason behind it, just saw my ants.land get blocked a office firewall once while demoing
tbh have not seen any reason behind it, just saw my ants.land get blocked a office firewall once while demoing
Damnn, gonna try this for sure
And who are you? Why should we trust you and your runtime?
Cannot access the web site: whatwg cartel web engine only.
Is antjs coded in plain and simple C?
Is antjs coded in plain and simple C?
I hope you get some collaborators, to increase the bus factor. You might want to write a roadmap to focus efforts.
good idea!
> Something you could distribute without dragging along hundreds of megabytes of V8 or Node.
Holy crap, V8 is that big now? Very interested in this for embedding purposes.
Holy crap, V8 is that big now? Very interested in this for embedding purposes.
Why not use a runtime designed for embedded applications, like XS? https://moddable.com/documentation/readme
I'm the author of Ant, a JavaScript ecosystem built around a runtime with its own JavaScript engine. Ant also includes a package manager, the ants.land package registry, a platform for deploying and hosting applications, and Ant Desktop for building native desktop apps with web technologies, similar to Electron.
The goal is for these pieces to work as one coherent platform while remaining compatible with the wider JavaScript ecosystem. It's still early, and I'd appreciate any feedback on the overall direction or what you'd like to see from an e2e alternative to the existing JavaScript stacks.
P.S. I’ve shared Ant here before as a runtime; since then, it has grown into the broader ecosystem you see today.