Настройка парсера
Вы можете использовать пользовательские парсеры для преобразования JavaScript-кода в абстрактное синтаксическое дерево, которое ESLint будет оценивать. Возможно, вам потребуется добавить пользовательский парсер, если ваш код несовместим с парсером по умолчанию ESLint, Espree.
Настройка пользовательского парсера
Во многих случаях вы можете использовать парсер по умолчанию, который поставляется с ESLint, для разбора вашего JavaScript-кода. Вы можете по желанию переопределить парсер по умолчанию, используя свойство parser. Свойство parser должно быть объектом, соответствующим интерфейсу парсера. Например, вы можете использовать пакет @babel/eslint-parser, чтобы позволить ESLint анализировать экспериментальный синтаксис:
// eslint.config.js
import babelParser from "@babel/eslint-parser";
export default [
{
files: ["**/*.js", "**/*.mjs"],
languageOptions: {
parser: babelParser
}
}
];
Эта настройка гарантирует, что для разбора всех файлов, заканчивающихся на .js и .mjs, используется парсер Babel, а не парсер по умолчанию Espree.
Известно, что следующие парсеры сторонних производителей совместимы с ESLint:
- Esprima
- @babel/eslint-parser — оболочка вокруг парсера Babel, которая делает его совместимым с ESLint.
- @typescript-eslint/parser — парсер, преобразующий TypeScript в совместимый с ESTree формат, чтобы его можно было использовать в ESLint.
Настройка параметров парсера
Парсеры могут принимать параметры для изменения их поведения. Свойство languageOptions.parserOptions используется для передачи параметров непосредственно парсерам. Эти параметры всегда специфичны для парсера, поэтому вам необходимо проверить документацию используемого парсера для доступных параметров. Вот пример настройки параметров парсера для парсера Babel ESLint:
// eslint.config.js
import babelParser from "@babel/eslint-parser";
export default [
{
languageOptions: {
parser: babelParser,
parserOptions: {
requireConfigFile: false,
babelOptions: {
babelrc: false,
configFile: false,
presets: ["@babel/preset-env"]
}
}
}
}
];
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/use/configure/parser