Also, a lot of the work that the registry does (parsing source code, analyzing dependencies, enforcing rules on the code, etc) are pieces of code that are shared with the Deno CLI, which implements this in Rust. The reason for this is that this work has to happen in Rust, because JavaScript, for the most part, can not "self-host" itself (ie you can not implement a JavaScript runtime on a JavaScript host if you want your runtime to provide more system bindings than the host runtime).
Finally, we do use Deno for many pieces of the registry where the "circular dependency" problem is not relevant. Namely the entire frontend uses Deno and Fresh :)
Aside though: IMO python is good as "glue" between low level code. JS... I don't know man.
Scala has its own downsides tho. It is a "big" language in the sense that because it tries to do everything, there are too many ways to do one things.
It sounds like they use Fresh (deno framework) for the web ui parts.
JavaScript for UI, Rust for data