remove eslint 2 logic (babel/babel-eslint#361)
* remove old code * remove async/await logic before eslint supported it * not needed
This commit is contained in:
parent
ce6d9df192
commit
3c414db312
@ -202,11 +202,6 @@ var astTransformVisitor = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// async function as generator
|
|
||||||
if (path.isFunction()) {
|
|
||||||
if (node.async) node.generator = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: remove (old esprima)
|
// TODO: remove (old esprima)
|
||||||
if (path.isFunction()) {
|
if (path.isFunction()) {
|
||||||
if (!node.defaults) {
|
if (!node.defaults) {
|
||||||
@ -214,13 +209,6 @@ var astTransformVisitor = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// await transform to yield
|
|
||||||
if (path.isAwaitExpression()) {
|
|
||||||
node.type = "YieldExpression";
|
|
||||||
node.delegate = node.all;
|
|
||||||
delete node.all;
|
|
||||||
}
|
|
||||||
|
|
||||||
// template string range fixes
|
// template string range fixes
|
||||||
if (path.isTemplateLiteral()) {
|
if (path.isTemplateLiteral()) {
|
||||||
node.quasis.forEach(function (q) {
|
node.quasis.forEach(function (q) {
|
||||||
|
|||||||
@ -7,7 +7,6 @@ var t = require("babel-types");
|
|||||||
var tt = require("babylon").tokTypes;
|
var tt = require("babylon").tokTypes;
|
||||||
var traverse = require("babel-traverse").default;
|
var traverse = require("babel-traverse").default;
|
||||||
|
|
||||||
var estraverse;
|
|
||||||
var hasPatched = false;
|
var hasPatched = false;
|
||||||
var eslintOptions = {};
|
var eslintOptions = {};
|
||||||
|
|
||||||
@ -37,39 +36,12 @@ function monkeypatch() {
|
|||||||
|
|
||||||
// get modules relative to what eslint will load
|
// get modules relative to what eslint will load
|
||||||
var eslintMod = createModule(eslintLoc);
|
var eslintMod = createModule(eslintLoc);
|
||||||
var escopeLoc = Module._resolveFilename("escope", eslintMod);
|
|
||||||
var escopeMod = createModule(escopeLoc);
|
|
||||||
|
|
||||||
// npm 3: monkeypatch estraverse if it's in escope
|
|
||||||
var estraverseRelative = escopeMod;
|
|
||||||
try {
|
|
||||||
var esrecurseLoc = Module._resolveFilename("esrecurse", eslintMod);
|
|
||||||
estraverseRelative = createModule(esrecurseLoc);
|
|
||||||
} catch (err) {}
|
|
||||||
|
|
||||||
// contains all the instances of estraverse so we can modify them if necessary
|
// contains all the instances of estraverse so we can modify them if necessary
|
||||||
var estraverses = [];
|
var estraverses = [];
|
||||||
|
|
||||||
// monkeypatch estraverse
|
|
||||||
estraverse = estraverseRelative.require("estraverse");
|
|
||||||
estraverses.push(estraverse);
|
|
||||||
Object.assign(estraverse.VisitorKeys, t.VISITOR_KEYS);
|
|
||||||
|
|
||||||
// monkeypatch estraverse-fb (only for eslint < 2.3.0)
|
|
||||||
try {
|
|
||||||
var estraverseFb = eslintMod.require("estraverse-fb");
|
|
||||||
estraverses.push(estraverseFb);
|
|
||||||
Object.assign(estraverseFb.VisitorKeys, t.VISITOR_KEYS);
|
|
||||||
} catch (err) {
|
|
||||||
// Ignore: ESLint v2.3.0 does not have estraverse-fb
|
|
||||||
}
|
|
||||||
|
|
||||||
// ESLint v1.9.0 uses estraverse directly to work around https://github.com/npm/npm/issues/9663
|
// ESLint v1.9.0 uses estraverse directly to work around https://github.com/npm/npm/issues/9663
|
||||||
var estraverseOfEslint = eslintMod.require("estraverse");
|
var estraverseOfEslint = eslintMod.require("estraverse");
|
||||||
if (estraverseOfEslint !== estraverseFb) {
|
|
||||||
estraverses.push(estraverseOfEslint);
|
estraverses.push(estraverseOfEslint);
|
||||||
Object.assign(estraverseOfEslint.VisitorKeys, t.VISITOR_KEYS);
|
Object.assign(estraverseOfEslint.VisitorKeys, t.VISITOR_KEYS);
|
||||||
}
|
|
||||||
|
|
||||||
estraverses.forEach(function (estraverse) {
|
estraverses.forEach(function (estraverse) {
|
||||||
estraverse.VisitorKeys.MethodDefinition.push("decorators");
|
estraverse.VisitorKeys.MethodDefinition.push("decorators");
|
||||||
@ -77,6 +49,8 @@ function monkeypatch() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// monkeypatch escope
|
// monkeypatch escope
|
||||||
|
var escopeLoc = Module._resolveFilename("escope", eslintMod);
|
||||||
|
var escopeMod = createModule(escopeLoc);
|
||||||
var escope = require(escopeLoc);
|
var escope = require(escopeLoc);
|
||||||
var analyze = escope.analyze;
|
var analyze = escope.analyze;
|
||||||
escope.analyze = function (ast, opts) {
|
escope.analyze = function (ast, opts) {
|
||||||
|
|||||||
@ -56,7 +56,7 @@ function parseAndAssertSame(code) {
|
|||||||
range: true,
|
range: true,
|
||||||
comment: true,
|
comment: true,
|
||||||
attachComment: true,
|
attachComment: true,
|
||||||
ecmaVersion: 6,
|
ecmaVersion: 8,
|
||||||
sourceType: "module"
|
sourceType: "module"
|
||||||
});
|
});
|
||||||
var babylonAST = babelEslint.parse(code);
|
var babylonAST = babelEslint.parse(code);
|
||||||
@ -455,5 +455,13 @@ describe("babylon-to-esprima", function () {
|
|||||||
parseAndAssertSame("var a = [ a, ...b ]");
|
parseAndAssertSame("var a = [ a, ...b ]");
|
||||||
parseAndAssertSame("var a = sum(...b)");
|
parseAndAssertSame("var a = sum(...b)");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("Async/Await", function() {
|
||||||
|
parseAndAssertSame(
|
||||||
|
`async function a() {
|
||||||
|
await 1;
|
||||||
|
}`
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@ -11,7 +11,7 @@ function verifyAndAssertMessages(code, rules, expectedMessages, sourceType, over
|
|||||||
es6: true
|
es6: true
|
||||||
},
|
},
|
||||||
parserOptions: {
|
parserOptions: {
|
||||||
ecmaVersion: 6,
|
ecmaVersion: 8,
|
||||||
ecmaFeatures: {
|
ecmaFeatures: {
|
||||||
jsx: true,
|
jsx: true,
|
||||||
experimentalObjectRestSpread: true,
|
experimentalObjectRestSpread: true,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user