{"id":19417205,"url":"https://github.com/effector/inspector","last_synced_at":"2025-09-03T02:48:04.207Z","repository":{"id":39706480,"uuid":"240887831","full_name":"effector/inspector","owner":"effector","description":"Inspector for effector stores","archived":false,"fork":false,"pushed_at":"2023-08-03T06:22:27.000Z","size":1383,"stargazers_count":27,"open_issues_count":19,"forks_count":6,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-08-29T08:49:22.313Z","etag":null,"topics":["effector"],"latest_commit_sha":null,"homepage":"https://npmjs.com/effector-inspector","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/effector.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-02-16T12:30:38.000Z","updated_at":"2024-12-08T18:08:32.000Z","dependencies_parsed_at":"2023-02-08T09:15:43.267Z","dependency_job_id":"5ab6c182-b2f4-4501-8888-8ec5c9061dcb","html_url":"https://github.com/effector/inspector","commit_stats":{"total_commits":127,"total_committers":12,"mean_commits":"10.583333333333334","dds":0.5905511811023623,"last_synced_commit":"ef3976cadfbb364503ac0445f92bffe29163de3b"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":"toastyboost/rollup-starter","purl":"pkg:github/effector/inspector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effector%2Finspector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effector%2Finspector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effector%2Finspector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effector%2Finspector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/effector","download_url":"https://codeload.github.com/effector/inspector/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effector%2Finspector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273381909,"owners_count":25095330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["effector"],"created_at":"2024-11-10T13:08:06.775Z","updated_at":"2025-09-03T02:48:04.182Z","avatar_url":"https://github.com/effector.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Effector Inspector\n\n| Dark theme and unit tracing                     | Units in files                            |\n| ----------------------------------------------- | ----------------------------------------- |\n| ![Dark-Traces](https://i.imgur.com/m9arc8u.png) | ![Units](https://i.imgur.com/VFki78R.png) |\n\n## Installation\n\n## Standalone\n\n1. Install **effector-inspector**\n\n```bash\nnpm install --dev effector-inspector\n```\n\nor\n\n```bash\nyarn add -D effector-inspector\n```\n\n2. Make sure, that you have either [`effector/babel-plugin`](https://effector.dev/docs/api/effector/babel-plugin/) or [`@effector/swc-plugin`](https://github.com/effector/swc-plugin) set up in your project. These plugins add metadata to all effector's units, which is then used by effector-inspector.\n\nCheck out the documentation of [`effector/babel-plugin`](https://effector.dev/docs/api/effector/babel-plugin/) or [`@effector/swc-plugin`](https://github.com/effector/swc-plugin).\n\n3. Initialize `inspector` in your application's entrypoint (something like `index.ts` or `client.tsx`).\n\n```ts\nimport {createInspector} from 'effector-inspector';\n\ncreateInspector();\n```\n\n4. After that inspector is ready to work, but it does not know about any units yet. You also need to attach inspector to units.\n\nOne way to do it is to attach inspector to units manually:\n\n```ts\nimport {attachInspector} from 'effector-inspector';\n\n// single units\nattachInspector($store);\nattachInspector(event);\nattachInspector(effectFx);\n// or list of them\nattachInspector([\n  $store,\n  event,\n  effectFx,\n  // any number of units in the list\n]);\n// or by domain\nattachInspector(someDomain);\n```\n\n### effector-root\n\nThe `effector-root` library can be used for convenience, as it provides common root domain for all units.\n\n```ts\n// index.ts\nimport {attachInspector, createInspector} from 'effector-inspector';\nimport {root} from 'effector-root';\n\ncreateInspector();\nattachInspector(root);\n```\n\nCheck out `effector-root` [documentation here](https://github.com/effector/root#how-to-auto-replace-all-imports-of-effector-to-effector-root-using-babel-plugin).\n\n## As a part of effector-logger\n\n1. Install effector, logger and **inspector**\n\n```bash\nnpm install effector\nnpm install --dev effector-logger effector-inspector\n```\n\nor yarn\n\n```bash\nyarn add effector\nyarn add -D effector-logger effector-inspector\n```\n\n2. Follow instructions for [effector-logger](https://github.com/sergeysova/effector-logger#installation)\n\n- Setup babel plugin\n- Replace `effector` to `effector-logger`\n\n3. Open your root application file (something like `client.tsx` or `index.tsx`)\n\nInitialize effector logger in it first lines.\n\n```ts\nimport {createInspector} from 'effector-inspector';\n\ncreateInspector();\n```\n\n4. Press hot keys to open inspector\n\nBy default: `CTRL+B` in your application\n\n5. Watch your stores and its values\n\n## Release process\n\n1. Check out the [draft release](https://github.com/effector/inspector/releases).\n1. All PRs should have correct labels and useful titles. You can [review available labels here](https://github.com/effector/inspector/blob/master/.github/release-drafter.yml).\n1. Update labels for PRs and titles, next [manually run the release drafter action](https://github.com/effector/inspector/actions/workflows/release-drafter.yml) to regenerate the draft release.\n1. Review the new version and press \"Publish\"\n1. If required check \"Create discussion for this release\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feffector%2Finspector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feffector%2Finspector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feffector%2Finspector/lists"}