87 lines
1.9 KiB
Markdown
87 lines
1.9 KiB
Markdown
# OpenReplay Tracker MobX plugin
|
|
A MobX plugin for OpenReplay Tracker. This plugin allows you to see the MobX events during session replay.
|
|
|
|
## Installation
|
|
```bash
|
|
npm i @openreplay/tracker-mobx
|
|
```
|
|
|
|
## Usage
|
|
Initialize the `@openreplay/tracker` package as usual and load the plugin into it.
|
|
Then put the generated middleware into your Redux chain.
|
|
|
|
```js
|
|
import Tracker from '@openreplay/tracker';
|
|
import trackerMobX from '@openreplay/tracker-mobx';
|
|
|
|
const tracker = new Tracker({
|
|
projectKey: YOUR_PROJECT_KEY,
|
|
});
|
|
|
|
tracker.plugin(trackerMobX());
|
|
```
|
|
|
|
This plugin is inspired by [mobx-logger](https://github.com/winterbe/mobx-logger), hence it has similar configurations.
|
|
|
|
The default configurations are following
|
|
|
|
```js
|
|
trackerMobX({
|
|
predicate: () => true,
|
|
action: true,
|
|
reaction: true,
|
|
transaction: true,
|
|
compute: true
|
|
})
|
|
```
|
|
|
|
You can disable logging for actions and computed properties by providing a static `trackerMobXConfig`. This is useful to protect the private user data and keep your logs clean.
|
|
|
|
Here's an example of how to disable logging for all actions and computed properties for a given class:
|
|
|
|
```js
|
|
class MyModel {
|
|
static trackerMobXConfig: {
|
|
enabled: false
|
|
};
|
|
|
|
// ...
|
|
}
|
|
```
|
|
|
|
Alternatively you can disable logging for particular class methods:
|
|
|
|
```js
|
|
class MyStore {
|
|
static trackerMobXConfig: {
|
|
methods: {
|
|
myAction: false
|
|
}
|
|
};
|
|
|
|
@action myAction() {
|
|
// calls to this method won't be logged
|
|
}
|
|
}
|
|
```
|
|
|
|
You can combine the above examples to whitelist certain actions for being logged:
|
|
|
|
```js
|
|
class MyStore {
|
|
static trackerMobXConfig: {
|
|
enabled: false,
|
|
methods: {
|
|
myAction: true
|
|
}
|
|
};
|
|
|
|
@action myAction() {
|
|
// only calls to this method are being logged
|
|
}
|
|
|
|
// other methods won't be logged ...
|
|
}
|
|
```
|
|
|
|
> Please keep in mind that at this point `trackerMobXConfig` is only available for actions (`@action`) and computed properties (`@computed`).
|