runme | ||||
---|---|---|---|---|
|
A JavaScript module to use Runme in Node.js.
Runme.js contains 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 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 # prints "runme version 1.0.0 (adae05c5b75351e9fe82acd595ac8086b6abf19b) on 2023-03-28T20:56:21Z"
The module exposes the following methods:
Run code cells from markdown files:
import { run } from 'runme'
const result = await run('helloWorld')
console.log(result) // outputs: { exitCode: 0, stdout: 'Hello World\r\n', stderr: '' }
Runme can run various commands in a single shell session that allows you to keep environment variables around. For that you need to start a server as execution engine:
import { createServer, run } from 'runme'
const server = await createServer()
// execute `export FOO="bar"` from markdown code cell with id "export"
await run('export', server)
// execute `echo "exported FOO=$FOO"` from markdown code cell with id "print"
const result = await run('print', server)
console.log(result) // outputs: { exitCode: 0, stdout: 'exported FOO=bar\r\n', stderr: '' }
See CONTRIBUTING.md for more information or just click on:
Copyright 2023 © Stateful – Apache 2.0 License