Socket
Socket
Sign inDemoInstall

@eslint/eslintrc

Package Overview
Dependencies
26
Maintainers
2
Versions
42
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @eslint/eslintrc

The legacy ESLintRC config file format for ESLint


Version published
Weekly downloads
33M
increased by0.29%
Maintainers
2
Install size
3.48 MB
Created
Weekly downloads
 

Package description

What is @eslint/eslintrc?

The @eslint/eslintrc package is a utility for working with ESLint configuration files. It provides tools to load and parse ESLint configuration files, resolve extends chains, and manage configuration cascading and hierarchy.

What are @eslint/eslintrc's main functionalities?

Loading ESLint Configuration

This feature allows you to load an ESLint configuration file using the ConfigArrayFactory class. The loaded configuration can then be used to configure the ESLint engine.

const { ConfigArrayFactory } = require('@eslint/eslintrc');
const factory = new ConfigArrayFactory();
const configArray = factory.loadFile('.eslintrc.js');

Parsing Configuration Files

This feature is used to parse ESLint configuration files directly. It is part of the legacy API and allows for direct interaction with configuration files.

const { Legacy: { ConfigFile } } = require('@eslint/eslintrc');
const config = ConfigFile.load('.eslintrc');

Resolving Extends Chains

This feature resolves the 'extends' chains in ESLint configuration files, allowing you to get the final configuration that applies to a specific file, taking into account all the extended configurations.

const { CascadingConfigArrayFactory } = require('@eslint/eslintrc');
const factory = new CascadingConfigArrayFactory();
const configArray = factory.getConfigArrayForFile('some-file.js');

Other packages similar to @eslint/eslintrc

Readme

Source

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

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:

import { FlatCompat } from "@eslint/eslintrc";
import path from "path";
import { fileURLToPath } from "url";

// mimic CommonJS variables -- not needed if using CommonJS
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

const compat = new FlatCompat({
    baseDirectory: __dirname,                // optional; default: process.cwd()
    resolvePluginsRelativeTo: __dirname      // 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"
        }
    })
];

License

MIT License

Keywords

FAQs

Last updated on 31 Dec 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc