Runme.js
A JavaScript module to use Runme in Node.js.
Runme.js contains the the Runme CLI and allows to access its functionality through a simple JavaScript interface. The CLI binary is downloaded and cached when the interface is first being used.
Install
Node.js
Install the module through NPM:
$ npm install runme
# or Yarn
$ yarn add runme
You can also install the package globally and it as a CLI, e.g.:
npm i -g runme
runme list
By default this package downloads the Runme CLI when the interface is used for the first time. You can download it after running npm install
by setting the RUNME_DOWNLOAD_ON_INSTALL
environment flag. You can also modify the Runme version that is being installed by setting RUNME_VERSION
, e.g.:
RUNME_DOWNLOAD_ON_INSTALL=1 RUNME_VERSION=1.0.0 npm install runme
npx runme --version
Usage
The module exposes the following methods:
run
Run code cells from markdown files:
import { run } from 'runme'
const result = await run(
'.examples/example.md',
{ id: 'helloWorld' }
)
console.log(result) // outputs: { exitCode: 0, stdout: 'Hello World\r\n', stderr: '' }
Similar you can run runSeries
and runParallel
if you like to run multiple cells.
createServer
Start a Runme execution session:
import { createServer, run } from 'runme'
const server = await createServer()
// execute `export FOO="bar"` from markdown code cell with id "export"
await run('.examples/example.md', { id: 'export', server })
// execute `echo "exported FOO=$FOO"` from markdown code cell with id "print"
const result = await run('.examples/example.md', { id: 'print', server })
console.log(result) // outputs: { exitCode: 0, stdout: 'exported FOO=bar\r\n', stderr: '' }
Copyright 2023 © Stateful – Apache 2.0 License