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.
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 |
Private Angular app for trying out the interpreter |
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