Skip to content
This repository was archived by the owner on Aug 18, 2021. It is now read-only.

Commit 1823b5e

Browse files
authored
remove eslint 2 logic (#361)
* remove old code * remove async/await logic before eslint supported it * not needed
1 parent 4cf9ac1 commit 1823b5e

File tree

4 files changed

+22
-52
lines changed

4 files changed

+22
-52
lines changed

babylon-to-espree/toAST.js

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -202,25 +202,13 @@ var astTransformVisitor = {
202202
}
203203
}
204204

205-
// async function as generator
206-
if (path.isFunction()) {
207-
if (node.async) node.generator = true;
208-
}
209-
210205
// TODO: remove (old esprima)
211206
if (path.isFunction()) {
212207
if (!node.defaults) {
213208
node.defaults = [];
214209
}
215210
}
216211

217-
// await transform to yield
218-
if (path.isAwaitExpression()) {
219-
node.type = "YieldExpression";
220-
node.delegate = node.all;
221-
delete node.all;
222-
}
223-
224212
// template string range fixes
225213
if (path.isTemplateLiteral()) {
226214
node.quasis.forEach(function (q) {

index.js

Lines changed: 12 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
var babylonToEspree = require("./babylon-to-espree");
2-
var pick = require("lodash.pickby");
3-
var Module = require("module");
4-
var path = require("path");
5-
var parse = require("babylon").parse;
6-
var t = require("babel-types");
7-
var tt = require("babylon").tokTypes;
8-
var traverse = require("babel-traverse").default;
9-
10-
var estraverse;
2+
var pick = require("lodash.pickby");
3+
var Module = require("module");
4+
var path = require("path");
5+
var parse = require("babylon").parse;
6+
var t = require("babel-types");
7+
var tt = require("babylon").tokTypes;
8+
var traverse = require("babel-traverse").default;
9+
1110
var hasPatched = false;
1211
var eslintOptions = {};
1312

@@ -37,46 +36,21 @@ function monkeypatch() {
3736

3837
// get modules relative to what eslint will load
3938
var eslintMod = createModule(eslintLoc);
40-
var escopeLoc = Module._resolveFilename("escope", eslintMod);
41-
var escopeMod = createModule(escopeLoc);
42-
43-
// npm 3: monkeypatch estraverse if it's in escope
44-
var estraverseRelative = escopeMod;
45-
try {
46-
var esrecurseLoc = Module._resolveFilename("esrecurse", eslintMod);
47-
estraverseRelative = createModule(esrecurseLoc);
48-
} catch (err) {}
49-
5039
// contains all the instances of estraverse so we can modify them if necessary
5140
var estraverses = [];
52-
53-
// monkeypatch estraverse
54-
estraverse = estraverseRelative.require("estraverse");
55-
estraverses.push(estraverse);
56-
Object.assign(estraverse.VisitorKeys, t.VISITOR_KEYS);
57-
58-
// monkeypatch estraverse-fb (only for eslint < 2.3.0)
59-
try {
60-
var estraverseFb = eslintMod.require("estraverse-fb");
61-
estraverses.push(estraverseFb);
62-
Object.assign(estraverseFb.VisitorKeys, t.VISITOR_KEYS);
63-
} catch (err) {
64-
// Ignore: ESLint v2.3.0 does not have estraverse-fb
65-
}
66-
6741
// ESLint v1.9.0 uses estraverse directly to work around https://github.com/npm/npm/issues/9663
6842
var estraverseOfEslint = eslintMod.require("estraverse");
69-
if (estraverseOfEslint !== estraverseFb) {
70-
estraverses.push(estraverseOfEslint);
71-
Object.assign(estraverseOfEslint.VisitorKeys, t.VISITOR_KEYS);
72-
}
43+
estraverses.push(estraverseOfEslint);
44+
Object.assign(estraverseOfEslint.VisitorKeys, t.VISITOR_KEYS);
7345

7446
estraverses.forEach(function (estraverse) {
7547
estraverse.VisitorKeys.MethodDefinition.push("decorators");
7648
estraverse.VisitorKeys.Property.push("decorators");
7749
});
7850

7951
// monkeypatch escope
52+
var escopeLoc = Module._resolveFilename("escope", eslintMod);
53+
var escopeMod = createModule(escopeLoc);
8054
var escope = require(escopeLoc);
8155
var analyze = escope.analyze;
8256
escope.analyze = function (ast, opts) {

test/babel-eslint.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ function parseAndAssertSame(code) {
5656
range: true,
5757
comment: true,
5858
attachComment: true,
59-
ecmaVersion: 6,
59+
ecmaVersion: 8,
6060
sourceType: "module"
6161
});
6262
var babylonAST = babelEslint.parse(code);
@@ -455,5 +455,13 @@ describe("babylon-to-esprima", function () {
455455
parseAndAssertSame("var a = [ a, ...b ]");
456456
parseAndAssertSame("var a = sum(...b)");
457457
});
458+
459+
it("Async/Await", function() {
460+
parseAndAssertSame(
461+
`async function a() {
462+
await 1;
463+
}`
464+
);
465+
});
458466
});
459467
});

test/non-regression.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ function verifyAndAssertMessages(code, rules, expectedMessages, sourceType, over
1111
es6: true
1212
},
1313
parserOptions: {
14-
ecmaVersion: 6,
14+
ecmaVersion: 8,
1515
ecmaFeatures: {
1616
jsx: true,
1717
experimentalObjectRestSpread: true,

0 commit comments

Comments
 (0)