1. ホーム
  2. javascript

[解決済み] eslint は devDependencies ではなく、プロジェクトの dependencies にリストされるべきです。

2022-09-21 16:21:28

質問

わからないことがある dependencies vs. 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 ?

追記:CIにTravisを使っているので、それについても違いがあるかは全くわかりません。

どのように解決するのか?

これを .eslintrc :

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

[no-extraneous-dependencies] 例外を追加しますか?#422

このユーザーの返信を元に :

テストフォルダ内の .eslintrc に devDependencies: true というオプションを設定することができます。 をtrueに設定します。

rules: import/no-extraneous-dependencies: [error, { devDependencies: true }] とします。そうすると、参照されたパッケージのうち、含まれる依存関係やdevDependenciesでないものがあれば、そのレポートが表示されます。 含まれない依存関係やdevDependenciesである参照されたパッケージのレポートを得ることができます。 を得ることができます。 無効化コメントによるノイズを排除した、ルールの良さを得ることができます。 .

これならうまくいくかもしれませんね?これは、私がこのルールを使用する方法です。 あなたの場合、テストコードはtestディレクトリに分けられているので、このルールを使うことになります。 ディレクトリに分離しています。

また、この投稿は、私の依存関係のリストにこれらのいくつかを必要としないように私が非常識でないことを確認するのに役立ちました。 : 共有可能な ESLint 設定