diff --git a/readme.md b/readme.md index b6c930a..2e8b599 100644 --- a/readme.md +++ b/readme.md @@ -1,35 +1,34 @@ +# Rustyscript ## Effortless JS Integration for Rust -[![Crates.io](https://img.shields.io/crates/v/rustyscript.svg)](https://crates.io/crates/rustyscript) + + +![Rustyscript - Effortless JS Integration for Rust](https://raw.githubusercontent.com/rscarson/rustyscript/refs/heads/master/.github/rustyscript-logo-wide.png) + +[![Crates.io](https://img.shields.io/crates/v/rustyscript.svg)](https://crates.io/crates/rustyscript/) [![Build Status](https://github.com/rscarson/rustyscript/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/rscarson/rustyscript/actions?query=branch%3Amaster) [![docs.rs](https://img.shields.io/docsrs/rustyscript)](https://docs.rs/rustyscript/latest/rustyscript/) +[![Static Badge](https://img.shields.io/badge/mdbook-user%20guide-blue)](https://rscarson.github.io/rustyscript-book/) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/rscarson/rustyscript/master/LICENSE) - - rustyscript provides a quick and simple way to integrate a runtime javascript or typescript component from within Rust. -It uses the v8 engine through the `deno_core`. -I have attempted to abstract away the v8 engine details so you can for the most part operate directly on rust types. +It uses the v8 engine through the `deno_core` crate, and aims to be as simple as possible to use without sacrificing flexibility or performance. +I also have attempted to abstract away the v8 engine details so you can for the most part operate directly on rust types. -##### Sandboxed -By default, the code being run is entirely sandboxed from the host, having no filesystem or network access. + +**Sandboxed** +By default, the code being run is entirely sandboxed from the host, having no filesystem or network access. [extensions](https://rscarson.github.io/rustyscript-book/extensions) can be added to grant additional capabilities that may violate sandboxing -##### Flexible +**Flexible** The runtime is designed to be as flexible as possible, allowing you to modify capabilities, the module loader, and more. - Asynchronous JS is fully supported, and the runtime can be configured to run in a multithreaded environment. - Typescript is supported, and will be transpired into JS for execution. -- Node JS is supported experimentally, but is not yet fully compatible. - -##### Unopinionated -Rustyscript is designed to be a thin wrapper over the Deno runtime, to remove potential pitfalls and simplify the API -without sacrificing flexibility or performance. - ------ +- Node JS is supported experimentally, but is not yet fully compatible ([See the `NodeJS` Compatibility section](https://rscarson.github.io/rustyscript-book/advanced/nodejs_compatibility.md)) -A draft version of the rustyscript user guide can be found here: - +**Unopinionated** +Rustyscript is designed to be a thin wrapper over the Deno runtime, to remove potential pitfalls and simplify the API without sacrificing flexibility or performance. -----