close
Skip to content

Latest commit

 

History

782 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Edge.js logo

Run JavaScript anywhere. Safely.


Edge.js is a secure JavaScript runtime, designed for Edge computing and AI workloads.

Edge.js uses WebAssembly for sandboxing when in --safe mode, so even the most insecure programs can run on it safely. Edge also is:

  • ✅ Fully compatible with Node.js.
  • 🔒 Sandboxed by design.
  • 🧩 Pluggable with any JS engine: V8, JavaScriptCore or QuickJS.
  • 💪 Compatible with any package manager: NPM/PNPM/Yarn/Bun.

Install Edge.js

curl -fsSL https://edgejs.org/install | bash

Use it!

You can use it as you would do it with Node.js:

const http = require("node:http");

http
  .createServer((_req, res) => {
    res.end("hello from edge\n");
  })
  .listen(3000, () => {
    console.log("listening on http://localhost:3000");
  });
$ edge server.js

If you want to use it in your current workflow, just wrap your commands with edge:

$ edge node myfile.js
$ edge npm install
$ edge pnpm run dev

Development

First, clone the repo and initialize only the napi submodule:

git clone --recurse-submodules https://github.com/wasmerio/edgejs.git
cd edgejs

Build the CLI locally:

make build
./build-edge/edge server.js
./build-edge/edge --run dev

Or run the tests:

make test
NODE_TEST_RUNNER="$(pwd)/build-edge/edge" \
./test/nodejs_test_harness --category=node:assert

Host-JavaScript WASIX package

The root wasmer.toml describes the engine-free syrusakbary/edgejs package. Its WebAssembly module imports the standard N-API surface from napi and the EdgeJS extension surface from napi_extension_wasmer_v0; it does not embed QuickJS or V8. A compatible host provides those imports using its own JavaScript engine.

make build-wasix
make validate-wasix-imports
wasmer package build --check .

The build runs the import/engine validation automatically. The embedded QuickJS package remains separately available under quickjs-wasm/.

This host-engine mode is experimental. The buffer ownership and synchronization contract is documented in 004_buffer_ownership.md, and deferred security work is recorded in SECURITY-HOST-JS-NAPI.md. The browser regression gate covers package installation, timers, promises, workers, networking, HTTP, and a rendered Next.js development preview.

Contribute 🤗

We have created a public ROADMAP, so you can contribute into the project easily!

  • 0.x Production readiness: platform coverage across Linux, Windows, macOS, iOS, and Android; reliability in constrained environments; security audits; and successful real production use.
  • 1.x Need for speed: faster startup, faster core paths, and performance that competes with or beats Node.js, Bun, and Deno on most workloads.
  • 2.x Enhancements: first-class TypeScript support and a smoother developer experience.

For architecture detail, see ARCHITECTURE.md.

About

Edge.js is a secure JavaScript runtime, designed for Edge computing and AI workloads

Resources

Stars

781 stars

Watchers

4 watching

Forks

Releases

Contributors

Languages