dependencies
vs. devDependencies
がノード100%でまだわからないか、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オプションを設定できます。
ルール:import/no-extraneous-dependencies:[error、{devDependencies:true}]その後、依存関係またはdevDependenciesを含まない参照パッケージのレポートを取得します。 次に、コメントを無効にすることでノイズのないルールの良さを取得します。
私はそれがあなたのために働くかもしれないと思いますか?テストコードをテストディレクトリに分離しているので、これがルールの使用方法です。
また、この投稿は、依存関係リストにこれらのいくつかを望まないことを正気にしないことを確認するのに役立ちました: Sharable ESLint Config =
テストファイルのみでdevDependencies
のインポートを許可したい場合、 として、array of globs
を使用できますドキュメント of no-extraneous-dependencies
状態:
グロブの配列を使用する場合、リントされるファイルの名前が配列内の単一のグロブと一致する場合、設定はtrue(エラーが報告されない)に設定され、そうでない場合はfalseに設定されます。
次の設定は、テストファイルに対してのみlintを無効にします。
"import/no-extraneous-dependencies": ["error", {"devDependencies": ["**/*.test.ts", "**/*.test.tsx"]}]
この方法では、devDependencies
からのインポートは引き続きエラーとして報告されます。