api-client/packages/hoppscotch-js-sandbox
James George 645ecb55d8 fix: prevent memory leaks in experimental scripting sandbox (#5800)
- Cache and reuse a single `FaradayCage` WASM instance to avoid repeated allocations.
- Dispose `InspectionService` watchers via `effectScope` to prevent accumulation on tab switch.
- Use `Set` for environment variable key lookups in validation.
- Dispose Monaco editor models on component unmount.
2026-01-28 11:47:31 +05:30
..
src fix: prevent memory leaks in experimental scripting sandbox (#5800) 2026-01-28 11:47:31 +05:30
.gitignore refactor: bring js-sandbox project to the monorepo 2021-09-25 01:01:22 +05:30
.prettierignore refactor: bring js-sandbox project to the monorepo 2021-09-25 01:01:22 +05:30
.prettierrc.cjs chore: lint + bump deps 2021-11-04 18:23:50 +05:30
eslint.config.cjs feat: migrate ESLint to v9 across packages (#5773) 2026-01-20 14:48:55 +05:30
index.d.ts refactor(scripting-revamp): migrate js-sandbox to web worker/Node vm based implementation (#3619) 2023-12-07 16:10:42 +05:30
node.d.ts chore: migrate Node.js implementation for js-sandbox to isolated-vm (#3973) 2024-04-19 21:08:46 +05:30
package.json chore: security patch for the dependency chain v2026.1.0 (#5786) 2026-01-21 23:25:40 +05:30
README.md refactor: check spelling (#2200) 2022-03-25 16:49:28 +05:30
setupFiles.ts chore: migrate Node.js implementation for js-sandbox to isolated-vm (#3973) 2024-04-19 21:08:46 +05:30
tsconfig.json refactor(scripting-revamp): migrate js-sandbox to web worker/Node vm based implementation (#3619) 2023-12-07 16:10:42 +05:30
vite.config.ts chore: migrate Node.js implementation for js-sandbox to isolated-vm (#3973) 2024-04-19 21:08:46 +05:30
web.d.ts chore: migrate Node.js implementation for js-sandbox to isolated-vm (#3973) 2024-04-19 21:08:46 +05:30

Hoppscotch JavaScript Sandbox ALPHA

This package deals with providing a JavaScript sandbox for executing various security sensitive external scripts.

How does this work?

This package makes use of quickjs-emscripten for building sandboxes for running external code on Hoppscotch.

Currently implemented sandboxes:

  • Hoppscotch Test Scripts
  • Hoppscotch Pre Request Scripts

Development

  1. Clone the repository
git clone https://github.com/hoppscotch/hoppscotch
  1. Install the package dependencies
pnpm install
  1. Navigate to the package folder
cd hoppscotch/packages/hoppscotch-js-sandbox
  1. Try out the demo src/demo.ts using:
npm run demo

Versioning

This project follows Semantic Versioning but as the project is still pre-1.0. The code and the public exposed API should not be considered to be fixed and stable. Things can change at any time!

License

This project is licensed under the MIT License - see LICENSE for more details.



built with ❤︎ by the Hoppscotch Team and contributors.