eslint 2.x 和 babel-eslint 不识别装饰器

eslint 2.x and babel-eslint Doesn't Recognize Decorators

我正在尝试升级到 eslint 2.x 和 babel-eslint 的最新版本。我一直无法让装饰器或 class 属性正确地 lint。我创建了一个最小的复制品,如下所示:

test.js

import {decorator} from 'foo';

@decorator('test')
export class Test {
  testProperty = 'a string';
}

package.json

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "test.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel": "^6.5.2",
    "babel-eslint": "^6.0.4",
    "babel-plugin-transform-decorators-legacy": "^1.3.4",
    "babel-preset-es2017": "^1.4.0",
    "babel-preset-stage-1": "^6.5.0",
    "eslint": "^2.10.1"
  }
}

.babelrc

{
  "presets": ["es2017", "stage-1"],
  "plugins": ["transform-decorators-legacy"]
}

.eslintrc.json { "parser": "babel-eslint", "parserOptions":{ "sourceType": "module" }, "rules":{ "strict": 0 } }

当我 运行 eslint test.js 我得到以下信息:

  3:1  error  Parsing error: Unexpected character '@'

✖ 1 problem (1 error, 0 warnings)

如果我注释掉第 3 行,则会得到:

  5:16  error  Parsing error: Unexpected token =

✖ 1 problem (1 error, 0 warnings)

似乎正在使用 babel-eslint 来解析文件,但没有从 .babelrc 文件中获取任何信息。

如何启用 eslint 和 babel-eslint 来成功解析然后 lint 这个文件?

这是库中的错误。

建议降级到版本2.9

GitHub issue