eslint should be listed in the project's dependencies, not devDependencies

后端 未结 2 1711
执念已碎
执念已碎 2021-01-31 07:12

Either I don\'t understand dependencies vs. devDependencies in node 100% yet or eslint is just wrong here (not capable of analyzing this correctly):

相关标签:
2条回答
  • 2021-01-31 07:35

    Solved it with adding this to my .eslintrc:

    "import/no-extraneous-dependencies": ["error", {"devDependencies": true}]

    [no-extraneous-dependencies] Add exceptions? #422

    Based on this user's reply:

    you could set the option devDependencies: true in an .eslintrc in your test folder:

    rules: import/no-extraneous-dependencies: [error, { devDependencies: true }] Then you'll get reports of any packages referenced that are not included dependencies or devDependencies. Then you get the goodness of the rule, with no noise from the disable comments.

    I think that might work for you? This is how I would use the rule, in your case, since you have your test code separated into a test directory.

    Also this post was helpful to confirm I wasn't insane to not want some of these in my dependencies list: Sharable ESLint Config

    0 讨论(0)
  • 2021-01-31 07:39

    If you want to allow imports of devDependencies in test files only you can use an array of globs, as the documentation of no-extraneous-dependencies states:

    When using an array of globs, the setting will be set to true (no errors reported) if the name of the file being linted matches a single glob in the array, and false otherwise.

    The following setting will disable the lint for test files only.

    "import/no-extraneous-dependencies": ["error", {"devDependencies": ["**/*.test.ts", "**/*.test.tsx"]}]
    

    That way imports from devDependencies are still reported as errors.

    0 讨论(0)
提交回复
热议问题