Spec-Zone.ru › ESLint

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

Чтобы поделиться своей конфигурацией 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, вы можете считывать эти настройки из файла или генерировать их динамически.

Совет

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

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

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

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

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

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

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

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

// eslint.config.js
import { defineConfig } from "eslint/config";
import myconfig from "eslint-config-myconfig";

export default defineConfig([
	{
		files: ["**/*.js"],
		extends: [myconfig],
	},
]);
Предупреждение

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

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

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

// eslint.config.js
import { defineConfig } from "eslint/config";
import myconfig from "eslint-config-myconfig";

export default defineConfig([
	{
		files: ["**/*.js"],
		extends: [myconfig],

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

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

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

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

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

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

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

export default defineConfig([
	{
		files: ["**/*.js"],
		extends: [myconfig, mySpecialConfig],

		// anything from here will override myconfig
		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