Skip to content

effector/inspector

Repository files navigation

Effector Inspector

Dark theme and unit tracing Units in files
Dark-Traces Units

Installation

Standalone

  1. Install effector-inspector
npm install --dev effector-inspector

or

yarn add -D effector-inspector
  1. Make sure, that you have either effector/babel-plugin or @effector/swc-plugin set up in your project. These plugins add metadata to all effector's units, which is then used by effector-inspector.

Check out the documentation of effector/babel-plugin or @effector/swc-plugin.

  1. Initialize inspector in your application's entrypoint (something like index.ts or client.tsx).
import {createInspector} from 'effector-inspector';

createInspector();
  1. After that inspector is ready to work, but it does not know about any units yet. You also need to attach inspector to units.

One way to do it is to attach inspector to units manually:

import {attachInspector} from 'effector-inspector';

// single units
attachInspector($store);
attachInspector(event);
attachInspector(effectFx);
// or list of them
attachInspector([
  $store,
  event,
  effectFx,
  // any number of units in the list
]);
// or by domain
attachInspector(someDomain);

effector-root

The effector-root library can be used for convenience, as it provides common root domain for all units.

// index.ts
import {attachInspector, createInspector} from 'effector-inspector';
import {root} from 'effector-root';

createInspector();
attachInspector(root);

Check out effector-root documentation here.

As a part of effector-logger

  1. Install effector, logger and inspector
npm install effector
npm install --dev effector-logger effector-inspector

or yarn

yarn add effector
yarn add -D effector-logger effector-inspector
  1. Follow instructions for effector-logger
  • Setup babel plugin
  • Replace effector to effector-logger
  1. Open your root application file (something like client.tsx or index.tsx)

Initialize effector logger in it first lines.

import {createInspector} from 'effector-inspector';

createInspector();
  1. Press hot keys to open inspector

By default: CTRL+B in your application

  1. Watch your stores and its values

Release process

  1. Check out the draft release.
  2. All PRs should have correct labels and useful titles. You can review available labels here.
  3. Update labels for PRs and titles, next manually run the release drafter action to regenerate the draft release.
  4. Review the new version and press "Publish"
  5. If required check "Create discussion for this release"