From 7729cb4b68da3a334b6c0a6388f96492a1753532 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Thu, 26 Feb 2015 20:13:00 +1100 Subject: [PATCH] start using es6 modules --- src/babel/api/node.js | 37 ++++----- src/babel/api/register/browser.js | 4 +- src/babel/api/register/cache.js | 22 +++--- src/babel/api/register/node.js | 21 +++--- src/babel/api/register/resolve-rc.js | 9 +-- src/babel/build-external-helpers.js | 10 +-- src/babel/build-helpers.js | 10 +-- src/babel/detection/index.js | 11 ++- src/babel/detection/visitors.js | 28 +++---- src/babel/generation/buffer.js | 10 +-- src/babel/generation/generators/base.js | 12 +-- src/babel/generation/generators/classes.js | 8 +- .../generation/generators/comprehensions.js | 4 +- .../generation/generators/expressions.js | 50 ++++++------- src/babel/generation/generators/jsx.js | 42 +++++------ src/babel/generation/generators/methods.js | 14 ++-- src/babel/generation/generators/modules.js | 28 +++---- src/babel/generation/generators/playground.js | 2 +- src/babel/generation/generators/statements.js | 74 +++++++++--------- .../generators/template-literals.js | 14 ++-- src/babel/generation/generators/types.js | 18 ++--- src/babel/generation/index.js | 22 +++--- src/babel/generation/node/index.js | 10 +-- src/babel/generation/node/parentheses.js | 40 +++++----- src/babel/generation/node/whitespace.js | 8 +- src/babel/generation/source-map.js | 4 +- src/babel/generation/whitespace.js | 2 +- src/babel/helpers/code-frame.js | 12 +-- src/babel/helpers/normalize-ast.js | 2 +- src/babel/helpers/parse.js | 8 +- src/babel/messages.js | 12 +-- src/babel/patch.js | 8 +- src/babel/polyfill.js | 4 +- src/babel/transformation/file.js | 30 ++++---- ...-binary-assignment-operator-transformer.js | 4 +- .../helpers/build-comprehension.js | 2 +- ...itional-assignment-operator-transformer.js | 4 +- .../helpers/build-react-transformer.js | 10 +-- .../transformation/helpers/define-map.js | 12 +-- .../helpers/explode-assignable-expression.js | 2 +- .../helpers/get-function-arity.js | 2 +- .../transformation/helpers/name-method.js | 6 +- src/babel/transformation/helpers/react.js | 2 +- .../helpers/remap-async-to-generator.js | 2 +- .../transformation/helpers/replace-supers.js | 4 +- .../transformation/helpers/use-strict.js | 2 +- src/babel/transformation/index.js | 16 ++-- src/babel/transformation/modules/_default.js | 10 +-- src/babel/transformation/modules/_strict.js | 4 +- src/babel/transformation/modules/amd.js | 12 +-- src/babel/transformation/modules/common.js | 8 +- src/babel/transformation/modules/ignore.js | 2 +- src/babel/transformation/modules/system.js | 14 ++-- src/babel/transformation/modules/umd.js | 8 +- src/babel/transformation/transformer-pass.js | 2 +- src/babel/transformation/transformer.js | 12 +-- .../es3/member-expression-literals.js | 6 +- .../transformers/es3/property-literals.js | 6 +- .../transformers/es5/properties.mutators.js | 12 +-- .../transformers/es6/arrow-functions.js | 6 +- .../transformers/es6/block-scoping-tdz.js | 2 +- .../transformers/es6/block-scoping.js | 12 +-- .../transformers/es6/classes.js | 12 +-- .../transformers/es6/constants.js | 4 +- .../transformers/es6/destructuring.js | 4 +- .../transformation/transformers/es6/for-of.js | 6 +- .../transformers/es6/modules.js | 2 +- .../transformers/es6/object-super.js | 4 +- .../transformers/es6/parameters.default.js | 4 +- .../transformers/es6/parameters.rest.js | 6 +- .../transformers/es6/properties.computed.js | 2 +- .../transformers/es6/properties.shorthand.js | 4 +- .../transformation/transformers/es6/spread.js | 4 +- .../transformers/es6/tail-call.js | 12 +-- .../transformers/es6/template-literals.js | 2 +- .../transformers/es6/unicode-regex.js | 6 +- .../transformers/es7/abstract-references.js | 4 +- .../transformers/es7/comprehensions.js | 8 +- .../es7/exponentiation-operator.js | 4 +- .../transformers/es7/object-rest-spread.js | 2 +- .../transformation/transformers/index.js | 2 +- .../transformers/internal/alias-functions.js | 2 +- .../transformers/internal/block-hoist.js | 6 +- .../transformers/internal/declarations.js | 4 +- .../transformers/internal/module-formatter.js | 2 +- .../transformers/internal/modules.js | 20 +++-- .../transformers/internal/use-strict.js | 6 +- .../minification/dead-code-elimination.js | 10 +-- .../minification/remove-console-calls.js | 8 +- .../minification/remove-debugger.js | 8 +- .../minification/rename-local-variables.js | 8 +- .../transformers/other/async-to-generator.js | 9 +-- .../transformers/other/bluebird-coroutines.js | 14 ++-- .../transformation/transformers/other/flow.js | 14 ++-- .../transformers/other/react-compat.js | 10 +-- .../transformers/other/react.js | 8 +- .../transformers/other/regenerator.js | 10 +-- .../transformers/other/runtime.js | 28 +++---- .../transformers/other/use-strict.js | 16 ++-- .../playground/mallet-operator.js | 8 +- .../playground/memoization-operator.js | 6 +- .../transformers/playground/method-binding.js | 12 +-- .../playground/object-getter-memoization.js | 4 +- .../spec/block-scoped-functions.js | 6 +- .../transformers/spec/function-name.js | 4 +- .../transformers/spec/proto-to-assign.js | 32 ++++---- .../transformers/spec/typeof-symbol.js | 6 +- .../transformers/spec/undefined-to-void.js | 8 +- .../validation/no-for-in-of-assignment.js | 6 +- .../transformers/validation/react.js | 8 +- .../transformers/validation/setters.js | 6 +- .../validation/undeclared-variable-check.js | 12 +-- src/babel/traversal/context.js | 6 +- src/babel/traversal/index.js | 6 +- src/babel/traversal/path.js | 8 +- src/babel/traversal/scope.js | 20 ++--- src/babel/types/index.js | 21 +++--- src/babel/util.js | 75 +++++++++---------- 118 files changed, 643 insertions(+), 660 deletions(-) diff --git a/src/babel/api/node.js b/src/babel/api/node.js index b6edcb5bf3..81b9ebcd40 100644 --- a/src/babel/api/node.js +++ b/src/babel/api/node.js @@ -1,32 +1,25 @@ -var isFunction = require("lodash/lang/isFunction"); -var transform = require("../transformation"); -var util = require("../util"); -var fs = require("fs"); +import isFunction from "lodash/lang/isFunction"; +import fs from "fs"; -exports.version = require("../../../package").version; +export { default as _util, canCompile } from "../util"; +export { default as transform } from "../transformation"; -exports.buildExternalHelpers = require("../build-external-helpers"); +export { version } from "../../../package"; -exports.types = require("../types"); +export { default as buildExternalHelpers } from "../build-external-helpers"; +export { default as types } from "../types"; -exports.register = function (opts) { +export function register(opts) { var register = require("./register/node"); if (opts != null) register(opts); return register; -}; +} -exports.polyfill = function () { +export function polyfill() { require("../polyfill"); -}; +} -exports.canCompile = util.canCompile; - -// do not use this - this is for use by official maintained babel plugins -exports._util = util; - -exports.transform = transform; - -exports.transformFile = function (filename, opts, callback) { +export function transformFile(filename, opts, callback) { if (isFunction(opts)) { callback = opts; opts = {}; @@ -47,10 +40,10 @@ exports.transformFile = function (filename, opts, callback) { callback(null, result); }); -}; +} -exports.transformFileSync = function (filename, opts) { +export function transformFileSync(filename, opts) { opts ||= {}; opts.filename = filename; return transform(fs.readFileSync(filename), opts); -}; +} diff --git a/src/babel/api/register/browser.js b/src/babel/api/register/browser.js index 73bbc8bc60..84baa70c48 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 -module.exports = function () {}; +export default function () {}; -require("../../polyfill"); +import "../../polyfill"; diff --git a/src/babel/api/register/cache.js b/src/babel/api/register/cache.js index 0f7abca5ec..6f7bc54029 100644 --- a/src/babel/api/register/cache.js +++ b/src/babel/api/register/cache.js @@ -1,22 +1,22 @@ -var path = require("path"); -var os = require("os"); -var fs = require("fs"); +import path from "path"; +import os from "os"; +import fs from "fs"; var FILENAME = process.env.BABEL_CACHE_PATH || path.join(os.tmpdir(), "babel.json"); var data = {}; -exports.save = function () { +export function save() { fs.writeFileSync(FILENAME, JSON.stringify(data, null, " ")); -}; +} -exports.load = function () { +export function load() { if (process.env.BABEL_DISABLE_CACHE) return; - process.on("exit", exports.save); + process.on("exit", save); var sigint = function () { process.removeListener("SIGINT", sigint); - exports.save(); + save(); process.kill(process.pid, "SIGINT"); }; @@ -29,8 +29,8 @@ exports.load = function () { } catch (err) { return; } -}; +} -exports.get = function () { +export function get() { return data; -}; +} diff --git a/src/babel/api/register/node.js b/src/babel/api/register/node.js index 89ba6e1f4b..153ee29da2 100644 --- a/src/babel/api/register/node.js +++ b/src/babel/api/register/node.js @@ -1,13 +1,12 @@ -require("../../polyfill"); - -var sourceMapSupport = require("source-map-support"); -var registerCache = require("./cache"); -var resolveRc = require("./resolve-rc"); -var extend = require("lodash/object/extend"); -var babel = require("../node"); -var each = require("lodash/collection/each"); -var util = require("../../util"); -var fs = require("fs"); +import "../../polyfill"; +import sourceMapSupport from "source-map-support"; +import * as registerCache from "./cache"; +import resolveRc from "./resolve-rc"; +import extend from "lodash/object/extend"; +import babel from "../node"; +import each from "lodash/collection/each"; +import * as util from "../../util"; +import fs from "fs"; sourceMapSupport.install({ handleUncaughtExceptions: false, @@ -139,7 +138,7 @@ var hookExtensions = function (_exts) { hookExtensions(util.canCompile.EXTENSIONS); -module.exports = function (opts) { +export default function (opts) { // normalize options opts ||= {}; diff --git a/src/babel/api/register/resolve-rc.js b/src/babel/api/register/resolve-rc.js index dd6244f736..4728f214ba 100644 --- a/src/babel/api/register/resolve-rc.js +++ b/src/babel/api/register/resolve-rc.js @@ -1,6 +1,6 @@ -var merge = require("lodash/object/merge"); -var path = require("path"); -var fs = require("fs"); +import merge from "lodash/object/merge"; +import path from "path"; +import fs from "fs"; var cache = {}; @@ -10,9 +10,8 @@ function exists(filename) { return cache[filename] = fs.existsSync(filename); } -module.exports = function (loc, opts) { +export default function (loc, opts = {}) { var rel = ".babelrc"; - opts ||= {}; function find(start, rel) { var file = path.join(start, rel); diff --git a/src/babel/build-external-helpers.js b/src/babel/build-external-helpers.js index aac2aab684..7feab4699b 100644 --- a/src/babel/build-external-helpers.js +++ b/src/babel/build-external-helpers.js @@ -1,9 +1,9 @@ -var buildHelpers = require("./build-helpers"); -var generator = require("./generation"); -var util = require("./util"); -var t = require("./types"); +import buildHelpers from "./build-helpers"; +import generator from "./generation"; +import * as util from "./util"; +import t from "./types"; -module.exports = function (whitelist) { +export default function (whitelist) { var namespace = t.identifier("babelHelpers"); var body = []; diff --git a/src/babel/build-helpers.js b/src/babel/build-helpers.js index f502d3fa40..6e69dcd770 100644 --- a/src/babel/build-helpers.js +++ b/src/babel/build-helpers.js @@ -1,9 +1,9 @@ -var File = require("./transformation/file"); -var util = require("./util"); -var each = require("lodash/collection/each"); -var t = require("./types"); +import File from "./transformation/file"; +import * as util from "./util"; +import each from "lodash/collection/each"; +import t from "./types"; -module.exports = function (body, namespace, whitelist = []) { +export default function (body, namespace, whitelist = []) { each(File.helpers, function (name) { if (whitelist.length && whitelist.indexOf(name) == -1) return; diff --git a/src/babel/detection/index.js b/src/babel/detection/index.js index 0cee6e5624..604663c9a3 100644 --- a/src/babel/detection/index.js +++ b/src/babel/detection/index.js @@ -1,10 +1,9 @@ -module.exports = detect; +import SYNTAX_KEYS from "./syntax-keys"; +import traverse from "../traversal"; -var SYNTAX_KEYS = require("./syntax-keys"); -var traverse = require("../traversal"); -var visitors = traverse.explode(require("./visitors")); +var visitors = traverse.explode(require("./visitors")); -function detect(ast) { +export default function (ast) { var stats = { syntax: {}, builtins: {} @@ -26,4 +25,4 @@ function detect(ast) { }); return stats; -} +}; diff --git a/src/babel/detection/visitors.js b/src/babel/detection/visitors.js index affa8b5a8f..227dc6972b 100644 --- a/src/babel/detection/visitors.js +++ b/src/babel/detection/visitors.js @@ -1,19 +1,19 @@ -var t = require("../types"); -var includes = require("lodash/collection/includes"); +import includes from "lodash/collection/includes"; +import t from "../types"; -exports.AssignmentExpression = function (node, parent, detected) { +export function AssignmentExpression(node, parent, detected) { if (node.operator === "**=") { detected("es6.exponentation"); } -}; +} -exports.BinaryExpression = function (node, parent, detected) { +export function BinaryExpression(node, parent, detected) { if (node.operator === "**") { detected("es6.exponentation"); } -}; +} -exports.VariableDeclaration = function (node, parent, detected) { +export function VariableDeclaration(node, parent, detected) { if (node.kind === "let" || node.kind === "const") { detected("es6.blockScoping"); } @@ -21,9 +21,9 @@ exports.VariableDeclaration = function (node, parent, detected) { if (node.kind === "const") { detected("es6.constants"); } -}; +} -exports.Property = function (node, parent, detected) { +export function Property(node, parent, detected) { if (node.shorthand || node.method) { detected("es6.properties.shorthand"); } @@ -35,15 +35,15 @@ exports.Property = function (node, parent, detected) { if (node.computed) { detected("es6.properties.computed"); } -}; +} -exports.AssignmentPattern = function (node, parent, detected) { +export function AssignmentPattern(node, parent, detected) { if (t.isFunction(parent) && includes(parent.params, node)) { detected("es6.parameters.default"); } -}; +} -exports.Function = function (node, parent, detected) { +export function Function(node, parent, detected) { if (node.generator) { detected("es6.generators"); } @@ -51,4 +51,4 @@ exports.Function = function (node, parent, detected) { if (node.async) { detected("es7.asyncFunctions"); } -}; +} diff --git a/src/babel/generation/buffer.js b/src/babel/generation/buffer.js index d498d64421..f47199d51d 100644 --- a/src/babel/generation/buffer.js +++ b/src/babel/generation/buffer.js @@ -1,8 +1,8 @@ -var repeating = require("repeating"); -var trimRight = require("trim-right"); -var isBoolean = require("lodash/lang/isBoolean"); -var includes = require("lodash/collection/includes"); -var isNumber = require("lodash/lang/isNumber"); +import repeating from "repeating"; +import trimRight from "trim-right"; +import isBoolean from "lodash/lang/isBoolean"; +import includes from "lodash/collection/includes"; +import isNumber from "lodash/lang/isNumber"; export default class Buffer { constructor(position, format) { diff --git a/src/babel/generation/generators/base.js b/src/babel/generation/generators/base.js index 5d7eb6f412..86c7c92db3 100644 --- a/src/babel/generation/generators/base.js +++ b/src/babel/generation/generators/base.js @@ -1,12 +1,12 @@ -exports.File = function (node, print) { +export function File(node, print) { print(node.program); -}; +} -exports.Program = function (node, print) { +export function Program(node, print) { print.sequence(node.body); -}; +} -exports.BlockStatement = function (node, print) { +export function BlockStatement(node, print) { if (node.body.length === 0) { this.push("{}"); } else { @@ -16,4 +16,4 @@ exports.BlockStatement = function (node, print) { this.removeLast("\n"); this.rightBrace(); } -}; +} diff --git a/src/babel/generation/generators/classes.js b/src/babel/generation/generators/classes.js index f7df307f62..3f106eb216 100644 --- a/src/babel/generation/generators/classes.js +++ b/src/babel/generation/generators/classes.js @@ -16,7 +16,7 @@ exports.ClassDeclaration = function (node, print) { print(node.body); }; -exports.ClassBody = function (node, print) { +export function ClassBody(node, print) { if (node.body.length === 0) { this.push("{}"); } else { @@ -29,12 +29,12 @@ exports.ClassBody = function (node, print) { this.rightBrace(); } -}; +} -exports.MethodDefinition = function (node, print) { +export function MethodDefinition(node, print) { if (node.static) { this.push("static "); } this._method(node, print); -}; +} diff --git a/src/babel/generation/generators/comprehensions.js b/src/babel/generation/generators/comprehensions.js index 1fe81bbbe4..77886b2eed 100644 --- a/src/babel/generation/generators/comprehensions.js +++ b/src/babel/generation/generators/comprehensions.js @@ -1,4 +1,4 @@ -exports.ComprehensionBlock = function (node, print) { +export function ComprehensionBlock(node, print) { this.keyword("for"); this.push("("); print(node.left); @@ -7,7 +7,7 @@ exports.ComprehensionBlock = function (node, print) { this.push(")"); }; -exports.ComprehensionExpression = function (node, print) { +export function ComprehensionExpression(node, print) { this.push(node.generator ? "(" : "["); print.join(node.blocks, { separator: " " }); diff --git a/src/babel/generation/generators/expressions.js b/src/babel/generation/generators/expressions.js index 6cf429ff18..e13ddba8f0 100644 --- a/src/babel/generation/generators/expressions.js +++ b/src/babel/generation/generators/expressions.js @@ -1,8 +1,8 @@ -var isInteger = require("is-integer"); -var isNumber = require("lodash/lang/isNumber"); -var t = require("../../types"); +import isInteger from "is-integer"; +import isNumber from "lodash/lang/isNumber"; +import t from "../../types"; -exports.UnaryExpression = function (node, print) { +export function UnaryExpression(node, print) { var hasSpace = /[a-z]$/.test(node.operator); var arg = node.argument; @@ -17,9 +17,9 @@ exports.UnaryExpression = function (node, print) { this.push(node.operator); if (hasSpace) this.push(" "); print(node.argument); -}; +} -exports.UpdateExpression = function (node, print) { +export function UpdateExpression(node, print) { if (node.prefix) { this.push(node.operator); print(node.argument); @@ -27,9 +27,9 @@ exports.UpdateExpression = function (node, print) { print(node.argument); this.push(node.operator); } -}; +} -exports.ConditionalExpression = function (node, print) { +export function ConditionalExpression(node, print) { print(node.test); this.space(); this.push("?"); @@ -39,25 +39,25 @@ exports.ConditionalExpression = function (node, print) { this.push(":"); this.space(); print(node.alternate); -}; +} -exports.NewExpression = function (node, print) { +export function NewExpression(node, print) { this.push("new "); print(node.callee); this.push("("); print.list(node.arguments); this.push(")"); -}; +} -exports.SequenceExpression = function (node, print) { +export function SequenceExpression(node, print) { print.list(node.expressions); -}; +} -exports.ThisExpression = function () { +export function ThisExpression() { this.push("this"); -}; +} -exports.CallExpression = function (node, print) { +export function CallExpression(node, print) { print(node.callee); this.push("("); @@ -80,7 +80,7 @@ exports.CallExpression = function (node, print) { } this.push(")"); -}; +} var buildYieldAwait = function (keyword) { return function (node, print) { @@ -97,17 +97,17 @@ var buildYieldAwait = function (keyword) { }; }; -exports.YieldExpression = buildYieldAwait("yield"); -exports.AwaitExpression = buildYieldAwait("await"); +export var YieldExpression = buildYieldAwait("yield"); +export var AwaitExpression = buildYieldAwait("await"); -exports.EmptyStatement = function () { +export function EmptyStatement() { this.semicolon(); -}; +} -exports.ExpressionStatement = function (node, print) { +export function ExpressionStatement(node, print) { print(node.expression); this.semicolon(); -}; +} exports.BinaryExpression = exports.LogicalExpression = @@ -123,7 +123,7 @@ exports.AssignmentExpression = function (node, print) { var SCIENTIFIC_NOTATION = /e/i; -exports.MemberExpression = function (node, print) { +export function MemberExpression(node, print) { var obj = node.object; print(obj); @@ -149,4 +149,4 @@ exports.MemberExpression = function (node, print) { this.push("."); print(node.property); } -}; +} diff --git a/src/babel/generation/generators/jsx.js b/src/babel/generation/generators/jsx.js index 42033acb23..fd560f59cb 100644 --- a/src/babel/generation/generators/jsx.js +++ b/src/babel/generation/generators/jsx.js @@ -1,43 +1,43 @@ -var t = require("../../types"); -var each = require("lodash/collection/each"); +import each from "lodash/collection/each"; +import t from "../../types"; -exports.JSXAttribute = function (node, print) { +export function JSXAttribute(node, print) { print(node.name); if (node.value) { this.push("="); print(node.value); } -}; +} -exports.JSXIdentifier = function (node) { +export function JSXIdentifier(node) { this.push(node.name); -}; +} -exports.JSXNamespacedName = function (node, print) { +export function JSXNamespacedName(node, print) { print(node.namespace); this.push(":"); print(node.name); -}; +} -exports.JSXMemberExpression = function (node, print) { +export function JSXMemberExpression(node, print) { print(node.object); this.push("."); print(node.property); -}; +} -exports.JSXSpreadAttribute = function (node, print) { +export function JSXSpreadAttribute(node, print) { this.push("{..."); print(node.argument); this.push("}"); -}; +} -exports.JSXExpressionContainer = function (node, print) { +export function JSXExpressionContainer(node, print) { this.push("{"); print(node.expression); this.push("}"); -}; +} -exports.JSXElement = function (node, print) { +export function JSXElement(node, print) { var open = node.openingElement; print(open); if (open.selfClosing) return; @@ -53,9 +53,9 @@ exports.JSXElement = function (node, print) { this.dedent(); print(node.closingElement); -}; +} -exports.JSXOpeningElement = function (node, print) { +export function JSXOpeningElement(node, print) { this.push("<"); print(node.name); if (node.attributes.length > 0) { @@ -63,12 +63,12 @@ exports.JSXOpeningElement = function (node, print) { print.join(node.attributes, { separator: " " }); } this.push(node.selfClosing ? " />" : ">"); -}; +} -exports.JSXClosingElement = function (node, print) { +export function JSXClosingElement(node, print) { this.push(""); -}; +} -exports.JSXEmptyExpression = function () {}; +export function JSXEmptyExpression() {}; diff --git a/src/babel/generation/generators/methods.js b/src/babel/generation/generators/methods.js index 74cf0f79c9..6c12ff8b71 100644 --- a/src/babel/generation/generators/methods.js +++ b/src/babel/generation/generators/methods.js @@ -1,12 +1,12 @@ -var t = require("../../types"); +import t from "../../types"; -exports._params = function (node, print) { +export function _params(node, print) { this.push("("); print.list(node.params); this.push(")"); -}; +} -exports._method = function (node, print) { +export function _method(node, print) { var value = node.value; var kind = node.kind; var key = node.key; @@ -32,7 +32,7 @@ exports._method = function (node, print) { this._params(value, print); this.push(" "); print(value.body); -}; +} exports.FunctionDeclaration = exports.FunctionExpression = function (node, print) { @@ -52,7 +52,7 @@ exports.FunctionExpression = function (node, print) { print(node.body); }; -exports.ArrowFunctionExpression = function (node, print) { +export function ArrowFunctionExpression(node, print) { if (node.async) this.push("async "); if (node.params.length === 1 && t.isIdentifier(node.params[0])) { @@ -63,4 +63,4 @@ exports.ArrowFunctionExpression = function (node, print) { this.push(" => "); print(node.body); -}; +} diff --git a/src/babel/generation/generators/modules.js b/src/babel/generation/generators/modules.js index 17092e981d..a051127446 100644 --- a/src/babel/generation/generators/modules.js +++ b/src/babel/generation/generators/modules.js @@ -1,27 +1,27 @@ -var t = require("../../types"); -var each = require("lodash/collection/each"); +import each from "lodash/collection/each"; +import t from "../../types"; -exports.ImportSpecifier = function (node, print) { +export function ImportSpecifier(node, print) { if (t.isSpecifierDefault(node)) { print(t.getSpecifierName(node)); } else { return exports.ExportSpecifier.apply(this, arguments); } -}; +} -exports.ExportSpecifier = function (node, print) { +export function ExportSpecifier(node, print) { print(node.id); if (node.name) { this.push(" as "); print(node.name); } -}; +} -exports.ExportBatchSpecifier = function () { +export function ExportBatchSpecifier() { this.push("*"); -}; +} -exports.ExportDeclaration = function (node, print) { +export function ExportDeclaration(node, print) { this.push("export "); var specifiers = node.specifiers; @@ -53,9 +53,9 @@ exports.ExportDeclaration = function (node, print) { } this.ensureSemicolon(); -}; +} -exports.ImportDeclaration = function (node, print) { +export function ImportDeclaration(node, print) { this.push("import "); if (node.isType) { @@ -90,9 +90,9 @@ exports.ImportDeclaration = function (node, print) { print(node.source); this.semicolon(); -}; +} -exports.ImportBatchSpecifier = function (node, print) { +export function ImportBatchSpecifier(node, print) { this.push("* as "); print(node.name); -}; +} diff --git a/src/babel/generation/generators/playground.js b/src/babel/generation/generators/playground.js index 99e9a1a761..6c26bc34d1 100644 --- a/src/babel/generation/generators/playground.js +++ b/src/babel/generation/generators/playground.js @@ -1,4 +1,4 @@ -var each = require("lodash/collection/each"); +import each from "lodash/collection/each"; each(["BindMemberExpression", "BindFunctionExpression"], function (type) { exports[type] = function () { diff --git a/src/babel/generation/generators/statements.js b/src/babel/generation/generators/statements.js index 0010116ceb..7c621031a3 100644 --- a/src/babel/generation/generators/statements.js +++ b/src/babel/generation/generators/statements.js @@ -1,15 +1,15 @@ -var repeating = require("repeating"); -var t = require("../../types"); +import repeating from "repeating"; +import t from "../../types"; -exports.WithStatement = function (node, print) { +export function WithStatement(node, print) { this.keyword("with"); this.push("("); print(node.object); this.push(")"); print.block(node.body); -}; +} -exports.IfStatement = function (node, print) { +export function IfStatement(node, print) { this.keyword("if"); this.push("("); print(node.test); @@ -23,9 +23,9 @@ exports.IfStatement = function (node, print) { this.push("else "); print.indentOnComments(node.alternate); } -}; +} -exports.ForStatement = function (node, print) { +export function ForStatement(node, print) { this.keyword("for"); this.push("("); @@ -45,15 +45,15 @@ exports.ForStatement = function (node, print) { this.push(")"); print.block(node.body); -}; +} -exports.WhileStatement = function (node, print) { +export function WhileStatement(node, print) { this.keyword("while"); this.push("("); print(node.test); this.push(")"); print.block(node.body); -}; +} var buildForXStatement = function (op) { return function (node, print) { @@ -67,10 +67,10 @@ var buildForXStatement = function (op) { }; }; -exports.ForInStatement = buildForXStatement("in"); -exports.ForOfStatement = buildForXStatement("of"); +export var ForInStatement = buildForXStatement("in"); +export var ForOfStatement = buildForXStatement("of"); -exports.DoWhileStatement = function (node, print) { +export function DoWhileStatement(node, print) { this.keyword("do"); print(node.body); this.space(); @@ -78,7 +78,7 @@ exports.DoWhileStatement = function (node, print) { this.push("("); print(node.test); this.push(");"); -}; +} var buildLabelStatement = function (prefix, key) { return function (node, print) { @@ -94,17 +94,17 @@ var buildLabelStatement = function (prefix, key) { }; }; -exports.ContinueStatement = buildLabelStatement("continue"); -exports.ReturnStatement = buildLabelStatement("return", "argument"); -exports.BreakStatement = buildLabelStatement("break"); +export var ContinueStatement = buildLabelStatement("continue"); +export var ReturnStatement = buildLabelStatement("return", "argument"); +export var BreakStatement = buildLabelStatement("break"); -exports.LabeledStatement = function (node, print) { +export function LabeledStatement(node, print) { print(node.label); this.push(": "); print(node.body); -}; +} -exports.TryStatement = function (node, print) { +export function TryStatement(node, print) { this.keyword("try"); print(node.block); this.space(); @@ -123,23 +123,23 @@ exports.TryStatement = function (node, print) { this.push("finally "); print(node.finalizer); } -}; +} -exports.CatchClause = function (node, print) { +export function CatchClause(node, print) { this.keyword("catch"); this.push("("); print(node.param); this.push(") "); print(node.body); -}; +} -exports.ThrowStatement = function (node, print) { +export function ThrowStatement(node, print) { this.push("throw "); print(node.argument); this.semicolon(); -}; +} -exports.SwitchStatement = function (node, print) { +export function SwitchStatement(node, print) { this.keyword("switch"); this.push("("); print(node.discriminant); @@ -155,9 +155,9 @@ exports.SwitchStatement = function (node, print) { }); this.push("}"); -}; +} -exports.SwitchCase = function (node, print) { +export function SwitchCase(node, print) { if (node.test) { this.push("case "); print(node.test); @@ -170,13 +170,13 @@ exports.SwitchCase = function (node, print) { this.newline(); print.sequence(node.consequent, { indent: true }); } -}; +} -exports.DebuggerStatement = function () { +export function DebuggerStatement() { this.push("debugger;"); -}; +} -exports.VariableDeclaration = function (node, print, parent) { +export function VariableDeclaration(node, print, parent) { this.push(node.kind + " "); var hasInits = false; @@ -202,15 +202,15 @@ exports.VariableDeclaration = function (node, print, parent) { if (!t.isFor(parent)) { this.semicolon(); } -}; +} -exports.PrivateDeclaration = function (node, print) { +export function PrivateDeclaration(node, print) { this.push("private "); print.join(node.declarations, { separator: ", " }); this.semicolon(); -}; +} -exports.VariableDeclarator = function (node, print) { +export function VariableDeclarator(node, print) { if (node.init) { print(node.id); this.space(); @@ -220,4 +220,4 @@ exports.VariableDeclarator = function (node, print) { } else { print(node.id); } -}; +} diff --git a/src/babel/generation/generators/template-literals.js b/src/babel/generation/generators/template-literals.js index 784129f17b..dded1ad15b 100644 --- a/src/babel/generation/generators/template-literals.js +++ b/src/babel/generation/generators/template-literals.js @@ -1,15 +1,15 @@ -var each = require("lodash/collection/each"); +import each from "lodash/collection/each"; -exports.TaggedTemplateExpression = function (node, print) { +export function TaggedTemplateExpression(node, print) { print(node.tag); print(node.quasi); -}; +} -exports.TemplateElement = function (node) { +export function TemplateElement(node) { this._push(node.value.raw); -}; +} -exports.TemplateLiteral = function (node, print) { +export function TemplateLiteral(node, print) { this.push("`"); var quasis = node.quasis; @@ -26,4 +26,4 @@ exports.TemplateLiteral = function (node, print) { }); this._push("`"); -}; +} diff --git a/src/babel/generation/generators/types.js b/src/babel/generation/generators/types.js index 03a1981d5f..ca7d0e0461 100644 --- a/src/babel/generation/generators/types.js +++ b/src/babel/generation/generators/types.js @@ -1,8 +1,8 @@ -var each = require("lodash/collection/each"); +import each from "lodash/collection/each"; -exports.Identifier = function (node) { +export function Identifier(node) { this.push(node.name); -}; +} exports.RestElement = exports.SpreadElement = @@ -11,11 +11,11 @@ exports.SpreadProperty = function (node, print) { print(node.argument); }; -exports.VirtualPropertyExpression = function (node, print) { +export function VirtualPropertyExpression(node, print) { print(node.object); this.push("::"); print(node.property); -}; +} exports.ObjectExpression = exports.ObjectPattern = function (node, print) { @@ -34,7 +34,7 @@ exports.ObjectPattern = function (node, print) { } }; -exports.Property = function (node, print) { +export function Property(node, print) { if (node.method || node.kind === "get" || node.kind === "set") { this._method(node, print); } else { @@ -51,7 +51,7 @@ exports.Property = function (node, print) { this.space(); print(node.value); } -}; +} exports.ArrayExpression = exports.ArrayPattern = function (node, print) { @@ -78,7 +78,7 @@ exports.ArrayPattern = function (node, print) { this.push("]"); }; -exports.Literal = function (node) { +export function Literal(node) { var val = node.value; var type = typeof val; @@ -100,4 +100,4 @@ exports.Literal = function (node) { } else if (val === null) { this.push("null"); } -}; +} diff --git a/src/babel/generation/index.js b/src/babel/generation/index.js index 9703388576..373bd8220d 100644 --- a/src/babel/generation/index.js +++ b/src/babel/generation/index.js @@ -1,14 +1,14 @@ -var detectIndent = require("detect-indent"); -var Whitespace = require("./whitespace"); -var repeating = require("repeating"); -var SourceMap = require("./source-map"); -var Position = require("./position"); -var messages = require("../messages"); -var Buffer = require("./buffer"); -var extend = require("lodash/object/extend"); -var each = require("lodash/collection/each"); -var n = require("./node"); -var t = require("../types"); +import detectIndent from "detect-indent"; +import Whitespace from "./whitespace"; +import repeating from "repeating"; +import SourceMap from "./source-map"; +import Position from "./position"; +import * as messages from "../messages"; +import Buffer from "./buffer"; +import extend from "lodash/object/extend"; +import each from "lodash/collection/each"; +import n from "./node"; +import t from "../types"; class CodeGenerator { constructor(ast, opts, code) { diff --git a/src/babel/generation/node/index.js b/src/babel/generation/node/index.js index 32447d1b8e..c1b0fdf2ed 100644 --- a/src/babel/generation/node/index.js +++ b/src/babel/generation/node/index.js @@ -1,8 +1,8 @@ -var whitespace = require("./whitespace"); -var parens = require("./parentheses"); -var each = require("lodash/collection/each"); -var some = require("lodash/collection/some"); -var t = require("../../types"); +import whitespace from "./whitespace"; +import * as parens from "./parentheses"; +import each from "lodash/collection/each"; +import some from "lodash/collection/some"; +import t from "../../types"; var find = function (obj, node, parent) { if (!obj) return; diff --git a/src/babel/generation/node/parentheses.js b/src/babel/generation/node/parentheses.js index c3c3dbafa7..34d7589117 100644 --- a/src/babel/generation/node/parentheses.js +++ b/src/babel/generation/node/parentheses.js @@ -1,5 +1,5 @@ -var t = require("../../types"); -var each = require("lodash/collection/each"); +import each from "lodash/collection/each"; +import t from "../../types"; var PRECEDENCE = {}; @@ -21,14 +21,14 @@ each([ }); }); -exports.UpdateExpression = function (node, parent) { +export function UpdateExpression(node, parent) { if (t.isMemberExpression(parent) && parent.object === node) { // (foo++).test() return true; } -}; +} -exports.ObjectExpression = function (node, parent) { +export function ObjectExpression(node, parent) { if (t.isExpressionStatement(parent)) { // ({ foo: "bar" }); return true; @@ -40,9 +40,9 @@ exports.ObjectExpression = function (node, parent) { } return false; -}; +} -exports.Binary = function (node, parent) { +export function Binary(node, parent) { if ((t.isCallExpression(parent) || t.isNewExpression(parent)) && parent.callee === node) { return true; } @@ -70,9 +70,9 @@ exports.Binary = function (node, parent) { return true; } } -}; +} -exports.BinaryExpression = function (node, parent) { +export function BinaryExpression(node, parent) { if (node.operator === "in") { // var i = (1 in []); if (t.isVariableDeclarator(parent)) { @@ -84,9 +84,9 @@ exports.BinaryExpression = function (node, parent) { return true; } } -}; +} -exports.SequenceExpression = function (node, parent) { +export function SequenceExpression(node, parent) { if (t.isForStatement(parent)) { // Although parentheses wouldn't hurt around sequence // expressions in the head of for loops, traditional style @@ -102,9 +102,9 @@ exports.SequenceExpression = function (node, parent) { // Otherwise err on the side of overparenthesization, adding // explicit exceptions above if this proves overzealous. return true; -}; +} -exports.YieldExpression = function (node, parent) { +export function YieldExpression(node, parent) { return t.isBinary(parent) || t.isUnaryLike(parent) || t.isCallExpression(parent) || @@ -112,17 +112,17 @@ exports.YieldExpression = function (node, parent) { t.isNewExpression(parent) || t.isConditionalExpression(parent) || t.isYieldExpression(parent); -}; +} -exports.ClassExpression = function (node, parent) { +export function ClassExpression(node, parent) { return t.isExpressionStatement(parent); -}; +} -exports.UnaryLike = function (node, parent) { +export function UnaryLike(node, parent) { return t.isMemberExpression(parent) && parent.object === node; -}; +} -exports.FunctionExpression = function (node, parent) { +export function FunctionExpression(node, parent) { // function () {}; if (t.isExpressionStatement(parent)) { return true; @@ -137,7 +137,7 @@ exports.FunctionExpression = function (node, parent) { if (t.isCallExpression(parent) && parent.callee === node) { return true; } -}; +} exports.AssignmentExpression = exports.ConditionalExpression = function (node, parent) { diff --git a/src/babel/generation/node/whitespace.js b/src/babel/generation/node/whitespace.js index 296ba55427..a2529503d7 100644 --- a/src/babel/generation/node/whitespace.js +++ b/src/babel/generation/node/whitespace.js @@ -1,7 +1,7 @@ -var isBoolean = require("lodash/lang/isBoolean"); -var each = require("lodash/collection/each"); -var map = require("lodash/collection/map"); -var t = require("../../types"); +import isBoolean from "lodash/lang/isBoolean"; +import each from "lodash/collection/each"; +import map from "lodash/collection/map"; +import t from "../../types"; var crawl = function (node, state) { state ||= {}; diff --git a/src/babel/generation/source-map.js b/src/babel/generation/source-map.js index 6831b4e2b1..5761ef39ba 100644 --- a/src/babel/generation/source-map.js +++ b/src/babel/generation/source-map.js @@ -1,5 +1,5 @@ -var sourceMap = require("source-map"); -var t = require("../types"); +import sourceMap from "source-map"; +import t from "../types"; export default class SourceMap { constructor(position, opts, code) { diff --git a/src/babel/generation/whitespace.js b/src/babel/generation/whitespace.js index 786303f0fd..2ea8694c72 100644 --- a/src/babel/generation/whitespace.js +++ b/src/babel/generation/whitespace.js @@ -1,4 +1,4 @@ -var sortBy = require("lodash/collection/sortBy"); +import sortBy from "lodash/collection/sortBy"; /** * Returns `i`th number from `base`, continuing from 0 when `max` is reached. diff --git a/src/babel/helpers/code-frame.js b/src/babel/helpers/code-frame.js index a1d3b5ae9c..ef26a80d99 100644 --- a/src/babel/helpers/code-frame.js +++ b/src/babel/helpers/code-frame.js @@ -1,9 +1,9 @@ -var lineNumbers = require("line-numbers"); -var repeating = require("repeating"); -var jsTokens = require("js-tokens"); -var esutils = require("esutils"); -var chalk = require("chalk"); -var ary = require("lodash/function/ary"); +import lineNumbers from "line-numbers"; +import repeating from "repeating"; +import jsTokens from "js-tokens"; +import esutils from "esutils"; +import chalk from "chalk"; +import ary from "lodash/function/ary"; var defs = { string: chalk.red, diff --git a/src/babel/helpers/normalize-ast.js b/src/babel/helpers/normalize-ast.js index 54631556c9..3bbb50932d 100644 --- a/src/babel/helpers/normalize-ast.js +++ b/src/babel/helpers/normalize-ast.js @@ -1,4 +1,4 @@ -var t = require("../types"); +import t from "../types"; module.exports = function (ast, comments, tokens) { if (ast && ast.type === "Program") { diff --git a/src/babel/helpers/parse.js b/src/babel/helpers/parse.js index c54a5897aa..858f01e083 100644 --- a/src/babel/helpers/parse.js +++ b/src/babel/helpers/parse.js @@ -1,7 +1,7 @@ -var normalizeAst = require("./normalize-ast"); -var estraverse = require("estraverse"); -var codeFrame = require("./code-frame"); -var acorn = require("acorn-babel"); +import normalizeAst from "./normalize-ast"; +import estraverse from "estraverse"; +import codeFrame from "./code-frame"; +import acorn from "acorn-babel"; module.exports = function (opts, code, callback) { try { diff --git a/src/babel/messages.js b/src/babel/messages.js index e08aea6c53..b3f0ebe155 100644 --- a/src/babel/messages.js +++ b/src/babel/messages.js @@ -1,6 +1,6 @@ -var util = require("util"); +import * as util from "util"; -exports.messages = { +export var messages = { tailCallReassignmentDeopt: "Function reference has been reassigned so it's probably be dereferenced so we can't optimise this with confidence", JSXNamespacedTags: "Namespace tags are not supported. ReactJSX is not XML.", classesIllegalBareSuper: "Illegal use of bare super", @@ -21,7 +21,7 @@ exports.messages = { codeGeneratorDeopt: "Note: The code generator has deoptimised the styling of $1 as it exceeds the max of $2." }; -exports.get = function (key) { +export function get(key) { var msg = exports.messages[key]; if (!msg) throw new ReferenceError("Unknown message `" + key + "`"); @@ -34,9 +34,9 @@ exports.get = function (key) { return msg.replace(/\$(\d+)/g, function (str, i) { return args[--i]; }); -}; +} -exports.parseArgs = function (args) { +export function parseArgs(args) { return args.map(function (val) { if (val != null && val.inspect) { return val.inspect(); @@ -48,4 +48,4 @@ exports.parseArgs = function (args) { } } }); -}; +} diff --git a/src/babel/patch.js b/src/babel/patch.js index c29608f5a8..d5475a6cb4 100644 --- a/src/babel/patch.js +++ b/src/babel/patch.js @@ -1,14 +1,14 @@ -var extend = require("lodash/object/extend"); -var t = require("./types"); +import estraverse from "estraverse"; +import extend from "lodash/object/extend"; +import types from "ast-types"; +import t from "./types"; // estraverse -var estraverse = require("estraverse"); extend(estraverse.VisitorKeys, t.VISITOR_KEYS); // regenerator-babel/ast-types -var types = require("ast-types"); var def = types.Type.def; var or = types.Type.or; diff --git a/src/babel/polyfill.js b/src/babel/polyfill.js index 3d9eb0829b..a87ea8a8b5 100644 --- a/src/babel/polyfill.js +++ b/src/babel/polyfill.js @@ -3,5 +3,5 @@ if (global._babelPolyfill) { } global._babelPolyfill = true; -require("core-js/shim"); -require("regenerator-babel/runtime"); +import "core-js/shim"; +import "regenerator-babel/runtime"; diff --git a/src/babel/transformation/file.js b/src/babel/transformation/file.js index 25be52f9be..84e8852b61 100644 --- a/src/babel/transformation/file.js +++ b/src/babel/transformation/file.js @@ -1,18 +1,18 @@ -var sourceMapToComment = require("source-map-to-comment"); -var shebangRegex = require("shebang-regex"); -var isFunction = require("lodash/lang/isFunction"); -var transform = require("./index"); -var generate = require("../generation"); -var defaults = require("lodash/object/defaults"); -var includes = require("lodash/collection/includes"); -var assign = require("lodash/object/assign"); -var parse = require("../helpers/parse"); -var Scope = require("../traversal/scope"); -var slash = require("slash"); -var util = require("../util"); -var path = require("path"); -var each = require("lodash/collection/each"); -var t = require("../types"); +import sourceMapToComment from "source-map-to-comment"; +import shebangRegex from "shebang-regex"; +import isFunction from "lodash/lang/isFunction"; +import transform from "./index"; +import generate from "../generation"; +import defaults from "lodash/object/defaults"; +import includes from "lodash/collection/includes"; +import assign from "lodash/object/assign"; +import parse from "../helpers/parse"; +import Scope from "../traversal/scope"; +import slash from "slash"; +import * as util from "../util"; +import path from "path"; +import each from "lodash/collection/each"; +import t from "../types"; var checkTransformerVisitor = { enter(node, parent, scope, state) { 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 84cdd4ff79..5d49a830f8 100644 --- a/src/babel/transformation/helpers/build-binary-assignment-operator-transformer.js +++ b/src/babel/transformation/helpers/build-binary-assignment-operator-transformer.js @@ -1,5 +1,5 @@ -var explode = require("./explode-assignable-expression"); -var t = require("../../types"); +import explode from "./explode-assignable-expression"; +import t from "../../types"; module.exports = function (exports, opts) { var isAssignment = function (node) { diff --git a/src/babel/transformation/helpers/build-comprehension.js b/src/babel/transformation/helpers/build-comprehension.js index 9ba979caef..44f3bfa74b 100644 --- a/src/babel/transformation/helpers/build-comprehension.js +++ b/src/babel/transformation/helpers/build-comprehension.js @@ -1,4 +1,4 @@ -var t = require("../../types"); +import t from "../../types"; module.exports = function build(node, buildBody) { var self = node.blocks.shift(); 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 b3f5447b7a..62cfc62edd 100644 --- a/src/babel/transformation/helpers/build-conditional-assignment-operator-transformer.js +++ b/src/babel/transformation/helpers/build-conditional-assignment-operator-transformer.js @@ -1,5 +1,5 @@ -var explode = require("./explode-assignable-expression"); -var t = require("../../types"); +import explode from "./explode-assignable-expression"; +import t from "../../types"; module.exports = function (exports, opts) { var buildAssignment = function (left, right) { diff --git a/src/babel/transformation/helpers/build-react-transformer.js b/src/babel/transformation/helpers/build-react-transformer.js index c6173bd8e5..737b680ccc 100644 --- a/src/babel/transformation/helpers/build-react-transformer.js +++ b/src/babel/transformation/helpers/build-react-transformer.js @@ -3,11 +3,11 @@ // jsx -var isString = require("lodash/lang/isString"); -var messages = require("../../messages"); -var esutils = require("esutils"); -var react = require("./react"); -var t = require("../../types"); +import isString from "lodash/lang/isString"; +import * as messages from "../../messages"; +import esutils from "esutils"; +import react from "./react"; +import t from "../../types"; module.exports = function (exports, opts) { exports.check = function (node) { diff --git a/src/babel/transformation/helpers/define-map.js b/src/babel/transformation/helpers/define-map.js index abbd846fda..850c09cf66 100644 --- a/src/babel/transformation/helpers/define-map.js +++ b/src/babel/transformation/helpers/define-map.js @@ -1,9 +1,9 @@ -var cloneDeep = require("lodash/lang/cloneDeep"); -var traverse = require("../../traversal"); -var clone = require("lodash/lang/clone"); -var each = require("lodash/collection/each"); -var has = require("lodash/object/has"); -var t = require("../../types"); +import cloneDeep from "lodash/lang/cloneDeep"; +import traverse from "../../traversal"; +import clone from "lodash/lang/clone"; +import each from "lodash/collection/each"; +import has from "lodash/object/has"; +import t from "../../types"; exports.push = function (mutatorMap, key, kind, computed, value) { var alias; diff --git a/src/babel/transformation/helpers/explode-assignable-expression.js b/src/babel/transformation/helpers/explode-assignable-expression.js index 5fb4e489b4..52f79ead83 100644 --- a/src/babel/transformation/helpers/explode-assignable-expression.js +++ b/src/babel/transformation/helpers/explode-assignable-expression.js @@ -1,4 +1,4 @@ -var t = require("../../types"); +import t from "../../types"; var getObjRef = function (node, nodes, file, scope) { var ref; diff --git a/src/babel/transformation/helpers/get-function-arity.js b/src/babel/transformation/helpers/get-function-arity.js index faebae2cc7..e9825a024c 100644 --- a/src/babel/transformation/helpers/get-function-arity.js +++ b/src/babel/transformation/helpers/get-function-arity.js @@ -1,4 +1,4 @@ -var t = require("../../types"); +import t from "../../types"; module.exports = function (node) { var lastNonDefault = 0; diff --git a/src/babel/transformation/helpers/name-method.js b/src/babel/transformation/helpers/name-method.js index 4593254130..105d851e42 100644 --- a/src/babel/transformation/helpers/name-method.js +++ b/src/babel/transformation/helpers/name-method.js @@ -1,6 +1,6 @@ -var getFunctionArity = require("./get-function-arity"); -var util = require("../../util"); -var t = require("../../types"); +import getFunctionArity from "./get-function-arity"; +import * as util from "../../util"; +import t from "../../types"; var visitor = { enter(node, parent, scope, state) { diff --git a/src/babel/transformation/helpers/react.js b/src/babel/transformation/helpers/react.js index 663ab51095..87a20bd46c 100644 --- a/src/babel/transformation/helpers/react.js +++ b/src/babel/transformation/helpers/react.js @@ -1,4 +1,4 @@ -var t = require("../../types"); +import t from "../../types"; var isCreateClassCallExpression = t.buildMatchMemberExpression("React.createClass"); diff --git a/src/babel/transformation/helpers/remap-async-to-generator.js b/src/babel/transformation/helpers/remap-async-to-generator.js index 7d5edd9176..0e4a0842be 100644 --- a/src/babel/transformation/helpers/remap-async-to-generator.js +++ b/src/babel/transformation/helpers/remap-async-to-generator.js @@ -1,4 +1,4 @@ -var t = require("../../types"); +import t from "../../types"; var visitor = { enter(node) { diff --git a/src/babel/transformation/helpers/replace-supers.js b/src/babel/transformation/helpers/replace-supers.js index 5306b0ac92..bf5de32370 100644 --- a/src/babel/transformation/helpers/replace-supers.js +++ b/src/babel/transformation/helpers/replace-supers.js @@ -1,7 +1,7 @@ module.exports = ReplaceSupers; -var messages = require("../../messages"); -var t = require("../../types"); +import * as messages from "../../messages"; +import t from "../../types"; var isIllegalBareSuper = function (node, parent) { diff --git a/src/babel/transformation/helpers/use-strict.js b/src/babel/transformation/helpers/use-strict.js index 6ef8e3baf0..3c6b534ef5 100644 --- a/src/babel/transformation/helpers/use-strict.js +++ b/src/babel/transformation/helpers/use-strict.js @@ -1,4 +1,4 @@ -var t = require("../../types"); +import t from "../../types"; exports.has = function (node) { var first = node.body[0]; diff --git a/src/babel/transformation/index.js b/src/babel/transformation/index.js index d0af8f05ce..666792bc43 100644 --- a/src/babel/transformation/index.js +++ b/src/babel/transformation/index.js @@ -1,12 +1,10 @@ -module.exports = transform; +import normalizeAst from "../helpers/normalize-ast"; +import Transformer from "./transformer"; +import object from "../helpers/object"; +import File from "./file"; +import each from "lodash/collection/each"; -var normalizeAst = require("../helpers/normalize-ast"); -var Transformer = require("./transformer"); -var object = require("../helpers/object"); -var File = require("./file"); -var each = require("lodash/collection/each"); - -function transform(code, opts) { +export default function transform(code, opts) { var file = new File(opts); return file.parse(code); } @@ -53,7 +51,7 @@ transform.namespaces = object(); transform.deprecatedTransformerMap = require("./transformers/deprecated"); transform.moduleFormatters = require("./modules"); -var rawTransformers = require("./transformers"); +import rawTransformers from "./transformers"; each(rawTransformers, function (transformer, key) { var namespace = key.split(".")[0]; diff --git a/src/babel/transformation/modules/_default.js b/src/babel/transformation/modules/_default.js index d77e8d9983..8ee7fdca0d 100644 --- a/src/babel/transformation/modules/_default.js +++ b/src/babel/transformation/modules/_default.js @@ -1,8 +1,8 @@ -var messages = require("../../messages"); -var extend = require("lodash/object/extend"); -var object = require("../../helpers/object"); -var util = require("../../util"); -var t = require("../../types"); +import * as messages from "../../messages"; +import extend from "lodash/object/extend"; +import object from "../../helpers/object"; +import * as util from "../../util"; +import t from "../../types"; var remapVisitor = { enter(node, parent, scope, formatter) { diff --git a/src/babel/transformation/modules/_strict.js b/src/babel/transformation/modules/_strict.js index 040876c50d..8a422da334 100644 --- a/src/babel/transformation/modules/_strict.js +++ b/src/babel/transformation/modules/_strict.js @@ -1,6 +1,6 @@ -var util = require("../../util"); +import * as util from "../../util"; -module.exports = function (Parent) { +export default function (Parent) { var Constructor = function () { this.noInteropRequireImport = true; this.noInteropRequireExport = true; diff --git a/src/babel/transformation/modules/amd.js b/src/babel/transformation/modules/amd.js index a0bc14092e..b7a93736d1 100644 --- a/src/babel/transformation/modules/amd.js +++ b/src/babel/transformation/modules/amd.js @@ -1,9 +1,9 @@ -var DefaultFormatter = require("./_default"); -var CommonFormatter = require("./common"); -var includes = require("lodash/collection/includes"); -var values = require("lodash/object/values"); -var util = require("../../util"); -var t = require("../../types"); +import DefaultFormatter from "./_default"; +import CommonFormatter from "./common"; +import includes from "lodash/collection/includes"; +import values from "lodash/object/values"; +import * as util from "../../util"; +import t from "../../types"; export default class AMDFormatter extends DefaultFormatter { init = CommonFormatter.prototype.init; diff --git a/src/babel/transformation/modules/common.js b/src/babel/transformation/modules/common.js index a5b2f8b8ee..418ecf6dd6 100644 --- a/src/babel/transformation/modules/common.js +++ b/src/babel/transformation/modules/common.js @@ -1,7 +1,7 @@ -var DefaultFormatter = require("./_default"); -var includes = require("lodash/collection/includes"); -var util = require("../../util"); -var t = require("../../types"); +import DefaultFormatter from "./_default"; +import includes from "lodash/collection/includes"; +import * as util from "../../util"; +import t from "../../types"; export default class CommonJSFormatter extends DefaultFormatter { init() { diff --git a/src/babel/transformation/modules/ignore.js b/src/babel/transformation/modules/ignore.js index 6c50fce28f..5050f89d16 100644 --- a/src/babel/transformation/modules/ignore.js +++ b/src/babel/transformation/modules/ignore.js @@ -1,4 +1,4 @@ -var t = require("../../types"); +import t from "../../types"; export default class IgnoreFormatter { exportDeclaration(node, nodes) { diff --git a/src/babel/transformation/modules/system.js b/src/babel/transformation/modules/system.js index 65dd0dd333..73a9afca0d 100644 --- a/src/babel/transformation/modules/system.js +++ b/src/babel/transformation/modules/system.js @@ -1,10 +1,10 @@ -var DefaultFormatter = require("./_default"); -var AMDFormatter = require("./amd"); -var util = require("../../util"); -var last = require("lodash/array/last"); -var each = require("lodash/collection/each"); -var map = require("lodash/collection/map"); -var t = require("../../types"); +import DefaultFormatter from "./_default"; +import AMDFormatter from "./amd"; +import * as util from "../../util"; +import last from "lodash/array/last"; +import each from "lodash/collection/each"; +import map from "lodash/collection/map"; +import t from "../../types"; var hoistVariablesVisitor = { enter(node, parent, scope, hoistDeclarators) { diff --git a/src/babel/transformation/modules/umd.js b/src/babel/transformation/modules/umd.js index 81378512d5..d130318b22 100644 --- a/src/babel/transformation/modules/umd.js +++ b/src/babel/transformation/modules/umd.js @@ -1,7 +1,7 @@ -var AMDFormatter = require("./amd"); -var values = require("lodash/object/values"); -var util = require("../../util"); -var t = require("../../types"); +import AMDFormatter from "./amd"; +import values from "lodash/object/values"; +import * as util from "../../util"; +import t from "../../types"; export default class UMDFormatter extends AMDFormatter { transform(program) { diff --git a/src/babel/transformation/transformer-pass.js b/src/babel/transformation/transformer-pass.js index 3729fd4711..d691b42ebc 100644 --- a/src/babel/transformation/transformer-pass.js +++ b/src/babel/transformation/transformer-pass.js @@ -1,4 +1,4 @@ -var includes = require("lodash/collection/includes"); +import includes from "lodash/collection/includes"; /** * This class is responsible for traversing over the provided `File`s diff --git a/src/babel/transformation/transformer.js b/src/babel/transformation/transformer.js index 6bf00be2bd..4794462a92 100644 --- a/src/babel/transformation/transformer.js +++ b/src/babel/transformation/transformer.js @@ -1,9 +1,9 @@ -var TransformerPass = require("./transformer-pass"); -var isFunction = require("lodash/lang/isFunction"); -var traverse = require("../traversal"); -var isObject = require("lodash/lang/isObject"); -var assign = require("lodash/object/assign"); -var each = require("lodash/collection/each"); +import TransformerPass from "./transformer-pass"; +import isFunction from "lodash/lang/isFunction"; +import traverse from "../traversal"; +import isObject from "lodash/lang/isObject"; +import assign from "lodash/object/assign"; +import each from "lodash/collection/each"; /** * This is the class responsible for normalising a transformers handlers diff --git a/src/babel/transformation/transformers/es3/member-expression-literals.js b/src/babel/transformation/transformers/es3/member-expression-literals.js index bfbcd1a225..5199bc82be 100644 --- a/src/babel/transformation/transformers/es3/member-expression-literals.js +++ b/src/babel/transformation/transformers/es3/member-expression-literals.js @@ -1,6 +1,6 @@ -var t = require("../../../types"); +import t from "../../../types"; -exports.MemberExpression = function (node) { +export function MemberExpression(node) { var prop = node.property; if (node.computed && t.isLiteral(prop) && t.isValidIdentifier(prop.value)) { // foo["bar"] => foo.bar @@ -11,4 +11,4 @@ exports.MemberExpression = function (node) { node.property = t.literal(prop.name); node.computed = true; } -}; +} diff --git a/src/babel/transformation/transformers/es3/property-literals.js b/src/babel/transformation/transformers/es3/property-literals.js index 2cfd5abc1b..1e61ce2f3a 100644 --- a/src/babel/transformation/transformers/es3/property-literals.js +++ b/src/babel/transformation/transformers/es3/property-literals.js @@ -1,6 +1,6 @@ -var t = require("../../../types"); +import t from "../../../types"; -exports.Property = function (node) { +export function Property(node) { var key = node.key; if (t.isLiteral(key) && t.isValidIdentifier(key.value)) { // "foo": "bar" -> foo: "bar" @@ -10,4 +10,4 @@ exports.Property = function (node) { // default: "bar" -> "default": "bar" node.key = t.literal(key.name); } -}; +} diff --git a/src/babel/transformation/transformers/es5/properties.mutators.js b/src/babel/transformation/transformers/es5/properties.mutators.js index 7486bad88b..fa4fdf7b92 100644 --- a/src/babel/transformation/transformers/es5/properties.mutators.js +++ b/src/babel/transformation/transformers/es5/properties.mutators.js @@ -1,11 +1,11 @@ -var defineMap = require("../../helpers/define-map"); -var t = require("../../../types"); +import defineMap from "../../helpers/define-map"; +import t from "../../../types"; -exports.check = function (node) { +export function check(node) { return t.isProperty(node) && (node.kind === "get" || node.kind === "set"); -}; +} -exports.ObjectExpression = function (node) { +export function ObjectExpression(node) { var mutatorMap = {}; var hasAny = false; @@ -25,4 +25,4 @@ exports.ObjectExpression = function (node) { t.memberExpression(t.identifier("Object"), t.identifier("defineProperties")), [node, defineMap.build(mutatorMap)] ); -}; +} diff --git a/src/babel/transformation/transformers/es6/arrow-functions.js b/src/babel/transformation/transformers/es6/arrow-functions.js index 6368e62786..7e7181fae9 100644 --- a/src/babel/transformation/transformers/es6/arrow-functions.js +++ b/src/babel/transformation/transformers/es6/arrow-functions.js @@ -1,8 +1,8 @@ -var t = require("../../../types"); +import t from "../../../types"; exports.check = t.isArrowFunctionExpression; -exports.ArrowFunctionExpression = function (node) { +export function ArrowFunctionExpression(node) { t.ensureBlock(node); node._aliasFunction = "arrow"; @@ -10,4 +10,4 @@ exports.ArrowFunctionExpression = function (node) { node.type = "FunctionExpression"; return node; -}; +} diff --git a/src/babel/transformation/transformers/es6/block-scoping-tdz.js b/src/babel/transformation/transformers/es6/block-scoping-tdz.js index e939ce45eb..689191800e 100644 --- a/src/babel/transformation/transformers/es6/block-scoping-tdz.js +++ b/src/babel/transformation/transformers/es6/block-scoping-tdz.js @@ -1,4 +1,4 @@ -var t = require("../../../types"); +import t from "../../../types"; var visitor = { enter(node, parent, scope, state) { diff --git a/src/babel/transformation/transformers/es6/block-scoping.js b/src/babel/transformation/transformers/es6/block-scoping.js index 23ea77a2f3..decb02090a 100644 --- a/src/babel/transformation/transformers/es6/block-scoping.js +++ b/src/babel/transformation/transformers/es6/block-scoping.js @@ -1,9 +1,9 @@ -var traverse = require("../../../traversal"); -var object = require("../../../helpers/object"); -var util = require("../../../util"); -var t = require("../../../types"); -var values = require("lodash/object/values"); -var extend = require("lodash/object/extend"); +import traverse from "../../../traversal"; +import object from "../../../helpers/object"; +import * as util from "../../../util"; +import t from "../../../types"; +import values from "lodash/object/values"; +import extend from "lodash/object/extend"; exports.check = function (node) { return t.isVariableDeclaration(node) && (node.kind === "let" || node.kind === "const"); diff --git a/src/babel/transformation/transformers/es6/classes.js b/src/babel/transformation/transformers/es6/classes.js index b0957f9277..6c5e69cb18 100644 --- a/src/babel/transformation/transformers/es6/classes.js +++ b/src/babel/transformation/transformers/es6/classes.js @@ -1,9 +1,9 @@ -var ReplaceSupers = require("../../helpers/replace-supers"); -var nameMethod = require("../../helpers/name-method"); -var defineMap = require("../../helpers/define-map"); -var messages = require("../../../messages"); -var util = require("../../../util"); -var t = require("../../../types"); +import ReplaceSupers from "../../helpers/replace-supers"; +import nameMethod from "../../helpers/name-method"; +import defineMap from "../../helpers/define-map"; +import * as messages from "../../../messages"; +import * as util from "../../../util"; +import t from "../../../types"; exports.check = t.isClass; diff --git a/src/babel/transformation/transformers/es6/constants.js b/src/babel/transformation/transformers/es6/constants.js index b68de8d4ce..4ffbdfe0ef 100644 --- a/src/babel/transformation/transformers/es6/constants.js +++ b/src/babel/transformation/transformers/es6/constants.js @@ -1,5 +1,5 @@ -var messages = require("../../../messages"); -var t = require("../../../types"); +import * as messages from "../../../messages"; +import t from "../../../types"; exports.check = function (node) { return t.isVariableDeclaration(node, { kind: "const" }); diff --git a/src/babel/transformation/transformers/es6/destructuring.js b/src/babel/transformation/transformers/es6/destructuring.js index 1e9a59481f..c44a306d81 100644 --- a/src/babel/transformation/transformers/es6/destructuring.js +++ b/src/babel/transformation/transformers/es6/destructuring.js @@ -1,5 +1,5 @@ -var messages = require("../../../messages"); -var t = require("../../../types"); +import * as messages from "../../../messages"; +import t from "../../../types"; exports.check = t.isPattern; diff --git a/src/babel/transformation/transformers/es6/for-of.js b/src/babel/transformation/transformers/es6/for-of.js index edda644095..39b4a0b448 100644 --- a/src/babel/transformation/transformers/es6/for-of.js +++ b/src/babel/transformation/transformers/es6/for-of.js @@ -1,6 +1,6 @@ -var messages = require("../../../messages"); -var util = require("../../../util"); -var t = require("../../../types"); +import * as messages from "../../../messages"; +import * as util from "../../../util"; +import t from "../../../types"; exports.check = t.isForOfStatement; diff --git a/src/babel/transformation/transformers/es6/modules.js b/src/babel/transformation/transformers/es6/modules.js index 5a74bb0615..35c007e39d 100644 --- a/src/babel/transformation/transformers/es6/modules.js +++ b/src/babel/transformation/transformers/es6/modules.js @@ -1,4 +1,4 @@ -var t = require("../../../types"); +import t from "../../../types"; exports.check = require("../internal/modules").check; diff --git a/src/babel/transformation/transformers/es6/object-super.js b/src/babel/transformation/transformers/es6/object-super.js index 0fec44abc4..f5463bfe4a 100644 --- a/src/babel/transformation/transformers/es6/object-super.js +++ b/src/babel/transformation/transformers/es6/object-super.js @@ -1,5 +1,5 @@ -var ReplaceSupers = require("../../helpers/replace-supers"); -var t = require("../../../types"); +import ReplaceSupers from "../../helpers/replace-supers"; +import t from "../../../types"; exports.check = function (node) { return t.isIdentifier(node, { name: "super" }); diff --git a/src/babel/transformation/transformers/es6/parameters.default.js b/src/babel/transformation/transformers/es6/parameters.default.js index 231474939a..62b757c768 100644 --- a/src/babel/transformation/transformers/es6/parameters.default.js +++ b/src/babel/transformation/transformers/es6/parameters.default.js @@ -1,5 +1,5 @@ -var util = require("../../../util"); -var t = require("../../../types"); +import * as util from "../../../util"; +import t from "../../../types"; exports.check = function (node) { return t.isFunction(node) && hasDefaults(node); diff --git a/src/babel/transformation/transformers/es6/parameters.rest.js b/src/babel/transformation/transformers/es6/parameters.rest.js index a650979f18..f2aa27b25f 100644 --- a/src/babel/transformation/transformers/es6/parameters.rest.js +++ b/src/babel/transformation/transformers/es6/parameters.rest.js @@ -1,6 +1,6 @@ -var isNumber = require("lodash/lang/isNumber"); -var util = require("../../../util"); -var t = require("../../../types"); +import isNumber from "lodash/lang/isNumber"; +import * as util from "../../../util"; +import t from "../../../types"; exports.check = t.isRestElement; diff --git a/src/babel/transformation/transformers/es6/properties.computed.js b/src/babel/transformation/transformers/es6/properties.computed.js index 375823647b..47ebcc4041 100644 --- a/src/babel/transformation/transformers/es6/properties.computed.js +++ b/src/babel/transformation/transformers/es6/properties.computed.js @@ -1,4 +1,4 @@ -var t = require("../../../types"); +import t from "../../../types"; exports.check = function (node) { return t.isProperty(node) && node.computed; diff --git a/src/babel/transformation/transformers/es6/properties.shorthand.js b/src/babel/transformation/transformers/es6/properties.shorthand.js index 8e09f88e28..8c4949c327 100644 --- a/src/babel/transformation/transformers/es6/properties.shorthand.js +++ b/src/babel/transformation/transformers/es6/properties.shorthand.js @@ -1,5 +1,5 @@ -var clone = require("lodash/lang/clone"); -var t = require("../../../types"); +import clone from "lodash/lang/clone"; +import t from "../../../types"; exports.check = function (node) { return t.isProperty(node) && (node.method || node.shorthand); diff --git a/src/babel/transformation/transformers/es6/spread.js b/src/babel/transformation/transformers/es6/spread.js index 04929667c0..83725258e8 100644 --- a/src/babel/transformation/transformers/es6/spread.js +++ b/src/babel/transformation/transformers/es6/spread.js @@ -1,5 +1,5 @@ -var includes = require("lodash/collection/includes"); -var t = require("../../../types"); +import includes from "lodash/collection/includes"; +import t from "../../../types"; exports.check = t.isSpreadElement; diff --git a/src/babel/transformation/transformers/es6/tail-call.js b/src/babel/transformation/transformers/es6/tail-call.js index a6d9b123a8..439b3f1712 100644 --- a/src/babel/transformation/transformers/es6/tail-call.js +++ b/src/babel/transformation/transformers/es6/tail-call.js @@ -1,9 +1,9 @@ -var reduceRight = require("lodash/collection/reduceRight"); -var messages = require("../../../messages"); -var flatten = require("lodash/array/flatten"); -var util = require("../../../util"); -var map = require("lodash/collection/map"); -var t = require("../../../types"); +import reduceRight from "lodash/collection/reduceRight"; +import * as messages from "../../../messages"; +import flatten from "lodash/array/flatten"; +import * as util from "../../../util"; +import map from "lodash/collection/map"; +import t from "../../../types"; exports.Function = function (node, parent, scope, file) { var tailCall = new TailCallTransformer(node, scope, file); diff --git a/src/babel/transformation/transformers/es6/template-literals.js b/src/babel/transformation/transformers/es6/template-literals.js index 31cab57844..72206bf5bf 100644 --- a/src/babel/transformation/transformers/es6/template-literals.js +++ b/src/babel/transformation/transformers/es6/template-literals.js @@ -1,4 +1,4 @@ -var t = require("../../../types"); +import t from "../../../types"; var buildBinaryExpression = function (left, right) { return t.binaryExpression("+", left, right); diff --git a/src/babel/transformation/transformers/es6/unicode-regex.js b/src/babel/transformation/transformers/es6/unicode-regex.js index 1341327128..2badeeff07 100644 --- a/src/babel/transformation/transformers/es6/unicode-regex.js +++ b/src/babel/transformation/transformers/es6/unicode-regex.js @@ -1,6 +1,6 @@ -var rewritePattern = require("regexpu/rewrite-pattern"); -var pull = require("lodash/array/pull"); -var t = require("../../../types"); +import rewritePattern from "regexpu/rewrite-pattern"; +import pull from "lodash/array/pull"; +import t from "../../../types"; exports.check = function (node) { return t.isLiteral(node) && node.regex && node.regex.flags.indexOf("u") >= 0; diff --git a/src/babel/transformation/transformers/es7/abstract-references.js b/src/babel/transformation/transformers/es7/abstract-references.js index d8d13a6586..8114f7c449 100644 --- a/src/babel/transformation/transformers/es7/abstract-references.js +++ b/src/babel/transformation/transformers/es7/abstract-references.js @@ -1,7 +1,7 @@ // https://github.com/zenparsing/es-abstract-refs -var util = require("../../../util"); -var t = require("../../../types"); +import * as util from "../../../util"; +import t from "../../../types"; exports.experimental = true; diff --git a/src/babel/transformation/transformers/es7/comprehensions.js b/src/babel/transformation/transformers/es7/comprehensions.js index 807595a90a..69a7431b21 100644 --- a/src/babel/transformation/transformers/es7/comprehensions.js +++ b/src/babel/transformation/transformers/es7/comprehensions.js @@ -1,7 +1,7 @@ -var buildComprehension = require("../../helpers/build-comprehension"); -var traverse = require("../../../traversal"); -var util = require("../../../util"); -var t = require("../../../types"); +import buildComprehension from "../../helpers/build-comprehension"; +import traverse from "../../../traversal"; +import * as util from "../../../util"; +import t from "../../../types"; exports.experimental = true; diff --git a/src/babel/transformation/transformers/es7/exponentiation-operator.js b/src/babel/transformation/transformers/es7/exponentiation-operator.js index a6deabd026..92068344a8 100644 --- a/src/babel/transformation/transformers/es7/exponentiation-operator.js +++ b/src/babel/transformation/transformers/es7/exponentiation-operator.js @@ -2,8 +2,8 @@ exports.experimental = true; -var build = require("../../helpers/build-binary-assignment-operator-transformer"); -var t = require("../../../types"); +import build from "../../helpers/build-binary-assignment-operator-transformer"; +import t from "../../../types"; var MATH_POW = t.memberExpression(t.identifier("Math"), t.identifier("pow")); diff --git a/src/babel/transformation/transformers/es7/object-rest-spread.js b/src/babel/transformation/transformers/es7/object-rest-spread.js index f49adb9c01..219ff3f2b8 100644 --- a/src/babel/transformation/transformers/es7/object-rest-spread.js +++ b/src/babel/transformation/transformers/es7/object-rest-spread.js @@ -1,6 +1,6 @@ // https://github.com/sebmarkbage/ecmascript-rest-spread -var t = require("../../../types"); +import t from "../../../types"; exports.experimental = true; diff --git a/src/babel/transformation/transformers/index.js b/src/babel/transformation/transformers/index.js index 3254bd38df..f1101862c5 100644 --- a/src/babel/transformation/transformers/index.js +++ b/src/babel/transformation/transformers/index.js @@ -1,4 +1,4 @@ -module.exports = { +export default { useStrict: require("./other/use-strict"), "validation.undeclaredVariableCheck": require("./validation/undeclared-variable-check"), diff --git a/src/babel/transformation/transformers/internal/alias-functions.js b/src/babel/transformation/transformers/internal/alias-functions.js index 3a3e871dcc..0bca11f8e5 100644 --- a/src/babel/transformation/transformers/internal/alias-functions.js +++ b/src/babel/transformation/transformers/internal/alias-functions.js @@ -1,4 +1,4 @@ -var t = require("../../../types"); +import t from "../../../types"; var functionChildrenVisitor = { enter(node, parent, scope, state) { diff --git a/src/babel/transformation/transformers/internal/block-hoist.js b/src/babel/transformation/transformers/internal/block-hoist.js index 2f8e94eaad..a8a16c3d7c 100644 --- a/src/babel/transformation/transformers/internal/block-hoist.js +++ b/src/babel/transformation/transformers/internal/block-hoist.js @@ -1,6 +1,6 @@ -var groupBy = require("lodash/collection/groupBy"); -var flatten = require("lodash/array/flatten"); -var values = require("lodash/object/values"); +import groupBy from "lodash/collection/groupBy"; +import flatten from "lodash/array/flatten"; +import values from "lodash/object/values"; // Priority: // diff --git a/src/babel/transformation/transformers/internal/declarations.js b/src/babel/transformation/transformers/internal/declarations.js index 28119ab9f7..cc3beb67aa 100644 --- a/src/babel/transformation/transformers/internal/declarations.js +++ b/src/babel/transformation/transformers/internal/declarations.js @@ -1,5 +1,5 @@ -var useStrict = require("../../helpers/use-strict"); -var t = require("../../../types"); +import useStrict from "../../helpers/use-strict"; +import t from "../../../types"; exports.secondPass = true; diff --git a/src/babel/transformation/transformers/internal/module-formatter.js b/src/babel/transformation/transformers/internal/module-formatter.js index 356eb84825..a2115a112f 100644 --- a/src/babel/transformation/transformers/internal/module-formatter.js +++ b/src/babel/transformation/transformers/internal/module-formatter.js @@ -1,4 +1,4 @@ -var useStrict = require("../../helpers/use-strict"); +import useStrict from "../../helpers/use-strict"; exports.Program = function (program, parent, scope, file) { if (!file.transformers["es6.modules"].canRun()) return; diff --git a/src/babel/transformation/transformers/internal/modules.js b/src/babel/transformation/transformers/internal/modules.js index 5933226081..63e465273c 100644 --- a/src/babel/transformation/transformers/internal/modules.js +++ b/src/babel/transformation/transformers/internal/modules.js @@ -4,23 +4,21 @@ // a generator function as a default then regenerator will destroy the export // declaration and leave a variable declaration in it's place... yeah, handy. -var t = require("../../../types"); +import t from "../../../types"; -var resolveModuleSource = function (node, parent, scope, file) { +export function check(node) { + return t.isImportDeclaration(node) || t.isExportDeclaration(node); +} + +export function ImportDeclaration(node, parent, scope, file) { var resolveModuleSource = file.opts.resolveModuleSource; if (node.source && resolveModuleSource) { node.source.value = resolveModuleSource(node.source.value); } -}; +} -exports.check = function (node) { - return t.isImportDeclaration(node) || t.isExportDeclaration(node); -}; - -exports.ImportDeclaration = resolveModuleSource; - -exports.ExportDeclaration = function (node, parent, scope) { - resolveModuleSource.apply(null, arguments); +export function ExportDeclaration(node, parent, scope) { + ImportDeclaration.apply(this, arguments); // flow type if (node.isType) return; diff --git a/src/babel/transformation/transformers/internal/use-strict.js b/src/babel/transformation/transformers/internal/use-strict.js index 2d75c6d868..65ea3edfcc 100644 --- a/src/babel/transformation/transformers/internal/use-strict.js +++ b/src/babel/transformation/transformers/internal/use-strict.js @@ -1,7 +1,7 @@ -var t = require("../../../types"); +import t from "../../../types"; -exports.Program = function (program, parent, scope, file) { +export function Program(program, parent, scope, file) { if (file.transformers.useStrict.canRun()) { program.body.unshift(t.expressionStatement(t.literal("use strict"))); } -}; +} diff --git a/src/babel/transformation/transformers/minification/dead-code-elimination.js b/src/babel/transformation/transformers/minification/dead-code-elimination.js index cc8dc40ca5..3fd279ef15 100644 --- a/src/babel/transformation/transformers/minification/dead-code-elimination.js +++ b/src/babel/transformation/transformers/minification/dead-code-elimination.js @@ -1,8 +1,8 @@ -var t = require("../../../types"); +import t from "../../../types"; -exports.optional = true; +export var optional = true; -exports.ExpressionStatement = function (node) { +export function ExpressionStatement(node) { // remove consequence-less expressions such as local variables and literals // note: will remove directives // @@ -14,9 +14,9 @@ exports.ExpressionStatement = function (node) { if (t.isLiteral(expr) || (t.isIdentifier(node) && t.hasBinding(node.name))) { this.remove(); } -}; +} -exports.IfStatement = { +export var IfStatement = { exit(node) { // todo: in scenarios where we can just return the consequent or // alternate we should drop the block statement if it contains no diff --git a/src/babel/transformation/transformers/minification/remove-console-calls.js b/src/babel/transformation/transformers/minification/remove-console-calls.js index 2c0193594d..c5631ce8a2 100644 --- a/src/babel/transformation/transformers/minification/remove-console-calls.js +++ b/src/babel/transformation/transformers/minification/remove-console-calls.js @@ -1,10 +1,10 @@ -var t = require("../../../types"); +import t from "../../../types"; var isConsole = t.buildMatchMemberExpression("console", true); -exports.optional = true; +export var optional = true; -exports.CallExpression = function (node, parent) { +export function CallExpression(node, parent) { if (isConsole(node.callee)) { if (t.isExpressionStatement(parent)) { this.parentPath.remove(); @@ -12,4 +12,4 @@ exports.CallExpression = function (node, parent) { this.remove(); } } -}; +} diff --git a/src/babel/transformation/transformers/minification/remove-debugger.js b/src/babel/transformation/transformers/minification/remove-debugger.js index ae2eca0b0a..c0509f3f2b 100644 --- a/src/babel/transformation/transformers/minification/remove-debugger.js +++ b/src/babel/transformation/transformers/minification/remove-debugger.js @@ -1,9 +1,9 @@ -var t = require("../../../types"); +import t from "../../../types"; -exports.optional = true; +export var optional = true; -exports.ExpressionStatement = function (node) { +export function ExpressionStatement(node) { if (t.isIdentifier(node.expression, { name: "debugger" })) { this.remove(); } -}; +} diff --git a/src/babel/transformation/transformers/minification/rename-local-variables.js b/src/babel/transformation/transformers/minification/rename-local-variables.js index 1617a84bd0..30cf1d2bad 100644 --- a/src/babel/transformation/transformers/minification/rename-local-variables.js +++ b/src/babel/transformation/transformers/minification/rename-local-variables.js @@ -1,9 +1,9 @@ -//var t = require("../../../types"); +//import t from "../../../types"; -exports.optional = true; +export var optional = true; -exports.Scopable = function () { +export function Scopable() { //for (var name in scope.bindings) { // scope.rename(name, scope.generateUidIdentifier("a").name); //} -}; +} diff --git a/src/babel/transformation/transformers/other/async-to-generator.js b/src/babel/transformation/transformers/other/async-to-generator.js index 9641033975..8541660441 100644 --- a/src/babel/transformation/transformers/other/async-to-generator.js +++ b/src/babel/transformation/transformers/other/async-to-generator.js @@ -1,11 +1,10 @@ -var remapAsyncToGenerator = require("../../helpers/remap-async-to-generator"); -var bluebirdCoroutines = require("./bluebird-coroutines"); +import remapAsyncToGenerator from "../../helpers/remap-async-to-generator"; -exports.optional = true; +export { manipulateOptions } from "./bluebird-coroutines"; -exports.manipulateOptions = bluebirdCoroutines.manipulateOptions; +export var optional = true; -exports.Function = function (node, parent, scope, file) { +export function Function(node, parent, scope, file) { if (!node.async || node.generator) return; return remapAsyncToGenerator(node, file.addHelper("async-to-generator"), scope); diff --git a/src/babel/transformation/transformers/other/bluebird-coroutines.js b/src/babel/transformation/transformers/other/bluebird-coroutines.js index 771db3b307..0e7234b60c 100644 --- a/src/babel/transformation/transformers/other/bluebird-coroutines.js +++ b/src/babel/transformation/transformers/other/bluebird-coroutines.js @@ -1,14 +1,14 @@ -var remapAsyncToGenerator = require("../../helpers/remap-async-to-generator"); -var t = require("../../../types"); +import remapAsyncToGenerator from "../../helpers/remap-async-to-generator"; +import t from "../../../types"; -exports.manipulateOptions = function (opts) { +export function manipulateOptions(opts) { opts.experimental = true; opts.blacklist.push("regenerator"); -}; +} -exports.optional = true; +export var optional = true; -exports.Function = function (node, parent, scope, file) { +export function Function(node, parent, scope, file) { if (!node.async || node.generator) return; return remapAsyncToGenerator( @@ -16,4 +16,4 @@ exports.Function = function (node, parent, scope, file) { t.memberExpression(file.addImport("bluebird", null, true), t.identifier("coroutine")), scope ); -}; +} diff --git a/src/babel/transformation/transformers/other/flow.js b/src/babel/transformation/transformers/other/flow.js index 1291ce2c32..886ff8743d 100644 --- a/src/babel/transformation/transformers/other/flow.js +++ b/src/babel/transformation/transformers/other/flow.js @@ -1,13 +1,13 @@ -var t = require("../../../types"); +import t from "../../../types"; -exports.TypeCastExpression = function (node) { +export function TypeCastExpression(node) { return node.expression; -}; +} -exports.ImportDeclaration = function (node) { +export function ImportDeclaration(node) { if (node.isType) this.remove(); -}; +} -exports.ExportDeclaration = function (node) { +export function ExportDeclaration(node) { if (t.isTypeAlias(node.declaration)) this.remove(); -}; +} diff --git a/src/babel/transformation/transformers/other/react-compat.js b/src/babel/transformation/transformers/other/react-compat.js index 09db63586f..ca768fef07 100644 --- a/src/babel/transformation/transformers/other/react-compat.js +++ b/src/babel/transformation/transformers/other/react-compat.js @@ -1,11 +1,11 @@ -var react = require("../../helpers/react"); -var t = require("../../../types"); +import react from "../../helpers/react"; +import t from "../../../types"; -exports.manipulateOptions = function (opts) { +export function manipulateOptions(opts) { opts.blacklist.push("react"); -}; +} -exports.optional = true; +export var optional = true; require("../../helpers/build-react-transformer")(exports, { pre(state) { diff --git a/src/babel/transformation/transformers/other/react.js b/src/babel/transformation/transformers/other/react.js index 3eaea6cb2f..1ef391bc00 100644 --- a/src/babel/transformation/transformers/other/react.js +++ b/src/babel/transformation/transformers/other/react.js @@ -1,9 +1,9 @@ -var react = require("../../helpers/react"); -var t = require("../../../types"); +import react from "../../helpers/react"; +import t from "../../../types"; var JSX_ANNOTATION_REGEX = /^\*\s*@jsx\s+([^\s]+)/; -exports.Program = function (node, parent, scope, file) { +export function Program(node, parent, scope, file) { var id = "React.createElement"; for (var i = 0; i < file.ast.comments.length; i++) { @@ -22,7 +22,7 @@ exports.Program = function (node, parent, scope, file) { file.set("jsxIdentifier", id.split(".").map(t.identifier).reduce(function (object, property) { return t.memberExpression(object, property); })); -}; +} require("../../helpers/build-react-transformer")(exports, { pre(state) { diff --git a/src/babel/transformation/transformers/other/regenerator.js b/src/babel/transformation/transformers/other/regenerator.js index d6faaeee07..492f81a6c5 100644 --- a/src/babel/transformation/transformers/other/regenerator.js +++ b/src/babel/transformation/transformers/other/regenerator.js @@ -1,11 +1,11 @@ -var regenerator = require("regenerator-babel"); -var t = require("../../../types"); +import regenerator from "regenerator-babel"; +import t from "../../../types"; -exports.check = function (node) { +export function check(node) { return t.isFunction(node) && (node.async || node.generator); -}; +} -exports.Program = { +export var Program = { enter(ast) { regenerator.transform(ast); this.stop(); diff --git a/src/babel/transformation/transformers/other/runtime.js b/src/babel/transformation/transformers/other/runtime.js index c69657fe1c..231039d7a3 100644 --- a/src/babel/transformation/transformers/other/runtime.js +++ b/src/babel/transformation/transformers/other/runtime.js @@ -1,8 +1,8 @@ -var includes = require("lodash/collection/includes"); -var util = require("../../../util"); -var core = require("core-js/library"); -var has = require("lodash/object/has"); -var t = require("../../../types"); +import includes from "lodash/collection/includes"; +import * as util from "../../../util"; +import core from "core-js/library"; +import has from "lodash/object/has"; +import t from "../../../types"; var isSymboliterator = t.buildMatchMemberExpression("Symbol.iterator"); @@ -69,17 +69,17 @@ var astVisitor = { } }; -exports.optional = true; +export var optional = true; -exports.manipulateOptions = function (opts) { +export function manipulateOptions(opts) { if (opts.whitelist.length) opts.whitelist.push("es6.modules"); -}; +} -exports.Program = function (node, parent, scope, file) { +export function Program(node, parent, scope, file) { scope.traverse(node, astVisitor, file); -}; +} -exports.pre = function (file) { +export function pre(file) { file.setDynamic("helpersNamespace", function () { return file.addImport("babel-runtime/helpers", "babelHelpers"); }); @@ -91,10 +91,10 @@ exports.pre = function (file) { file.setDynamic("regeneratorIdentifier", function () { return file.addImport("babel-runtime/regenerator", "regeneratorRuntime"); }); -}; +} -exports.Identifier = function (node, parent, scope, file) { +export function Identifier(node, parent, scope, file) { if (t.isReferencedIdentifier(node, parent, { name: "regeneratorRuntime" })) { return file.get("regeneratorIdentifier"); } -}; +} diff --git a/src/babel/transformation/transformers/other/use-strict.js b/src/babel/transformation/transformers/other/use-strict.js index 09ad0b4816..c0388cad02 100644 --- a/src/babel/transformation/transformers/other/use-strict.js +++ b/src/babel/transformation/transformers/other/use-strict.js @@ -1,24 +1,24 @@ -var messages = require("../../../messages"); -var t = require("../../../types"); +import * as messages from "../../../messages"; +import t from "../../../types"; -exports.Program = function (program) { +export function Program(program) { var first = program.body[0]; if (t.isExpressionStatement(first) && t.isLiteral(first.expression, { value: "use strict" })) { program.body.shift(); } -}; +} exports.FunctionDeclaration = exports.FunctionExpression = function () { this.skip(); }; -exports.ThisExpression = function () { +export function ThisExpression() { return t.identifier("undefined"); -}; +} -exports.CallExpression = function (node, parent, scope, file) { +export function CallExpression(node, parent, scope, file) { if (t.isIdentifier(node.callee, { name: "eval" })) { throw file.errorWithNode(node, messages.get("evalInStrictMode")); } -}; +} diff --git a/src/babel/transformation/transformers/playground/mallet-operator.js b/src/babel/transformation/transformers/playground/mallet-operator.js index 876af0d5a0..bcf1af4298 100644 --- a/src/babel/transformation/transformers/playground/mallet-operator.js +++ b/src/babel/transformation/transformers/playground/mallet-operator.js @@ -1,8 +1,8 @@ -var messages = require("../../../messages"); -var build = require("../../helpers/build-conditional-assignment-operator-transformer"); -var t = require("../../../types"); +import * as messages from "../../../messages"; +import build from "../../helpers/build-conditional-assignment-operator-transformer"; +import t from "../../../types"; -exports.playground = true; +export var playground = true; build(exports, { is(node, file) { diff --git a/src/babel/transformation/transformers/playground/memoization-operator.js b/src/babel/transformation/transformers/playground/memoization-operator.js index 617384a97d..ae75000ed2 100644 --- a/src/babel/transformation/transformers/playground/memoization-operator.js +++ b/src/babel/transformation/transformers/playground/memoization-operator.js @@ -1,7 +1,7 @@ -var build = require("../../helpers/build-conditional-assignment-operator-transformer"); -var t = require("../../../types"); +import build from "../../helpers/build-conditional-assignment-operator-transformer"; +import t from "../../../types"; -exports.playground = true; +export var playground = true; build(exports, { is(node) { diff --git a/src/babel/transformation/transformers/playground/method-binding.js b/src/babel/transformation/transformers/playground/method-binding.js index 22186a902b..74d3fed196 100644 --- a/src/babel/transformation/transformers/playground/method-binding.js +++ b/src/babel/transformation/transformers/playground/method-binding.js @@ -1,8 +1,8 @@ -var t = require("../../../types"); +import t from "../../../types"; -exports.playground = true; +export var playground = true; -exports.BindMemberExpression = function (node, parent, scope) { +export function BindMemberExpression(node, parent, scope) { var object = node.object; var prop = node.property; @@ -22,9 +22,9 @@ exports.BindMemberExpression = function (node, parent, scope) { } else { return call; } -}; +} -exports.BindFunctionExpression = function (node, parent, scope) { +export function BindFunctionExpression(node, parent, scope) { var buildCall = function (args) { var param = scope.generateUidIdentifier("val"); return t.functionExpression(null, [param], t.blockStatement([ @@ -40,4 +40,4 @@ exports.BindFunctionExpression = function (node, parent, scope) { return t.memberExpression(temp, t.literal(i), true); })) ]); -}; +} diff --git a/src/babel/transformation/transformers/playground/object-getter-memoization.js b/src/babel/transformation/transformers/playground/object-getter-memoization.js index 1d25380333..4de270a31f 100644 --- a/src/babel/transformation/transformers/playground/object-getter-memoization.js +++ b/src/babel/transformation/transformers/playground/object-getter-memoization.js @@ -1,6 +1,6 @@ -var t = require("../../../types"); +import t from "../../../types"; -exports.playground = true; +export var playground = true; var visitor = { enter(node, parent, scope, state) { diff --git a/src/babel/transformation/transformers/spec/block-scoped-functions.js b/src/babel/transformation/transformers/spec/block-scoped-functions.js index e6be17be0f..034339e12a 100644 --- a/src/babel/transformation/transformers/spec/block-scoped-functions.js +++ b/src/babel/transformation/transformers/spec/block-scoped-functions.js @@ -1,6 +1,6 @@ -var t = require("../../../types"); +import t from "../../../types"; -exports.BlockStatement = function (node, parent, scope, file) { +export function BlockStatement(node, parent, scope, file) { if ((t.isFunction(parent) && parent.body === node) || t.isExportDeclaration(parent)) { return; } @@ -23,4 +23,4 @@ exports.BlockStatement = function (node, parent, scope, file) { file.checkNode(declar); } -}; +} diff --git a/src/babel/transformation/transformers/spec/function-name.js b/src/babel/transformation/transformers/spec/function-name.js index 02d8a65e09..2d76beeef8 100644 --- a/src/babel/transformation/transformers/spec/function-name.js +++ b/src/babel/transformation/transformers/spec/function-name.js @@ -1,3 +1 @@ -var nameMethod = require("../../helpers/name-method"); - -exports.FunctionExpression = nameMethod.bare; +export { bare as FunctionExpression } from "../../helpers/name-method"; diff --git a/src/babel/transformation/transformers/spec/proto-to-assign.js b/src/babel/transformation/transformers/spec/proto-to-assign.js index ffc0114ada..c3e4a1d7ad 100644 --- a/src/babel/transformation/transformers/spec/proto-to-assign.js +++ b/src/babel/transformation/transformers/spec/proto-to-assign.js @@ -1,23 +1,23 @@ -var t = require("../../../types"); -var pull = require("lodash/array/pull"); +import t from "../../../types"; +import pull from "lodash/array/pull"; -var isProtoKey = function (node) { +function isProtoKey(node) { return t.isLiteral(t.toComputedKey(node, node.key), { value: "__proto__" }); -}; +} -var isProtoAssignmentExpression = function (node) { +function isProtoAssignmentExpression(node) { var left = node.left; return t.isMemberExpression(left) && t.isLiteral(t.toComputedKey(left, left.property), { value: "__proto__" }); -}; +} -var buildDefaultsCallExpression = function (expr, ref, file) { +function buildDefaultsCallExpression(expr, ref, file) { return t.expressionStatement(t.callExpression(file.addHelper("defaults"), [ref, expr.right])); -}; +} -exports.optional = true; -exports.secondPass = true; +export var secondPass = true; +export var optional = true; -exports.AssignmentExpression = function (node, parent, scope, file) { +export function AssignmentExpression(node, parent, scope, file) { if (!isProtoAssignmentExpression(node)) return; var nodes = []; @@ -29,18 +29,18 @@ exports.AssignmentExpression = function (node, parent, scope, file) { if (temp) nodes.push(temp); return t.toSequenceExpression(nodes); -}; +} -exports.ExpressionStatement = function (node, parent, scope, file) { +export function ExpressionStatement(node, parent, scope, file) { var expr = node.expression; if (!t.isAssignmentExpression(expr, { operator: "=" })) return; if (isProtoAssignmentExpression(expr)) { return buildDefaultsCallExpression(expr, expr.left.object, file); } -}; +} -exports.ObjectExpression = function (node, parent, scope, file) { +export function ObjectExpression(node, parent, scope, file) { var proto; for (var i = 0; i < node.properties.length; i++) { @@ -57,4 +57,4 @@ exports.ObjectExpression = function (node, parent, scope, file) { if (node.properties.length) args.push(node); return t.callExpression(file.addHelper("extends"), args); } -}; +} diff --git a/src/babel/transformation/transformers/spec/typeof-symbol.js b/src/babel/transformation/transformers/spec/typeof-symbol.js index 510ffae5be..b9f2293cfe 100644 --- a/src/babel/transformation/transformers/spec/typeof-symbol.js +++ b/src/babel/transformation/transformers/spec/typeof-symbol.js @@ -1,8 +1,8 @@ -var t = require("../../../types"); +import t from "../../../types"; -exports.optional = true; +export var optional = true; -exports.UnaryExpression = function (node, parent, scope, file) { +export function UnaryExpression(node, parent, scope, file) { this.skip(); if (node.operator === "typeof") { diff --git a/src/babel/transformation/transformers/spec/undefined-to-void.js b/src/babel/transformation/transformers/spec/undefined-to-void.js index ca885371e6..e7c8e563f3 100644 --- a/src/babel/transformation/transformers/spec/undefined-to-void.js +++ b/src/babel/transformation/transformers/spec/undefined-to-void.js @@ -1,9 +1,9 @@ -var t = require("../../../types"); +import t from "../../../types"; -exports.optional = true; +export var optional = true; -exports.Identifier = function (node, parent) { +export function Identifier(node, parent) { if (node.name === "undefined" && t.isReferenced(node, parent)) { return t.unaryExpression("void", t.literal(0), true); } -}; +} diff --git a/src/babel/transformation/transformers/validation/no-for-in-of-assignment.js b/src/babel/transformation/transformers/validation/no-for-in-of-assignment.js index eed68db876..bee20b90db 100644 --- a/src/babel/transformation/transformers/validation/no-for-in-of-assignment.js +++ b/src/babel/transformation/transformers/validation/no-for-in-of-assignment.js @@ -1,7 +1,7 @@ -var messages = require("../../../messages"); -var t = require("../../../types"); +import * as messages from "../../../messages"; +import t from "../../../types"; -exports.check = t.isFor; +export { isFor as check } from "../../../types"; exports.ForInStatement = exports.ForOfStatement = function (node, parent, scope, file) { diff --git a/src/babel/transformation/transformers/validation/react.js b/src/babel/transformation/transformers/validation/react.js index d8bbd88b53..a1c8b2f197 100644 --- a/src/babel/transformation/transformers/validation/react.js +++ b/src/babel/transformation/transformers/validation/react.js @@ -1,5 +1,5 @@ -var messages = require("../../../messages"); -var t = require("../../../types"); +import * as messages from "../../../messages"; +import t from "../../../types"; // check if the input Literal `source` is an alternate casing of "react" var check = function (source, file) { @@ -13,11 +13,11 @@ var check = function (source, file) { } }; -exports.CallExpression = function (node, parent, scope, file) { +export function CallExpression(node, parent, scope, file) { if (t.isIdentifier(node.callee, { name: "require" }) && node.arguments.length === 1) { check(node.arguments[0], file); } -}; +} exports.ImportDeclaration = exports.ExportDeclaration = function (node, parent, scope, file) { diff --git a/src/babel/transformation/transformers/validation/setters.js b/src/babel/transformation/transformers/validation/setters.js index be6aa15a98..64bb74ac37 100644 --- a/src/babel/transformation/transformers/validation/setters.js +++ b/src/babel/transformation/transformers/validation/setters.js @@ -1,8 +1,8 @@ -var messages = require("../../../messages"); +import * as messages from "../../../messages"; -exports.check = function (node) { +export function check(node) { return node.kind === "set"; -}; +} exports.MethodDefinition = exports.Property = function (node, parent, scope, file) { diff --git a/src/babel/transformation/transformers/validation/undeclared-variable-check.js b/src/babel/transformation/transformers/validation/undeclared-variable-check.js index 577d3ef922..ea7b804053 100644 --- a/src/babel/transformation/transformers/validation/undeclared-variable-check.js +++ b/src/babel/transformation/transformers/validation/undeclared-variable-check.js @@ -1,10 +1,10 @@ -var levenshtein = require("leven"); -var messages = require("../../../messages"); -var t = require("../../../types"); +import levenshtein from "leven"; +import * as messages from "../../../messages"; +import t from "../../../types"; -exports.optional = true; +export var optional = true; -exports.Identifier = function (node, parent, scope, file) { +export function Identifier(node, parent, scope, file) { if (!t.isReferenced(node, parent)) return; if (scope.hasBinding(node.name)) return; @@ -35,4 +35,4 @@ exports.Identifier = function (node, parent, scope, file) { // throw file.errorWithNode(node, msg, ReferenceError); -}; +} diff --git a/src/babel/traversal/context.js b/src/babel/traversal/context.js index dd6723a428..7a2d6e0449 100644 --- a/src/babel/traversal/context.js +++ b/src/babel/traversal/context.js @@ -1,6 +1,6 @@ -var TraversalPath = require("./path"); -var flatten = require("lodash/array/flatten"); -var compact = require("lodash/array/compact"); +import TraversalPath from "./path"; +import flatten from "lodash/array/flatten"; +import compact from "lodash/array/compact"; export default class TraversalConext { constructor(scope, opts, state, parentPath) { diff --git a/src/babel/traversal/index.js b/src/babel/traversal/index.js index 17ffbe0884..bc8bb8d33b 100644 --- a/src/babel/traversal/index.js +++ b/src/babel/traversal/index.js @@ -1,8 +1,8 @@ module.exports = traverse; -var TraversalContext = require("./context"); -var includes = require("lodash/collection/includes"); -var t = require("../types"); +import TraversalContext from "./context"; +import includes from "lodash/collection/includes"; +import t from "../types"; function traverse(parent, opts, scope, state) { if (!parent) return; diff --git a/src/babel/traversal/path.js b/src/babel/traversal/path.js index 592cddf2ce..88b2f6d0b1 100644 --- a/src/babel/traversal/path.js +++ b/src/babel/traversal/path.js @@ -1,7 +1,7 @@ -var traverse = require("./index"); -var includes = require("lodash/collection/includes"); -var Scope = require("./scope"); -var t = require("../types"); +import traverse from "./index"; +import includes from "lodash/collection/includes"; +import Scope from "./scope"; +import t from "../types"; export default class TraversalPath { constructor(context, parent, container, key) { diff --git a/src/babel/traversal/scope.js b/src/babel/traversal/scope.js index aa9c12df03..3b0df2f911 100644 --- a/src/babel/traversal/scope.js +++ b/src/babel/traversal/scope.js @@ -1,13 +1,13 @@ -var includes = require("lodash/collection/includes"); -var traverse = require("./index"); -var defaults = require("lodash/object/defaults"); -var messages = require("../messages"); -var globals = require("globals"); -var flatten = require("lodash/array/flatten"); -var extend = require("lodash/object/extend"); -var object = require("../helpers/object"); -var each = require("lodash/collection/each"); -var t = require("../types"); +import includes from "lodash/collection/includes"; +import traverse from "./index"; +import defaults from "lodash/object/defaults"; +import * as messages from "../messages"; +import globals from "globals"; +import flatten from "lodash/array/flatten"; +import extend from "lodash/object/extend"; +import object from "../helpers/object"; +import each from "lodash/collection/each"; +import t from "../types"; var functionVariableVisitor = { diff --git a/src/babel/types/index.js b/src/babel/types/index.js index c75a1d0e7b..41f7bcf298 100644 --- a/src/babel/types/index.js +++ b/src/babel/types/index.js @@ -1,12 +1,13 @@ -var toFastProperties = require("../helpers/to-fast-properties"); -var isString = require("lodash/lang/isString"); -var compact = require("lodash/array/compact"); -var esutils = require("esutils"); -var object = require("../helpers/object"); -var each = require("lodash/collection/each"); -var uniq = require("lodash/array/uniq"); +import toFastProperties from "../helpers/to-fast-properties"; +import isString from "lodash/lang/isString"; +import compact from "lodash/array/compact"; +import esutils from "esutils"; +import object from "../helpers/object"; +import each from "lodash/collection/each"; +import uniq from "lodash/array/uniq"; -var t = exports; +var t = {}; +export default t; /** * Registers `is[Type]` and `assert[Type]` generated functions for a given `type`. @@ -518,7 +519,7 @@ t.toStatement = function (node, ignore) { * @returns {Object} */ -exports.toExpression = function (node) { +t.toExpression = function (node) { if (t.isExpressionStatement(node)) { node = node.expression; } @@ -534,7 +535,7 @@ exports.toExpression = function (node) { } else { throw new Error("cannot turn " + node.type + " to an expression"); } -}; +} /** * Description diff --git a/src/babel/util.js b/src/babel/util.js index f5dcea1096..667210fc9e 100644 --- a/src/babel/util.js +++ b/src/babel/util.js @@ -1,66 +1,65 @@ -require("./patch"); +import "./patch"; -var cloneDeep = require("lodash/lang/cloneDeep"); -var isBoolean = require("lodash/lang/isBoolean"); -var contains = require("lodash/collection/contains"); -var traverse = require("./traversal"); -var isString = require("lodash/lang/isString"); -var isRegExp = require("lodash/lang/isRegExp"); -var isEmpty = require("lodash/lang/isEmpty"); -var parse = require("./helpers/parse"); -var debug = require("debug/node"); -var path = require("path"); -var util = require("util"); -var each = require("lodash/collection/each"); -var has = require("lodash/object/has"); -var fs = require("fs"); -var t = require("./types"); +import buildDebug from "debug/node"; +import cloneDeep from "lodash/lang/cloneDeep"; +import isBoolean from "lodash/lang/isBoolean"; +import contains from "lodash/collection/contains"; +import traverse from "./traversal"; +import isString from "lodash/lang/isString"; +import isRegExp from "lodash/lang/isRegExp"; +import isEmpty from "lodash/lang/isEmpty"; +import parse from "./helpers/parse"; +import path from "path"; +import each from "lodash/collection/each"; +import has from "lodash/object/has"; +import fs from "fs"; +import t from "./types"; -exports.inherits = util.inherits; +export { inherits } from "util"; -exports.debug = debug("babel"); +export var debug = buildDebug("babel"); -exports.canCompile = function (filename, altExts) { +export function canCompile(filename, altExts) { var exts = altExts || exports.canCompile.EXTENSIONS; var ext = path.extname(filename); return contains(exts, ext); -}; +} -exports.canCompile.EXTENSIONS = [".js", ".jsx", ".es6", ".es"]; +canCompile.EXTENSIONS = [".js", ".jsx", ".es6", ".es"]; -exports.resolve = function (loc) { +export function resolve(loc) { try { return require.resolve(loc); } catch (err) { return null; } -}; +} -exports.list = function (val) { +export function list(val) { return val ? val.split(",") : []; -}; +} -exports.regexify = function (val) { +export function regexify(val) { if (!val) return new RegExp(/.^/); if (Array.isArray(val)) val = val.join("|"); if (isString(val)) return new RegExp(val); if (isRegExp(val)) return val; throw new TypeError("illegal type for regexify"); -}; +} -exports.arrayify = function (val) { +export function arrayify(val) { if (!val) return []; if (isBoolean(val)) return [val]; if (isString(val)) return exports.list(val); if (Array.isArray(val)) return val; throw new TypeError("illegal type for arrayify"); -}; +} -exports.booleanify = function (val) { +export function booleanify(val) { if (val === "true") return true; if (val === "false") return false; return val; -}; +} var templateVisitor = { enter(node, parent, scope, nodes) { @@ -74,7 +73,7 @@ var templateVisitor = { } }; -exports.template = function (name, nodes, keepExpression) { +export function template(name, nodes, keepExpression) { var template = exports.templates[name]; if (!template) throw new ReferenceError("unknown template " + name); @@ -98,14 +97,14 @@ exports.template = function (name, nodes, keepExpression) { } else { return node; } -}; +} -exports.parseTemplate = function (loc, code) { +export function parseTemplate(loc, code) { var ast = parse({ filename: loc }, code).program; return traverse.removeProperties(ast); -}; +} -var loadTemplates = function () { +function loadTemplates() { var templates = {}; var templatesLoc = __dirname + "/transformation/templates"; @@ -122,11 +121,11 @@ var loadTemplates = function () { var loc = templatesLoc + "/" + name; var code = fs.readFileSync(loc, "utf8"); - templates[key] = exports.parseTemplate(loc, code); + templates[key] = parseTemplate(loc, code); }); return templates; -}; +} try { exports.templates = require("../../templates.json");