roll-your-own-javascript-runtime icon indicating copy to clipboard operation
roll-your-own-javascript-runtime copied to clipboard

runjs

A repository for the Roll your own JavaScript runtime blog post series:

UPDATE 2023-04-26

This repo has been updated to use snapshotting to speed up startup times.

Andy and Leo add snapshots to speed up startup times for a custom JavaScript runtime Watch the corresponding video.

UPDATE 2023-02-07

This repo has been updated to support loading JavaScript and TypeScript files.

$ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.05s
     Running `target/debug/runjs ./test.js`
[out]: "Hello" "runjs!"
[err]: "Boom!"
[err]: "Unable to read file" "./log.txt" {"code":"ENOENT"}
[out]: "Read from a file" "./log.txt" "contents:" "I can write to a file."
[out]: "Removing file" "./log.txt"
[out]: "File removed"

Andy and Bartek add TypeScript support to a custom JavaScript runtime on YouTube Watch the corresponding video.