diff --git a/src/babel/helpers/parse.js b/src/babel/helpers/parse.js index 124407c96f..d538630011 100644 --- a/src/babel/helpers/parse.js +++ b/src/babel/helpers/parse.js @@ -9,10 +9,10 @@ export default function (opts, code, callback) { var tokens = []; var ast = acorn.parse(code, { - allowImportExportEverywhere: opts.allowImportExportEverywhere, - allowReturnOutsideFunction: !opts._anal, - ecmaVersion: opts.experimental ? 7 : 6, - playground: opts.playground, + allowImportExportEverywhere: opts.looseModules, + allowReturnOutsideFunction: opts.looseModules, + transformers: opts.transformers, + ecmaVersion: 6, strictMode: opts.strictMode, onComment: comments, locations: true, diff --git a/src/babel/transformation/file/index.js b/src/babel/transformation/file/index.js index 22559262c1..453d2abb9c 100644 --- a/src/babel/transformation/file/index.js +++ b/src/babel/transformation/file/index.js @@ -181,10 +181,10 @@ export default class File { each(transform.transformers, function (transformer, key) { var pass = transformers[key] = transformer.buildPass(file); - if (pass.canRun(file)) { + if (pass.canRun) { stack.push(pass); - if (transformer.secondPass) { + if (transformer.metadata.secondPass) { secondaryStack.push(pass); } @@ -274,7 +274,7 @@ export default class File { this.dynamicImported.push(declar); if (noDefault) this.dynamicImportedNoDefault.push(declar); - if (this.transformers["es6.modules"].canRun()) { + if (this.transformers["es6.modules"].canRun) { this.moduleFormatter.importSpecifier(specifiers[0], declar, this.dynamicImports); } else { this.dynamicImports.push(declar); @@ -380,8 +380,19 @@ export default class File { var opts = this.opts; - opts.allowImportExportEverywhere = this.isLoose("es6.modules"); - opts.strictMode = this.transformers.strict.canRun(); + // + + var parseOpts = {}; + + var transformers = parseOpts.transformers = {}; + for (var key in this.transformers) { + transformers[key] = this.transformers[key].canRun; + } + + parseOpts.looseModules = this.isLoose("es6.modules"); + parseOpts.strictMode = this.transformers.strict.canRun; + + // return parse(opts, code, (tree) => { this.transform(tree); @@ -413,7 +424,7 @@ export default class File { this.lastStatements = t.getLastStatements(ast.program); var modFormatter = this.moduleFormatter = this.getModuleFormatter(this.opts.modules); - if (modFormatter.init && this.transformers["es6.modules"].canRun()) { + if (modFormatter.init && this.transformers["es6.modules"].canRun) { modFormatter.init(); } diff --git a/src/babel/transformation/file/options.json b/src/babel/transformation/file/options.json index 265e4eee6a..77b1ec639e 100644 --- a/src/babel/transformation/file/options.json +++ b/src/babel/transformation/file/options.json @@ -19,6 +19,12 @@ }, + "react": { + "description": "", + "type": "boolean", + "default": false + }, + "highlightErrors": { "description": "ANSI syntax highlight error messages", "type": "boolean", @@ -42,13 +48,6 @@ "default": false }, - "playground": { - "description": "Enable all playground transformers", - "shorthand": "p", - "type": "boolean", - "default": false - }, - "blacklist": { "type": "transformerList", "description": "Blacklist of transformers to NOT use", diff --git a/src/babel/transformation/templates/.babelrc b/src/babel/transformation/templates/.babelrc index e76ba80cbe..ad84f4d5b9 100644 --- a/src/babel/transformation/templates/.babelrc +++ b/src/babel/transformation/templates/.babelrc @@ -1,3 +1,4 @@ { - "blacklist": ["useStrict", "es6.blockScoping", "regenerator"] + "blacklist": ["useStrict", "es6.blockScoping", "regenerator"], + "loose": ["es6.modules"] } diff --git a/src/babel/transformation/transformer-pass.js b/src/babel/transformation/transformer-pass.js index 0d9897f259..934f87cc98 100644 --- a/src/babel/transformation/transformer-pass.js +++ b/src/babel/transformation/transformer-pass.js @@ -12,10 +12,12 @@ export default class TransformerPass { this.shouldRun = !transformer.check; this.handlers = transformer.handlers; this.file = file; - this.ran = false; + + this.canRun = this._canRun(); + this.ran = false; } - canRun(): boolean { + _canRun(): boolean { var transformer = this.transformer; var opts = this.file.opts; @@ -32,14 +34,14 @@ export default class TransformerPass { var whitelist = opts.whitelist; if (whitelist.length) return includes(whitelist, key); - // experimental - if (transformer.experimental && opts.experimental) return true; + // react + if (transformer.metadata.react && opts.react) return true; - // playground - if (transformer.playground && opts.playground) return true; + // experimental + if (transformer.metadata.experimental && opts.experimental) return true; // optional - if (transformer.optional && !includes(opts.optional, key)) return false; + if (transformer.metadata.optional && !includes(opts.optional, key)) return false; return true; } diff --git a/src/babel/transformation/transformer.js b/src/babel/transformation/transformer.js index 6a05af07c1..552b160116 100644 --- a/src/babel/transformation/transformer.js +++ b/src/babel/transformation/transformer.js @@ -23,15 +23,11 @@ export default class Transformer { }; this.manipulateOptions = take("manipulateOptions"); + this.metadata = take("metadata") || {}; this.check = take("check"); this.post = take("post"); this.pre = take("pre"); - this.experimental = !!take("experimental"); - this.playground = !!take("playground"); - this.secondPass = !!take("secondPass"); - this.optional = !!take("optional"); - this.handlers = this.normalize(transformer); this.opts ||= {}; this.key = transformerKey; diff --git a/src/babel/transformation/transformers/es6/block-scoping-tdz.js b/src/babel/transformation/transformers/es6/block-scoping-tdz.js index 0eee6bc324..08779d5c04 100644 --- a/src/babel/transformation/transformers/es6/block-scoping-tdz.js +++ b/src/babel/transformation/transformers/es6/block-scoping-tdz.js @@ -26,7 +26,9 @@ var visitor = { } }; -export var optional = true; +export var metadata = { + optional: true +}; export function BlockStatement(node, parent, scope, file) { var letRefs = node._letReferences; diff --git a/src/babel/transformation/transformers/es6/block-scoping.js b/src/babel/transformation/transformers/es6/block-scoping.js index ee7e87402f..9859a93629 100644 --- a/src/babel/transformation/transformers/es6/block-scoping.js +++ b/src/babel/transformation/transformers/es6/block-scoping.js @@ -44,7 +44,7 @@ export function check(node) { export function VariableDeclaration(node, parent, scope, file) { if (!isLet(node, parent)) return; - if (isLetInitable(node) && file.transformers["es6.blockScopingTDZ"].canRun()) { + if (isLetInitable(node) && file.transformers["es6.blockScopingTDZ"].canRun) { var nodes = [node]; for (var i = 0; i < node.declarations.length; i++) { diff --git a/src/babel/transformation/transformers/es6/parameters.default.js b/src/babel/transformation/transformers/es6/parameters.default.js index 82dd26e20e..7fe23b6f85 100644 --- a/src/babel/transformation/transformers/es6/parameters.default.js +++ b/src/babel/transformation/transformers/es6/parameters.default.js @@ -62,7 +62,7 @@ exports.Function = function (node, parent, scope, file) { param.traverse(iifeVisitor, state); } - if (file.transformers["es6.blockScopingTDZ"].canRun() && param.isIdentifier()) { + if (file.transformers["es6.blockScopingTDZ"].canRun && param.isIdentifier()) { pushDefNode(param.node, t.identifier("undefined"), i); } diff --git a/src/babel/transformation/transformers/es6/symbols.js b/src/babel/transformation/transformers/es6/symbols.js index 03f7ab491f..58cfe09f36 100644 --- a/src/babel/transformation/transformers/es6/symbols.js +++ b/src/babel/transformation/transformers/es6/symbols.js @@ -1,6 +1,8 @@ import * as t from "../../../types"; -export var optional = true; +export var metadata = { + optional: true +}; export function UnaryExpression(node, parent, scope, file) { this.skip(); diff --git a/src/babel/transformation/transformers/es7/abstract-references.js b/src/babel/transformation/transformers/es7/abstract-references.js deleted file mode 100644 index 79f6415fad..0000000000 --- a/src/babel/transformation/transformers/es7/abstract-references.js +++ /dev/null @@ -1,112 +0,0 @@ -// https://github.com/zenparsing/es-abstract-refs - -import * as util from "../../../util"; -import * as t from "../../../types"; - -export var experimental = true; -export var optional = true; - -var container = function (parent, call, ret, file) { - if (t.isExpressionStatement(parent) && !file.isConsequenceExpressionStatement(parent)) { - // we don't need to worry about return values - return call; - } else { - var exprs = []; - if (t.isSequenceExpression(call)) { - exprs = call.expressions; - } else { - exprs.push(call); - } - exprs.push(ret); - return t.sequenceExpression(exprs); - } -}; - -export function AssignmentExpression(node, parent, scope, file) { - var left = node.left; - if (!t.isVirtualPropertyExpression(left)) return; - - var value = node.right; - var temp; - - // we need to return `node.right` - if (!t.isExpressionStatement(parent)) { - temp = scope.generateTempBasedOnNode(node.right); - if (temp) value = temp; - } - - if (node.operator !== "=") { - value = t.binaryExpression( - node.operator[0], - util.template("abstract-expression-get", { - PROPERTY: node.property, - OBJECT: node.object - }), - value - ); - } - - var call = util.template("abstract-expression-set", { - PROPERTY: left.property, - OBJECT: left.object, - VALUE: value - }); - - if (temp) { - call = t.sequenceExpression([ - t.assignmentExpression("=", temp, node.right), - call - ]); - } - - return container(parent, call, value, file); -} - -export function UnaryExpression(node, parent, scope, file) { - var arg = node.argument; - if (!t.isVirtualPropertyExpression(arg)) return; - if (node.operator !== "delete") return; - - var call = util.template("abstract-expression-delete", { - PROPERTY: arg.property, - OBJECT: arg.object - }); - - return container(parent, call, t.literal(true), file); -} - -export function CallExpression(node, parent, scope) { - var callee = node.callee; - if (!t.isVirtualPropertyExpression(callee)) return; - - var temp = scope.generateTempBasedOnNode(callee.object); - - var call = util.template("abstract-expression-call", { - PROPERTY: callee.property, - OBJECT: temp || callee.object - }); - - call.arguments = call.arguments.concat(node.arguments); - - if (temp) { - return t.sequenceExpression([ - t.assignmentExpression("=", temp, callee.object), - call - ]); - } else { - return call; - } -} - -export function VirtualPropertyExpression(node) { - return util.template("abstract-expression-get", { - PROPERTY: node.property, - OBJECT: node.object - }); -} - -export function PrivateDeclaration(node) { - return t.variableDeclaration("const", node.declarations.map(function (id) { - return t.variableDeclarator(id, t.newExpression(t.identifier("WeakMap"), [])); - })); -} diff --git a/src/babel/transformation/transformers/es7/comprehensions.js b/src/babel/transformation/transformers/es7/comprehensions.js index 901f42e7e2..986f5eeb36 100644 --- a/src/babel/transformation/transformers/es7/comprehensions.js +++ b/src/babel/transformation/transformers/es7/comprehensions.js @@ -3,8 +3,10 @@ import traverse from "../../../traversal"; import * as util from "../../../util"; import * as t from "../../../types"; -export var experimental = true; -export var optional = true; +export var metadata = { + experimental: true, + optional: true +}; export function ComprehensionExpression(node, parent, scope, file) { var callback = array; diff --git a/src/babel/transformation/transformers/es7/exponentiation-operator.js b/src/babel/transformation/transformers/es7/exponentiation-operator.js index e5106b938c..5ff6319fe9 100644 --- a/src/babel/transformation/transformers/es7/exponentiation-operator.js +++ b/src/babel/transformation/transformers/es7/exponentiation-operator.js @@ -3,8 +3,9 @@ import build from "../../helpers/build-binary-assignment-operator-transformer"; import * as t from "../../../types"; -export var experimental = true; -export var optional = true; +export var metadata = { + optional: true +}; 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 257064dbcd..eea9f9fa1c 100644 --- a/src/babel/transformation/transformers/es7/object-rest-spread.js +++ b/src/babel/transformation/transformers/es7/object-rest-spread.js @@ -2,8 +2,11 @@ import * as t from "../../../types"; -export var experimental = true; -export var optional = true; +export var metadata = { + experimental: true, + optional: true, + react: true +}; export function manipulateOptions(opts) { if (opts.whitelist.length) opts.whitelist.push("es6.destructuring"); diff --git a/src/babel/transformation/transformers/index.js b/src/babel/transformation/transformers/index.js index 810ea2ad2b..c1c470762d 100644 --- a/src/babel/transformation/transformers/index.js +++ b/src/babel/transformation/transformers/index.js @@ -44,7 +44,6 @@ export default { "es6.regex.sticky": require("./es6/regex.sticky"), "es6.regex.unicode": require("./es6/regex.unicode"), - "es7.abstractReferences": require("./es7/abstract-references"), "es6.constants": require("./es6/constants"), diff --git a/src/babel/transformation/transformers/internal/declarations.js b/src/babel/transformation/transformers/internal/declarations.js index 01dd233eab..c8977eeb22 100644 --- a/src/babel/transformation/transformers/internal/declarations.js +++ b/src/babel/transformation/transformers/internal/declarations.js @@ -1,7 +1,9 @@ import * as strict from "../../helpers/strict"; import * as t from "../../../types"; -export var secondPass = true; +export var metadata = { + secondPass: true +}; export function BlockStatement(node, parent, scope, file) { if (!node._declarations) return; diff --git a/src/babel/transformation/transformers/internal/module-formatter.js b/src/babel/transformation/transformers/internal/module-formatter.js index 5d17476725..a1a9e6de65 100644 --- a/src/babel/transformation/transformers/internal/module-formatter.js +++ b/src/babel/transformation/transformers/internal/module-formatter.js @@ -5,7 +5,7 @@ export function Program(program, parent, scope, file) { program.body = file.dynamicImports.concat(program.body); }); - if (!file.transformers["es6.modules"].canRun()) return; + if (!file.transformers["es6.modules"].canRun) return; if (file.moduleFormatter.transform) { file.moduleFormatter.transform(program); diff --git a/src/babel/transformation/transformers/internal/strict.js b/src/babel/transformation/transformers/internal/strict.js index 861988daae..1cd910a20b 100644 --- a/src/babel/transformation/transformers/internal/strict.js +++ b/src/babel/transformation/transformers/internal/strict.js @@ -1,7 +1,7 @@ import * as t from "../../../types"; export function Program(program, parent, scope, file) { - if (file.transformers.strict.canRun()) { + if (file.transformers.strict.canRun) { var directive = file.get("existingStrictDirective"); if (!directive) { diff --git a/src/babel/transformation/transformers/other/async-to-generator.js b/src/babel/transformation/transformers/other/async-to-generator.js index 9c56559c39..7789fd2506 100644 --- a/src/babel/transformation/transformers/other/async-to-generator.js +++ b/src/babel/transformation/transformers/other/async-to-generator.js @@ -2,7 +2,9 @@ import remapAsyncToGenerator from "../../helpers/remap-async-to-generator"; export { manipulateOptions } from "./bluebird-coroutines"; -export var optional = true; +export var metadata = { + optional: true +}; exports.Function = function (node, parent, scope, file) { if (!node.async || node.generator) return; diff --git a/src/babel/transformation/transformers/other/bluebird-coroutines.js b/src/babel/transformation/transformers/other/bluebird-coroutines.js index 67a8a474c0..da3bfd146e 100644 --- a/src/babel/transformation/transformers/other/bluebird-coroutines.js +++ b/src/babel/transformation/transformers/other/bluebird-coroutines.js @@ -6,7 +6,9 @@ export function manipulateOptions(opts) { opts.blacklist.push("regenerator"); } -export var optional = true; +export var metadata = { + optional: true +}; exports.Function = function (node, parent, scope, file) { if (!node.async || node.generator) return; diff --git a/src/babel/transformation/transformers/other/flow.js b/src/babel/transformation/transformers/other/flow.js index bb6bf4c393..d065bf4bd2 100644 --- a/src/babel/transformation/transformers/other/flow.js +++ b/src/babel/transformation/transformers/other/flow.js @@ -1,5 +1,9 @@ import * as t from "../../../types"; +export var metadata = { + react: true +}; + export function Flow(node) { this.remove(); } diff --git a/src/babel/transformation/transformers/other/react-compat.js b/src/babel/transformation/transformers/other/react-compat.js index 49e37338f1..14a7070768 100644 --- a/src/babel/transformation/transformers/other/react-compat.js +++ b/src/babel/transformation/transformers/other/react-compat.js @@ -5,7 +5,10 @@ export function manipulateOptions(opts) { opts.blacklist.push("react"); } -export var optional = true; +export var metadata = { + optional: true, + react: 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 2b098e5461..da00e89c32 100644 --- a/src/babel/transformation/transformers/other/react.js +++ b/src/babel/transformation/transformers/other/react.js @@ -3,6 +3,10 @@ import * as t from "../../../types"; var JSX_ANNOTATION_REGEX = /^\*\s*@jsx\s+([^\s]+)/; +export var metadata = { + react: true +}; + export function Program(node, parent, scope, file) { var id = "React.createElement"; diff --git a/src/babel/transformation/transformers/other/runtime.js b/src/babel/transformation/transformers/other/runtime.js index ec2de99541..ce4c11203f 100644 --- a/src/babel/transformation/transformers/other/runtime.js +++ b/src/babel/transformation/transformers/other/runtime.js @@ -69,7 +69,10 @@ var astVisitor = { } }; -export var optional = true; +export var metadata = { + optional: true, + react: true +}; export function manipulateOptions(opts) { if (opts.whitelist.length) opts.whitelist.push("es6.modules"); diff --git a/src/babel/transformation/transformers/spec/proto-to-assign.js b/src/babel/transformation/transformers/spec/proto-to-assign.js index 188d21c03b..6f6905784a 100644 --- a/src/babel/transformation/transformers/spec/proto-to-assign.js +++ b/src/babel/transformation/transformers/spec/proto-to-assign.js @@ -14,8 +14,10 @@ function buildDefaultsCallExpression(expr, ref, file) { return t.expressionStatement(t.callExpression(file.addHelper("defaults"), [ref, expr.right])); } -export var secondPass = true; -export var optional = true; +export var metadata = { + secondPass: true, + optional: true +}; export function AssignmentExpression(node, parent, scope, file) { if (!isProtoAssignmentExpression(node)) return; diff --git a/src/babel/transformation/transformers/spec/undefined-to-void.js b/src/babel/transformation/transformers/spec/undefined-to-void.js index ddd7af5317..30b2e17da8 100644 --- a/src/babel/transformation/transformers/spec/undefined-to-void.js +++ b/src/babel/transformation/transformers/spec/undefined-to-void.js @@ -1,6 +1,9 @@ import * as t from "../../../types"; -export var optional = true; +export var metadata = { + optional: true, + react: true +}; export function Identifier(node, parent) { if (node.name === "undefined" && this.isReferenced()) { diff --git a/src/babel/transformation/transformers/utility/dead-code-elimination.js b/src/babel/transformation/transformers/utility/dead-code-elimination.js index bda19f668d..7f2ed39086 100644 --- a/src/babel/transformation/transformers/utility/dead-code-elimination.js +++ b/src/babel/transformation/transformers/utility/dead-code-elimination.js @@ -17,7 +17,9 @@ function toStatements(node) { return node; } -export var optional = true; +export var metadata = { + optional: true +}; export function ConditionalExpression(node, parent, scope) { var evaluateTest = this.get("test").evaluateTruthy(); diff --git a/src/babel/transformation/transformers/utility/inline-environment-variables.js b/src/babel/transformation/transformers/utility/inline-environment-variables.js index 5e2cabb55c..97725fbc51 100644 --- a/src/babel/transformation/transformers/utility/inline-environment-variables.js +++ b/src/babel/transformation/transformers/utility/inline-environment-variables.js @@ -1,6 +1,8 @@ import * as t from "../../../types"; -export var optional = true; +export var metadata = { + optional: true +}; var match = t.buildMatchMemberExpression("process.env"); diff --git a/src/babel/transformation/transformers/utility/inline-expressions.js b/src/babel/transformation/transformers/utility/inline-expressions.js index f1be106014..437cce640d 100644 --- a/src/babel/transformation/transformers/utility/inline-expressions.js +++ b/src/babel/transformation/transformers/utility/inline-expressions.js @@ -1,6 +1,8 @@ import * as t from "../../../types"; -export var optional = true; +export var metadata = { + optional: true +}; export function Expression(node, parent, scope) { var res = this.evaluate(); diff --git a/src/babel/transformation/transformers/utility/remove-console.js b/src/babel/transformation/transformers/utility/remove-console.js index 9fe1f491a9..317840ce3e 100644 --- a/src/babel/transformation/transformers/utility/remove-console.js +++ b/src/babel/transformation/transformers/utility/remove-console.js @@ -1,6 +1,8 @@ import * as t from "../../../types"; -export var optional = true; +export var metadata = { + optional: true +}; export function CallExpression(node, parent) { if (this.get("callee").matchesPattern("console", true)) { diff --git a/src/babel/transformation/transformers/utility/remove-debugger.js b/src/babel/transformation/transformers/utility/remove-debugger.js index 45d5727340..f7d84d0e81 100644 --- a/src/babel/transformation/transformers/utility/remove-debugger.js +++ b/src/babel/transformation/transformers/utility/remove-debugger.js @@ -1,6 +1,8 @@ import * as t from "../../../types"; -export var optional = true; +export var metadata = { + optional: true +}; export function ExpressionStatement(node) { if (this.get("expression").isIdentifier({ name: "debugger" })) { diff --git a/src/babel/transformation/transformers/validation/undeclared-variable-check.js b/src/babel/transformation/transformers/validation/undeclared-variable-check.js index 153c7d5745..f8d3b25a78 100644 --- a/src/babel/transformation/transformers/validation/undeclared-variable-check.js +++ b/src/babel/transformation/transformers/validation/undeclared-variable-check.js @@ -1,7 +1,9 @@ import levenshtein from "leven"; import * as messages from "../../../messages"; -export var optional = true; +export var metadata = { + optional: true +}; export function Identifier(node, parent, scope, file) { if (!this.isReferenced()) return; diff --git a/src/babel/util.js b/src/babel/util.js index d3b271ecc1..c61fef5ba9 100644 --- a/src/babel/util.js +++ b/src/babel/util.js @@ -78,7 +78,7 @@ var templateVisitor = { return nodes[node.name]; } } -} +}; // @@ -109,7 +109,7 @@ export function template(name: string, nodes?: Array, keepExpression?: b } export function parseTemplate(loc: string, code: string): Object { - var ast = parse({ filename: loc }, code).program; + var ast = parse({ filename: loc, looseModules: true }, code).program; ast = traverse.removeProperties(ast); return ast; } diff --git a/test/fixtures/transformation/es7-abstract-references/call/actual.js b/test/fixtures/transformation/es7-abstract-references/call/actual.js deleted file mode 100644 index 51355b9a69..0000000000 --- a/test/fixtures/transformation/es7-abstract-references/call/actual.js +++ /dev/null @@ -1,6 +0,0 @@ -foo::bar(); -foo::bar("arg"); - -var test = "test"; -test::bar(); -test::bar("arg"); diff --git a/test/fixtures/transformation/es7-abstract-references/call/expected.js b/test/fixtures/transformation/es7-abstract-references/call/expected.js deleted file mode 100644 index 55bdecc949..0000000000 --- a/test/fixtures/transformation/es7-abstract-references/call/expected.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; - -var _foo, _foo2; - -_foo = foo, bar[Symbol.referenceGet](_foo).call(_foo); -_foo2 = foo, bar[Symbol.referenceGet](_foo2).call(_foo2, "arg"); - -var test = "test"; -bar[Symbol.referenceGet](test).call(test); -bar[Symbol.referenceGet](test).call(test, "arg"); diff --git a/test/fixtures/transformation/es7-abstract-references/delete/actual.js b/test/fixtures/transformation/es7-abstract-references/delete/actual.js deleted file mode 100644 index af9f86c23c..0000000000 --- a/test/fixtures/transformation/es7-abstract-references/delete/actual.js +++ /dev/null @@ -1,3 +0,0 @@ -delete foo::bar; - -if (delete foo::bar) {} diff --git a/test/fixtures/transformation/es7-abstract-references/delete/expected.js b/test/fixtures/transformation/es7-abstract-references/delete/expected.js deleted file mode 100644 index 489c0b7863..0000000000 --- a/test/fixtures/transformation/es7-abstract-references/delete/expected.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; - -bar[Symbol.referenceDelete](foo); - -if ((bar[Symbol.referenceDelete](foo), true)) {} diff --git a/test/fixtures/transformation/es7-abstract-references/get/actual.js b/test/fixtures/transformation/es7-abstract-references/get/actual.js deleted file mode 100644 index d6a275fb29..0000000000 --- a/test/fixtures/transformation/es7-abstract-references/get/actual.js +++ /dev/null @@ -1 +0,0 @@ -foo::bar; diff --git a/test/fixtures/transformation/es7-abstract-references/get/expected.js b/test/fixtures/transformation/es7-abstract-references/get/expected.js deleted file mode 100644 index 70419d5d74..0000000000 --- a/test/fixtures/transformation/es7-abstract-references/get/expected.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; - -bar[Symbol.referenceGet](foo); diff --git a/test/fixtures/transformation/es7-abstract-references/options.json b/test/fixtures/transformation/es7-abstract-references/options.json deleted file mode 100644 index 252f473a73..0000000000 --- a/test/fixtures/transformation/es7-abstract-references/options.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "experimental": true -} diff --git a/test/fixtures/transformation/es7-abstract-references/private/actual.js b/test/fixtures/transformation/es7-abstract-references/private/actual.js deleted file mode 100644 index 9643ff19c2..0000000000 --- a/test/fixtures/transformation/es7-abstract-references/private/actual.js +++ /dev/null @@ -1,12 +0,0 @@ -private A; -private B, C; - -class D { - private E; - private F, G; -} - -var H = class { - private I; - private J, K; -}; diff --git a/test/fixtures/transformation/es7-abstract-references/private/expected.js b/test/fixtures/transformation/es7-abstract-references/private/expected.js deleted file mode 100644 index 53ef631e1d..0000000000 --- a/test/fixtures/transformation/es7-abstract-references/private/expected.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; - -var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }; - -var A = new WeakMap(); -var B = new WeakMap(), - C = new WeakMap(); - -var D = (function () { - var F = new WeakMap(), - G = new WeakMap(); - var E = new WeakMap(); - - function D() { - _classCallCheck(this, D); - } - - return D; -})(); - -var H = (function () { - var _class = function H() { - _classCallCheck(this, _class); - }; - - var J = new WeakMap(), - K = new WeakMap(); - var I = new WeakMap(); - return _class; -})(); \ No newline at end of file diff --git a/test/fixtures/transformation/es7-abstract-references/set/actual.js b/test/fixtures/transformation/es7-abstract-references/set/actual.js deleted file mode 100644 index 8abf694209..0000000000 --- a/test/fixtures/transformation/es7-abstract-references/set/actual.js +++ /dev/null @@ -1,3 +0,0 @@ -var baz = "foo"; -foo::bar = baz; -if (foo::bar = baz) {} diff --git a/test/fixtures/transformation/es7-abstract-references/set/expected.js b/test/fixtures/transformation/es7-abstract-references/set/expected.js deleted file mode 100644 index be9e6ef9f3..0000000000 --- a/test/fixtures/transformation/es7-abstract-references/set/expected.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; - -var baz = "foo"; -bar[Symbol.referenceSet](foo, baz); -if ((bar[Symbol.referenceSet](foo, baz), baz)) {} diff --git a/test/fixtures/transformation/es7-exponentian-operator/options.json b/test/fixtures/transformation/es7-exponentian-operator/options.json deleted file mode 100644 index 252f473a73..0000000000 --- a/test/fixtures/transformation/es7-exponentian-operator/options.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "experimental": true -} diff --git a/test/fixtures/transformation/flow/options.json b/test/fixtures/transformation/flow/options.json index 8b2cc18046..3a3fa17bcc 100644 --- a/test/fixtures/transformation/flow/options.json +++ b/test/fixtures/transformation/flow/options.json @@ -1,4 +1,5 @@ { + "react": true, "experimental": true, "whitelist": ["flow"], "noCheckAst": true diff --git a/test/fixtures/transformation/react-compat/options.json b/test/fixtures/transformation/react-compat/options.json index c5c0827325..13d5574572 100644 --- a/test/fixtures/transformation/react-compat/options.json +++ b/test/fixtures/transformation/react-compat/options.json @@ -1,4 +1,5 @@ { + "react": true, "blacklist": "strict", "optional": "reactCompat" } diff --git a/test/fixtures/transformation/react/options.json b/test/fixtures/transformation/react/options.json index b9dd7b83b7..c2feab8b56 100644 --- a/test/fixtures/transformation/react/options.json +++ b/test/fixtures/transformation/react/options.json @@ -1,3 +1,4 @@ { + "react": true, "blacklist": ["strict"] }