簡體   English   中英

eslint 應該列在項目的依賴項中,而不是 devDependencies

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

要么我不理解節點 100% 中的dependencies項與devDependencies ,要么 eslint 在這里是錯誤的(無法正確分析):

   3:1   error  'chai' should be listed in the project's dependencies, not devDependencies              import/no-extraneous-dependencies
   4:1   error  'chai-enzyme' should be listed in the project's dependencies, not devDependencies       import/no-extraneous-dependencies
   5:1   error  'enzyme' should be listed in the project's dependencies, not devDependencies            import/no-extraneous-dependencies
   7:1   error  'sinon' should be listed in the project's dependencies, not devDependencies             import/no-extraneous-dependencies
   9:1   error  'redux-mock-store' should be listed in the project's dependencies, not devDependencies  import/no-extraneous-dependencies

這些是測試依賴項,為什么說它們應該列在dependencies中?

附加說明:我們使用 Travis 作為我們的 CI,所以我也不知道這是否會有所作為。

將此添加到我的.eslintrc解決了它:

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

[no-extraneous-dependencies]添加異常? #422

根據此用戶的回復

您可以在測試文件夾中的.eslintrc中設置選項devDependencies:true:

規則:import / no-extraneous-dependencies:[error,{devDependencies:true}]然后,您將獲得所引用的任何未包含依賴項或devDependencies的包的報告。 然后你得到了規則的優點,沒有來自禁用評論的噪音

我想這可能對你有用嗎? 在您的情況下,這就是我將使用該規則的方式,因為您將測試代碼分隔為測試目錄。

這篇文章也有助於確認我不想在我的依賴列表中不想要其中的一些Sharable ESLint Config

如果要允許在測試文件中導入devDependencies ,則只能使用array of globs ,因為no-extraneous-dependencies文檔指出:

使用globs數組時,如果要繪制的文件的名稱與數組中的單個glob匹配,則設置將設置為true(未報告錯誤),否則為false。

以下設置將僅禁用測試文件的lint。

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

這樣,從devDependencies導入仍然會報告為錯誤。

我能夠通過將缺少的包(在我的情況下,Typescript 和 Storybook)添加到.eslintrc plugins目錄來解決它。

我在這篇文章中給出了細節: ESLint error: '@storybook/react' 應該列在項目的依賴項中,而不是 devDependencies

我通過使用修復它

 'import/no-extraneous-dependencies': [
      'error',
      {
        projectDependencies: false,
      },
    ],

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM