Eslint отключить строгий режим при использовании Babel Parser
Я использую eslint для проверки правильности JavaScript в проекте React. Однако я столкнулся с проблемой при одновременном использовании --rule 'strict: 0' и --parser=babel-eslint. К примеру:
Eslint без анализатора babel:
eslint --no-eslintrc file.js
Не отображает вывод, потому что не находит ошибку.
Эслинт с бабел-парсером:
eslint --no-eslintrc --parser=babel-eslint file.js
Отображает эту ошибку:
file.js
1:1 error Parsing error: Octal literal in strict mode
> 39 | language.french.value = ' caract\350res';
Я попытался отключить строгий режим с помощью --rule 'strict: 0', но это не удалось. Я получаю еще прецедентную ошибку.
Знаете ли вы способ отключить строгий режим с помощью babel-parser?
2 ответа
Я только что столкнулся с той же проблемой, наконец нашел ответ на github. Вы можете отключить глобальный строгий режим, изменивsourceType
к script
в вашем файле.eslintrc:
{
...
parser: 'babel-eslint',
parserOptions: {
sourceType: 'script'
}
...
}
Или, если вы хотите установить это через cli, просто:
eslint --no-eslintrc --parser=babel-eslint --parser-options=sourceType:script file.js
Потом:
Однако эта проблема все еще существует; Babel теперь использует Mono-Repo, и некоторые вещи изменились, что затруднило поиск этого Q&A. В настоящее время, если вы используете синтаксический анализатор babel для eslint, это больше не babel-eslint . И сообщение об ошибке ESLint больше не ссылается на проблему с восьмеричным литералом.
Сейчас:
Ниже приведен блок кода, содержащий сообщение об ошибке, чтобы роботы Google могли его захватить, а ниже вы увидите сообщение об ошибке, отображаемое в VSCode.
(Апрель 2021 г.)
'use strict' is unnecessary inside of modules. eslint(strict)
а в вашем eslintrc.json или эквиваленте YAML вы будете использовать имя bables newmono-repo eslint / babel parser '@ babel / eslint-parser'. Я разместил парсер и блок настроек парсера ниже.
{
"parser": "@babel/eslint-parser",
"parserOptions": {
"sourceType": "script"
},
}
Для тех, кто столкнулся с этой проблемой, как и я, я надеюсь, что вы окажетесь здесь намного быстрее, чем я.