{"id":19911,"library":"eslint-plugin-reactotron","title":"ESLint Plugin Reactotron","description":"An ESLint plugin for Reactotron that provides lint rules to enforce best practices when using Reactotron in React Native or other JavaScript projects. Currently at version 0.1.9, it is part of the Reactotron ecosystem maintained by Infinite Red. The plugin helps catch common mistakes like leaving Reactotron enabled in production code. It ships with TypeScript types and requires reactotron-core-client as a peer dependency. Unlike general ESLint plugins, it is narrowly focused on Reactotron-specific patterns.","status":"active","version":"0.1.9","language":"javascript","source_language":"en","source_url":"https://github.com/infinitered/reactotron/tree/master/lib/eslint-plugin-reactotron","tags":["javascript","typescript"],"install":[{"cmd":"npm install eslint-plugin-reactotron","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-reactotron","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-reactotron","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency required for rule logic that interacts with Reactotron client","package":"reactotron-core-client","optional":false}],"imports":[{"note":"CommonJS require works but is not recommended for new projects. The plugin is ESM-first.","wrong":"const reactotron = require('eslint-plugin-reactotron')","symbol":"default","correct":"import reactotron from 'eslint-plugin-reactotron'"},{"note":"Named export for accessing rule objects directly.","wrong":null,"symbol":"rules","correct":"import { rules } from 'eslint-plugin-reactotron'"},{"note":"TypeScript type export available for plugin configuration.","wrong":null,"symbol":"Plugin","correct":"import { Plugin } from 'eslint-plugin-reactotron'"}],"quickstart":{"code":"// .eslintrc.js\nmodule.exports = {\n  plugins: ['reactotron'],\n  rules: {\n    'reactotron/no-reactotron-in-production': 'error',\n  },\n};","lang":"javascript","description":"Basic ESLint configuration to enable the reactotron plugin and enforce the 'no-reactotron-in-production' rule."},"warnings":[{"fix":"Install reactotron-core-client as a dependency: npm install reactotron-core-client","message":"The plugin requires a peer dependency on reactotron-core-client, which may not be installed automatically. Ensure it is installed to avoid missing module errors.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Use 'reactotron/no-production' instead.","message":"The 'no-reactotron-in-production' rule has been deprecated in favor of 'no-production' in version 0.2.0 (if ever released).","severity":"deprecated","affected_versions":"<0.2.0"},{"fix":"Upgrade to v0.1.9 or later to avoid CommonJS compatibility issues.","message":"CommonJS export compatibility was fixed in 0.1.9, but earlier versions had issues with CJS require().","severity":"breaking","affected_versions":"<0.1.9"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run 'npm install reactotron-core-client' in your project.","cause":"The plugin references reactotron-core-client internally, but it is not installed.","error":"Missing peer dependency: reactotron-core-client"},{"fix":"Ensure 'eslint-plugin-reactotron' is installed and added to the 'plugins' array in your ESLint config.","cause":"The ESLint plugin is not installed or not configured correctly in the plugins array.","error":"Error: Plugin 'reactotron' not found"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}