{"id":27725,"library":"eslint-plugin-etc-misc","title":"eslint-plugin-etc-misc","description":"An ESLint plugin that combines and extends the rules from eslint-plugin-etc and eslint-plugin-misc, providing a unified set of linting rules for TypeScript projects. Current stable version is v1.1.1, released in May 2026. The package is actively maintained with frequent releases (10+ versions in two months). Key differentiators: merges two popular rule sets into one plugin, includes TypeScript types, leverages ESLint flat config (v9+), and requires TypeScript 5+. Release cadence is weekly or more frequent. Alternative to installing separate plugins.","status":"active","version":"1.1.1","language":"javascript","source_language":"en","source_url":"https://github.com/Nick2bad4u/eslint-plugin-etc-misc","tags":["javascript","eslint","eslint-plugin","eslintplugin","etc","misc","tslint","typescript"],"install":[{"cmd":"npm install eslint-plugin-etc-misc","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-etc-misc","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-etc-misc","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required for plugin to work","package":"eslint","optional":false},{"reason":"peer dependency required for TypeScript rules","package":"typescript","optional":false}],"imports":[{"note":"ESM-only since v1.0.0; CJS require not supported","wrong":"const plugin = require('eslint-plugin-etc-misc')","symbol":"plugin","correct":"import plugin from 'eslint-plugin-etc-misc'"},{"note":"Named export for flat config; default export contains all rules","wrong":"import plugin from 'eslint-plugin-etc-misc' then plugin.configs","symbol":"configs","correct":"import { configs } from 'eslint-plugin-etc-misc'"},{"note":"Named export for custom rule configuration; TypeScript supports this import","wrong":null,"symbol":"rules","correct":"import { rules } from 'eslint-plugin-etc-misc'"}],"quickstart":{"code":"// eslint.config.js\nimport plugin from 'eslint-plugin-etc-misc';\nimport tsParser from '@typescript-eslint/parser';\nimport tsPlugin from '@typescript-eslint/eslint-plugin';\n\nexport default [\n  plugin.configs.recommended,\n  {\n    files: ['**/*.ts', '**/*.tsx'],\n    languageOptions: {\n      parser: tsParser,\n      parserOptions: {\n        project: './tsconfig.json',\n      },\n    },\n    plugins: {\n      '@typescript-eslint': tsPlugin,\n    },\n    rules: {\n      'etc-misc/no-unused-vars': 'error',\n      'etc-misc/consistent-type-imports': 'error',\n    },\n  },\n];\n","lang":"typescript","description":"Shows how to set up the plugin with TypeScript project in ESLint flat config, including recommended config and custom rules."},"warnings":[{"fix":"Upgrade to ESLint v9 and migrate to flat config","message":"Requires ESLint v9+ with flat config; incompatible with legacy eslintrc","severity":"breaking","affected_versions":"<1.0.0"},{"fix":"Update Node.js to v20.19.0 or later","message":"Minimum Node.js version 20.19.0 required since v1.1.0","severity":"breaking","affected_versions":">=1.1.0"},{"fix":"Use named import { configs } for recommended config, or spread the default export","message":"Default export is the plugin object with all rules, not a config array","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use '@typescript-eslint/no-unused-vars' instead","message":"Rule 'no-unused-vars' replaced by TypeScript-native version in v1.0.5","severity":"deprecated","affected_versions":">=1.0.5"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"npm install eslint-plugin-etc-misc --save-dev and ensure correct name in config","cause":"Plugin not installed or name mismatch (e.g., using 'eslint-plugin-etc-misc' vs 'etc-misc')","error":"Error: Failed to load plugin 'etc-misc' declared in '...': Cannot find module 'eslint-plugin-etc-misc'"},{"fix":"Use '\"error\"' (lowercase) instead of '\"Error\"' or '\"ERROR\"'","cause":"Rule severity must be lowercase string","error":"Configuration for rule 'etc-misc/no-unused-vars' is invalid: Value \"error\" is not accepted. Expected one of: \"off\", \"warn\", \"error\""},{"fix":"Use plugin.configs.recommended instead of spreading plugin directly","cause":"Flat config expects array, but default export is an object","error":"TypeError: plugin.configs is not iterable"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}