diff --git a/packages/rrweb/README.md b/packages/rrweb/README.md new file mode 100644 index 0000000000..0d81b44b00 --- /dev/null +++ b/packages/rrweb/README.md @@ -0,0 +1,151 @@ +

+ +

+

+ Try rrweb +

+ +# rrweb + +**This is a simpler version of the [original rrewb README](../../README.md) within this rrweb subpackage** + +[δΈ­ζ–‡ζ–‡ζ‘£](../../README.zh_CN.md) + +rrweb refers to 'record and replay the web', which is a tool for recording and replaying users' interactions on the web. + +## Guide + +[**πŸ“š Read the rrweb guide here. πŸ“š**](../../guide.md) + +[**🍳 Recipes 🍳**](../../docs/recipes/index.md) + +## Project Structure + +**[rrweb](https://github.com/rrweb-io/rrweb)** mainly includes two funtions: + +- **Record**: The record function is used to record all the mutations in the DOM +- **Replay**: The replay function is to replay the recorded mutations one by one according to the corresponding timestamp. + +## Roadmap + +- rrdom: an ad-hoc DOM for rrweb session data [#419](https://github.com/rrweb-io/rrweb/issues/419) +- storage engine: do deduplication on a large number of rrweb sessions +- more end-to-end tests +- compact mutation data in common patterns +- provide plugins via the new plugin API, including: + - XHR plugin + - fetch plugin + - GraphQL plugin + - ... + +## Internal Design + +- [serialization](../../docs/serialization.md) +- [incremental snapshot](../../docs/observer.md) +- [replay](../../docs/replay.md) +- [sandbox](../../docs/sandbox.md) + +## Contribute Guide + +Since we want the record and replay sides to share a strongly typed data structure, rrweb is developed with typescript which provides stronger type support. + +[Typescript handbook](https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html) + +1. Fork this repository. +2. Run `yarn install` in the root to install required dependencies for all sub-packages (note: `npm install` is _not_ recommended). +3. Run `yarn dev` in the root to get auto-building for all the sub-packages whenever you modify anything. +4. Navigate to one of the sub-packages (in the `packages` folder) where you'd like to make a change. +5. Patch the code and run `yarn test` to run the tests, make sure they pass before you commit anything. +6. Push the code and create a pull request. + +Protip: You can run `yarn test` in the root folder to run all the tests. + +In addition to adding integration tests and unit tests, rrweb also provides a REPL testing tool. + +[Using the REPL tool](../../guide.md#REPL-tool) + +## Core Team Members + + + + + + + + +
+ + +
Yuyz0112 +
+
+ + +
Mark-Fenng +
+
+ + +
eoghanmurray +
+
+ + +
Juice10 +
+
+ +## Who's using rrweb + + + + + + + + + + + + +
+ + + + + + + + + + + + + + The first ever UX automation tool + +
+ + + + + + Remote Access & Co-Browsing + +