Maple is a secure JavaScript interpreter written in TypeScript.
It interprets a script itself instead of handing it to eval, so the script only ever sees the values you pass in.
Try it in the playground, which runs Maple in your browser.
Installation, usage and the API are in the library's README, and the full contract is in its docs.
This is a pnpm workspace:
| Path | Package | Description |
|---|---|---|
packages/maple |
@netwin/maple |
The published library (ESM, Node >= 22, peer dep: acorn) |
apps/maple-playground |
@netwin/maple-playground |
Angular app for trying out the interpreter, live on GitHub Pages |
packages/maple-parity |
@netwin/maple-parity |
Private parity tests: Maple adheres to JS standards and (for internal reasons) documents the parity with JS-Interpreter |
Setup, scripts, commit conventions and releases are in CONTRIBUTING.md.
MIT © NetWin