Spec-Zone.ru › ESLint

Настройка совместного использования

Для совместного использования вашей конфигурации ESLint создайте конфигурацию для совместного использования. Вы можете опубликовать свою конфигурацию для совместного использования на npm, чтобы другие могли загрузить и использовать её в своих проектах ESLint.

Эта страница объясняет, как создать и опубликовать конфигурацию для совместного использования.

Подсказка

Эта страница объясняет, как создать конфигурацию для совместного использования, используя формат плоской конфигурации. Для устаревшего формата eslintrc см. устаревшую документацию.

Создание конфигурации для совместного использования

Конфигурации для совместного использования — это просто пакеты npm, которые экспортируют объект или массив конфигурации. Для начала создайте модуль Node.js, как обычно.

Вы можете назвать пакет как угодно, но мы рекомендуем использовать одну из следующих конвенций, чтобы сделать ваш пакет более узнаваемым:

  • Начните с eslint-config-, например, eslint-config-myconfig.
  • Для модуля npm с областью видимости назовите или префикс модуля @scope/eslint-config, например, @scope/eslint-config или @scope/eslint-config-myconfig.

В вашем модуле экспортируйте конфигурацию для совместного использования из файла точки входа модуля main. Файл по умолчанию — index.js. Например:

// index.js
export default [
    {
        languageOptions: {
            globals: {
                MyGlobal: true
            }
        },

        rules: {
            semi: [2, "always"]
        }

    }
];

Поскольку файл index.js — это просто JavaScript, вы можете читать эти настройки из файла или генерировать их динамически.

Подсказка

Большинство случаев предполагают экспорт массива объектов конфигурации из вашей конфигурации для совместного использования. Однако вы также можете экспортировать один объект конфигурации. Убедитесь, что ваша документация чётко показывает пример использования вашей конфигурации для совместного использования внутри файла eslint.config.js для предотвращения путаницы у пользователя.

Публикация конфигурации для совместного использования

После того, как ваша конфигурация для совместного использования будет готова, вы можете опубликовать её на npm, чтобы поделиться ею с другими. Мы рекомендуем использовать eslint и eslintconfig ключевые слова в файле package.json, чтобы другие могли легко найти ваш модуль.

Вы должны объявить зависимость от ESLint в файле package.json с помощью поля peerDependencies. Рекомендуемый способ объявления зависимости для будущей совместимости — использование синтаксиса диапазона «>=», используя самую низкую необходимую версию ESLint. Например:

{
    "peerDependencies": {
        "eslint": ">= 9"
    }
}

Если ваша конфигурация для совместного использования зависит от плагина или пользовательского парсера, вы должны указать эти пакеты как dependencies в вашем package.json.

Использование конфигурации для совместного использования

Чтобы использовать конфигурацию для совместного использования, импортируйте пакет внутри файла eslint.config.js и добавьте его в экспортируемый массив, как показано ниже:

// eslint.config.js
import myconfig from "eslint-config-myconfig";

export default [
    ...myconfig
];
Предупреждение

Использовать конфигурации для совместного использования с флагом ESLint CLI --config невозможно.

Переопределение настроек из конфигураций для совместного использования

Вы можете переопределить настройки из конфигурации для совместного использования, добавив их непосредственно в свой файл eslint.config.js после импорта конфигурации для совместного использования. Например:

// eslint.config.js
import myconfig from "eslint-config-myconfig";

export default [
    ...myconfig,

    // anything from here will override myconfig
    {
        rules: {
            "no-unused-vars": "warn"
        }
    }
];

Совместное использование нескольких конфигураций

Поскольку конфигурации для совместного использования — это просто пакеты npm, вы можете экспортировать любое количество конфигураций из одного пакета. Помимо указания конфигурации по умолчанию с помощью точки входа main в вашем файле package.json, вы можете указать дополнительные конфигурации для совместного использования, добавив новый файл в свой пакет npm и затем сославшись на него из своего файла eslint.config.js.

Например, вы можете создать файл my-special-config.js в корне вашего пакета npm и экспортировать конфигурацию, например:

// my-special-config.js
export default {
    rules: {
        quotes: [2, "double"]
    }
};

Затем, предполагая, что вы используете имя пакета eslint-config-myconfig, вы можете получить доступ к дополнительной конфигурации через:

// eslint.config.js
import myconfig from "eslint-config-myconfig";
import mySpecialConfig from "eslint-config-myconfig/my-special-config.js";

export default [
    ...myconfig,
    mySpecialConfig,

    // anything from here will override myconfig and mySpecialConfig
    {
        rules: {
            "no-unused-vars": "warn"
        }
    }
];
Важно

Мы настоятельно рекомендуем всегда включать экспорт по умолчанию для вашего пакета, чтобы избежать путаницы.

Дополнительные материалы для чтения

  • Руководство разработчика npm

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/extend/shareable-configs

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API