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. The original rrweb project is licensed under the MIT license. All original modifications and new content are licensed under the new Apache license.
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.