I have embedded the TypeScript compiler in SpiderMonkey. The way I did
it was to add the minimal JSNative functions needed to support what the
compiler needs. If you're curious, grab the TypeScript source look at
The way I package this is to suck the whole compiler (tsc.js) file into
a C++ string, and evaluate it after injecting the things I care about --
the files to compile, the language flags, etc.
When poking around in the SpiderMonkey shell, I notice that it uses
self-hosted code to implement the ModuleLoader. This does exactly what
I do, but it looks like it requires being inside the SpiderMonkey build
tree, including tools in js/src/builtin.
On 08/03/2018 11:14 AM, Kent Williams wrote:
> I have embedded the TypeScript compiler in SpiderMonkey. The way I did
> it was to add the minimal JSNative functions needed to support what the
> compiler needs. If you're curious, grab the TypeScript source look at
I doubt it. You'd probably have to modify the TypeScript compiler to
compile down to self-hosted SpiderMonkey code instead of JS (eg, replace
every single function call with callFunction()), then compile the
original TS->JS compiler with that. I've never written anything in
self-hosted code, only read it, but self-hosted code feels like an
incredibly restrictive environment. I think it also gets cloned in a
weird way to every compartment that uses it.
dev-tech-js-engine mailing list
[hidden email] https://lists.mozilla.org/listinfo/dev-tech-js-engine