Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
es_runtime
es_runtime is a crate aimed at making it possible for rust devs to integrate an ECMA-Script engine in their rust projects
The engine used is mozilla's SpiderMonkey engine (https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey)
This project was started as a hobby project for me to learn rust. I hope some of you find it usefull to learn about using spidermonkey from rust.
status
Nowhere near production ready, it is untested and i'm pretty sure i created some memory leaks in the unsafe sections...
it works with the mozjs crate version 0.10.1 which is allready pretty old but there are no newer releases, when i get more comfortable with spidermonkey and mozjs i'll see about using a git pull of a newer version.
Currently i'm working towards creating a 0.1 version which has a couple of goals
- easy loading script files
- error handling (get ES errors in rust with filename/linenumber etc)
- adding rust function to the engine so they are callable from ECMA-Script
- blocking
- non-blocking (returns a Promise in script)
- easy way to call ECMA-Script functions from rust
- by name (run_global_function())
- by objectname and name (myObj.doSomething())
- passing params from rust
- getting data from engine as primitives or vecs and maps
- primitives
- objects from and to maps
- arrays as vecs
- working console (logging)
- working Promises in Script
- waiting for Promises from rust
- no more memory leaks
future goals / todo's
- typedArrays from and to vecs
- typescript support
- import/export statement support
- much more
Other plans
I'm also working on a more feature rich runtime with a commandline tool and also an application server based on this runtime
These are in a very early testing stage and may become available later as a seperate project.
examples
Cargo.toml
[]
= "0.0.1"
my_app.rs
a word on compiling
Currently i have only compiled this on and for a 64 bit linux machine (i use openSUSE)
Besides rust (duh) you'll the following packages to compile the mozjs crate
- gcc-7
- autoconf2.13
- automake
- clang
- python