我有一个简单的babel配置,将最新的ES代码转化为12.x
目标,但当我尝试使用最新的ES功能(如可选链接)时,eslint不喜欢它。
我的巴别塔配置是这样的:
{
"sourceMaps": "inline",
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
]
],
"plugins": [
"@babel/plugin-transform-runtime",
[
"module-resolver",
{
"alias": {
"^@/(.+)": "./src/\\1"
}
}
]
]
}
和一个eslint配置如下:
module.exports = {
extends: [
'airbnb',
'airbnb/hooks',
'plugin:jest/recommended',
'plugin:jest/style',
'plugin:cypress/recommended',
'eslint-config-prettier',
],
env: {
node: true,
es6: true,
jest: true,
browser: true,
},
plugins: ['no-autofix', 'jest', 'cypress'],
rules: {
...
},
parserOptions: {
sourceType: 'module',
ecmaVersion: 2019,
ecmaFeatures: {
jsx: true,
},
}
};
我如何告诉eslint ES版本实际上不是节点v12.x而是“最新的”?
2条答案
按热度按时间kqhtkvqz1#
原来我需要将
parserOptions.ecmaVersion
更新为2021
zed5wv102#
如果您使用的是ESLint 8(您应该使用),请在ESLint配置中将
es6: true
替换为es2021: true
并删除ecmaVersion: 2019
。添加所有ECMAScript 2021全局变量,并自动将
ecmaVersion
解析器选项设置为12。如果您确实想解析最新的语言版本而不是ES2021,那么在
parserOptions
中可以设置ecmaVersion: "latest"
。