Pre-built ESLint configurations for MDX files supporting both classic and flat config formats. Includes base, recommended, and specialized configurations for code blocks.
Basic ESLint configuration for MDX files with core parser and processor setup.
declare const base: Linter.LegacyConfig;The base configuration includes:
eslint-mdxmdx/remarkmdx/remark and no-unused-expressionsComplete configuration with file overrides for MDX files and code blocks, including automatic Prettier integration.
declare const recommended: Linter.LegacyConfig;The recommended configuration provides:
*.md and *.mdx filesSpecialized configuration for linting JavaScript/TypeScript code blocks within MDX documents.
declare const codeBlocks: Linter.LegacyConfig;The code blocks configuration features:
no-undef, no-unused-vars)Modern flat config format for ESLint 8.21+ with comprehensive MDX support.
declare const flat: Linter.FlatConfig;The flat configuration includes:
**/*.{md,mdx}Flat config format specifically for code blocks within MDX files.
declare const flatCodeBlocks: Linter.FlatConfig;Configuration that extends base settings with React plugin integration.
declare const overrides: Linter.LegacyConfig;All configurations are available through a unified export object.
interface ConfigsExport {
base: Linter.LegacyConfig;
recommended: Linter.LegacyConfig;
codeBlocks: Linter.LegacyConfig;
'code-blocks': Linter.LegacyConfig;
flat: Linter.FlatConfig;
flatCodeBlocks: Linter.FlatConfig;
overrides: Linter.LegacyConfig;
}
declare const configs: ConfigsExport;Usage Examples:
// Classic config usage
module.exports = {
extends: ["plugin:mdx/recommended"],
settings: {
"mdx/code-blocks": true
}
};
// Flat config usage
import mdx from "eslint-plugin-mdx";
export default [
mdx.configs.flat,
{
files: ["**/*.{md,mdx}/**"],
...mdx.configs.flatCodeBlocks
}
];
// Manual configuration
import { base, codeBlocks } from "eslint-plugin-mdx";
export default [
{
files: ["**/*.mdx"],
...base
},
{
files: ["**/*.mdx/**"],
...codeBlocks
}
];import type { Linter } from 'eslint';
// Legacy configuration format
interface LegacyConfig extends Linter.Config {
parser?: string;
plugins?: string[];
processor?: string;
overrides?: Linter.ConfigOverride[];
}
// Flat configuration format
interface FlatConfig {
files?: string[];
languageOptions?: {
parser?: any;
parserOptions?: any;
globals?: Record<string, boolean>;
};
plugins?: Record<string, any>;
processor?: any;
rules?: Record<string, any>;
}