|                                                                                                                   |  | # ESLintRC Library
This repository contains the legacy ESLintRC configuration file format for ESLint. This package is not intended for use outside of the ESLint ecosystem. It is ESLint-specific and not intended for use in other programs.
**Note:** This package is frozen except for critical bug fixes as ESLint moves to a new config system.
## Installation
You can install the package as follows:
```npm install @eslint/eslintrc --save-dev
# or
yarn add @eslint/eslintrc -D```
## Usage (ESM)
The primary class in this package is `FlatCompat`, which is a utility to translate ESLintRC-style configs into flat configs. Here's how you use it inside of your `eslint.config.js` file:
```jsimport { FlatCompat } from "@eslint/eslintrc";import js from "@eslint/js";import path from "path";import { fileURLToPath } from "url";
// mimic CommonJS variables -- not needed if using CommonJSconst __filename = fileURLToPath(import.meta.url);const __dirname = path.dirname(__filename);
const compat = new FlatCompat({    baseDirectory: __dirname,                  // optional; default: process.cwd()    resolvePluginsRelativeTo: __dirname,       // optional    recommendedConfig: js.configs.recommended, // optional    allConfig: js.configs.all,                 // optional});
export default [
    // mimic ESLintRC-style extends    ...compat.extends("standard", "example"),
    // mimic environments    ...compat.env({        es2020: true,        node: true    }),
    // mimic plugins    ...compat.plugins("airbnb", "react"),
    // translate an entire config    ...compat.config({        plugins: ["airbnb", "react"],        extends: "standard",        env: {            es2020: true,            node: true        },        rules: {            semi: "error"        }    })];```
## Usage (CommonJS)
Using `FlatCompat` in CommonJS files is similar to ESM, but you'll use `require()` and `module.exports` instead of `import` and `export`. Here's how you use it inside of your `eslint.config.js` CommonJS file:
```jsconst { FlatCompat } = require("@eslint/eslintrc");const js = require("@eslint/js");
const compat = new FlatCompat({    baseDirectory: __dirname,                  // optional; default: process.cwd()    resolvePluginsRelativeTo: __dirname,       // optional    recommendedConfig: js.configs.recommended, // optional    allConfig: js.configs.all,                 // optional});
module.exports = [
    // mimic ESLintRC-style extends    ...compat.extends("standard", "example"),
    // mimic environments    ...compat.env({        es2020: true,        node: true    }),
    // mimic plugins    ...compat.plugins("airbnb", "react"),
    // translate an entire config    ...compat.config({        plugins: ["airbnb", "react"],        extends: "standard",        env: {            es2020: true,            node: true        },        rules: {            semi: "error"        }    })];```
## License
MIT License
 |