rrweb refers to 'record and replay the web', which is a tool for recording and replaying users' interactions on the web.
This is a fork of rrweb meant to power New Relic experiences for session replay.
rrweb is mainly composed of 3 parts:
- rrweb-snapshot, including both snapshot and rebuilding features. The snapshot is used to convert the DOM and its state into a serializable data structure with a unique identifier; the rebuilding feature is to rebuild the snapshot into corresponding DOM.
- rrweb, including two functions, record and replay. The record function is used to record all the mutations in the DOM; the replay is to replay the recorded mutations one by one according to the corresponding timestamp.
- rrweb-player, is a player UI for rrweb, providing GUI-based functions like pause, fast-forward, drag and drop to play at any time.
- Install dependencies:
yarn - Build all packages: (in
/)yarn build:alloryarn dev - Build individual packages:
yarn buildoryarn dev - Test:
yarn testoryarn test:watch - Lint:
yarn lint - Rewrite files with prettier:
yarn formatoryarn format:head - Run recorder on a website: (in
/packages/rrweb)yarn repl - Run a co-browsing/mirroring session locally: (in
/packages/rrweb)yarn live-stream - Publishing:
yarn release- When asked which packages to include, only include the packages that were changed. Use 'space' key to select packages.