Skip to content
This repository was archived by the owner on Sep 28, 2020. It is now read-only.

Commit 7caa2c4

Browse files
committed
Remove duplicate output.
1 parent fd40172 commit 7caa2c4

File tree

4 files changed

+40
-24
lines changed

4 files changed

+40
-24
lines changed

index.js

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,33 @@ var cache = createCache("eslint-loader")
88

99
var engines = {}
1010

11+
/**
12+
* Class representing an ESLintError.
13+
* @extends Error
14+
*/
15+
class ESLintError extends Error {
16+
/**
17+
* Create an ESLintError.
18+
* @param {string} messages - Formatted eslint errors.
19+
*/
20+
constructor(messages) {
21+
super()
22+
this.name = "ESLintError"
23+
this.message = messages
24+
this.stack = ""
25+
}
26+
27+
/**
28+
* Returns a stringified representation of our error. This method is called
29+
* when an error is consumed by console methods
30+
* ex: console.error(new ESLintError(formattedMessage))
31+
* @return {string} error - A stringified representation of the error.
32+
*/
33+
inspect() {
34+
return this.message
35+
}
36+
}
37+
1138
/**
1239
* printLinterOutput
1340
*
@@ -80,17 +107,18 @@ function printLinterOutput(res, config, webpack) {
80107
}
81108

82109
if (emitter) {
83-
emitter(messages)
84110
if (config.failOnError && res.errorCount) {
85-
throw new Error(
111+
throw new ESLintError(
86112
"Module failed because of a eslint error.\n" + messages
87113
)
88114
}
89115
else if (config.failOnWarning && res.warningCount) {
90-
throw new Error(
116+
throw new ESLintError(
91117
"Module failed because of a eslint warning.\n" + messages
92118
)
93119
}
120+
121+
emitter(new ESLintError(messages))
94122
}
95123
else {
96124
throw new Error(

test/formatter-multiple-entries.js

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
var test = require("ava")
22
var webpack = require("webpack")
33
var conf = require("./utils/conf")
4-
var webpackWeirdPrefix = require("./utils/weird-prefix.js")
54
var fs = require("fs")
5+
var path = require("path")
66

77
test.cb("eslint-loader can be configured to write multiple eslint result files",
88
function(t) {
99
var outputFilename = "outputReport-[name].txt"
10-
var outputFilenamesArr = [
11-
"outputReport-error-multi-two.txt",
12-
"outputReport-error-multi-one.txt",
13-
"outputReport-error-multi.txt",
14-
]
1510
var config = conf(
1611
{
1712
entry: [
@@ -30,31 +25,32 @@ function(t) {
3025

3126
/* Plan for the success count. Failure cases are going to fail anyway so the
3227
* count being off for those cases doesn't matter. */
33-
t.plan(outputFilenamesArr.length * 2)
28+
t.plan(config.entry.length * 2)
3429

3530
webpack(config,
3631
function(err, stats) {
3732
if (err) {
3833
throw err
3934
}
4035

41-
for (var i = 0; i < outputFilenamesArr.length; i++) {
42-
var filename = config.output.path + outputFilenamesArr[i]
36+
stats.compilation.errors.forEach(function(error) {
37+
var basename = path.basename(error.module.resource, ".js")
38+
var filename = config.output.path + "outputReport-" + basename + ".txt"
4339

4440
try {
4541
var contents = fs.readFileSync(filename, "utf8")
4642

4743
t.pass("File '" + filename + "' has been created")
4844
t.is(
49-
stats.compilation.errors[i].message,
50-
webpackWeirdPrefix + contents,
45+
error.message,
46+
contents,
5147
"File '" + filename + "' Contents should equal output"
5248
)
5349
}
5450
catch (e) {
5551
t.fail("Expected file '" + filename + "' to have been created:" + e)
5652
}
57-
}
53+
})
5854

5955
t.end()
6056
})

test/formatter-write.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
var test = require("ava")
33
var webpack = require("webpack")
44
var conf = require("./utils/conf")
5-
var webpackWeirdPrefix = require("./utils/weird-prefix.js")
65
var fs = require("fs")
76

87
test.cb("eslint-loader can be configured to write eslint results to a file",
@@ -46,7 +45,7 @@ function(t) {
4645

4746
t.is(
4847
stats.compilation.errors[0].message,
49-
webpackWeirdPrefix + contents,
48+
contents,
5049
"File Contents should equal output"
5150
)
5251
}

test/utils/weird-prefix.js

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)