Skip to content

Commit

Permalink
readme
Browse files Browse the repository at this point in the history
  • Loading branch information
rscarson committed Dec 4, 2024
1 parent 2a1b9f2 commit 3aec3c5
Showing 1 changed file with 16 additions and 17 deletions.
33 changes: 16 additions & 17 deletions readme.md
Original file line number Diff line number Diff line change
@@ -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)
<!-- cargo-rdme start -->

![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)

<!-- cargo-rdme start -->

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:
<https://rscarson.github.io/rustyscript-book/>
**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.

-----

Expand Down

0 comments on commit 3aec3c5

Please sign in to comment.