From ec74eb41cf80568884f21e356d83d7b2ff59c5ee Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Mon, 25 May 2015 00:42:59 +0100 Subject: [PATCH] reneable eslint and fix assorted linting errors --- .eslintrc | 8 +++-- Makefile | 7 +++-- package.json | 4 +-- src/babel/api/browser.js | 2 ++ src/babel/api/register/browser.js | 2 +- src/babel/api/register/node.js | 2 +- src/babel/generation/generators/modules.js | 4 +-- src/babel/generation/generators/types.js | 2 ++ src/babel/generation/index.js | 30 ++++++++++--------- src/babel/helpers/code-frame.js | 2 +- src/babel/helpers/normalize-ast.js | 2 +- src/babel/helpers/object.js | 2 +- src/babel/tools/build-external-helpers.js | 2 +- src/babel/tools/resolve-rc.js | 2 +- src/babel/transformation/file/index.js | 10 +++---- ...-binary-assignment-operator-transformer.js | 2 +- ...itional-assignment-operator-transformer.js | 2 +- .../helpers/build-react-transformer.js | 2 +- .../helpers/explode-assignable-expression.js | 2 +- .../helpers/get-function-arity.js | 2 +- .../helpers/remap-async-to-generator.js | 2 +- .../transformation/helpers/replace-supers.js | 8 ++--- src/babel/transformation/modules/_default.js | 2 +- src/babel/transformation/modules/_strict.js | 2 +- .../transformers/es6/block-scoping.js | 2 +- .../transformers/es6/classes.js | 13 ++++---- .../transformers/es6/tail-call.js | 6 ++-- .../transformers/es7/decorators.js | 8 ++--- .../transformers/internal/modules.js | 11 +++---- .../minification/remove-debugger.js | 4 +-- .../transformers/other/strict.js | 2 +- .../spec/block-scoped-functions.js | 2 +- src/babel/traversal/index.js | 6 ++-- src/babel/traversal/visitors.js | 6 ++-- src/babel/types/validators.js | 9 +----- src/babel/util.js | 4 +-- 36 files changed, 92 insertions(+), 86 deletions(-) diff --git a/.eslintrc b/.eslintrc index 8273a809af..a726e4c225 100644 --- a/.eslintrc +++ b/.eslintrc @@ -10,11 +10,15 @@ "no-return-assign": 0, "consistent-return": 0, "no-shadow": 0, - "no-comma-dangle": 0, + "comma-dangle": 0, "no-use-before-define": 0, "no-empty": 0, "new-parens": 0, - "no-cond-assign": 0 + "no-cond-assign": 0, + "no-fallthrough": 0, + "new-cap": 0, + "no-loop-func": 0, + "no-unreachable": 0 }, "env": { "node": true diff --git a/Makefile b/Makefile index 3cfebb95cb..bc123bb55c 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,9 @@ watch-core: clean-core clean-core: rm -rf lib +lint: + eslint src/babel + build: mkdir -p dist make build-core @@ -61,7 +64,7 @@ test-cov: test-parser: node test/acorn/run.js -test-travis: bootstrap build test +test-travis: bootstrap lint build test test-browser: mkdir -p dist @@ -73,7 +76,7 @@ test-browser: test -n "`which open`" && open test/browser.html -publish: +publish: lint git pull --rebase make test diff --git a/package.json b/package.json index f5f4d88e89..34b96189a1 100644 --- a/package.json +++ b/package.json @@ -67,8 +67,8 @@ "babel": "5.3.1", "browserify": "^9.0.8", "chai": "^2.2.0", - "eslint": "^0.18.0", - "babel-eslint": "^2.0.0", + "eslint": "^0.21.2", + "babel-eslint": "^3.1.8", "esvalid": "^1.1.0", "istanbul": "^0.3.5", "matcha": "^0.6.0", diff --git a/src/babel/api/browser.js b/src/babel/api/browser.js index c9db7aeaf6..341631b879 100644 --- a/src/babel/api/browser.js +++ b/src/babel/api/browser.js @@ -1,3 +1,5 @@ +/* eslint no-new-func: 0 */ + require("./node"); var transform = module.exports = require("../transformation"); diff --git a/src/babel/api/register/browser.js b/src/babel/api/register/browser.js index 84baa70c48..8ee46c7684 100644 --- a/src/babel/api/register/browser.js +++ b/src/babel/api/register/browser.js @@ -1,5 +1,5 @@ // required to safely use babel/register within a browserify codebase -export default function () {}; +export default function () {} import "../../polyfill"; diff --git a/src/babel/api/register/node.js b/src/babel/api/register/node.js index bb8622250b..8a1f541d74 100644 --- a/src/babel/api/register/node.js +++ b/src/babel/api/register/node.js @@ -164,4 +164,4 @@ export default function (opts = {}) { delete opts.only; extend(transformOpts, opts); -}; +} diff --git a/src/babel/generation/generators/modules.js b/src/babel/generation/generators/modules.js index 833b4ca2e8..88765cacc4 100644 --- a/src/babel/generation/generators/modules.js +++ b/src/babel/generation/generators/modules.js @@ -107,9 +107,9 @@ export function ImportDeclaration(node, print) { if (node.specifiers.length) { this.push("{"); - this.space() + this.space(); print.join(node.specifiers, { separator: ", " }); - this.space() + this.space(); this.push("}"); } diff --git a/src/babel/generation/generators/types.js b/src/babel/generation/generators/types.js index 63a2354aff..3452bd898c 100644 --- a/src/babel/generation/generators/types.js +++ b/src/babel/generation/generators/types.js @@ -1,3 +1,5 @@ +/* eslint quotes: 0 */ + import each from "lodash/collection/each"; import * as t from "../../types"; diff --git a/src/babel/generation/index.js b/src/babel/generation/index.js index c3c11c595f..fb7a0b9e55 100644 --- a/src/babel/generation/index.js +++ b/src/babel/generation/index.js @@ -252,21 +252,23 @@ class CodeGenerator { if (opts.indent) this.indent(); + var printOpts = { + statement: opts.statement, + addNewlines: opts.addNewlines, + after: () => { + if (opts.iterator) { + opts.iterator(node, i); + } + + if (opts.separator && i < len - 1) { + this.push(opts.separator); + } + } + }; + for (var i = 0; i < nodes.length; i++) { var node = nodes[i]; - print(node, { - statement: opts.statement, - addNewlines: opts.addNewlines, - after: () => { - if (opts.iterator) { - opts.iterator(node, i); - } - - if (opts.separator && i < len - 1) { - this.push(opts.separator); - } - } - }); + print(node, printOpts); } if (opts.indent) this.dedent(); @@ -318,7 +320,7 @@ class CodeGenerator { nodes.push(node.argument); } - for (var node of (nodes: Array)) { + for (let node of (nodes: Array)) { comments = comments.concat(this._getComments(key, node)); } diff --git a/src/babel/helpers/code-frame.js b/src/babel/helpers/code-frame.js index ac99470b34..cb99b09924 100644 --- a/src/babel/helpers/code-frame.js +++ b/src/babel/helpers/code-frame.js @@ -85,4 +85,4 @@ export default function (lines: number, lineNumber: number, colNumber: number, o params.before = params.before.replace(/^./, ">"); } }).join("\n"); -}; +} diff --git a/src/babel/helpers/normalize-ast.js b/src/babel/helpers/normalize-ast.js index f02c4182ce..9ff0219df4 100644 --- a/src/babel/helpers/normalize-ast.js +++ b/src/babel/helpers/normalize-ast.js @@ -6,4 +6,4 @@ export default function (ast, comments, tokens) { } else { throw new Error("Not a valid ast?"); } -}; +} diff --git a/src/babel/helpers/object.js b/src/babel/helpers/object.js index 1866b65cce..6386e50a80 100644 --- a/src/babel/helpers/object.js +++ b/src/babel/helpers/object.js @@ -1,3 +1,3 @@ export default function () { return Object.create(null); -}; +} diff --git a/src/babel/tools/build-external-helpers.js b/src/babel/tools/build-external-helpers.js index 4e3401af78..8342d60127 100644 --- a/src/babel/tools/build-external-helpers.js +++ b/src/babel/tools/build-external-helpers.js @@ -83,4 +83,4 @@ export default function (whitelist, outputType = "global") { } return generator(tree).code; -}; +} diff --git a/src/babel/tools/resolve-rc.js b/src/babel/tools/resolve-rc.js index aa56e3c764..7af26b57bc 100644 --- a/src/babel/tools/resolve-rc.js +++ b/src/babel/tools/resolve-rc.js @@ -56,4 +56,4 @@ export default function (loc, opts = {}) { } return opts; -}; +} diff --git a/src/babel/transformation/file/index.js b/src/babel/transformation/file/index.js index 5dd1c9f970..175defe4de 100644 --- a/src/babel/transformation/file/index.js +++ b/src/babel/transformation/file/index.js @@ -3,7 +3,7 @@ import * as optionParsers from "./option-parsers"; import moduleFormatters from "../modules"; import PluginManager from "./plugin-manager"; import shebangRegex from "shebang-regex"; -import TraversalPath from "../../traversal/path"; +import NodePath from "../../traversal/path"; import Transformer from "../transformer"; import isFunction from "lodash/lang/isFunction"; import isAbsolute from "path-is-absolute"; @@ -195,7 +195,7 @@ export default class File { // build internal transformers for (var key in this.pipeline.transformers) { var transformer = this.pipeline.transformers[key]; - var pass = transformers[key] = transformer.buildPass(file); + let pass = transformers[key] = transformer.buildPass(file); if (pass.canTransform()) { stack.push(pass); @@ -228,7 +228,7 @@ export default class File { this.uncollapsedTransformerStack = stack = stack.concat(secondaryStack); // build dependency graph - for (var pass of (stack: Array)) { + for (let pass of (stack: Array)) { for (var dep of (pass.transformer.dependencies: Array)) { this.transformerDependencies[dep] = pass.key; } @@ -410,7 +410,7 @@ export default class File { outputMapGenerator.applySourceMap(inputMapConsumer); var mergedMap = outputMapGenerator.toJSON(); - mergedMap.sources = inputMap.sources + mergedMap.sources = inputMap.sources; mergedMap.file = inputMap.file; return mergedMap; } @@ -467,7 +467,7 @@ export default class File { } _addAst(ast) { - this.path = TraversalPath.get(null, ast, ast, "program", this).setContext(null, this); + this.path = NodePath.get(null, ast, ast, "program", this).setContext(null, this); this.scope = this.path.scope; this.ast = ast; } diff --git a/src/babel/transformation/helpers/build-binary-assignment-operator-transformer.js b/src/babel/transformation/helpers/build-binary-assignment-operator-transformer.js index f026f4371f..6df5c773ae 100644 --- a/src/babel/transformation/helpers/build-binary-assignment-operator-transformer.js +++ b/src/babel/transformation/helpers/build-binary-assignment-operator-transformer.js @@ -44,4 +44,4 @@ export default function (opts) { }; return exports; -}; +} diff --git a/src/babel/transformation/helpers/build-conditional-assignment-operator-transformer.js b/src/babel/transformation/helpers/build-conditional-assignment-operator-transformer.js index 32cffe3245..f56e2ee889 100644 --- a/src/babel/transformation/helpers/build-conditional-assignment-operator-transformer.js +++ b/src/babel/transformation/helpers/build-conditional-assignment-operator-transformer.js @@ -42,4 +42,4 @@ export default function (exports, opts) { return nodes; }; -}; +} diff --git a/src/babel/transformation/helpers/build-react-transformer.js b/src/babel/transformation/helpers/build-react-transformer.js index c63bd60882..a2bd60b4b8 100644 --- a/src/babel/transformation/helpers/build-react-transformer.js +++ b/src/babel/transformation/helpers/build-react-transformer.js @@ -202,4 +202,4 @@ export default function (exports, opts) { addDisplayName(left.name, right); } }; -}; +} diff --git a/src/babel/transformation/helpers/explode-assignable-expression.js b/src/babel/transformation/helpers/explode-assignable-expression.js index 6575107292..4289f8f1f5 100644 --- a/src/babel/transformation/helpers/explode-assignable-expression.js +++ b/src/babel/transformation/helpers/explode-assignable-expression.js @@ -68,4 +68,4 @@ export default function (node, nodes, file, scope, allowedSingleIdent) { uid: uid, ref: ref }; -}; +} diff --git a/src/babel/transformation/helpers/get-function-arity.js b/src/babel/transformation/helpers/get-function-arity.js index da78d174c7..98a4e42839 100644 --- a/src/babel/transformation/helpers/get-function-arity.js +++ b/src/babel/transformation/helpers/get-function-arity.js @@ -6,4 +6,4 @@ export default function (node) { if (!t.isAssignmentPattern(node.params[i])) lastNonDefault = i + 1; } return lastNonDefault; -}; +} diff --git a/src/babel/transformation/helpers/remap-async-to-generator.js b/src/babel/transformation/helpers/remap-async-to-generator.js index 32b2240925..4b4923ac22 100644 --- a/src/babel/transformation/helpers/remap-async-to-generator.js +++ b/src/babel/transformation/helpers/remap-async-to-generator.js @@ -55,4 +55,4 @@ export default function (node, callId, scope) { return call; } -}; +} diff --git a/src/babel/transformation/helpers/replace-supers.js b/src/babel/transformation/helpers/replace-supers.js index 3e43881227..45c77a5512 100644 --- a/src/babel/transformation/helpers/replace-supers.js +++ b/src/babel/transformation/helpers/replace-supers.js @@ -130,7 +130,7 @@ export default class ReplaceSupers { * Description */ - traverseLevel(path: TraversalPath, topLevel: boolean) { + traverseLevel(path: NodePath, topLevel: boolean) { var state = { self: this, topLevel: topLevel }; path.traverse(visitor, state); } @@ -192,7 +192,7 @@ export default class ReplaceSupers { * Description */ - looseHandle(path: TraversalPath, getThisReference: Function) { + looseHandle(path: NodePath, getThisReference: Function) { var node = path.node; if (path.isSuper()) { return this.getLooseSuperProperty(node, path.parent); @@ -234,7 +234,7 @@ export default class ReplaceSupers { * Description */ - specHandle(path: TraversalPath, getThisReference: Function) { + specHandle(path: NodePath, getThisReference: Function) { var methodNode = this.methodNode; var property; var computed; @@ -274,7 +274,7 @@ export default class ReplaceSupers { property = node.property; computed = node.computed; } else if (t.isUpdateExpression(node) && isMemberExpressionSuper(node.argument)) { - var binary = t.binaryExpression(node.operator[0], node.argument, t.literal(1)) + var binary = t.binaryExpression(node.operator[0], node.argument, t.literal(1)); if (node.prefix) { // ++super.foo; -> super.foo += 1; return this.specHandleAssignmentExpression(null, path, binary, getThisReference); diff --git a/src/babel/transformation/modules/_default.js b/src/babel/transformation/modules/_default.js index 54dabd1cd1..40922bec88 100644 --- a/src/babel/transformation/modules/_default.js +++ b/src/babel/transformation/modules/_default.js @@ -86,7 +86,7 @@ var metadataVisitor = { var declar = this.get("declaration"); if (declar.isStatement()) { - var bindings = declar.getBindingIdentifiers() + var bindings = declar.getBindingIdentifiers(); for (var name in bindings) { var binding = bindings[name]; formatter._addExport(name, binding); diff --git a/src/babel/transformation/modules/_strict.js b/src/babel/transformation/modules/_strict.js index 8a422da334..02c8aba004 100644 --- a/src/babel/transformation/modules/_strict.js +++ b/src/babel/transformation/modules/_strict.js @@ -10,4 +10,4 @@ export default function (Parent) { util.inherits(Constructor, Parent); return Constructor; -}; +} diff --git a/src/babel/transformation/transformers/es6/block-scoping.js b/src/babel/transformation/transformers/es6/block-scoping.js index 36d91fb64d..67c5ad1711 100644 --- a/src/babel/transformation/transformers/es6/block-scoping.js +++ b/src/babel/transformation/transformers/es6/block-scoping.js @@ -258,7 +258,7 @@ class BlockScoping { * Description */ - constructor(loopPath?: TraversalPath, blockPath: TraversalPath, parent: Object, scope: Scope, file: File) { + constructor(loopPath?: NodePath, blockPath: NodePath, parent: Object, scope: Scope, file: File) { this.parent = parent; this.scope = scope; this.file = file; diff --git a/src/babel/transformation/transformers/es6/classes.js b/src/babel/transformation/transformers/es6/classes.js index c86c38f6fa..d8f54e8ac0 100644 --- a/src/babel/transformation/transformers/es6/classes.js +++ b/src/babel/transformation/transformers/es6/classes.js @@ -104,7 +104,7 @@ class ClassTransformer { * Description */ - constructor(path: TraversalPath, file: File) { + constructor(path: NodePath, file: File) { this.parent = path.parent; this.scope = path.scope; this.node = path.node; @@ -262,7 +262,7 @@ class ClassTransformer { var map = defineMap.push(mutatorMap, node, kind, this.file); if (enumerable) { - map.enumerable = t.literal(true) + map.enumerable = t.literal(true); } if (map.decorators) { @@ -375,7 +375,7 @@ class ClassTransformer { } var lastNonNullIndex = 0; - for (var i = 0; i < args.length; i++) { + for (let i = 0; i < args.length; i++) { if (args[i] !== nullNode) lastNonNullIndex = i; } args = args.slice(0, lastNonNullIndex + 1); @@ -450,7 +450,7 @@ class ClassTransformer { * Description */ - verifyConstructor(path: TraversalPath) { + verifyConstructor(path: NodePath) { var state = { hasBareSuper: false, bareSuper: null, @@ -471,7 +471,7 @@ class ClassTransformer { * Push a method to its respective mutatorMap. */ - pushMethod(node: { type: "MethodDefinition" }, path?: TraversalPath, allowedIllegal?) { + pushMethod(node: { type: "MethodDefinition" }, path?: NodePath, allowedIllegal?) { if (!allowedIllegal && t.isLiteral(t.toComputedKey(node), { value: PROPERTY_COLLISION_METHOD_NAME })) { throw this.file.errorWithNode(node, messages.get("illegalMethodName", PROPERTY_COLLISION_METHOD_NAME)); } @@ -519,7 +519,6 @@ class ClassTransformer { this.pushToMap(node, true, "initializer"); var initializers; - var body; var target; if (node.static) { initializers = this.staticInitializersId = this.staticInitializersId || this.scope.generateUidIdentifier("staticInitializers"); @@ -558,7 +557,7 @@ class ClassTransformer { * Replace the constructor body of our class. */ - pushConstructor(method: { type: "MethodDefinition" }, path: TraversalPath) { + pushConstructor(method: { type: "MethodDefinition" }, path: NodePath) { // https://github.com/babel/babel/issues/1077 var fnPath = path.get("value"); if (fnPath.scope.hasOwnBinding(this.classRef.name)) { diff --git a/src/babel/transformation/transformers/es6/tail-call.js b/src/babel/transformation/transformers/es6/tail-call.js index 543624e837..6f438180ed 100644 --- a/src/babel/transformation/transformers/es6/tail-call.js +++ b/src/babel/transformation/transformers/es6/tail-call.js @@ -204,7 +204,7 @@ class TailCallTransformer { } if (this.needsArguments || this.setsArguments) { - for (var path of (this.argumentsPaths: Array)) { + for (let path of (this.argumentsPaths: Array)) { path.replaceWith(this.argumentsId); } @@ -356,14 +356,14 @@ class TailCallTransformer { var elems = args.elements; for (let i = 0; i < elems.length && i < params.length; i++) { let param = params[i]; - var elem = elems[i] || (elems[i] = t.identifier("undefined")); + let elem = elems[i] || (elems[i] = t.identifier("undefined")); if (!param._isDefaultPlaceholder) { elems[i] = t.assignmentExpression("=", param, elem); } } if (!this.needsArguments) { - for (var elem of (elems: Array)) { + for (let elem of (elems: Array)) { body.push(t.expressionStatement(elem)); } } diff --git a/src/babel/transformation/transformers/es7/decorators.js b/src/babel/transformation/transformers/es7/decorators.js index aaa54b0ee2..6f927f3ee0 100644 --- a/src/babel/transformation/transformers/es7/decorators.js +++ b/src/babel/transformation/transformers/es7/decorators.js @@ -10,8 +10,8 @@ export var metadata = { export function ObjectExpression(node, parent, scope, file) { var hasDecorators = false; - for (var i = 0; i < node.properties.length; i++) { - var prop = node.properties[i]; + for (let i = 0; i < node.properties.length; i++) { + let prop = node.properties[i]; if (prop.decorators) { hasDecorators = true; break; @@ -21,8 +21,8 @@ export function ObjectExpression(node, parent, scope, file) { var mutatorMap = {}; - for (var i = 0; i < node.properties.length; i++) { - var prop = node.properties[i]; + for (let i = 0; i < node.properties.length; i++) { + let prop = node.properties[i]; if (prop.decorators) memoiseDecorators(prop.decorators, scope); diff --git a/src/babel/transformation/transformers/internal/modules.js b/src/babel/transformation/transformers/internal/modules.js index 0ac74d8a38..bb14c9980a 100644 --- a/src/babel/transformation/transformers/internal/modules.js +++ b/src/babel/transformation/transformers/internal/modules.js @@ -24,7 +24,7 @@ export function ExportDefaultDeclaration(node, parent, scope) { if (t.isClassDeclaration(declar)) { // export default class Foo {}; - var nodes = [getDeclar(node), node]; + let nodes = [getDeclar(node), node]; node.declaration = declar.id; return nodes; } else if (t.isClassExpression(declar)) { @@ -34,14 +34,14 @@ export function ExportDefaultDeclaration(node, parent, scope) { t.variableDeclarator(temp, declar) ]); - var nodes = [getDeclar(node), node]; + let nodes = [getDeclar(node), node]; node.declaration = temp; return nodes; } else if (t.isFunctionDeclaration(declar)) { // export default function Foo() {} node._blockHoist = 2; - var nodes = [getDeclar(node), node]; + let nodes = [getDeclar(node), node]; node.declaration = declar.id; return nodes; } @@ -57,7 +57,8 @@ export function ExportNamedDeclaration(node, parent, scope) { if (t.isClassDeclaration(declar)) { // export class Foo {} node.specifiers = [buildExportSpecifier(declar.id)]; - var nodes = [getDeclar(node), node]; + + let nodes = [getDeclar(node), node]; node.declaration = null; return nodes; } else if (t.isFunctionDeclaration(declar)) { @@ -65,7 +66,7 @@ export function ExportNamedDeclaration(node, parent, scope) { node.specifiers = [buildExportSpecifier(declar.id)]; node._blockHoist = 2; - var nodes = [getDeclar(node), node]; + let nodes = [getDeclar(node), node]; node.declaration = null; return nodes; } else if (t.isVariableDeclaration(declar)) { diff --git a/src/babel/transformation/transformers/minification/remove-debugger.js b/src/babel/transformation/transformers/minification/remove-debugger.js index 66fdf349e2..8c51f63c49 100644 --- a/src/babel/transformation/transformers/minification/remove-debugger.js +++ b/src/babel/transformation/transformers/minification/remove-debugger.js @@ -5,6 +5,6 @@ export var metadata = { group: "builtin-setup" }; -export function DebuggerStatement(node) { - this.remove(); +export function DebuggerStatement(node) { + this.remove(); } diff --git a/src/babel/transformation/transformers/other/strict.js b/src/babel/transformation/transformers/other/strict.js index b333896700..956821ecf4 100644 --- a/src/babel/transformation/transformers/other/strict.js +++ b/src/babel/transformation/transformers/other/strict.js @@ -24,7 +24,7 @@ export var Program = { } directive._blockHoist = Infinity; } -} +}; export function ThisExpression() { if (!this.findParent((node) => !node.shadow && THIS_BREAK_KEYS.indexOf(node.type) >= 0)) { diff --git a/src/babel/transformation/transformers/spec/block-scoped-functions.js b/src/babel/transformation/transformers/spec/block-scoped-functions.js index ae16f05fcb..61171c2730 100644 --- a/src/babel/transformation/transformers/spec/block-scoped-functions.js +++ b/src/babel/transformation/transformers/spec/block-scoped-functions.js @@ -4,7 +4,7 @@ function statementList(key, path, file) { var paths = path.get(key); for (var i = 0; i < paths.length; i++) { - var path = paths[i]; + let path = paths[i]; var func = path.node; if (!t.isFunctionDeclaration(func)) continue; diff --git a/src/babel/traversal/index.js b/src/babel/traversal/index.js index 72be189f80..6dcbadee9c 100644 --- a/src/babel/traversal/index.js +++ b/src/babel/traversal/index.js @@ -46,17 +46,17 @@ traverse.node = function (node, opts, scope, state, parentPath) { const CLEAR_KEYS = [ "trailingComments", "leadingComments", "extendedRange", - "_scopeInfo" ,"_paths", + "_scopeInfo", "_paths", "tokens", "range", "start", "end", "loc", "raw" ]; function clearNode(node) { for (var i = 0; i < CLEAR_KEYS.length; i++) { - var key = CLEAR_KEYS[i]; + let key = CLEAR_KEYS[i]; if (node[key] != null) node[key] = null; } - for (var key in node) { + for (let key in node) { var val = node[key]; if (Array.isArray(val)) { delete val._paths; diff --git a/src/babel/traversal/visitors.js b/src/babel/traversal/visitors.js index c8b7ab9d7f..5ec9531f7b 100644 --- a/src/babel/traversal/visitors.js +++ b/src/babel/traversal/visitors.js @@ -1,4 +1,4 @@ -import * as virtualTypes from "./path/virtual-types"; +import * as virtualTypes from "./path/lib/virtual-types"; import * as messages from "../messages"; import * as t from "../types"; import clone from "lodash/lang/clone"; @@ -29,7 +29,7 @@ export function explode(visitor) { if (!wrapper) continue; // wrap all the functions - var fns = visitor[nodeType]; + let fns = visitor[nodeType]; for (let type in fns) { fns[type] = wrapCheck(wrapper, fns[type]); } @@ -55,7 +55,7 @@ export function explode(visitor) { for (let nodeType in visitor) { if (shouldIgnoreKey(nodeType)) continue; - var fns = visitor[nodeType]; + let fns = visitor[nodeType]; var aliases = t.FLIPPED_ALIAS_KEYS[nodeType]; if (!aliases) continue; diff --git a/src/babel/types/validators.js b/src/babel/types/validators.js index 6212639a80..9a066321f2 100644 --- a/src/babel/types/validators.js +++ b/src/babel/types/validators.js @@ -72,6 +72,7 @@ export function isReferenced(node: Object, parent: Object): boolean { // no: import { NODE as foo } from "foo"; // no: import { foo as NODE } from "foo"; + // no: import NODE from "bar"; case "ImportSpecifier": return false; @@ -106,14 +107,6 @@ export function isReferenced(node: Object, parent: Object): boolean { case "ObjectPattern": case "ArrayPattern": return false; - - // no: import NODE from "bar"; - case "ImportSpecifier": - return false; - - // no: import * as NODE from "foo"; - case "ImportNamespaceSpecifier": - return false; } return true; diff --git a/src/babel/util.js b/src/babel/util.js index 7382a5d127..99e61fe6dd 100644 --- a/src/babel/util.js +++ b/src/babel/util.js @@ -112,12 +112,12 @@ export function shouldIgnore(filename, ignore, only) { filename = slash(filename); if (only.length) { - for (var pattern of (only: Array)) { + for (let pattern of (only: Array)) { if (pattern.test(filename)) return false; } return true; } else if (ignore.length) { - for (var pattern of (ignore: Array)) { + for (let pattern of (ignore: Array)) { if (pattern.test(filename)) return true; } }