@miniflare/runner-vm
TypeScript icon, indicating that this package has built-in type declarations

2.14.2 • Public • Published

@miniflare/runner-vm

VM script runner module for Miniflare: a fun, full-featured, fully-local simulator for Cloudflare Workers.

Example

import { VMScriptRunner } from "@miniflare/runner-vm";

const runner = new VMScriptRunner();
// Pass `console` into sandbox
const globalScope = { console };

// Run regular script
const blueprint1 = {
  code: 'console.log("hello")',
  filePath: "test.js",
};
await runner.run(globalScope, blueprint1); // hello

// Run module script
const blueprint2 = {
  code: 'import thing from "./thing.js"; console.log(thing);',
  filePath: "test.mjs",
};
const moduleRules = [{ type: "ESModule", include: /\.js$/ }];
// Assuming thing.js contains `"export default "thing";`...
await runner.run(globalScope, blueprint2, moduleRules); // thing

// Run module script with additional module
const blueprint3 = {
  code: `import additional from "__ADDITIONAL"; console.log(additional);`,
  filePath: "test.mjs",
};
const modules = {
  __ADDITIONAL: { default: "stuff" },
};
await runner.run(globalScope, blueprint3, moduleRules, modules); // stuff

Package Sidebar

Install

npm i @miniflare/runner-vm

Weekly Downloads

107,260

Version

2.14.2

License

MIT

Unpacked Size

22 kB

Total Files

5

Last publish

Collaborators

  • wrangler-publisher