eslint-plugin-etc-misc
raw JSON → 1.1.1 verified Sat May 09 auth: no javascript
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.
Common errors
error Error: Failed to load plugin 'etc-misc' declared in '...': Cannot find module 'eslint-plugin-etc-misc' ↓
cause Plugin not installed or name mismatch (e.g., using 'eslint-plugin-etc-misc' vs 'etc-misc')
fix
npm install eslint-plugin-etc-misc --save-dev and ensure correct name in config
error Configuration for rule 'etc-misc/no-unused-vars' is invalid: Value "error" is not accepted. Expected one of: "off", "warn", "error" ↓
cause Rule severity must be lowercase string
fix
Use '"error"' (lowercase) instead of '"Error"' or '"ERROR"'
error TypeError: plugin.configs is not iterable ↓
cause Flat config expects array, but default export is an object
fix
Use plugin.configs.recommended instead of spreading plugin directly
Warnings
breaking Requires ESLint v9+ with flat config; incompatible with legacy eslintrc ↓
fix Upgrade to ESLint v9 and migrate to flat config
breaking Minimum Node.js version 20.19.0 required since v1.1.0 ↓
fix Update Node.js to v20.19.0 or later
gotcha Default export is the plugin object with all rules, not a config array ↓
fix Use named import { configs } for recommended config, or spread the default export
deprecated Rule 'no-unused-vars' replaced by TypeScript-native version in v1.0.5 ↓
fix Use '@typescript-eslint/no-unused-vars' instead
Install
npm install eslint-plugin-etc-misc yarn add eslint-plugin-etc-misc pnpm add eslint-plugin-etc-misc Imports
- plugin wrong
const plugin = require('eslint-plugin-etc-misc')correctimport plugin from 'eslint-plugin-etc-misc' - configs wrong
import plugin from 'eslint-plugin-etc-misc' then plugin.configscorrectimport { configs } from 'eslint-plugin-etc-misc' - rules
import { rules } from 'eslint-plugin-etc-misc'
Quickstart
// eslint.config.js
import plugin from 'eslint-plugin-etc-misc';
import tsParser from '@typescript-eslint/parser';
import tsPlugin from '@typescript-eslint/eslint-plugin';
export default [
plugin.configs.recommended,
{
files: ['**/*.ts', '**/*.tsx'],
languageOptions: {
parser: tsParser,
parserOptions: {
project: './tsconfig.json',
},
},
plugins: {
'@typescript-eslint': tsPlugin,
},
rules: {
'etc-misc/no-unused-vars': 'error',
'etc-misc/consistent-type-imports': 'error',
},
},
];