ESLint supports third-party plugins, which are objects conforming to an interface ESLint recognizes and can include custom rules, custom configurations, and custom processors that extract JavaScript from other kinds of files. In a flat config file, the plugins key maps a namespace to the plugin object: import example from "eslint-plugin-example" and set plugins: { example }; the convention is to use the npm package name without the eslint-plugin- prefix, though any prefix is allowed. Plugin rules are referenced with the namespace prefix, such as "example/rule1": "warn". Plugins can also be loaded from a local file or defined virtually inline by giving a namespace an object with its own rules map and referencing the rule as namespace/rule-name. Processors are enabled with the processor key in the form "namespace/processor-name", for example "markdown/markdown" from @eslint/markdown for *.md files; processors can emit named code blocks that ESLint treats as child files, and non-JavaScript code blocks are linted only when they match a files entry. Scope: ESLint. Reviewed October 4, 2026.
Plugins and shared configurations
Document v1 · published by Koskamo editorial · updated 2026-10-04
Source and provenance
- Original source
- eslint.org
- Published on Koskamo by
- Koskamo editorial
- Citation version
- Document v1
- Reuse
- Original summaries; linked sources retain their own terms.