{"id":19838,"library":"eslint-plugin-mysticatea","title":"eslint-plugin-mysticatea","description":"Additional ESLint rules and configurations from Toru Nagashima. Current stable version 4.2.4 supports ESLint >= 3.1.0 and Node.js ^4.0.0 or >=6.0.0. Provides rules for blocking scope, instanceof checks, array detection, rest/spread patterns, and more. Package was renamed to @mysticatea/eslint-plugin after v5.0.0, with breaking changes dropping Node.js 4.x and ESLint 3.x/4.x. Notable for its curated set of rules and integrations with TypeScript and Vue.","status":"deprecated","version":"4.2.4","language":"javascript","source_language":"en","source_url":"https://github.com/mysticatea/eslint-plugin","tags":["javascript","eslint","eslintplugin","block","scope","instanceof","isArray","static","this"],"install":[{"cmd":"npm install eslint-plugin-mysticatea","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-mysticatea","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-mysticatea","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency for ESLint plugin functionality","package":"eslint","optional":false}],"imports":[{"note":"ESM import works; CJS require also valid but prefer ESM","wrong":"const plugin = require('eslint-plugin-mysticatea')","symbol":"plugin (default)","correct":"import plugin from 'eslint-plugin-mysticatea'"},{"note":"Directly import from package root","wrong":"import { rules } from 'eslint-plugin-mysticatea/rules'","symbol":"rules","correct":"import { rules } from 'eslint-plugin-mysticatea'"},{"note":"Both ESM and CJS work","wrong":"const configs = require('eslint-plugin-mysticatea').configs","symbol":"configs","correct":"import { configs } from 'eslint-plugin-mysticatea'"}],"quickstart":{"code":"// eslint.config.js (Flat config)\nimport plugin from 'eslint-plugin-mysticatea';\n\nexport default [\n  {\n    plugins: {\n      mysticatea: plugin\n    },\n    rules: {\n      'mysticatea/no-useless-rest-spread': 'error'\n    }\n  }\n];\n\n// or Legacy config (.eslintrc)\n// {\n//   \"plugins\": [\"mysticatea\"],\n//   \"rules\": {\n//     \"mysticatea/no-useless-rest-spread\": \"error\"\n//   }\n// }","lang":"javascript","description":"Shows how to install and use the plugin with a single rule in both flat and legacy ESLint configs."},"warnings":[{"fix":"Update package to @mysticatea/eslint-plugin and adjust imports/configs accordingly.","message":"Package renamed to @mysticatea/eslint-plugin in v5.0.0, dropping support for Node.js 4.x and ESLint 3.x/4.x.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Use legacy ESLint config format, or upgrade to v5+ with flat config support.","message":"ESLint flat config (eslint.config.js) not supported until later versions; legacy .eslintrc required for v4.x.","severity":"breaking","affected_versions":"<5.0.0"},{"fix":"Upgrade to @mysticatea/eslint-plugin (v5 or later).","message":"v4.x is deprecated and will no longer receive updates due to package rename.","severity":"deprecated","affected_versions":">=4.0.0 <5.0.0"},{"fix":"Manually review arrays with holes; the auto-fix changes behavior (e.g., [,,,1] vs [...[,,,],1]).","message":"Rule 'no-useless-rest-spread' may not fix arrays with holes automatically (see v4.2.3 changelog).","severity":"gotcha","affected_versions":">=4.2.3"}],"env_vars":null,"search_vec":"'3':54 '3.1.0':19 '4':50 '4.0.0':22 '4.2.4':16 '6.0.0':24 'addit':5 'array':32 'block':28,72 'break':46 'chang':47 'check':31 'configur':9 'curat':59 'current':13 'detect':33 'drop':48 'eslint':2,6,18,53,70 'eslint-plugin-mysticatea':1 'eslintplugin':71 'instanceof':30,74 'integr':64 'isarray':75 'javascript':69 'mysticatea':4 'mysticatea/eslint-plugin':42 'nagashima':12 'node.js':21,49 'notabl':56 'packag':38 'pattern':35 'plugin':3 'provid':25 'renam':40 'rest/spread':34 'rule':7,26,62 'scope':29,73 'set':60 'stabl':14 'static':76 'support':17 'toru':11 'typescript':66 'v5.0.0':44 'version':15 'vue':68 'x':51 'x/4.x':55","created_at":"2026-04-25T11:19:56.347232+00:00","updated_at":"2026-04-25T11:19:56.347232+00:00","problems":[{"fix":"Run npm install @mysticatea/eslint-plugin --save-dev and update references.","cause":"Package renamed to @mysticatea/eslint-plugin after v5.0.0.","error":"Error: Cannot find module 'eslint-plugin-mysticatea'"},{"fix":"Ensure the plugin is installed and added to plugins array in eslint.config.js.","cause":"Trying to use the plugin without proper installation or in flat config without specifying 'plugins'.","error":"ESLint configuration error: The plugin 'mysticatea' was not found."},{"fix":"Import directly: import { rules } from 'eslint-plugin-mysticatea'.","cause":"Attempting to import rules incorrectly (e.g., requiring 'eslint-plugin-mysticatea/rules').","error":"TypeError: plugin.rules is undefined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/mysticatea/eslint-plugin","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/eslint-plugin-mysticatea","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-17","next_check":"2026-07-24","install_tag":null}}