Skip to content

Commit 4205236

Browse files
committed
chore(ESLint) rename MyLint to MyLinter
1 parent df717bd commit 4205236

File tree

4 files changed

+31
-21
lines changed

4 files changed

+31
-21
lines changed

src/ESLint/MyLinter-example.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
"use strict";
2+
import assert from "assert";
3+
import MyLinter from "./MyLinter";
4+
import noConsole from "./noConsole";
5+
let linter = new MyLinter();
6+
linter.loadPlugin(noConsole);
7+
var results = linter.lint(`console.log("test")`);
8+
assert(results.length > 0);
9+
assert.equal(results[0], "Unexpected console statement.");

src/ESLint/MyLint.js renamed to src/ESLint/MyLinter.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// LICENSE : MIT
21
"use strict";
32
import {parse} from "esprima";
43
import {traverse} from "estraverse";
@@ -8,14 +7,10 @@ class RuleContext extends EventEmitter {
87
this.emit("report", message);
98
}
109
}
11-
export default class MyLint extends EventEmitter {
10+
export default class MyLint {
1211
constructor() {
13-
super();
1412
this._emitter = new EventEmitter();
1513
this._ruleContext = new RuleContext();
16-
this._ruleContext.on("report", (message) => {
17-
this.emit("report", message);
18-
});
1914
}
2015

2116
loadPlugin(plugin) {
@@ -28,6 +23,11 @@ export default class MyLint extends EventEmitter {
2823

2924

3025
lint(code) {
26+
var messages = [];
27+
var addMessage = (message)=> {
28+
messages.push(message);
29+
};
30+
this._ruleContext.on("report", addMessage);
3131
var ast = parse(code);
3232
traverse(ast, {
3333
enter: (node) => {
@@ -37,5 +37,7 @@ export default class MyLint extends EventEmitter {
3737
this._emitter.emit(`${node.type}:exit`, node);
3838
}
3939
});
40+
this._ruleContext.removeListener("report", addMessage);
41+
return messages;
4042
}
4143
}

test/ESLint/MyLint-test.js

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

test/ESLint/MyLinter-test.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// LICENSE : MIT
2+
"use strict";
3+
import assert from "power-assert";
4+
import MyLinter from "../../src/ESLint/MyLinter";
5+
import noConsole from "../../src/ESLint/no-console";
6+
describe("MyLint", function () {
7+
it("should load and lint", function () {
8+
let linter = new MyLinter();
9+
linter.loadPlugin(noConsole);
10+
var results = linter.lint(`console.log("test")`);
11+
assert(results.length > 0);
12+
assert.equal(results[0], "Unexpected console statement.");
13+
});
14+
});

0 commit comments

Comments
 (0)