or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

configurations.mdhelpers.mdindex.mdprocessors.mdrules.md
tile.json

configurations.mddocs/

Configuration Presets

Pre-built ESLint configurations for MDX files supporting both classic and flat config formats. Includes base, recommended, and specialized configurations for code blocks.

Capabilities

Base Configuration

Basic ESLint configuration for MDX files with core parser and processor setup.

declare const base: Linter.LegacyConfig;

The base configuration includes:

  • Parser: eslint-mdx
  • Processor: mdx/remark
  • Core rules: mdx/remark and no-unused-expressions
  • ES module support with latest ECMAScript version

Recommended Configuration

Complete configuration with file overrides for MDX files and code blocks, including automatic Prettier integration.

declare const recommended: Linter.LegacyConfig;

The recommended configuration provides:

  • File-specific overrides for *.md and *.mdx files
  • Code block processing for embedded code
  • Automatic Prettier plugin integration when available

Code Blocks Configuration

Specialized configuration for linting JavaScript/TypeScript code blocks within MDX documents.

declare const codeBlocks: Linter.LegacyConfig;

The code blocks configuration features:

  • Implied strict mode parsing
  • Disabled rules that conflict with code examples (no-undef, no-unused-vars)
  • Optimized for code snippets and documentation examples

Flat Configuration

Modern flat config format for ESLint 8.21+ with comprehensive MDX support.

declare const flat: Linter.FlatConfig;

The flat configuration includes:

  • File matching: **/*.{md,mdx}
  • ESM parser with React globals
  • Built-in React JSX scope handling

Flat Code Blocks Configuration

Flat config format specifically for code blocks within MDX files.

declare const flatCodeBlocks: Linter.FlatConfig;

Overrides Configuration

Configuration that extends base settings with React plugin integration.

declare const overrides: Linter.LegacyConfig;

Configuration Object Export

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
  }
];

Configuration Types

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>;
}