Настройка совместного использования
Для совместного использования вашей конфигурации ESLint создайте конфигурацию для совместного использования. Вы можете опубликовать свою конфигурацию для совместного использования на npm, чтобы другие могли загрузить и использовать её в своих проектах ESLint.
Эта страница объясняет, как создать и опубликовать конфигурацию для совместного использования.
Создание конфигурации для совместного использования
Конфигурации для совместного использования — это просто пакеты 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, вы можете читать эти настройки из файла или генерировать их динамически.
Публикация конфигурации для совместного использования
После того, как ваша конфигурация для совместного использования будет готова, вы можете опубликовать её на 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.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"
}
}
];
Дополнительные материалы для чтения
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/extend/shareable-configs