For recording Node processes, Replay provides the @replayio/node npm package which can be used to execute and record a script.
Getting setup
bashnpm i @replayio/node --global replay-node script-name.js RECORD_REPLAY_API_KEY=YOUR-KEY npx @replayio/replay view-latest
Note: This will prompt you to install
@replayio/replay
if you havenโt already!Example
Lets say you want to record
loop.js
javascriptfor (let i = 0; i < 5; i++) { console.log(`Hello ${i}`) }
You'd first create the replay with
replay-node
and then upload it with @replayio/replay
:bashreplay-node loop.js RECORD_REPLAY_API_KEY=YOUR-KEY npx @replayio/replay view-latest
And once it's uploaded you'd be able to view it at
app.replay.io
:TypeScript
If you want to record a
ts-node
invocation, invoke replay-node
like sobashreplay-node --exec ts-node ...
Upgrading Node
Replay's fork of Node is in active development and it is recommended that you update it fairly regularly.
bashreplay-node --update
Upgrading the CLI
If the CLI is installed locally, you can run
npm i @replayio/replay@latest
. If the CLI is installed globally, you can run npm update -g @replayio/replay
.Detecting replay-node
If you want to detect that
replay-node
is running from user space you can check for the existence of process.recordreplay
.