diff --git a/src/index.js b/src/index.js index 418dcd3..016fd25 100644 --- a/src/index.js +++ b/src/index.js @@ -34,6 +34,7 @@ class ESLintWebpackPlugin { // Generate key for each compilation, // this differentiates one from the other when being cached. this.key = compiler.name || `${this.key}_${(compilerId += 1)}`; + this.options.failOnError ??= compiler.options.mode !== "development"; const excludedFiles = parseFiles( this.options.exclude || [], diff --git a/src/options.js b/src/options.js index 3dfbad9..78da6a2 100644 --- a/src/options.js +++ b/src/options.js @@ -52,7 +52,6 @@ function getOptions(pluginOptions) { extensions: "js", emitError: true, emitWarning: true, - failOnError: true, resourceQueryExclude: [], ...pluginOptions, ...(pluginOptions.quiet ? { emitError: true, emitWarning: false } : {}), diff --git a/test/multiple-instances.test.js b/test/multiple-instances.test.js index 8e0247c..177ca5c 100644 --- a/test/multiple-instances.test.js +++ b/test/multiple-instances.test.js @@ -10,6 +10,7 @@ describe("multiple instances", () => { { plugins: [ new ESLintPlugin({ + failOnError: true, overrideConfigFile: join( __dirname, "./config-for-tests/eslint.config.mjs", @@ -18,6 +19,7 @@ describe("multiple instances", () => { exclude: "error.js", }), new ESLintPlugin({ + failOnError: true, overrideConfigFile: join( __dirname, "./config-for-tests/eslint.config.mjs", @@ -41,6 +43,7 @@ describe("multiple instances", () => { { plugins: [ new ESLintPlugin({ + failOnError: true, overrideConfigFile: join( __dirname, "./config-for-tests/eslint.config.mjs", @@ -49,6 +52,7 @@ describe("multiple instances", () => { exclude: "good.js", }), new ESLintPlugin({ + failOnError: true, overrideConfigFile: join( __dirname, "./config-for-tests/eslint.config.mjs", @@ -70,6 +74,7 @@ describe("multiple instances", () => { { plugins: [ new ESLintPlugin({ + failOnError: true, overrideConfigFile: join( __dirname, "./config-for-tests/eslint.config.mjs", @@ -78,6 +83,7 @@ describe("multiple instances", () => { exclude: "error.js", }), new ESLintPlugin({ + failOnError: true, overrideConfigFile: join( __dirname, "./config-for-tests/eslint.config.mjs", diff --git a/test/utils/conf.js b/test/utils/conf.js index 4fdf106..dda2752 100644 --- a/test/utils/conf.js +++ b/test/utils/conf.js @@ -24,7 +24,6 @@ export default (entry, pluginConf = {}, webpackConf = {}) => { ignore: false, // TODO: update tests to run both states: test.each([[{threads: false}], [{threads: true}]])('it should...', async ({threads}) => {...}) threads: true, - failOnError: false, ...pluginConf, }), ],