Eslint开玩笑/全局环境密钥未知

时间:2019-09-23 15:33:47

标签: jestjs eslint

我有一个自定义eslint-config,其中包含多个插件,可用于各种软件包,包括jest。我将主要设置为索引,该索引仅扩展了其他文件。

长话大说,我有一个笑话配置文件。看起来像。

module.exports = {
    plugins: ['jest'],
    rules: {
        'jest/no-disabled-tests': 'warn',
        'jest/no-focused-tests': 'error',
        'jest/no-identical-title': 'error',
        'jest/valid-expect': 'error',
        'jest/no-alias-methods': 'off',
        'jest/no-jest-import': 'error',
        'jest/no-large-snapshots': ['warn', {maxSize: 300}],
        'jest/no-test-prefixes': 'error',
        'jest/prefer-to-contain': 'warn',
        'jest/prefer-to-have-length': 'warn',
        'jest/valid-describe': 'error',
        'jest/valid-expect-in-promise': 'error',
        'jest/consistent-test-it': 'off',
        'jest/lowercase-name': 'off',
        'jest/no-hooks': 'off',
        'jest/no-jasmine-globals': 'off',
        'jest/no-test-callback': 'off',
        'jest/prefer-expect-assertions': 'off',
        'jest/prefer-to-be-null': 'off',
        'jest/prefer-to-be-undefined': 'off',
        'jest/require-tothrow-message': 'off',
        'jest/expect-expect': 'off',
        'jest/no-test-return-statement': 'off',
        'jest/prefer-inline-snapshots': 'off',
        'jest/prefer-strict-equal': 'off',
        'jest/prefer-spy-on': 'off',
        'jest/prefer-todo': 'warn',
        'jest/prefer-called-with': 'error',
        'jest/no-truthy-falsy': 'off',
        'jest/no-empty-title': 'error',
        'jest/no-mocks-import': 'error',
        'jest/no-commented-out-tests': 'warn',
    },
    env: {
        'jest/globals': true,
    },
}

运行皮棉任务时,我不断收到错误Environment key "jest/globals" is unknown。据我所知,我已经跟踪了config-validator,但是没有发现任何问题。 eslint-plugin-jest板上没有关于此的打开/关闭问题,我找不到其他遇到相同错误的人。

另外,我还安装了cypress插件,该插件本身具有环境选项cypress / globals:true,它还会引发相同的错误。

有人遇到过这种情况,并且知道为什么(在过去一个月左右)开始发生这种情况。注意:我已经有一段时间这个配置了,这才刚刚开始发生。

编辑: 我只是降级到eslint ^ 6.1.0,这个问题不再存在。导致此问题的原因是6.1.0和6.4.0之间。

3 个答案:

答案 0 :(得分:2)

我也遇到过这个问题并通过以下步骤解决:

更新 Package.json(从扩展数组中删除“react-app/jest”

  1. "eslintConfig": { “扩展”:[ “反应应用程序” ] },
  2. 运行 npm install 并再次检查它有效 对我来说效果很好

答案 1 :(得分:1)

将其放入“扩展”中为我解决了这个问题。

“扩展”:[ “推荐:推荐”, “插件:开玩笑/推荐” ]

答案 2 :(得分:0)

遵循本指南:

https://www.npmjs.com/package/eslint-plugin-jest

基本是:npm i --save-dev eslint-plugin-jest

将此添加到您的.eslintrc文件中:

"plugins": ["jest"]

然后您的env属性"jest/globals": true应该起作用。