Metarhia script loader, node.js vm wrapper
npm install metavm





Script contains object expression. You can use it for configs, network packets,
serialization format, etc.
``js
const metavm = require('metavm');
const src = ({ field: 'value' });;`
const ms = metavm.createScript('Example', src);
console.log(ms);
Output:
`js`
MetaScript {
name: 'Example',
script: Script {},
context: {},
exports: { field: 'value' }
}
Script contains function expression. You can use it for api endpoints, domain
logic stored in files or database, etc.
`js
const metavm = require('metavm');
const src = (a, b) => a + b;;`
const ms = metavm.createScript('Example', src);
console.log(ms);
Output:
`js`
MetaScript {
name: 'Example',
script: Script {},
context: {},
exports: [Function]
}
`js
const metavm = require('.');
(async () => {
const ms = await metavm.readScript('./test/examples/simple.js');
console.log(ms);
})();
`
Output:
```
MetaScript {
name: 'simple',
script: Script {},
context: {},
exports: { field: 'value', add: [Function: add], sub: [Function: sub] }
}
Copyright (c) 2020-2025 Metarhia contributors.
Metavm is MIT licensed.\
Metavm is a part of Metarhia technology stack.