Hey there! I am currently investigating whether Boa could be used as an interpreter inside Biome to power its future plugin system. The fact that Boa is written in Rust is surely a pre, since it should make it easier for us to integrate. The fact you've already seemingly done a good job of separating core functionality into several crates makes it even more attractive.
A few questions to start off the discussion:
- I see you've already set up conformance tests, which is great! Can you tell in a few words/sentences what are the biggest areas where you feel Boa is most incomplete?
- Do you also have benchmarks that compare Boa to other engines?
- It looks like you already use a bytecode format internally? How feasible do you think it would be for us to generate bytecode directly from the Biome CST? This way, we could use our own parser (which also supports TypeScript) and avoid another serialization/parsing step between our own pipeline and the interpreter we use.
- How is module loading handled? I see you already have a
ModuleLoader trait, so maybe I've already answered most of my own question :) Anything to be mindful of here?
- Would you be open to accepting PRs for our use case?
Hey there! I am currently investigating whether Boa could be used as an interpreter inside Biome to power its future plugin system. The fact that Boa is written in Rust is surely a pre, since it should make it easier for us to integrate. The fact you've already seemingly done a good job of separating core functionality into several crates makes it even more attractive.
A few questions to start off the discussion:
ModuleLoadertrait, so maybe I've already answered most of my own question :) Anything to be mindful of here?