1
0
Fork
You've already forked runtime
0
🌐 A web compatible runtime for the Kiesel JavaScript engine
  • Zig 100%
2024年04月02日 20:36:56 +01:00
.forgejo/workflows Initial commit 2024年03月13日 21:17:57 +00:00
src Implement console.assert() 2024年04月02日 20:36:56 +01:00
.gitignore Initial commit 2024年03月13日 21:17:57 +00:00
build.zig Remove pinned kiesel dependency with relative module import 2024年03月22日 22:08:02 +01:00
build.zig.zon Remove pinned kiesel dependency with relative module import 2024年03月22日 22:08:02 +01:00
LICENSE Initial commit 2024年03月13日 21:17:57 +00:00
README.md Implement console.assert() 2024年04月02日 20:36:56 +01:00

Kiesel Runtime

🌐 A web compatible runtime for the Kiesel JavaScript engine

justforfunnoreally.dev badge License

Introduction

The goal for this project roughly aligns with the WinterCG Minimum Common Web Platform API. Kiesel itself only provides an implementation of ECMA-262 and ECMA-402, other commonly available APIs like console will be implemented here.

Build

This is included in the kiesel CLI by default, follow the instructions in the main repo.

To include this runtime in your own project using Kiesel for JS evaluation:

  1. Add the dependency to your build.zig.zon

  2. Supply the kiesel module import:

    constkiesel=b.dependency("kiesel");constkiesel_runtime=b.dependency("kiesel-runtime");kiesel_runtime.module("kiesel-runtime").addImport("kiesel",kiesel.module("kiesel"));
  3. Add bindings to an object (usually the global object) as follows:

    constkiesel_runtime=@import("kiesel-runtime");// ...trykiesel_runtime.addBindings(realm,global_object);

Available APIs

  • console.assert()
  • console.debug()
  • console.error()
  • console.info()
  • console.log()
  • console.warn()
  • crypto.getRandomValues()
  • crypto.randomUUID()
  • navigator.userAgent
  • performance.now()
  • performance.timeOrigin
  • queueMicrotask()