From fedf894904bb53213d20b5b00d1d07888aab7f42 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Sat, 11 Jul 2015 12:39:54 +0100 Subject: [PATCH] Begin transition of Babel to a more scalable architecture, async flow to allow for RPC and better build system for multiple packages --- .babelrc | 7 +- .eslintignore | 2 +- .gitignore | 6 +- .travis.yml | 20 +- Makefile | 95 +- VERSION | 1 + index.js | 1 - package.json | 82 +- packages/babel-cli/package.json | 8 +- packages/babel-cli/{bin => src}/_babel-node | 0 .../{bin => src}/babel-external-helpers | 4 +- packages/babel-cli/{bin => src}/babel-node | 0 .../{bin => src}/babel-plugin/index.js | 0 .../babel-plugin/templates/README.md | 0 .../babel-plugin/templates/index.js | 0 packages/babel-cli/{bin => src}/babel/dir.js | 0 packages/babel-cli/{bin => src}/babel/file.js | 0 .../babel-cli/{bin => src}/babel/index.js | 2 +- packages/babel-cli/{bin => src}/babel/util.js | 2 +- {test => packages/babel-cli/test}/.babelrc | 0 .../--output-type global/options.json | 0 .../--output-type global/stdout.txt | 0 .../--output-type umd/options.json | 0 .../--output-type umd/stdout.txt | 0 .../--output-type var/options.json | 0 .../--output-type var/stdout.txt | 0 .../--whitelist/options.json | 0 .../--whitelist/stdout.txt | 0 .../fixtures}/babel-node/--eval/options.json | 0 .../babel-node/--extensions/in-files/foo.bar | 0 .../babel-node/--extensions/options.json | 0 .../fixtures}/babel-node/--print/options.json | 0 .../directory/in-files/foo/index.js | 0 .../babel-node/directory/options.json | 0 .../fixtures}/babel-node/directory/stdout.txt | 0 .../babel-node/filename/in-files/bar.js | 0 .../babel-node/filename/options.json | 0 .../fixtures}/babel-node/filename/stdout.txt | 0 .../babel-node/require/in-files/bar2.js | 0 .../babel-node/require/in-files/foo2.js | 0 .../require/in-files/not_node_modules.jsx | 0 .../fixtures}/babel-node/require/options.json | 0 .../fixtures}/babel-node/require/stdout.txt | 0 .../fixtures}/babel/--blacklist/options.json | 0 .../fixtures}/babel/--blacklist/stdin.txt | 0 .../fixtures}/babel/--blacklist/stdout.txt | 0 .../babel/--ignore/in-files/src/bar/index.js | 0 .../babel/--ignore/in-files/src/foo/foo.js | 0 .../fixtures}/babel/--ignore/options.json | 0 .../babel/--ignore/out-files/lib/bar/index.js | 0 .../test/fixtures}/babel/--ignore/stdout.txt | 0 .../babel/--only/in-files/src/bar/index.js | 0 .../babel/--only/in-files/src/foo/index.js | 0 .../test/fixtures}/babel/--only/options.json | 0 .../babel/--only/out-files/lib/bar/index.js | 0 .../test/fixtures}/babel/--only/stdout.txt | 0 .../fixtures}/babel/--whitelist/options.json | 0 .../fixtures}/babel/--whitelist/stdin.txt | 0 .../fixtures}/babel/--whitelist/stdout.txt | 0 .../options.json | 0 .../out-files/test.js | 0 .../out-files/test.js.map | 0 .../.stdin --out-file --source-maps/stdin.txt | 0 .../.stdin --source-maps inline/options.json | 0 .../.stdin --source-maps inline/stdin.txt | 0 .../.stdin --source-maps inline/stdout.txt | 0 .../in-files/src/bar/bar.js | 0 .../in-files/src/foo.js | 0 .../options.json | 0 .../out-files/lib/bar/bar.js | 0 .../out-files/lib/foo.js | 0 .../stdout.txt | 0 .../in-files/src/bar/bar.js | 0 .../in-files/src/foo.js | 0 .../dir --out-dir --source-maps/options.json | 0 .../out-files/lib/bar/bar.js | 0 .../out-files/lib/bar/bar.js.map | 0 .../out-files/lib/foo.js | 0 .../out-files/lib/foo.js.map | 0 .../dir --out-dir --source-maps/stdout.txt | 0 .../dir --out-dir/in-files/src/bar/bar.js | 0 .../babel/dir --out-dir/in-files/src/foo.js | 0 .../babel/dir --out-dir/options.json | 0 .../dir --out-dir/out-files/lib/bar/bar.js | 0 .../babel/dir --out-dir/out-files/lib/foo.js | 0 .../fixtures}/babel/dir --out-dir/stdout.txt | 0 .../in-files/script.js | 0 .../options.json | 0 .../out-files/script2.js | 0 .../filename --out-file/in-files/script.js | 0 .../babel/filename --out-file/options.json | 0 .../filename --out-file/out-files/script2.js | 0 .../in-files/script.js | 0 .../in-files/script2.js | 0 .../options.json | 0 .../out-files/script3.js | 0 .../in-files/script.js | 0 .../in-files/script2.js | 0 .../options.json | 0 .../out-files/script3.js | 0 .../out-files/script3.js.map | 0 .../filenames --out-file/in-files/script.js | 0 .../filenames --out-file/in-files/script2.js | 0 .../babel/filenames --out-file/options.json | 0 .../filenames --out-file/out-files/script3.js | 0 .../babel/stdin --filename/options.json | 0 .../babel/stdin --filename/stderr.txt | 0 .../babel/stdin --filename/stdin.txt | 0 .../babel/stdin --out-file/options.json | 0 .../stdin --out-file/out-files/script.js | 0 .../babel/stdin --out-file/stdin.txt | 0 .../test/fixtures}/babel/stdin/stdin.txt | 0 .../test/fixtures}/babel/stdin/stdout.txt | 0 .../babel-cli/test/index.js | 6 +- {test => packages/babel-cli/test}/mocha.opts | 0 .npmignore => packages/babel/.npmignore | 2 +- packages/babel/index.js | 1 + packages/babel/package.json | 76 + packages/babel/polyfill.js | 1 + packages/babel/register-without-polyfill.js | 1 + packages/babel/register.js | 1 + .../babel/src}/api/browser.js | 2 +- {src/babel => packages/babel/src}/api/node.js | 53 +- .../babel/src}/api/register/browser.js | 0 .../babel/src}/api/register/cache.js | 0 .../babel/src}/api/register/node-polyfill.js | 0 .../babel/src}/api/register/node.js | 5 +- .../babel/src}/generation/buffer.js | 0 .../babel/src}/generation/generators/base.js | 0 .../src}/generation/generators/classes.js | 0 .../generation/generators/comprehensions.js | 0 .../src}/generation/generators/expressions.js | 0 .../babel/src}/generation/generators/flow.js | 0 .../babel/src}/generation/generators/jsx.js | 0 .../src}/generation/generators/methods.js | 0 .../src}/generation/generators/modules.js | 0 .../src}/generation/generators/statements.js | 0 .../generators/template-literals.js | 0 .../babel/src}/generation/generators/types.js | 0 .../babel/src}/generation/index.js | 0 .../babel/src}/generation/node/index.js | 0 .../babel/src}/generation/node/parentheses.js | 0 .../babel/src}/generation/node/printer.js | 0 .../babel/src}/generation/node/whitespace.js | 0 .../babel/src}/generation/position.js | 0 .../babel/src}/generation/source-map.js | 0 .../babel/src}/generation/whitespace.js | 0 .../babel/src}/helpers/code-frame.js | 0 .../babel/src}/helpers/merge.js | 0 .../babel/src}/helpers/normalize-ast.js | 0 .../babel/src}/helpers/object.js | 0 .../babel/src}/helpers/parse.js | 13 +- {src/babel => packages/babel/src}/messages.js | 0 {src/babel => packages/babel/src}/patch.js | 0 {src/babel => packages/babel/src}/polyfill.js | 0 .../src}/tools/build-external-helpers.js | 0 .../babel/src}/transformation/file/index.js | 20 +- .../babel/src}/transformation/file/logger.js | 0 .../transformation/file/options/config.json | 0 .../src}/transformation/file/options/index.js | 0 .../file/options/option-manager.js | 0 .../transformation/file/options/parsers.js | 0 .../transformation/file/plugin-manager.js | 0 ...-binary-assignment-operator-transformer.js | 0 .../helpers/build-comprehension.js | 0 ...itional-assignment-operator-transformer.js | 0 .../helpers/build-react-transformer.js | 0 .../transformation/helpers/call-delegate.js | 0 .../src}/transformation/helpers/define-map.js | 0 .../helpers/explode-assignable-expression.js | 0 .../helpers/get-function-arity.js | 0 .../helpers/memoise-decorators.js | 0 .../transformation/helpers/name-method.js | 0 .../src}/transformation/helpers/react.js | 0 .../src}/transformation/helpers/regex.js | 0 .../helpers/remap-async-to-generator.js | 0 .../transformation/helpers/replace-supers.js | 0 .../babel/src}/transformation/index.js | 0 .../src}/transformation/modules/_default.js | 0 .../src}/transformation/modules/_strict.js | 0 .../src}/transformation/modules/amd-strict.js | 0 .../babel/src}/transformation/modules/amd.js | 0 .../transformation/modules/common-strict.js | 0 .../src}/transformation/modules/common.js | 0 .../src}/transformation/modules/ignore.js | 0 .../src}/transformation/modules/index.js | 0 .../src}/transformation/modules/lib/remaps.js | 0 .../src}/transformation/modules/system.js | 0 .../src}/transformation/modules/umd-strict.js | 0 .../babel/src}/transformation/modules/umd.js | 0 .../babel/src}/transformation/pipeline.js | 18 +- .../babel/src}/transformation/plugin-pass.js | 0 .../babel/src}/transformation/plugin.js | 0 .../src}/transformation/templates/.babelrc | 0 .../templates/abstract-expression-call.js | 0 .../templates/abstract-expression-delete.js | 0 .../templates/abstract-expression-get.js | 0 .../templates/abstract-expression-set.js | 0 .../array-comprehension-container.js | 0 .../transformation/templates/array-from.js | 0 .../transformation/templates/array-push.js | 0 .../src}/transformation/templates/call.js | 0 .../templates/class-decorator.js | 0 .../class-derived-default-constructor.js | 0 .../templates/default-parameter-assign.js | 0 .../templates/default-parameter.js | 0 .../templates/exports-assign.js | 0 .../templates/exports-default-assign.js | 0 .../templates/exports-from-assign.js | 0 .../exports-module-declaration-loose.js | 0 .../templates/exports-module-declaration.js | 0 .../transformation/templates/for-of-array.js | 0 .../transformation/templates/for-of-loose.js | 0 .../src}/transformation/templates/for-of.js | 0 .../templates/helper-async-to-generator.js | 0 .../transformation/templates/helper-bind.js | 0 .../templates/helper-class-call-check.js | 0 .../templates/helper-create-class.js | 0 .../helper-create-decorated-class.js | 0 .../helper-create-decorated-object.js | 0 .../templates/helper-default-props.js | 0 .../templates/helper-defaults.js | 0 ...er-define-decorated-property-descriptor.js | 0 .../templates/helper-define-property.js | 0 .../templates/helper-extends.js | 0 .../transformation/templates/helper-get.js | 0 .../templates/helper-has-own.js | 0 .../templates/helper-inherits.js | 0 .../templates/helper-instanceof.js | 0 .../helper-interop-require-default.js | 0 .../helper-interop-require-wildcard.js | 0 .../templates/helper-interop-require.js | 0 .../helper-object-destructuring-empty.js | 0 .../helper-object-without-properties.js | 0 .../templates/helper-self-global.js | 0 .../transformation/templates/helper-set.js | 0 .../transformation/templates/helper-slice.js | 0 .../templates/helper-sliced-to-array-loose.js | 0 .../templates/helper-sliced-to-array.js | 0 .../helper-tagged-template-literal-loose.js | 0 .../helper-tagged-template-literal.js | 0 .../helper-temporal-assert-defined.js | 0 .../templates/helper-temporal-undefined.js | 0 .../templates/helper-to-array.js | 0 .../templates/helper-to-consumable-array.js | 0 .../transformation/templates/helper-typeof.js | 0 .../templates/let-scoping-return.js | 0 .../templates/named-function.js | 0 ...rty-method-assignment-wrapper-generator.js | 0 .../property-method-assignment-wrapper.js | 0 .../templates/prototype-identifier.js | 0 .../templates/require-assign-key.js | 0 .../src}/transformation/templates/require.js | 0 .../src}/transformation/templates/rest.js | 0 .../templates/self-contained-helpers-head.js | 0 .../src}/transformation/templates/system.js | 0 .../templates/tail-call-body.js | 0 .../transformation/templates/test-exports.js | 0 .../transformation/templates/test-module.js | 0 .../templates/umd-commonjs-strict.js | 0 .../templates/umd-runner-body.js | 0 .../babel/src}/transformation/transformer.js | 0 .../transformation/transformers/aliases.json | 0 .../transformers/deprecated.json | 0 .../es3/member-expression-literals.js | 0 .../transformers/es3/property-literals.js | 0 .../transformers/es5/properties.mutators.js | 0 .../transformers/es6/arrow-functions.js | 0 .../transformers/es6/block-scoping.js | 0 .../transformers/es6/classes/index.js | 0 .../transformers/es6/classes/loose.js | 0 .../transformers/es6/classes/vanilla.js | 0 .../transformers/es6/constants.js | 0 .../transformers/es6/destructuring.js | 0 .../transformation/transformers/es6/for-of.js | 0 .../transformers/es6/modules.js | 0 .../transformers/es6/object-super.js | 0 .../transformers/es6/parameters/default.js | 0 .../transformers/es6/parameters/index.js | 0 .../transformers/es6/parameters/rest.js | 0 .../transformers/es6/properties.computed.js | 0 .../transformers/es6/properties.shorthand.js | 0 .../transformers/es6/regex.sticky.js | 0 .../transformers/es6/regex.unicode.js | 0 .../transformers/es6/spec.block-scoping.js | 0 .../transformers/es6/spec.symbols.js | 0 .../es6/spec.template-literals.js | 0 .../transformation/transformers/es6/spread.js | 0 .../transformers/es6/tail-call.js | 0 .../transformers/es6/template-literals.js | 0 .../transformers/es7/async-functions.js | 0 .../transformers/es7/class-properties.js | 0 .../transformers/es7/comprehensions.js | 0 .../transformers/es7/decorators.js | 0 .../transformers/es7/do-expressions.js | 0 .../es7/exponentiation-operator.js | 0 .../transformers/es7/export-extensions.js | 0 .../transformers/es7/function-bind.js | 0 .../transformers/es7/object-rest-spread.js | 0 .../es7/trailing-function-commas.js | 0 .../transformation/transformers/filters.js | 0 .../src}/transformation/transformers/index.js | 0 .../transformers/internal/block-hoist.js | 0 .../transformers/internal/explode.js | 0 .../transformers/internal/hoist-directives.js | 0 .../transformers/internal/module-formatter.js | 0 .../transformers/internal/modules.js | 0 .../transformers/internal/shadow-functions.js | 0 .../transformers/internal/validation.js | 0 .../transformers/optimisation/flow.for-of.js | 0 .../optimisation/modules.system.js | 0 .../optimisation/react.inline-elements.js | 0 .../transformers/other/async-to-generator.js | 0 .../transformers/other/bluebird-coroutines.js | 0 .../transformation/transformers/other/flow.js | 0 .../transformers/other/react-compat.js | 0 .../transformers/other/react.js | 0 .../transformers/other/regenerator.js | 0 .../transformers/other/strict.js | 0 .../spec/block-scoped-functions.js | 0 .../transformers/spec/function-name.js | 0 .../transformers/validation/react.js | 0 .../babel/src}/traversal/context.js | 0 .../babel/src}/traversal/hub.js | 0 .../babel/src}/traversal/index.js | 0 .../babel/src}/traversal/path/README.md | 0 .../babel/src}/traversal/path/ancestry.js | 0 .../babel/src}/traversal/path/comments.js | 0 .../babel/src}/traversal/path/context.js | 0 .../babel/src}/traversal/path/conversion.js | 0 .../babel/src}/traversal/path/evaluation.js | 0 .../babel/src}/traversal/path/family.js | 0 .../babel/src}/traversal/path/index.js | 0 .../src}/traversal/path/inference/index.js | 0 .../path/inference/inferer-reference.js | 0 .../src}/traversal/path/inference/inferers.js | 0 .../src}/traversal/path/introspection.js | 0 .../babel/src}/traversal/path/lib/hoister.js | 0 .../src}/traversal/path/lib/removal-hooks.js | 0 .../src}/traversal/path/lib/virtual-types.js | 0 .../babel/src}/traversal/path/modification.js | 0 .../babel/src}/traversal/path/removal.js | 0 .../babel/src}/traversal/path/replacement.js | 41 +- .../babel/src}/traversal/scope/binding.js | 0 .../babel/src}/traversal/scope/index.js | 0 .../babel/src}/traversal/visitors.js | 0 .../babel/src}/types/alias-keys.json | 0 .../babel/src}/types/builder-keys.json | 0 .../babel/src}/types/converters.js | 0 .../babel/src}/types/flow.js | 0 .../babel/src}/types/index.js | 0 .../babel/src}/types/retrievers.js | 0 .../babel/src}/types/validators.js | 0 .../babel/src}/types/visitor-keys.json | 0 {src/babel => packages/babel/src}/util.js | 42 +- packages/babel/test/.babelrc | 3 + .../core => packages/babel/test}/_browser.js | 2 +- {test/core => packages/babel/test}/_helper.js | 7 +- packages/babel/test/_transformation-helper.js | 191 + packages/babel/test/api.js | 471 +++ .../babel/test}/browserify.js | 0 {test/core => packages/babel/test}/esnext.js | 0 .../test/fixtures/browserify/register.js | 3 + .../arguments-refers-to-parent-function.js | 0 .../empty-arrow-function.js | 0 .../handles-nested-context-bindings.js | 0 ...rens-for-low-precedence-expression-body.js | 0 .../object-literal-needs-parens.js | 0 .../only-lexical-this-not-dynamic-this.js | 0 .../es6-arrow-functions/passed-to-function.js | 0 .../single-param-does-not-need-parens.js | 0 .../esnext/es6-classes/anonymous-class.js | 0 .../esnext/es6-classes/call-super-function.js | 0 .../esnext/es6-classes/class-expressions.js | 0 .../esnext/es6-classes/class-extend.js | 0 .../es6-classes/class-with-constructor.js | 0 .../class-with-method-declaration.js | 0 .../esnext/es6-classes/empty-named-class.js | 0 .../fixtures/esnext/es6-classes/enumerable.js | 0 .../explicit-super-in-constructor.js | 0 .../esnext/es6-classes/extends-null.js | 0 .../esnext/es6-classes/getter-setter-super.js | 0 .../esnext/es6-classes/getter-setter.js | 0 .../method-declaration-with-arguments.js | 0 .../es6-classes/methods-are-writable.js | 0 .../es6-classes/methods-with-rest-params.js | 0 .../esnext/es6-classes/static-getter.js | 0 .../esnext/es6-classes/static-method.js | 0 .../esnext/es6-classes/static-setter.js | 0 .../esnext/es6-classes/super-change-proto.js | 0 .../es6-computed-properties/accessor.js | 0 .../esnext/es6-computed-properties/method.js | 0 .../esnext/es6-computed-properties/nested.js | 0 .../esnext/es6-computed-properties/simple.js | 0 .../esnext/es6-default-parameters/arity.js | 0 .../es6-default-parameters/arrow-function.js | 0 .../null-vs-undefined.js | 0 .../esnext/es6-default-parameters/scope.js | 0 .../es6-default-parameters/simple-function.js | 0 .../es6-object-concise/method-arguments.js | 0 .../es6-object-concise/method-context.js | 0 .../es6-object-concise/method-has-name.js | 0 .../method-is-not-in-scope-inside.js | 0 .../esnext/es6-object-concise/method.js | 0 .../esnext/es6-rest-parameters/arrow-fn.js | 0 .../esnext/es6-rest-parameters/declaration.js | 0 .../esnext/es6-rest-parameters/rest.js | 0 .../esnext/es6-spread/arguments-as-array.js | 0 .../esnext/es6-spread/array-literal.js | 0 .../es6-spread/call-with-array-literal.js | 0 .../es6-spread/inside-function-expression.js | 0 .../fixtures/esnext/es6-spread/iterator.js | 0 .../fixtures/esnext/es6-spread/new-object.js | 0 .../esnext/es6-spread/preserve-context.js | 0 .../esnext/es6-spread/simple-function-call.js | 0 .../esnext/es6-templates/multi-line.js | 0 .../es6-templates/nested-interpolation.js | 0 .../esnext/es6-templates/no-interpolation.js | 0 .../raw-tagged-template-expression.js | 0 .../es6-templates/simple-interpolation.js | 0 .../tagged-template-expression.js | 0 .../auto-indentation/hard-tab/actual.js | 0 .../auto-indentation/hard-tab/expected.js | 0 .../auto-indentation/soft-tab-2/actual.js | 0 .../auto-indentation/soft-tab-2/expected.js | 0 .../auto-indentation/soft-tab-4/actual.js | 0 .../auto-indentation/soft-tab-4/expected.js | 0 .../generation/auto-string/double/actual.js | 0 .../generation/auto-string/double/expected.js | 0 .../generation/auto-string/single/actual.js | 0 .../generation/auto-string/single/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../comments/2-space-multi-comment/actual.js | 0 .../2-space-multi-comment/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../options.json | 0 .../comments/block-line-comment/actual.js | 0 .../comments/block-line-comment/expected.js | 0 .../comment-only-with-space/actual.js | 0 .../comment-only-with-space/expected.js | 0 .../comments/comment-only/actual.js | 0 .../comments/comment-only/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../options.json | 0 .../computed-property-comments-2/actual.js | 0 .../computed-property-comments-2/expected.js | 0 .../computed-property-comments/actual.js | 0 .../computed-property-comments/expected.js | 0 .../comments/do-while-line-comment/actual.js | 0 .../do-while-line-comment/expected.js | 0 .../comments/empty-line-comment/actual.js | 0 .../comments/empty-line-comment/expected.js | 0 .../generation/comments/empty/actual.js | 0 .../generation/comments/empty/expected.js | 0 .../function-block-line-comment/actual.js | 0 .../function-block-line-comment/expected.js | 0 .../comments/if-block-line-comment/actual.js | 0 .../if-block-line-comment/expected.js | 0 .../comments/if-empty-line-comment/actual.js | 0 .../if-empty-line-comment/expected.js | 0 .../comments/if-line-comment/actual.js | 0 .../comments/if-line-comment/expected.js | 0 .../comments/object_comments/actual.js | 0 .../comments/object_comments/expected.js | 0 .../comments/return-no-argument/actual.js | 0 .../comments/return-no-argument/expected.js | 0 .../simple-a-lot-of-line-comment/actual.js | 0 .../simple-a-lot-of-line-comment/expected.js | 0 .../simple-a-lot-of-multi-comment/actual.js | 0 .../simple-a-lot-of-multi-comment/expected.js | 0 .../comments/simple-line-comment/actual.js | 0 .../comments/simple-line-comment/expected.js | 0 .../comments/simple-multi-comment/actual.js | 0 .../comments/simple-multi-comment/expected.js | 0 .../simple-statement-comment/actual.js | 0 .../simple-statement-comment/expected.js | 0 .../comments/try-block-line-comment/actual.js | 0 .../try-block-line-comment/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../edgecase/bitwise-precedence/actual.js | 0 .../edgecase/bitwise-precedence/expected.js | 0 .../edgecase/floating-point/actual.js | 0 .../edgecase/floating-point/expected.js | 0 .../edgecase/for-in-no-in/actual.js | 0 .../edgecase/for-in-no-in/expected.js | 0 .../edgecase/new-precedence/actual.js | 0 .../edgecase/new-precedence/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../options.json | 0 .../return-with-retainlines-option/actual.js | 0 .../expected.js | 0 .../options.json | 0 .../generation/edgecase/unary-op/actual.js | 0 .../generation/edgecase/unary-op/expected.js | 0 .../edgecase/variable-declaration/actual.js | 0 .../edgecase/variable-declaration/expected.js | 0 .../generation/flow/array-types/actual.js | 0 .../generation/flow/array-types/expected.js | 0 .../generation/flow/call-properties/actual.js | 0 .../flow/call-properties/expected.js | 0 .../generation/flow/declare-module/actual.js | 0 .../flow/declare-module/expected.js | 0 .../flow/declare-statements/actual.js | 0 .../flow/declare-statements/expected.js | 0 .../interfaces-module-and-script/actual.js | 0 .../interfaces-module-and-script/expected.js | 0 .../flow/qualified-generic-type/actual.js | 0 .../flow/qualified-generic-type/expected.js | 0 .../flow/string-literal-types/actual.js | 0 .../flow/string-literal-types/expected.js | 0 .../fixtures/generation/flow/tuples/actual.js | 0 .../generation/flow/tuples/expected.js | 0 .../generation/flow/type-alias/actual.js | 0 .../generation/flow/type-alias/expected.js | 0 .../flow/type-annotations/actual.js | 0 .../flow/type-annotations/expected.js | 0 .../generation/flow/typecasts/actual.js | 0 .../generation/flow/typecasts/expected.js | 0 .../harmony-edgecase/arrow-function/actual.js | 0 .../arrow-function/expected.js | 0 .../class-declaration/actual.js | 0 .../class-declaration/expected.js | 0 .../class-expression/actual.js | 0 .../class-expression/expected.js | 0 .../computed-property/actual.js | 0 .../computed-property/expected.js | 0 .../default-parameter/actual.js | 0 .../default-parameter/expected.js | 0 .../destructuring-assignment/actual.js | 0 .../destructuring-assignment/expected.js | 0 .../export-default-declaration/actual.js | 0 .../export-default-declaration/expected.js | 0 .../harmony-edgecase/exports/actual.js | 0 .../harmony-edgecase/exports/expected.js | 0 .../for-of-statement/actual.js | 0 .../for-of-statement/expected.js | 0 .../import-with-default/actual.js | 0 .../import-with-default/expected.js | 0 .../harmony-edgecase/imports/actual.js | 0 .../harmony-edgecase/imports/expected.js | 0 .../harmony-edgecase/spread-element/actual.js | 0 .../spread-element/expected.js | 0 .../templates-escape/actual.js | 0 .../templates-escape/expected.js | 0 .../harmony-edgecase/templates/actual.js | 0 .../harmony-edgecase/templates/expected.js | 0 .../yield-precedence/actual.js | 0 .../yield-precedence/expected.js | 0 .../arrow-function-object-body/actual.js | 0 .../arrow-function-object-body/expected.js | 0 .../ArrayExpression-ArrayPattern/actual.js | 0 .../ArrayExpression-ArrayPattern/expected.js | 0 .../types/ArrowFunctionExpression/actual.js | 0 .../types/ArrowFunctionExpression/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../types/AwaitExpression/actual.js | 0 .../types/AwaitExpression/expected.js | 0 .../generation/types/BindExpression/actual.js | 0 .../types/BindExpression/expected.js | 0 .../generation/types/BlockStatement/actual.js | 0 .../types/BlockStatement/expected.js | 0 .../generation/types/BreakStatement/actual.js | 0 .../types/BreakStatement/expected.js | 0 .../generation/types/CallExpression/actual.js | 0 .../types/CallExpression/expected.js | 0 .../ClassBody-MethodDefinition/actual.js | 0 .../ClassBody-MethodDefinition/expected.js | 0 .../types/ClassDeclaration/actual.js | 0 .../types/ClassDeclaration/expected.js | 0 .../types/ClassExpression/actual.js | 0 .../types/ClassExpression/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../types/ConditionalExpression/actual.js | 0 .../types/ConditionalExpression/expected.js | 0 .../types/ContinueStatement/actual.js | 0 .../types/ContinueStatement/expected.js | 0 .../types/DebuggerStatement/actual.js | 0 .../types/DebuggerStatement/expected.js | 0 .../generation/types/Decorator/actual.js | 0 .../generation/types/Decorator/expected.js | 0 .../types/DoWhileStatement/actual.js | 0 .../types/DoWhileStatement/expected.js | 0 .../generation/types/EmptyStatement/actual.js | 0 .../types/EmptyStatement/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../generation/types/ForInStatement/actual.js | 0 .../types/ForInStatement/expected.js | 0 .../generation/types/ForOfStatement/actual.js | 0 .../types/ForOfStatement/expected.js | 0 .../generation/types/ForStatement/actual.js | 0 .../generation/types/ForStatement/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../generation/types/Identifier/actual.js | 0 .../generation/types/Identifier/expected.js | 0 .../generation/types/IfStatement/actual.js | 0 .../generation/types/IfStatement/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../types/LabeledStatement/actual.js | 0 .../types/LabeledStatement/expected.js | 0 .../generation/types/Literal/actual.js | 0 .../generation/types/Literal/expected.js | 0 .../types/MemberExpression/actual.js | 0 .../types/MemberExpression/expected.js | 0 .../generation/types/NewExpression/actual.js | 0 .../types/NewExpression/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../types/ReturnStatement/actual.js | 0 .../types/ReturnStatement/expected.js | 0 .../types/SequenceExpression/actual.js | 0 .../types/SequenceExpression/expected.js | 0 .../SpreadElement-SpreadProperty/actual.js | 0 .../SpreadElement-SpreadProperty/expected.js | 0 .../SwitchStatement-SwitchCase/actual.js | 0 .../SwitchStatement-SwitchCase/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../generation/types/ThisExpression/actual.js | 0 .../types/ThisExpression/expected.js | 0 .../generation/types/ThrowStatement/actual.js | 0 .../types/ThrowStatement/expected.js | 0 .../types/TryStatement-CatchClause/actual.js | 0 .../TryStatement-CatchClause/expected.js | 0 .../types/UnaryExpression/actual.js | 0 .../types/UnaryExpression/expected.js | 0 .../types/UpdateExpression/actual.js | 0 .../types/UpdateExpression/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../generation/types/WhileStatement/actual.js | 0 .../types/WhileStatement/expected.js | 0 .../generation/types/WithStatement/actual.js | 0 .../types/WithStatement/expected.js | 0 .../generation/types/XJSAttribute/actual.js | 0 .../generation/types/XJSAttribute/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../types/XJSEmptyExpression/actual.js | 0 .../types/XJSEmptyExpression/expected.js | 0 .../types/XJSExpressionContainer/actual.js | 0 .../types/XJSExpressionContainer/expected.js | 0 .../types/XJSMemberExpression/actual.js | 0 .../types/XJSMemberExpression/expected.js | 0 .../types/XJSNamespacedName/actual.js | 0 .../types/XJSNamespacedName/expected.js | 0 .../types/XJSSpreadAttribute/actual.js | 0 .../types/XJSSpreadAttribute/expected.js | 0 .../types/YieldExpression/actual.js | 0 .../types/YieldExpression/expected.js | 0 .../transformation/.ludicrous/options.json | 0 .../.ludicrous/proxy-apply-handler.js | 0 .../.ludicrous/proxy-construct-handler.js | 0 .../proxy-define-property-handler.js | 0 .../proxy-delete-property-handler.js | 0 .../.ludicrous/proxy-enumerate-handler.js | 0 .../proxy-get-handler-instance-of-proxies.js | 0 .../.ludicrous/proxy-get-handler.js | 0 ...oxy-get-own-property-descriptor-handler.js | 0 .../proxy-get-prototype-of-handler.js | 0 .../proxy-has-handler-instance-of-proxies.js | 0 .../.ludicrous/proxy-has-handler.js | 0 .../.ludicrous/proxy-is-extensible-handler.js | 0 .../.ludicrous/proxy-own-keys-handler.js | 0 .../.ludicrous/proxy-prevent-extensions.js | 0 .../proxy-set-handler-instance-of-proxies.js | 0 .../.ludicrous/proxy-set-handler.js | 0 .../proxy-set-prototype-of-handler.js | 0 .../transformation/api/blacklist/actual.js | 0 .../transformation/api/blacklist/expected.js | 0 .../transformation/api/blacklist/options.json | 0 .../fixtures/transformation/api/options.json | 0 .../api/unknown-module-formatter/options.json | 0 .../unknown-transformer-in-list/options.json | 0 .../transformation/api/whitelist/actual.js | 0 .../transformation/api/whitelist/expected.js | 0 .../transformation/api/whitelist/options.json | 0 .../async-to-generator/async/actual.js | 0 .../async-to-generator/async/expected.js | 0 .../async-to-generator/expression/actual.js | 0 .../async-to-generator/expression/expected.js | 0 .../named-expression/actual.js | 0 .../named-expression/expected.js | 0 .../async-to-generator/options.json | 0 .../async-to-generator/statement/actual.js | 0 .../async-to-generator/statement/expected.js | 0 .../bluebird-coroutines/class/actual.js | 0 .../bluebird-coroutines/class/expected.js | 0 .../bluebird-coroutines/class/options.json | 0 .../bluebird-coroutines/expression/actual.js | 0 .../expression/expected.js | 0 .../named-expression/actual.js | 0 .../named-expression/expected.js | 0 .../bluebird-coroutines/options.json | 0 .../bluebird-coroutines/statement/actual.js | 0 .../bluebird-coroutines/statement/expected.js | 0 .../transformation/errors/constants/actual.js | 0 .../errors/constants/options.json | 0 .../transformation/errors/syntax/actual.js | 0 .../transformation/errors/syntax/options.json | 0 .../es3/member-expression-literals/actual.js | 0 .../member-expression-literals/expected.js | 0 .../es3/property-literals/actual.js | 0 .../es3/property-literals/expected.js | 0 .../getter-and-setter/actual.js | 0 .../getter-and-setter/expected.js | 0 .../es5.properties.mutators/getter/actual.js | 0 .../getter/expected.js | 0 .../es5.properties.mutators/setter/actual.js | 0 .../setter/expected.js | 0 .../es6.arrow-functions/arguments/actual.js | 0 .../es6.arrow-functions/arguments/expected.js | 0 .../default-parameters/actual.js | 0 .../default-parameters/expected.js | 0 .../destructuring-parameters/actual.js | 0 .../destructuring-parameters/expected.js | 0 .../empty-arguments/actual.js | 0 .../empty-arguments/expected.js | 0 .../es6.arrow-functions/empty-block/actual.js | 0 .../empty-block/expected.js | 0 .../es6.arrow-functions/expression/actual.js | 0 .../expression/expected.js | 0 .../es6.arrow-functions/inside-call/actual.js | 0 .../inside-call/expected.js | 0 .../multiple-arguments/actual.js | 0 .../multiple-arguments/expected.js | 0 .../es6.arrow-functions/nested/actual.js | 0 .../es6.arrow-functions/nested/expected.js | 0 .../es6.arrow-functions/options.json | 0 .../paran-insertion/actual.js | 0 .../paran-insertion/expected.js | 0 .../single-argument/actual.js | 0 .../single-argument/expected.js | 0 .../es6.arrow-functions/statement/actual.js | 0 .../es6.arrow-functions/statement/expected.js | 0 .../es6.arrow-functions/this/actual.js | 0 .../es6.arrow-functions/this/expected.js | 0 .../es6.block-scoping-exec/block-scoped-2.js | 0 .../es6.block-scoping-exec/block-scoped.js | 0 .../closure-wrap-collision.js | 0 .../es6.block-scoping-exec/collision-for.js | 0 .../destructuring-defaults.js | 0 .../duplicate-function-scope.js | 0 .../for-continuation.js | 0 .../es6.block-scoping-exec/for-loop-head.js | 0 .../es6.block-scoping-exec/label.js | 0 .../es6.block-scoping-exec/multiple.js | 0 .../es6.block-scoping-exec/nested-labels-2.js | 0 .../es6.block-scoping-exec/nested-labels-3.js | 0 .../es6.block-scoping-exec/nested-labels-4.js | 0 .../es6.block-scoping-exec/nested-labels.js | 0 .../es6.block-scoping-exec/switch-break.js | 0 .../assignment-patterns/actual.js | 0 .../assignment-patterns/expected.js | 0 .../exec.js | 0 .../options.json | 0 .../for-break-continue-return/actual.js | 0 .../for-break-continue-return/expected.js | 0 .../es6.block-scoping/for-break/actual.js | 0 .../es6.block-scoping/for-break/expected.js | 0 .../for-continuation/actual.js | 0 .../for-continuation/expected.js | 0 .../es6.block-scoping/for-continue/actual.js | 0 .../for-continue/expected.js | 0 .../for-return-undefined/actual.js | 0 .../for-return-undefined/expected.js | 0 .../es6.block-scoping/for-return/actual.js | 0 .../es6.block-scoping/for-return/expected.js | 0 .../es6.block-scoping/function/actual.js | 0 .../es6.block-scoping/function/expected.js | 0 .../es6.block-scoping/hoisting/actual.js | 0 .../es6.block-scoping/hoisting/expected.js | 0 .../es6.block-scoping/issue-1051/actual.js | 0 .../es6.block-scoping/issue-1051/expected.js | 0 .../es6.block-scoping/issue-973/actual.js | 0 .../es6.block-scoping/issue-973/expected.js | 0 .../jsx-identifier/actual.js | 0 .../jsx-identifier/expected.js | 0 .../loop-initializer-default/actual.js | 0 .../loop-initializer-default/expected.js | 0 .../es6.block-scoping/program/actual.js | 0 .../es6.block-scoping/program/expected.js | 0 .../es6.block-scoping/switch/actual.js | 0 .../es6.block-scoping/switch/expected.js | 0 .../wrap-closure-shadow-variables/actual.js | 0 .../wrap-closure-shadow-variables/expected.js | 0 .../es6.classes-exec/declaration-binding.js | 0 .../es6.classes-exec/expression-binding.js | 0 .../retain-no-call-on-reassign.js | 0 .../es6.classes-exec/super-change-proto.js | 0 .../accessing-super-class/actual.js | 0 .../accessing-super-class/expected.js | 0 .../accessing-super-properties/actual.js | 0 .../accessing-super-properties/expected.js | 0 .../calling-super-properties/actual.js | 0 .../calling-super-properties/expected.js | 0 .../constructor-order/actual.js | 0 .../constructor-order/expected.js | 0 .../es6.classes-loose/literal-key/actual.js | 0 .../es6.classes-loose/literal-key/expected.js | 0 .../es6.classes-loose/options.json | 0 .../actual.js | 0 .../expected.js | 0 .../es6.classes-loose/super-class/actual.js | 0 .../es6.classes-loose/super-class/expected.js | 0 .../super-function-fallback/actual.js | 0 .../super-function-fallback/expected.js | 0 .../accessing-super-class/actual.js | 0 .../accessing-super-class/expected.js | 0 .../accessing-super-properties/actual.js | 0 .../accessing-super-properties/expected.js | 0 .../es6.classes/bare-super/actual.js | 0 .../es6.classes/bare-super/options.json | 0 .../calling-super-properties/actual.js | 0 .../calling-super-properties/expected.js | 0 .../calling-super-properties/options.json | 0 .../es6.classes/computed-methods/actual.js | 0 .../es6.classes/computed-methods/exec.js | 0 .../es6.classes/computed-methods/expected.js | 0 .../constructor-binding-collision/actual.js | 0 .../constructor-binding-collision/expected.js | 0 .../es6.classes/constructor/actual.js | 0 .../es6.classes/constructor/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../options.json | 0 .../instance-getter-and-setter/actual.js | 0 .../instance-getter-and-setter/expected.js | 0 .../es6.classes/instance-getter/actual.js | 0 .../es6.classes/instance-getter/expected.js | 0 .../es6.classes/instance-method/actual.js | 0 .../es6.classes/instance-method/expected.js | 0 .../es6.classes/instance-setter/actual.js | 0 .../es6.classes/instance-setter/expected.js | 0 .../name-method-collision/actual.js | 0 .../name-method-collision/expected.js | 0 .../transformation/es6.classes/options.json | 0 .../es6.classes/plain-class/actual.js | 0 .../es6.classes/plain-class/expected.js | 0 .../preserves-directives/actual.js | 0 .../preserves-directives/expected.js | 0 .../relaxed-method-coercion/actual.js | 0 .../relaxed-method-coercion/expected.js | 0 .../es6.classes/statement/actual.js | 0 .../es6.classes/statement/expected.js | 0 .../es6.classes/static/actual.js | 0 .../es6.classes/static/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../options.json | 0 .../super-class-anonymous/actual.js | 0 .../super-class-anonymous/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../es6.classes/super-class/actual.js | 0 .../es6.classes/super-class/expected.js | 0 .../super-function-fallback/actual.js | 0 .../super-function-fallback/expected.js | 0 .../actual.js | 0 .../options.json | 0 .../actual.js | 0 .../options.json | 0 .../actual.js | 0 .../options.json | 0 .../actual.js | 0 .../options.json | 0 .../es6.constants/block-scoped/exec.js | 0 .../es6.constants/block-statement/actual.js | 0 .../es6.constants/block-statement/expected.js | 0 .../destructuring-assignment/actual.js | 0 .../destructuring-assignment/options.json | 0 .../es6.constants/destructuring/actual.js | 0 .../es6.constants/destructuring/expected.js | 0 .../ignore-member-expressions/actual.js | 0 .../ignore-member-expressions/expected.js | 0 .../es6.constants/loop/actual.js | 0 .../es6.constants/loop/options.json | 0 .../es6.constants/no-assignment/actual.js | 0 .../es6.constants/no-assignment/options.json | 0 .../es6.constants/no-classes/actual.js | 0 .../es6.constants/no-classes/options.json | 0 .../es6.constants/no-declaration/actual.js | 0 .../es6.constants/no-declaration/options.json | 0 .../es6.constants/no-for-in/actual.js | 0 .../es6.constants/no-for-in/options.json | 0 .../es6.constants/no-functions/actual.js | 0 .../es6.constants/no-functions/options.json | 0 .../es6.constants/program/actual.js | 0 .../es6.constants/program/expected.js | 0 .../es6.constants/update-expression/actual.js | 0 .../update-expression/options.json | 0 .../array-unpack-optimisation/actual.js | 0 .../array-unpack-optimisation/expected.js | 0 .../es6.destructuring/array/actual.js | 0 .../es6.destructuring/array/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../assignment-expression-pattern/actual.js | 0 .../assignment-expression-pattern/expected.js | 0 .../assignment-expression/actual.js | 0 .../assignment-expression/expected.js | 0 .../assignment-statement/actual.js | 0 .../assignment-statement/expected.js | 0 .../es6.destructuring/chained/exec.js | 0 .../empty-object-pattern/actual.js | 0 .../empty-object-pattern/exec.js | 0 .../empty-object-pattern/expected.js | 0 .../es6.destructuring/empty/actual.js | 0 .../es6.destructuring/empty/expected.js | 0 .../es7-object-rest/actual.js | 0 .../es7-object-rest/expected.js | 0 .../es7-object-rest/options.json | 0 .../es6.destructuring/for-in/actual.js | 0 .../es6.destructuring/for-in/expected.js | 0 .../es6.destructuring/for-of/actual.js | 0 .../es6.destructuring/for-of/expected.js | 0 .../es6.destructuring/known-array/actual.js | 0 .../es6.destructuring/known-array/expected.js | 0 .../member-expression/actual.js | 0 .../member-expression/expected.js | 0 .../es6.destructuring/mixed/actual.js | 0 .../es6.destructuring/mixed/expected.js | 0 .../es6.destructuring/multiple/actual.js | 0 .../es6.destructuring/multiple/expected.js | 0 .../object-advanced/actual.js | 0 .../object-advanced/expected.js | 0 .../es6.destructuring/object-basic/actual.js | 0 .../object-basic/expected.js | 0 .../es6.destructuring/options.json | 0 .../es6.destructuring/parameters/actual.js | 0 .../es6.destructuring/parameters/expected.js | 0 .../spread-generator/exec.js | 0 .../es6.destructuring/spread/actual.js | 0 .../es6.destructuring/spread/expected.js | 0 .../es6.destructuring/spread/options.json | 0 .../es6.for-of-loose/identifier/actual.js | 0 .../es6.for-of-loose/identifier/expected.js | 0 .../es6.for-of-loose/ignore-cases/actual.js | 0 .../es6.for-of-loose/ignore-cases/expected.js | 0 .../es6.for-of-loose/let/actual.js | 0 .../es6.for-of-loose/let/expected.js | 0 .../member-expression/actual.js | 0 .../member-expression/expected.js | 0 .../es6.for-of-loose/multiple/actual.js | 0 .../es6.for-of-loose/multiple/expected.js | 0 .../es6.for-of-loose/options.json | 0 .../es6.for-of-loose/var/actual.js | 0 .../es6.for-of-loose/var/expected.js | 0 .../es6.for-of/identifier/actual.js | 0 .../es6.for-of/identifier/expected.js | 0 .../es6.for-of/ignore-cases/actual.js | 0 .../es6.for-of/ignore-cases/expected.js | 0 .../transformation/es6.for-of/let/actual.js | 0 .../transformation/es6.for-of/let/expected.js | 0 .../es6.for-of/member-expression/actual.js | 0 .../es6.for-of/member-expression/expected.js | 0 .../es6.for-of/multiple/actual.js | 0 .../es6.for-of/multiple/expected.js | 0 .../es6.for-of/nested-label-for-of/actual.js | 0 .../nested-label-for-of/expected.js | 0 .../transformation/es6.for-of/var/actual.js | 0 .../transformation/es6.for-of/var/expected.js | 0 .../export-specifier-default/actual.js | 0 .../export-specifier-default/expected.js | 0 .../es6.modules-amd/exports-default/actual.js | 0 .../exports-default/expected.js | 0 .../es6.modules-amd/exports-default/untitled | 0 .../es6.modules-amd/exports-from/actual.js | 0 .../es6.modules-amd/exports-from/expected.js | 0 .../es6.modules-amd/exports-named/actual.js | 0 .../es6.modules-amd/exports-named/expected.js | 0 .../exports-variable/actual.js | 0 .../exports-variable/expected.js | 0 .../get-module-name-option/actual.js | 0 .../get-module-name-option/expected.js | 0 .../get-module-name-option/options.json | 0 .../hoist-function-exports/actual.js | 0 .../hoist-function-exports/expected.js | 0 .../es6.modules-amd/imports-default/actual.js | 0 .../imports-default/expected.js | 0 .../es6.modules-amd/imports-glob/actual.js | 0 .../es6.modules-amd/imports-glob/expected.js | 0 .../es6.modules-amd/imports-mixing/actual.js | 0 .../imports-mixing/expected.js | 0 .../es6.modules-amd/imports-named/actual.js | 0 .../es6.modules-amd/imports-named/expected.js | 0 .../es6.modules-amd/imports/actual.js | 0 .../es6.modules-amd/imports/expected.js | 0 .../es6.modules-amd/module-name/actual.js | 0 .../es6.modules-amd/module-name/expected.js | 0 .../es6.modules-amd/module-name/options.json | 0 .../es6.modules-amd/options.json | 0 .../es6.modules-amd/overview/actual.js | 0 .../es6.modules-amd/overview/expected.js | 0 .../es6.modules-amd/remap/actual.js | 0 .../es6.modules-amd/remap/expected.js | 0 .../export-1/actual.js | 0 .../export-1/expected.js | 0 .../export-2/actual.js | 0 .../export-2/expected.js | 0 .../export/actual.js | 0 .../export/expected.js | 0 .../import/actual.js | 0 .../import/expected.js | 0 .../es6.modules-common-strict/options.json | 0 .../exports-default-non-function/actual.js | 0 .../exports-default-non-function/expected.js | 0 .../exports-default/actual.js | 0 .../exports-default/expected.js | 0 .../es6.modules-common/exports-from/actual.js | 0 .../exports-from/expected.js | 0 .../exports-named/actual.js | 0 .../exports-named/expected.js | 0 .../exports-variable/actual.js | 0 .../exports-variable/expected.js | 0 .../hoist-function-exports/actual.js | 0 .../hoist-function-exports/expected.js | 0 .../illegal-export-esmodule-2/actual.js | 0 .../illegal-export-esmodule-2/options.json | 0 .../illegal-export-esmodule/actual.js | 0 .../illegal-export-esmodule/options.json | 0 .../imports-default/actual.js | 0 .../imports-default/expected.js | 0 .../imports-default/options.json | 0 .../es6.modules-common/imports-glob/actual.js | 0 .../imports-glob/expected.js | 0 .../imports-mixing/actual.js | 0 .../imports-mixing/expected.js | 0 .../imports-mixing/options.json | 0 .../imports-named/actual.js | 0 .../imports-named/expected.js | 0 .../es6.modules-common/imports/actual.js | 0 .../es6.modules-common/imports/expected.js | 0 .../loose-collision/actual.js | 0 .../loose-collision/options.json | 0 .../es6.modules-common/loose/actual.js | 0 .../es6.modules-common/loose/expected.js | 0 .../es6.modules-common/loose/options.json | 0 .../module-shadow/actual.js | 0 .../module-shadow/expected.js | 0 .../es6.modules-common/options.json | 0 .../es6.modules-common/overview/actual.js | 0 .../es6.modules-common/overview/expected.js | 0 .../es6.modules-common/overview/options.json | 0 .../es6.modules-common/remap/actual.js | 0 .../es6.modules-common/remap/expected.js | 0 .../exports-default/actual.js | 0 .../exports-default/expected.js | 0 .../es6.modules-ignore/exports-from/actual.js | 0 .../exports-from/expected.js | 0 .../exports-named/actual.js | 0 .../exports-named/expected.js | 0 .../exports-variable/actual.js | 0 .../exports-variable/expected.js | 0 .../hoist-function-exports/actual.js | 0 .../hoist-function-exports/expected.js | 0 .../imports-default/actual.js | 0 .../imports-default/expected.js | 0 .../es6.modules-ignore/imports-glob/actual.js | 0 .../imports-glob/expected.js | 0 .../imports-mixing/actual.js | 0 .../imports-mixing/expected.js | 0 .../imports-named/actual.js | 0 .../imports-named/expected.js | 0 .../es6.modules-ignore/imports/actual.js | 0 .../es6.modules-ignore/imports/expected.js | 0 .../es6.modules-ignore/options.json | 0 .../es6.modules-ignore/overview/actual.js | 0 .../es6.modules-ignore/overview/expected.js | 0 .../es6.modules-ignore/remap/actual.js | 0 .../es6.modules-ignore/remap/expected.js | 0 .../exports-default/actual.js | 0 .../exports-default/expected.js | 0 .../es6.modules-system/exports-from/actual.js | 0 .../exports-from/expected.js | 0 .../exports-named/actual.js | 0 .../exports-named/expected.js | 0 .../exports-variable/actual.js | 0 .../exports-variable/expected.js | 0 .../get-module-name-option/actual.js | 0 .../get-module-name-option/expected.js | 0 .../get-module-name-option/options.json | 0 .../hoist-function-exports/actual.js | 0 .../hoist-function-exports/expected.js | 0 .../hoist-function-exports/options.json | 0 .../imports-default/actual.js | 0 .../imports-default/expected.js | 0 .../es6.modules-system/imports-glob/actual.js | 0 .../imports-glob/expected.js | 0 .../imports-mixing/actual.js | 0 .../imports-mixing/expected.js | 0 .../imports-named/actual.js | 0 .../imports-named/expected.js | 0 .../es6.modules-system/imports/actual.js | 0 .../es6.modules-system/imports/expected.js | 0 .../es6.modules-system/options.json | 0 .../es6.modules-system/overview/actual.js | 0 .../es6.modules-system/overview/expected.js | 0 .../es6.modules-system/remap/actual.js | 0 .../es6.modules-system/remap/expected.js | 0 .../es6.modules-umd/exports-default/actual.js | 0 .../exports-default/expected.js | 0 .../es6.modules-umd/exports-from/actual.js | 0 .../es6.modules-umd/exports-from/expected.js | 0 .../es6.modules-umd/exports-named/actual.js | 0 .../es6.modules-umd/exports-named/expected.js | 0 .../exports-variable/actual.js | 0 .../exports-variable/expected.js | 0 .../get-module-name-option/actual.js | 0 .../get-module-name-option/expected.js | 0 .../get-module-name-option/options.json | 0 .../hoist-function-exports/actual.js | 0 .../hoist-function-exports/expected.js | 0 .../es6.modules-umd/imports-default/actual.js | 0 .../imports-default/expected.js | 0 .../es6.modules-umd/imports-glob/actual.js | 0 .../es6.modules-umd/imports-glob/expected.js | 0 .../es6.modules-umd/imports-mixing/actual.js | 0 .../imports-mixing/expected.js | 0 .../es6.modules-umd/imports-named/actual.js | 0 .../es6.modules-umd/imports-named/expected.js | 0 .../es6.modules-umd/imports/actual.js | 0 .../es6.modules-umd/imports/expected.js | 0 .../es6.modules-umd/module-id/actual.js | 0 .../es6.modules-umd/module-id/expected.js | 0 .../es6.modules-umd/module-id/options.json | 0 .../es6.modules-umd/module-name/actual.js | 0 .../es6.modules-umd/module-name/expected.js | 0 .../es6.modules-umd/module-name/options.json | 0 .../non-default-imports/actual.js | 0 .../non-default-imports/expected.js | 0 .../es6.modules-umd/options.json | 0 .../es6.modules-umd/overview/actual.js | 0 .../es6.modules-umd/overview/expected.js | 0 .../es6.modules-umd/remap/actual.js | 0 .../es6.modules-umd/remap/expected.js | 0 .../es6.modules/comments-explosion/actual.js | 0 .../comments-explosion/expected.js | 0 .../comments-explosion/options.json | 0 .../es6.object-super/options.json | 0 .../transformation/es6.object-super/simple.js | 0 .../statically-bound/actual.js | 0 .../statically-bound/expected.js | 0 .../default-before-last/actual.js | 0 .../default-before-last/expected.js | 0 .../default-destructuring/exec.js | 0 .../es6.parameters/default-eval/actual.js | 0 .../es6.parameters/default-eval/expected.js | 0 .../es6.parameters/default-iife-1128/exec.js | 0 .../es6.parameters/default-multiple/actual.js | 0 .../default-multiple/expected.js | 0 .../es6.parameters/default-single/actual.js | 0 .../es6.parameters/default-single/expected.js | 0 .../rest-arrow-functions/actual.js | 0 .../rest-arrow-functions/expected.js | 0 .../rest-async-function/actual.js | 0 .../rest-async-function/expected.js | 0 .../rest-async-function/options.json | 0 .../actual.js | 0 .../expected.js | 0 .../rest-flow-parameter-reference/actual.js | 0 .../rest-flow-parameter-reference/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../es6.parameters/rest-multiple/actual.js | 0 .../es6.parameters/rest-multiple/expected.js | 0 .../es6.parameters/rest-nested-iife/actual.js | 0 .../rest-nested-iife/expected.js | 0 .../es6.parameters/rest-pattern/actual.js | 0 .../es6.parameters/rest-pattern/expected.js | 0 .../rest-spread-optimisation/actual.js | 0 .../rest-spread-optimisation/expected.js | 0 .../argument/actual.js | 0 .../argument/expected.js | 0 .../assignment/actual.js | 0 .../assignment/expected.js | 0 .../coerce/actual.js | 0 .../coerce/expected.js | 0 .../ignore-symbol/actual.js | 0 .../ignore-symbol/expected.js | 0 .../method/actual.js | 0 .../method/expected.js | 0 .../mixed/actual.js | 0 .../mixed/expected.js | 0 .../multiple/actual.js | 0 .../multiple/expected.js | 0 .../options.json | 0 .../single/actual.js | 0 .../single/expected.js | 0 .../this/actual.js | 0 .../this/expected.js | 0 .../two/actual.js | 0 .../two/expected.js | 0 .../variable/actual.js | 0 .../variable/expected.js | 0 .../argument/actual.js | 0 .../argument/expected.js | 0 .../assignment/actual.js | 0 .../assignment/expected.js | 0 .../ignore-symbol/actual.js | 0 .../ignore-symbol/expected.js | 0 .../es6.properties.computed/method/actual.js | 0 .../method/expected.js | 0 .../es6.properties.computed/mixed/actual.js | 0 .../es6.properties.computed/mixed/expected.js | 0 .../multiple/actual.js | 0 .../multiple/expected.js | 0 .../es6.properties.computed/options.json | 0 .../es6.properties.computed/single/actual.js | 0 .../single/expected.js | 0 .../es6.properties.computed/this/actual.js | 0 .../es6.properties.computed/this/expected.js | 0 .../es6.properties.computed/two/actual.js | 0 .../es6.properties.computed/two/expected.js | 0 .../variable/actual.js | 0 .../variable/expected.js | 0 .../method-computed/actual.js | 0 .../method-computed/expected.js | 0 .../method-computed/options.json | 0 .../method-plain/actual.js | 0 .../method-plain/expected.js | 0 .../shorthand-comments/actual.js | 0 .../shorthand-comments/expected.js | 0 .../shorthand-mixed/actual.js | 0 .../shorthand-mixed/expected.js | 0 .../shorthand-multiple/actual.js | 0 .../shorthand-multiple/expected.js | 0 .../shorthand-single/actual.js | 0 .../shorthand-single/expected.js | 0 .../es6.regex.sticky/basic/actual.js | 0 .../es6.regex.sticky/basic/expected.js | 0 .../ignore-non-sticky/actual.js | 0 .../ignore-non-sticky/expected.js | 0 .../es6.regex.unicode/basic/actual.js | 0 .../es6.regex.unicode/basic/expected.js | 0 .../ignore-non-unicode/actual.js | 0 .../ignore-non-unicode/expected.js | 0 .../es6.spec.block-scoping-fail/assignment.js | 0 .../es6.spec.block-scoping-fail/call-2.js | 0 .../es6.spec.block-scoping-fail/call-3.js | 0 .../es6.spec.block-scoping-fail/call.js | 0 .../es6.spec.block-scoping-fail/defaults.js | 0 .../destructuring.js | 0 .../es6.spec.block-scoping-fail/export.js | 0 .../es6.spec.block-scoping-fail/options.json | 0 .../es6.spec.block-scoping-fail/update.js | 0 .../es6.spec.block-scoping-pass/assignment.js | 0 .../es6.spec.block-scoping-pass/call.js | 0 .../es6.spec.block-scoping-pass/defaults.js | 0 .../destructuring.js | 0 .../es6.spec.block-scoping-pass/export.js | 0 .../es6.spec.block-scoping-pass/options.json | 0 .../es6.spec.block-scoping-pass/update.js | 0 .../es6.spec.symbols/instanceof/actual.js | 0 .../es6.spec.symbols/instanceof/exec.js | 0 .../es6.spec.symbols/instanceof/expected.js | 0 .../es6.spec.symbols/options.json | 0 .../es6.spec.symbols/typeof/actual.js | 0 .../es6.spec.symbols/typeof/exec.js | 0 .../es6.spec.symbols/typeof/expected.js | 0 .../escape-quotes/actual.js | 0 .../escape-quotes/expected.js | 0 .../functions/actual.js | 0 .../functions/expected.js | 0 .../multiline/actual.js | 0 .../multiline/expected.js | 0 .../multiple/actual.js | 0 .../multiple/expected.js | 0 .../es6.spec.template-literals/none/actual.js | 0 .../none/expected.js | 0 .../es6.spec.template-literals/only/actual.js | 0 .../only/expected.js | 0 .../es6.spec.template-literals/options.json | 0 .../single/actual.js | 0 .../single/expected.js | 0 .../statement/actual.js | 0 .../statement/expected.js | 0 .../es6.spread/arguments-array/actual.js | 0 .../es6.spread/arguments-array/expected.js | 0 .../es6.spread/arguments-concat/actual.js | 0 .../es6.spread/arguments-concat/expected.js | 0 .../es6.spread/arguments/actual.js | 0 .../es6.spread/arguments/expected.js | 0 .../es6.spread/array-literal-first/actual.js | 0 .../array-literal-first/expected.js | 0 .../es6.spread/array-literal-middle/actual.js | 0 .../array-literal-middle/expected.js | 0 .../array-literal-multiple/actual.js | 0 .../array-literal-multiple/expected.js | 0 .../es6.spread/array-literals/actual.js | 0 .../es6.spread/array-literals/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../es6.spread/known-rest/actual.js | 0 .../es6.spread/known-rest/expected.js | 0 .../method-call-array-literal/actual.js | 0 .../method-call-array-literal/expected.js | 0 .../es6.spread/method-call-first/actual.js | 0 .../es6.spread/method-call-first/expected.js | 0 .../es6.spread/method-call-middle/actual.js | 0 .../es6.spread/method-call-middle/expected.js | 0 .../method-call-multiple-args/actual.js | 0 .../method-call-multiple-args/expected.js | 0 .../es6.spread/method-call-multiple/actual.js | 0 .../method-call-multiple/expected.js | 0 .../method-call-single-arg/actual.js | 0 .../method-call-single-arg/expected.js | 0 .../es6.spread/new-expression/actual.js | 0 .../es6.spread/new-expression/expected.js | 0 .../transformation/es6.spread/options.json | 0 .../es6.spread/single/actual.js | 0 .../es6.spread/single/expected.js | 0 .../es6.spread/this-context/actual.js | 0 .../es6.spread/this-context/expected.js | 0 .../es6.tail-call/call-apply/actual.js | 0 .../es6.tail-call/call-apply/expected.js | 0 .../default-parameters/actual.js | 0 .../default-parameters/expected.js | 0 .../expression-consequent/actual.js | 0 .../expression-consequent/expected.js | 0 .../es6.tail-call/expressions/actual.js | 0 .../es6.tail-call/expressions/expected.js | 0 .../es6.tail-call/factorial/actual.js | 0 .../es6.tail-call/factorial/expected.js | 0 .../es6.tail-call/ignore-reassigned/actual.js | 0 .../ignore-reassigned/expected.js | 0 .../es6.tail-call/max-args/actual.js | 0 .../es6.tail-call/max-args/expected.js | 0 .../es6.tail-call/parameter-exceeds/actual.js | 0 .../es6.tail-call/parameter-exceeds/exec.js | 0 .../parameter-exceeds/expected.js | 0 .../es6.tail-call/recursion/actual.js | 0 .../es6.tail-call/recursion/expected.js | 0 .../es6.tail-call/shadow/actual.js | 0 .../es6.tail-call/shadow/expected.js | 0 .../es6.tail-call/try-catch/actual.js | 0 .../es6.tail-call/try-catch/expected.js | 0 .../escape-quotes/actual.js | 0 .../escape-quotes/expected.js | 0 .../expression-first/actual.js | 0 .../expression-first/expected.js | 0 .../es6.template-literals/functions/actual.js | 0 .../functions/expected.js | 0 .../es6.template-literals/multiline/actual.js | 0 .../multiline/expected.js | 0 .../es6.template-literals/multiple/actual.js | 0 .../multiple/expected.js | 0 .../es6.template-literals/none/actual.js | 0 .../es6.template-literals/none/expected.js | 0 .../es6.template-literals/only/actual.js | 0 .../es6.template-literals/only/expected.js | 0 .../es6.template-literals/single/actual.js | 0 .../es6.template-literals/single/expected.js | 0 .../es6.template-literals/statement/actual.js | 0 .../statement/expected.js | 0 .../es6.template-literals/tag-loose/actual.js | 0 .../tag-loose/expected.js | 0 .../tag-loose/options.json | 0 .../es6.template-literals/tag/actual.js | 0 .../es6.template-literals/tag/expected.js | 0 .../constructor-collision/actual.js | 0 .../constructor-collision/expected.js | 0 .../es7.class-properties/derived/actual.js | 0 .../es7.class-properties/derived/expected.js | 0 .../instance-undefined/actual.js | 0 .../instance-undefined/expected.js | 0 .../es7.class-properties/instance/actual.js | 0 .../es7.class-properties/instance/expected.js | 0 .../method-collision/actual.js | 0 .../method-collision/options.json | 0 .../es7.class-properties/options.json | 0 .../static-undefined/actual.js | 0 .../static-undefined/exec.js | 0 .../static-undefined/expected.js | 0 .../es7.class-properties/static/actual.js | 0 .../es7.class-properties/static/exec.js | 0 .../es7.class-properties/static/expected.js | 0 .../super-expression/actual.js | 0 .../super-expression/expected.js | 0 .../super-statement/actual.js | 0 .../super-statement/expected.js | 0 .../es7.comprehensions/arguments/actual.js | 0 .../es7.comprehensions/arguments/expected.js | 0 .../array-expression-single-if/actual.js | 0 .../array-expression-single-if/expected.js | 0 .../array-expression-single/actual.js | 0 .../array-expression-single/expected.js | 0 .../array-multiple-if/actual.js | 0 .../array-multiple-if/expected.js | 0 .../array-multiple/actual.js | 0 .../array-multiple/expected.js | 0 .../array-single-if/actual.js | 0 .../array-single-if/expected.js | 0 .../es7.comprehensions/array-single/actual.js | 0 .../array-single/expected.js | 0 .../es7.comprehensions/array-this/actual.js | 0 .../es7.comprehensions/array-this/expected.js | 0 .../es7.comprehensions/generator/exec.js | 0 .../es7.comprehensions/options.json | 0 .../class-getter-and-setter/actual.js | 0 .../class-getter-and-setter/expected.js | 0 .../es7.decorators/class-getter/actual.js | 0 .../es7.decorators/class-getter/expected.js | 0 .../class-init-instance-props/actual.js | 0 .../class-init-instance-props/exec.js | 0 .../class-init-instance-props/expected.js | 0 .../class-init-static-props/actual.js | 0 .../class-init-static-props/exec.js | 0 .../class-init-static-props/expected.js | 0 .../es7.decorators/class-method/actual.js | 0 .../es7.decorators/class-method/expected.js | 0 .../es7.decorators/class-modules/actual.js | 0 .../es7.decorators/class-modules/expected.js | 0 .../class-no-init-instance-props/actual.js | 0 .../class-no-init-instance-props/expected.js | 0 .../class-no-init-static-props/actual.js | 0 .../class-no-init-static-props/expected.js | 0 .../es7.decorators/class-setter/actual.js | 0 .../es7.decorators/class-setter/expected.js | 0 .../es7.decorators/class-super/actual.js | 0 .../es7.decorators/class-super/expected.js | 0 .../es7.decorators/class/actual.js | 0 .../es7.decorators/class/expected.js | 0 .../exec-object-method-autobind.js | 0 .../exec-class-method-autobind/exec.js | 0 .../es7.decorators/member-expressions/exec.js | 0 .../object-getter-and-setter/actual.js | 0 .../object-getter-and-setter/expected.js | 0 .../es7.decorators/object-getter/actual.js | 0 .../es7.decorators/object-getter/expected.js | 0 .../es7.decorators/object-setter/actual.js | 0 .../es7.decorators/object-setter/expected.js | 0 .../es7.decorators/object/actual.js | 0 .../es7.decorators/object/exec.js | 0 .../es7.decorators/object/expected.js | 0 .../es7.decorators/options.json | 0 .../es7.do-expressions/do-while.js | 0 .../es7.do-expressions/empty.js | 0 .../es7.do-expressions/for-in.js | 0 .../transformation/es7.do-expressions/for.js | 0 .../es7.do-expressions/if-else-if.js | 0 .../es7.do-expressions/if-else.js | 0 .../transformation/es7.do-expressions/if.js | 0 .../es7.do-expressions/options.json | 0 .../es7.do-expressions/single-expression.js | 0 .../variable-declaration-end.js | 0 .../variable-declaration-start.js | 0 .../es7.do-expressions/while.js | 0 .../assignment/actual.js | 0 .../assignment/expected.js | 0 .../es7.exponentian-operator/binary/actual.js | 0 .../binary/expected.js | 0 .../comprehensive/exec.js | 0 .../default-commonjs/actual.js | 0 .../default-commonjs/expected.js | 0 .../default-compound-es6/actual.js | 0 .../default-compound-es6/expected.js | 0 .../default-compound-es6/options.json | 0 .../default-es6/actual.js | 0 .../default-es6/expected.js | 0 .../default-es6/options.json | 0 .../namespace-commonjs/actual.js | 0 .../namespace-commonjs/expected.js | 0 .../namespace-compound-es6/actual.js | 0 .../namespace-compound-es6/expected.js | 0 .../namespace-compound-es6/options.json | 0 .../namespace-es6/actual.js | 0 .../namespace-es6/expected.js | 0 .../namespace-es6/options.json | 0 .../es7.export-extensions/options.json | 0 .../es7.function-bind/bind/actual.js | 0 .../es7.function-bind/bind/expected.js | 0 .../es7.function-bind/call/actual.js | 0 .../es7.function-bind/call/expected.js | 0 .../es7.function-bind/complex-call/actual.js | 0 .../es7.function-bind/complex-call/exec.js | 0 .../complex-call/expected.js | 0 .../es7.function-bind/options.json | 0 .../static-contexts/actual.js | 0 .../static-contexts/expected.js | 0 .../es7.object-spread/assignment/actual.js | 0 .../es7.object-spread/assignment/expected.js | 0 .../es7.object-spread/expression/actual.js | 0 .../es7.object-spread/expression/expected.js | 0 .../es7.object-spread/options.json | 0 .../variable-declaration/actual.js | 0 .../variable-declaration/expected.js | 0 .../arrow-function/actual.js | 0 .../arrow-function/expected.js | 0 .../call/actual.js | 0 .../call/expected.js | 0 .../declaration/actual.js | 0 .../declaration/expected.js | 0 .../new-expression/actual.js | 0 .../new-expression/expected.js | 0 .../es7.trailing-function-commas/options.json | 0 .../fixtures/transformation/flow/options.json | 0 .../flow/strip-array-types/actual.js | 0 .../flow/strip-array-types/expected.js | 0 .../flow/strip-call-properties/actual.js | 0 .../flow/strip-call-properties/expected.js | 0 .../flow/strip-declare-module/actual.js | 0 .../flow/strip-declare-statements/actual.js | 0 .../flow/strip-directive/actual.js | 0 .../flow/strip-directive/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../strip-qualified-generic-type/actual.js | 0 .../strip-qualified-generic-type/expected.js | 0 .../flow/strip-string-literal-types/actual.js | 0 .../strip-string-literal-types/expected.js | 0 .../flow/strip-tuples/actual.js | 0 .../flow/strip-tuples/expected.js | 0 .../flow/strip-type-alias/actual.js | 0 .../flow/strip-type-annotations/actual.js | 0 .../flow/strip-type-annotations/expected.js | 0 .../flow/strip-typecasts/actual.js | 0 .../flow/strip-typecasts/expected.js | 0 .../flow/type-comments/actual.js | 0 .../flow/type-comments/expected.js | 0 .../jscript/arrow-function/exec.js | 0 .../transformation/jscript/options.json | 0 .../jscript/simple-class/actual.js | 0 .../jscript/simple-class/expected.js | 0 .../jscript/simple-class/options.json | 0 .../var-named-function-expression/actual.js | 0 .../var-named-function-expression/expected.js | 0 .../completion-statements/actual.js | 0 .../completion-statements/expected.js | 0 .../issue-1408/actual.js | 0 .../issue-1408/exec.js | 0 .../issue-1408/expected.js | 0 .../issue-1408/imported.js | 0 .../issue-1409/actual.js | 0 .../issue-1409/exec.js | 0 .../issue-1409/expected.js | 0 .../issue-1520/actual.js | 0 .../issue-1520/expected.js | 0 .../issue-1522/actual.js | 0 .../issue-1522/exec.js | 0 .../issue-1522/expected.js | 0 .../issue-1522/y.js | 0 .../issue-1523/actual.js | 0 .../issue-1523/expected.js | 0 .../issue-1524/actual.js | 0 .../issue-1524/expected.js | 0 .../issue-1546/actual.js | 0 .../issue-1546/expected.js | 0 .../options.json | 0 .../invalid-identifiers/actual.js | 0 .../invalid-identifiers/expected.js | 0 .../options.json | 0 .../valid-identifiers/actual.js | 0 .../valid-identifiers/expected.js | 0 .../invalid-identifiers/actual.js | 0 .../invalid-identifiers/expected.js | 0 .../options.json | 0 .../valid-identifiers/actual.js | 0 .../valid-identifiers/expected.js | 0 .../expression-nested/actual.js | 0 .../expression-nested/expected.js | 0 .../expression-top-level/actual.js | 0 .../expression-top-level/expected.js | 0 .../minification.remove-console/options.json | 0 .../statement-nested/actual.js | 0 .../statement-nested/expected.js | 0 .../statement-top-level/actual.js | 0 .../statement-top-level/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../options.json | 0 .../fixtures/transformation/misc/options.json | 0 .../misc/regression-1130/actual.js | 0 .../misc/regression-1130/expected.js | 0 .../misc/regression-1149/actual.js | 0 .../misc/regression-1149/expected.js | 0 .../misc/regression-1155/actual.js | 0 .../misc/regression-1155/expected.js | 0 .../misc/regression-1168/actual.js | 0 .../misc/regression-1168/expected.js | 0 .../misc/regression-1169/actual.js | 0 .../misc/regression-1169/expected.js | 0 .../misc/regression-1199/actual.js | 0 .../misc/regression-1199/expected.js | 0 .../misc/regression-1489/actual.js | 0 .../misc/regression-1489/expected.js | 0 .../misc/regression-1489/options.json | 0 .../actual.js | 0 .../expected.js | 0 .../transformation/misc/shebang/actual.js | 0 .../transformation/misc/shebang/expected.js | 0 .../optimisation.modules.system/options.json | 0 .../setters/actual.js | 0 .../setters/expected.js | 0 .../children/actual.js | 0 .../children/expected.js | 0 .../constructor/actual.js | 0 .../constructor/expected.js | 0 .../deep-constant-violation/actual.js | 0 .../deep-constant-violation/expected.js | 0 .../dont-hoist-to-same-function/actual.js | 0 .../dont-hoist-to-same-function/expected.js | 0 .../function-parameter/actual.js | 0 .../function-parameter/expected.js | 0 .../global-reference/actual.js | 0 .../global-reference/expected.js | 0 .../html-element/actual.js | 0 .../html-element/expected.js | 0 .../inline-elements/actual.js | 0 .../inline-elements/expected.js | 0 .../inline-elements/options.json | 0 .../inner-declaration/actual.js | 0 .../inner-declaration/expected.js | 0 .../options.json | 0 .../parameter-reference/actual.js | 0 .../parameter-reference/expected.js | 0 .../reassignment/actual.js | 0 .../reassignment/expected.js | 0 .../ref-deopt/actual.js | 0 .../ref-deopt/expected.js | 0 .../spread-deopt/actual.js | 0 .../spread-deopt/expected.js | 0 .../component-with-props/actual.js | 0 .../component-with-props/expected.js | 0 .../component/actual.js | 0 .../component/expected.js | 0 .../html-element-with-props/actual.js | 0 .../html-element-with-props/expected.js | 0 .../html-element/actual.js | 0 .../html-element/expected.js | 0 .../key/actual.js | 0 .../key/expected.js | 0 .../nested-components/actual.js | 0 .../nested-components/expected.js | 0 .../nested-html-elements/actual.js | 0 .../nested-html-elements/expected.js | 0 .../nested/actual.js | 0 .../nested/expected.js | 0 .../options.json | 0 .../ref-deopt/actual.js | 0 .../ref-deopt/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../self-closing-component/actual.js | 0 .../self-closing-component/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../self-closing-html-element/actual.js | 0 .../self-closing-html-element/expected.js | 0 .../shorthand-attributes/actual.js | 0 .../shorthand-attributes/expected.js | 0 .../spread-deopt/actual.js | 0 .../spread-deopt/expected.js | 0 .../react-compat/convert-component/actual.js | 0 .../convert-component/expected.js | 0 .../react-compat/convert-tags/actual.js | 0 .../react-compat/convert-tags/expected.js | 0 .../transformation/react-compat/options.json | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../react/arrow-functions/actual.js | 0 .../react/arrow-functions/expected.js | 0 .../react/arrow-functions/options.json | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../display-name-export-default/actual.js | 0 .../display-name-export-default/expected.js | 0 .../react/display-name-if-missing/actual.js | 0 .../react/display-name-if-missing/expected.js | 0 .../display-name-object-declaration/actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../options.json | 0 .../react/honor-custom-jsx-comment/actual.js | 0 .../honor-custom-jsx-comment/expected.js | 0 .../honor-custom-jsx-pragma-option/actual.js | 0 .../expected.js | 0 .../options.json | 0 .../jsx-with-retainlines-option/actual.js | 0 .../jsx-with-retainlines-option/expected.js | 0 .../jsx-with-retainlines-option/options.json | 0 .../jsx-without-retainlines-option/actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../options.json | 0 .../transformation/react/options.json | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../should-allow-js-namespacing/actual.js | 0 .../should-allow-js-namespacing/blacklist.js | 0 .../should-allow-js-namespacing/expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../should-convert-simple-tags/actual.js | 0 .../should-convert-simple-tags/expected.js | 0 .../should-convert-simple-text/actual.js | 0 .../should-convert-simple-text/expected.js | 0 .../should-disallow-xml-namespacing/actual.js | 0 .../options.json | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../actual.js | 0 .../expected.js | 0 .../regenerator/default-parameters/exec.js | 0 .../destructuring-parameters/exec.js | 0 .../regenerator/destructuring/exec.js | 0 .../regenerator/rest-parameters/exec.js | 0 .../runtime/aliased-constructors/actual.js | 0 .../runtime/aliased-constructors/expected.js | 0 .../runtime/catch-all/actual.js | 0 .../runtime/catch-all/expected.js | 0 .../runtime/es6-for-of/actual.js | 0 .../runtime/es6-for-of/expected.js | 0 .../es7-array-comprehensions/actual.js | 0 .../es7-array-comprehensions/expected.js | 0 .../transformation/runtime/full/actual.js | 0 .../transformation/runtime/full/expected.js | 0 .../runtime/modules-amd/actual.js | 0 .../runtime/modules-amd/expected.js | 0 .../runtime/modules-amd/options.json | 0 .../runtime/modules-common/actual.js | 0 .../runtime/modules-common/expected.js | 0 .../runtime/modules-system/actual.js | 0 .../runtime/modules-system/expected.js | 0 .../runtime/modules-system/options.json | 0 .../runtime/modules-umd/actual.js | 0 .../runtime/modules-umd/expected.js | 0 .../runtime/modules-umd/options.json | 0 .../transformation/runtime/options.json | 0 .../runtime/regenerator-runtime/actual.js | 0 .../runtime/regenerator-runtime/expected.js | 0 .../runtime/symbol-iterator-in/actual.js | 0 .../runtime/symbol-iterator-in/expected.js | 0 .../runtime/symbol-iterator/actual.js | 0 .../runtime/symbol-iterator/expected.js | 0 .../source-maps/arrow-function/actual.js | 0 .../source-maps/arrow-function/expected.js | 0 .../arrow-function/source-mappings.json | 0 .../source-maps/class/actual.js | 0 .../source-maps/class/expected.js | 0 .../source-maps/class/source-mappings.json | 0 .../transformation/source-maps/full/actual.js | 0 .../source-maps/full/expected.js | 0 .../source-maps/full/source-map.json | 0 .../source-maps/inline/actual.js | 0 .../source-maps/inline/expected.js | 0 .../source-maps/inline/options.json | 0 .../transformation/source-maps/options.json | 0 .../spec.function-name/assignment/actual.js | 0 .../spec.function-name/assignment/expected.js | 0 .../spec.function-name/basic/actual.js | 0 .../spec.function-name/basic/expected.js | 0 .../spec.function-name/class-method/actual.js | 0 .../class-method/expected.js | 0 .../spec.function-name/collisions/actual.js | 0 .../spec.function-name/collisions/expected.js | 0 .../spec.function-name/eval/actual.js | 0 .../spec.function-name/eval/expected.js | 0 .../spec.function-name/export/actual.js | 0 .../spec.function-name/export/expected.js | 0 .../spec.function-name/export/options.json | 0 .../spec.function-name/global/actual.js | 0 .../spec.function-name/global/expected.js | 0 .../spec.function-name/modules-2/actual.js | 0 .../spec.function-name/modules-2/expected.js | 0 .../spec.function-name/modules-3/actual.js | 0 .../spec.function-name/modules-3/expected.js | 0 .../spec.function-name/modules/actual.js | 0 .../spec.function-name/modules/expected.js | 0 .../spec.function-name/object/actual.js | 0 .../spec.function-name/object/expected.js | 0 .../spec.function-name/options.json | 0 .../spec.function-name/own-bindings/actual.js | 0 .../own-bindings/expected.js | 0 .../self-reference/actual.js | 0 .../self-reference/expected.js | 0 .../shorthand-property/actual.js | 0 .../shorthand-property/expected.js | 0 .../spec.function-name/smoke/exec.js | 0 .../spec.function-name/smoke/options.json | 0 .../assignment-expression/actual.js | 0 .../assignment-expression/expected.js | 0 .../assignment-statement/actual.js | 0 .../assignment-statement/expected.js | 0 .../spec.proto-to-assign/class/actual.js | 0 .../spec.proto-to-assign/class/expected.js | 0 .../object-literal/actual.js | 0 .../object-literal/expected.js | 0 .../spec.proto-to-assign/options.json | 0 .../spec.undefined-to-void/basic/actual.js | 0 .../spec.undefined-to-void/basic/expected.js | 0 .../member-expression/actual.js | 0 .../member-expression/expected.js | 0 .../spec.undefined-to-void/options.json | 0 .../leading-comments-with-existing/actual.js | 0 .../expected.js | 0 .../strict/leading-comments/actual.js | 0 .../strict/leading-comments/expected.js | 0 .../undefined-this-arrow-function/actual.js | 0 .../undefined-this-arrow-function/expected.js | 0 .../strict/undefined-this-root-call/actual.js | 0 .../undefined-this-root-call/expected.js | 0 .../undefined-this-root-declaration/actual.js | 0 .../expected.js | 0 .../undefined-this-root-reference/actual.js | 0 .../undefined-this-root-reference/expected.js | 0 .../strict/use-strict-add/actual.js | 0 .../strict/use-strict-add/expected.js | 0 .../strict/use-strict-exists/actual.js | 0 .../strict/use-strict-exists/expected.js | 0 .../declared/exec.js | 0 .../options.json | 0 .../undeclared-shorthand-property/exec.js | 0 .../options.json | 0 .../undeclared/exec.js | 0 .../undeclared/options.json | 0 .../validation/for-in-assignment/actual.js | 0 .../validation/for-in-assignment/options.json | 0 .../validation/for-of-assignment/actual.js | 0 .../validation/for-of-assignment/options.json | 0 .../babel/test}/generation.js | 19 +- packages/babel/test/mocha.opts | 2 + packages/babel/test/tmp/bar2.js | 2 + packages/babel/test/tmp/foo2.js | 5 + packages/babel/test/tmp/not_node_modules.jsx | 10 + {test/core => packages/babel/test}/traceur.js | 2 +- .../babel/test}/transformation.js | 0 .../core => packages/babel/test}/traverse.js | 2 +- {test/core => packages/babel/test}/types.js | 0 {test/core => packages/babel/test}/util.js | 35 +- packages/babylon/README.md | 7 + packages/babylon/package.json | 12 + packages/babylon/src/expression.js | 867 ++++ .../babylon}/src/identifier.js | 88 +- packages/babylon/src/index.js | 57 + packages/babylon/src/location.js | 67 + .../babylon}/src/lookahead.js | 24 +- packages/babylon/src/lval.js | 210 + packages/babylon/src/node.js | 48 + .../acorn => packages/babylon}/src/options.js | 35 +- .../babylon}/src/parseutil.js | 86 +- packages/babylon/src/plugins/flow.js | 823 ++++ packages/babylon/src/plugins/jsx/index.js | 421 ++ packages/babylon/src/plugins/jsx/xhtml.js | 255 ++ packages/babylon/src/state.js | 88 + packages/babylon/src/statement.js | 806 ++++ packages/babylon/src/tokencontext.js | 118 + packages/babylon/src/tokenize.js | 730 ++++ .../babylon}/src/tokentype.js | 108 +- packages/babylon/src/util.js | 5 + .../babylon}/src/whitespace.js | 8 +- packages/babylon/test/_browser.js | 7 + packages/babylon/test/driver.js | 87 + packages/babylon/test/mocha.opts | 2 + .../babylon/test}/tests-babel.js | 0 .../babylon/test}/tests-flow.js | 0 .../babylon/test}/tests-harmony.js | 1 - packages/babylon/test/tests-jsx.js | 3654 +++++++++++++++++ .../acorn => packages/babylon/test}/tests.js | 148 +- polyfill.js | 1 - register-without-polyfill.js | 1 - register.js | 1 - src/acorn/AUTHORS | 32 - src/acorn/LICENSE | 19 - src/acorn/index.js | 6 - src/acorn/package.json | 44 - src/acorn/plugins/flow.js | 830 ---- src/acorn/src/expression.js | 841 ---- src/acorn/src/index.js | 79 - src/acorn/src/location.js | 67 - src/acorn/src/lval.js | 205 - src/acorn/src/node.js | 57 - src/acorn/src/state.js | 79 - src/acorn/src/statement.js | 762 ---- src/acorn/src/tokencontext.js | 107 - src/acorn/src/tokenize.js | 705 ---- src/acorn/src/util.js | 9 - test/acorn/driver.js | 114 - test/acorn/run.js | 103 - test/browser.html | 3 +- test/browser.js | 4 + test/core/_transformation-helper.js | 179 - test/core/api.js | 413 -- test/core/fixtures/browserify/register.js | 3 - .../bundler/basic/simple-import/actual.js | 3 - .../bundler/basic/simple-import/expected.js | 7 - .../basic/simple-import/fixtures/foo.js | 3 - test/core/path.js | 23 - tools/build-tests.js | 5 - tools/build-website.sh | 16 - tools/cache-templates.js | 5 - tools/comment-issues.sh | 1 - tools/merge-development-with-master.sh | 14 - tools/publish-cli.sh | 17 - tools/setup-git.sh | 5 - 1952 files changed, 9425 insertions(+), 5366 deletions(-) create mode 100644 VERSION delete mode 100644 index.js rename packages/babel-cli/{bin => src}/_babel-node (100%) rename packages/babel-cli/{bin => src}/babel-external-helpers (78%) rename packages/babel-cli/{bin => src}/babel-node (100%) rename packages/babel-cli/{bin => src}/babel-plugin/index.js (100%) rename packages/babel-cli/{bin => src}/babel-plugin/templates/README.md (100%) rename packages/babel-cli/{bin => src}/babel-plugin/templates/index.js (100%) rename packages/babel-cli/{bin => src}/babel/dir.js (100%) rename packages/babel-cli/{bin => src}/babel/file.js (100%) rename packages/babel-cli/{bin => src}/babel/index.js (97%) rename packages/babel-cli/{bin => src}/babel/util.js (96%) rename {test => packages/babel-cli/test}/.babelrc (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-external-helpers/--output-type global/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-external-helpers/--output-type global/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-external-helpers/--output-type umd/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-external-helpers/--output-type umd/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-external-helpers/--output-type var/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-external-helpers/--output-type var/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-external-helpers/--whitelist/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-external-helpers/--whitelist/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/--eval/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/--extensions/in-files/foo.bar (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/--extensions/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/--print/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/directory/in-files/foo/index.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/directory/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/directory/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/filename/in-files/bar.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/filename/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/filename/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/require/in-files/bar2.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/require/in-files/foo2.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/require/in-files/not_node_modules.jsx (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/require/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel-node/require/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--blacklist/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--blacklist/stdin.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--blacklist/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--ignore/in-files/src/bar/index.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--ignore/in-files/src/foo/foo.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--ignore/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--ignore/out-files/lib/bar/index.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--ignore/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--only/in-files/src/bar/index.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--only/in-files/src/foo/index.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--only/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--only/out-files/lib/bar/index.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--only/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--whitelist/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--whitelist/stdin.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/--whitelist/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/.stdin --out-file --source-maps/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/.stdin --out-file --source-maps/out-files/test.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/.stdin --out-file --source-maps/out-files/test.js.map (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/.stdin --out-file --source-maps/stdin.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/.stdin --source-maps inline/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/.stdin --source-maps inline/stdin.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/.stdin --source-maps inline/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir --source-maps inline/in-files/src/bar/bar.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir --source-maps inline/in-files/src/foo.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir --source-maps inline/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir --source-maps inline/out-files/lib/bar/bar.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir --source-maps inline/out-files/lib/foo.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir --source-maps inline/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir --source-maps/in-files/src/bar/bar.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir --source-maps/in-files/src/foo.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir --source-maps/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir --source-maps/out-files/lib/bar/bar.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir --source-maps/out-files/lib/bar/bar.js.map (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir --source-maps/out-files/lib/foo.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir --source-maps/out-files/lib/foo.js.map (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir --source-maps/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir/in-files/src/bar/bar.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir/in-files/src/foo.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir/out-files/lib/bar/bar.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir/out-files/lib/foo.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/dir --out-dir/stdout.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filename --out-file --source-maps inline/in-files/script.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filename --out-file --source-maps inline/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filename --out-file --source-maps inline/out-files/script2.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filename --out-file/in-files/script.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filename --out-file/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filename --out-file/out-files/script2.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filenames --out-file --source-maps inline/in-files/script.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filenames --out-file --source-maps inline/in-files/script2.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filenames --out-file --source-maps inline/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filenames --out-file --source-maps inline/out-files/script3.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filenames --out-file --source-maps/in-files/script.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filenames --out-file --source-maps/in-files/script2.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filenames --out-file --source-maps/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filenames --out-file --source-maps/out-files/script3.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filenames --out-file --source-maps/out-files/script3.js.map (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filenames --out-file/in-files/script.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filenames --out-file/in-files/script2.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filenames --out-file/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/filenames --out-file/out-files/script3.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/stdin --filename/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/stdin --filename/stderr.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/stdin --filename/stdin.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/stdin --out-file/options.json (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/stdin --out-file/out-files/script.js (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/stdin --out-file/stdin.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/stdin/stdin.txt (100%) rename {test/core/fixtures/bin => packages/babel-cli/test/fixtures}/babel/stdin/stdout.txt (100%) rename test/core/bin.js => packages/babel-cli/test/index.js (95%) rename {test => packages/babel-cli/test}/mocha.opts (100%) rename .npmignore => packages/babel/.npmignore (79%) create mode 100644 packages/babel/index.js create mode 100644 packages/babel/package.json create mode 100644 packages/babel/polyfill.js create mode 100644 packages/babel/register-without-polyfill.js create mode 100644 packages/babel/register.js rename {src/babel => packages/babel/src}/api/browser.js (97%) rename {src/babel => packages/babel/src}/api/node.js (66%) rename {src/babel => packages/babel/src}/api/register/browser.js (100%) rename {src/babel => packages/babel/src}/api/register/cache.js (100%) rename {src/babel => packages/babel/src}/api/register/node-polyfill.js (100%) rename {src/babel => packages/babel/src}/api/register/node.js (96%) rename {src/babel => packages/babel/src}/generation/buffer.js (100%) rename {src/babel => packages/babel/src}/generation/generators/base.js (100%) rename {src/babel => packages/babel/src}/generation/generators/classes.js (100%) rename {src/babel => packages/babel/src}/generation/generators/comprehensions.js (100%) rename {src/babel => packages/babel/src}/generation/generators/expressions.js (100%) rename {src/babel => packages/babel/src}/generation/generators/flow.js (100%) rename {src/babel => packages/babel/src}/generation/generators/jsx.js (100%) rename {src/babel => packages/babel/src}/generation/generators/methods.js (100%) rename {src/babel => packages/babel/src}/generation/generators/modules.js (100%) rename {src/babel => packages/babel/src}/generation/generators/statements.js (100%) rename {src/babel => packages/babel/src}/generation/generators/template-literals.js (100%) rename {src/babel => packages/babel/src}/generation/generators/types.js (100%) rename {src/babel => packages/babel/src}/generation/index.js (100%) rename {src/babel => packages/babel/src}/generation/node/index.js (100%) rename {src/babel => packages/babel/src}/generation/node/parentheses.js (100%) rename {src/babel => packages/babel/src}/generation/node/printer.js (100%) rename {src/babel => packages/babel/src}/generation/node/whitespace.js (100%) rename {src/babel => packages/babel/src}/generation/position.js (100%) rename {src/babel => packages/babel/src}/generation/source-map.js (100%) rename {src/babel => packages/babel/src}/generation/whitespace.js (100%) rename {src/babel => packages/babel/src}/helpers/code-frame.js (100%) rename {src/babel => packages/babel/src}/helpers/merge.js (100%) rename {src/babel => packages/babel/src}/helpers/normalize-ast.js (100%) rename {src/babel => packages/babel/src}/helpers/object.js (100%) rename {src/babel => packages/babel/src}/helpers/parse.js (81%) rename {src/babel => packages/babel/src}/messages.js (100%) rename {src/babel => packages/babel/src}/patch.js (100%) rename {src/babel => packages/babel/src}/polyfill.js (100%) rename {src/babel => packages/babel/src}/tools/build-external-helpers.js (100%) rename {src/babel => packages/babel/src}/transformation/file/index.js (97%) rename {src/babel => packages/babel/src}/transformation/file/logger.js (100%) rename {src/babel => packages/babel/src}/transformation/file/options/config.json (100%) rename {src/babel => packages/babel/src}/transformation/file/options/index.js (100%) rename {src/babel => packages/babel/src}/transformation/file/options/option-manager.js (100%) rename {src/babel => packages/babel/src}/transformation/file/options/parsers.js (100%) rename {src/babel => packages/babel/src}/transformation/file/plugin-manager.js (100%) rename {src/babel => packages/babel/src}/transformation/helpers/build-binary-assignment-operator-transformer.js (100%) rename {src/babel => packages/babel/src}/transformation/helpers/build-comprehension.js (100%) rename {src/babel => packages/babel/src}/transformation/helpers/build-conditional-assignment-operator-transformer.js (100%) rename {src/babel => packages/babel/src}/transformation/helpers/build-react-transformer.js (100%) rename {src/babel => packages/babel/src}/transformation/helpers/call-delegate.js (100%) rename {src/babel => packages/babel/src}/transformation/helpers/define-map.js (100%) rename {src/babel => packages/babel/src}/transformation/helpers/explode-assignable-expression.js (100%) rename {src/babel => packages/babel/src}/transformation/helpers/get-function-arity.js (100%) rename {src/babel => packages/babel/src}/transformation/helpers/memoise-decorators.js (100%) rename {src/babel => packages/babel/src}/transformation/helpers/name-method.js (100%) rename {src/babel => packages/babel/src}/transformation/helpers/react.js (100%) rename {src/babel => packages/babel/src}/transformation/helpers/regex.js (100%) rename {src/babel => packages/babel/src}/transformation/helpers/remap-async-to-generator.js (100%) rename {src/babel => packages/babel/src}/transformation/helpers/replace-supers.js (100%) rename {src/babel => packages/babel/src}/transformation/index.js (100%) rename {src/babel => packages/babel/src}/transformation/modules/_default.js (100%) rename {src/babel => packages/babel/src}/transformation/modules/_strict.js (100%) rename {src/babel => packages/babel/src}/transformation/modules/amd-strict.js (100%) rename {src/babel => packages/babel/src}/transformation/modules/amd.js (100%) rename {src/babel => packages/babel/src}/transformation/modules/common-strict.js (100%) rename {src/babel => packages/babel/src}/transformation/modules/common.js (100%) rename {src/babel => packages/babel/src}/transformation/modules/ignore.js (100%) rename {src/babel => packages/babel/src}/transformation/modules/index.js (100%) rename {src/babel => packages/babel/src}/transformation/modules/lib/remaps.js (100%) rename {src/babel => packages/babel/src}/transformation/modules/system.js (100%) rename {src/babel => packages/babel/src}/transformation/modules/umd-strict.js (100%) rename {src/babel => packages/babel/src}/transformation/modules/umd.js (100%) rename {src/babel => packages/babel/src}/transformation/pipeline.js (90%) rename {src/babel => packages/babel/src}/transformation/plugin-pass.js (100%) rename {src/babel => packages/babel/src}/transformation/plugin.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/.babelrc (100%) rename {src/babel => packages/babel/src}/transformation/templates/abstract-expression-call.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/abstract-expression-delete.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/abstract-expression-get.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/abstract-expression-set.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/array-comprehension-container.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/array-from.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/array-push.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/call.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/class-decorator.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/class-derived-default-constructor.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/default-parameter-assign.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/default-parameter.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/exports-assign.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/exports-default-assign.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/exports-from-assign.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/exports-module-declaration-loose.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/exports-module-declaration.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/for-of-array.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/for-of-loose.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/for-of.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-async-to-generator.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-bind.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-class-call-check.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-create-class.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-create-decorated-class.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-create-decorated-object.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-default-props.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-defaults.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-define-decorated-property-descriptor.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-define-property.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-extends.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-get.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-has-own.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-inherits.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-instanceof.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-interop-require-default.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-interop-require-wildcard.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-interop-require.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-object-destructuring-empty.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-object-without-properties.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-self-global.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-set.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-slice.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-sliced-to-array-loose.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-sliced-to-array.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-tagged-template-literal-loose.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-tagged-template-literal.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-temporal-assert-defined.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-temporal-undefined.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-to-array.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-to-consumable-array.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/helper-typeof.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/let-scoping-return.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/named-function.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/property-method-assignment-wrapper-generator.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/property-method-assignment-wrapper.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/prototype-identifier.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/require-assign-key.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/require.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/rest.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/self-contained-helpers-head.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/system.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/tail-call-body.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/test-exports.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/test-module.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/umd-commonjs-strict.js (100%) rename {src/babel => packages/babel/src}/transformation/templates/umd-runner-body.js (100%) rename {src/babel => packages/babel/src}/transformation/transformer.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/aliases.json (100%) rename {src/babel => packages/babel/src}/transformation/transformers/deprecated.json (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es3/member-expression-literals.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es3/property-literals.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es5/properties.mutators.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/arrow-functions.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/block-scoping.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/classes/index.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/classes/loose.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/classes/vanilla.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/constants.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/destructuring.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/for-of.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/modules.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/object-super.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/parameters/default.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/parameters/index.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/parameters/rest.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/properties.computed.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/properties.shorthand.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/regex.sticky.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/regex.unicode.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/spec.block-scoping.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/spec.symbols.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/spec.template-literals.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/spread.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/tail-call.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es6/template-literals.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es7/async-functions.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es7/class-properties.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es7/comprehensions.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es7/decorators.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es7/do-expressions.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es7/exponentiation-operator.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es7/export-extensions.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es7/function-bind.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es7/object-rest-spread.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/es7/trailing-function-commas.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/filters.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/index.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/internal/block-hoist.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/internal/explode.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/internal/hoist-directives.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/internal/module-formatter.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/internal/modules.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/internal/shadow-functions.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/internal/validation.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/optimisation/flow.for-of.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/optimisation/modules.system.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/optimisation/react.inline-elements.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/other/async-to-generator.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/other/bluebird-coroutines.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/other/flow.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/other/react-compat.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/other/react.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/other/regenerator.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/other/strict.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/spec/block-scoped-functions.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/spec/function-name.js (100%) rename {src/babel => packages/babel/src}/transformation/transformers/validation/react.js (100%) rename {src/babel => packages/babel/src}/traversal/context.js (100%) rename {src/babel => packages/babel/src}/traversal/hub.js (100%) rename {src/babel => packages/babel/src}/traversal/index.js (100%) rename {src/babel => packages/babel/src}/traversal/path/README.md (100%) rename {src/babel => packages/babel/src}/traversal/path/ancestry.js (100%) rename {src/babel => packages/babel/src}/traversal/path/comments.js (100%) rename {src/babel => packages/babel/src}/traversal/path/context.js (100%) rename {src/babel => packages/babel/src}/traversal/path/conversion.js (100%) rename {src/babel => packages/babel/src}/traversal/path/evaluation.js (100%) rename {src/babel => packages/babel/src}/traversal/path/family.js (100%) rename {src/babel => packages/babel/src}/traversal/path/index.js (100%) rename {src/babel => packages/babel/src}/traversal/path/inference/index.js (100%) rename {src/babel => packages/babel/src}/traversal/path/inference/inferer-reference.js (100%) rename {src/babel => packages/babel/src}/traversal/path/inference/inferers.js (100%) rename {src/babel => packages/babel/src}/traversal/path/introspection.js (100%) rename {src/babel => packages/babel/src}/traversal/path/lib/hoister.js (100%) rename {src/babel => packages/babel/src}/traversal/path/lib/removal-hooks.js (100%) rename {src/babel => packages/babel/src}/traversal/path/lib/virtual-types.js (100%) rename {src/babel => packages/babel/src}/traversal/path/modification.js (100%) rename {src/babel => packages/babel/src}/traversal/path/removal.js (100%) rename {src/babel => packages/babel/src}/traversal/path/replacement.js (72%) rename {src/babel => packages/babel/src}/traversal/scope/binding.js (100%) rename {src/babel => packages/babel/src}/traversal/scope/index.js (100%) rename {src/babel => packages/babel/src}/traversal/visitors.js (100%) rename {src/babel => packages/babel/src}/types/alias-keys.json (100%) rename {src/babel => packages/babel/src}/types/builder-keys.json (100%) rename {src/babel => packages/babel/src}/types/converters.js (100%) rename {src/babel => packages/babel/src}/types/flow.js (100%) rename {src/babel => packages/babel/src}/types/index.js (100%) rename {src/babel => packages/babel/src}/types/retrievers.js (100%) rename {src/babel => packages/babel/src}/types/validators.js (100%) rename {src/babel => packages/babel/src}/types/visitor-keys.json (100%) rename {src/babel => packages/babel/src}/util.js (82%) create mode 100644 packages/babel/test/.babelrc rename {test/core => packages/babel/test}/_browser.js (75%) rename {test/core => packages/babel/test}/_helper.js (96%) create mode 100644 packages/babel/test/_transformation-helper.js create mode 100644 packages/babel/test/api.js rename {test/core => packages/babel/test}/browserify.js (100%) rename {test/core => packages/babel/test}/esnext.js (100%) create mode 100644 packages/babel/test/fixtures/browserify/register.js rename {test/core => packages/babel/test}/fixtures/esnext/es6-arrow-functions/arguments-refers-to-parent-function.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-arrow-functions/empty-arrow-function.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-arrow-functions/handles-nested-context-bindings.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-arrow-functions/no-parens-for-low-precedence-expression-body.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-arrow-functions/object-literal-needs-parens.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-arrow-functions/only-lexical-this-not-dynamic-this.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-arrow-functions/passed-to-function.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-arrow-functions/single-param-does-not-need-parens.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/anonymous-class.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/call-super-function.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/class-expressions.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/class-extend.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/class-with-constructor.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/class-with-method-declaration.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/empty-named-class.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/enumerable.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/explicit-super-in-constructor.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/extends-null.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/getter-setter-super.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/getter-setter.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/method-declaration-with-arguments.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/methods-are-writable.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/methods-with-rest-params.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/static-getter.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/static-method.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/static-setter.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-classes/super-change-proto.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-computed-properties/accessor.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-computed-properties/method.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-computed-properties/nested.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-computed-properties/simple.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-default-parameters/arity.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-default-parameters/arrow-function.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-default-parameters/null-vs-undefined.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-default-parameters/scope.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-default-parameters/simple-function.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-object-concise/method-arguments.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-object-concise/method-context.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-object-concise/method-has-name.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-object-concise/method-is-not-in-scope-inside.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-object-concise/method.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-rest-parameters/arrow-fn.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-rest-parameters/declaration.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-rest-parameters/rest.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-spread/arguments-as-array.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-spread/array-literal.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-spread/call-with-array-literal.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-spread/inside-function-expression.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-spread/iterator.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-spread/new-object.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-spread/preserve-context.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-spread/simple-function-call.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-templates/multi-line.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-templates/nested-interpolation.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-templates/no-interpolation.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-templates/raw-tagged-template-expression.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-templates/simple-interpolation.js (100%) rename {test/core => packages/babel/test}/fixtures/esnext/es6-templates/tagged-template-expression.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/auto-indentation/hard-tab/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/auto-indentation/hard-tab/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/auto-indentation/soft-tab-2/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/auto-indentation/soft-tab-2/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/auto-indentation/soft-tab-4/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/auto-indentation/soft-tab-4/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/auto-string/double/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/auto-string/double/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/auto-string/single/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/auto-string/single/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/2-space-multi-comment-with-space/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/2-space-multi-comment-with-space/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/2-space-multi-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/2-space-multi-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/block-line-comment-with-retainlines-option/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/block-line-comment-with-retainlines-option/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/block-line-comment-with-retainlines-option/options.json (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/block-line-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/block-line-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/comment-only-with-space/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/comment-only-with-space/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/comment-only/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/comment-only/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/comment-statement-with-retainlines-option/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/comment-statement-with-retainlines-option/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/comment-statement-with-retainlines-option/options.json (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/computed-property-comments-2/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/computed-property-comments-2/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/computed-property-comments/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/computed-property-comments/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/do-while-line-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/do-while-line-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/empty-line-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/empty-line-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/empty/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/empty/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/function-block-line-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/function-block-line-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/if-block-line-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/if-block-line-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/if-empty-line-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/if-empty-line-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/if-line-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/if-line-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/object_comments/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/object_comments/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/return-no-argument/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/return-no-argument/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/simple-a-lot-of-line-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/simple-a-lot-of-line-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/simple-a-lot-of-multi-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/simple-a-lot-of-multi-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/simple-line-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/simple-line-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/simple-multi-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/simple-multi-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/simple-statement-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/simple-statement-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/try-block-line-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/try-block-line-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/variable-declarator-line-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/variable-declarator-line-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/variable-declarator-multi-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/variable-declarator-multi-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/variable-declarator-trailing-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/comments/variable-declarator-trailing-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/bitwise-precedence/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/bitwise-precedence/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/floating-point/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/floating-point/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/for-in-no-in/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/for-in-no-in/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/new-precedence/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/new-precedence/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/one-property-with-line-terminator/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/one-property-with-line-terminator/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/options.json (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/return-with-retainlines-option/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/return-with-retainlines-option/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/return-with-retainlines-option/options.json (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/unary-op/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/unary-op/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/variable-declaration/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/edgecase/variable-declaration/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/array-types/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/array-types/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/call-properties/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/call-properties/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/declare-module/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/declare-module/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/declare-statements/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/declare-statements/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/interfaces-module-and-script/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/interfaces-module-and-script/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/qualified-generic-type/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/qualified-generic-type/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/string-literal-types/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/string-literal-types/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/tuples/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/tuples/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/type-alias/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/type-alias/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/type-annotations/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/type-annotations/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/typecasts/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/flow/typecasts/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/arrow-function/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/arrow-function/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/class-declaration/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/class-declaration/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/class-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/class-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/computed-property/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/computed-property/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/default-parameter/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/default-parameter/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/destructuring-assignment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/destructuring-assignment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/export-default-declaration/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/export-default-declaration/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/exports/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/exports/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/for-of-statement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/for-of-statement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/import-with-default/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/import-with-default/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/imports/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/imports/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/spread-element/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/spread-element/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/templates-escape/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/templates-escape/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/templates/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/templates/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/yield-precedence/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/harmony-edgecase/yield-precedence/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/parentheses/arrow-function-object-body/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/parentheses/arrow-function-object-body/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ArrayExpression-ArrayPattern/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ArrayExpression-ArrayPattern/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ArrowFunctionExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ArrowFunctionExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/AssignmentExpression-BinaryExpression-LogicalExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/AssignmentExpression-BinaryExpression-LogicalExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/AwaitExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/AwaitExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/BindExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/BindExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/BlockStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/BlockStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/BreakStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/BreakStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/CallExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/CallExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ClassBody-MethodDefinition/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ClassBody-MethodDefinition/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ClassDeclaration/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ClassDeclaration/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ClassExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ClassExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ComprehensionBlock-ComprehensionExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ComprehensionBlock-ComprehensionExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ConditionalExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ConditionalExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ContinueStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ContinueStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/DebuggerStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/DebuggerStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/Decorator/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/Decorator/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/DoWhileStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/DoWhileStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/EmptyStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/EmptyStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ExportDefaultDeclaration-ExportSpecifier-ExportNamedDeclaration/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ExportDefaultDeclaration-ExportSpecifier-ExportNamedDeclaration/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ForInStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ForInStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ForOfStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ForOfStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ForStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ForStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/FunctionDeclaration-FunctionExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/FunctionDeclaration-FunctionExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/Identifier/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/Identifier/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/IfStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/IfStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ImportDeclaration-ImportSpecifier-ImportNamespaceSpecifier/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ImportDeclaration-ImportSpecifier-ImportNamespaceSpecifier/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/LabeledStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/LabeledStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/Literal/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/Literal/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/MemberExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/MemberExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/NewExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/NewExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ObjectExpression-ObjectPattern-Property/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ObjectExpression-ObjectPattern-Property/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ReturnStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ReturnStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/SequenceExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/SequenceExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/SpreadElement-SpreadProperty/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/SpreadElement-SpreadProperty/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/SwitchStatement-SwitchCase/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/SwitchStatement-SwitchCase/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/TemplateLiteral-TaggedTemplateExpression-TemplateElement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/TemplateLiteral-TaggedTemplateExpression-TemplateElement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ThisExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ThisExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ThrowStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/ThrowStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/TryStatement-CatchClause/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/TryStatement-CatchClause/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/UnaryExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/UnaryExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/UpdateExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/UpdateExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/VariableDeclaration-VariableDeclarator/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/VariableDeclaration-VariableDeclarator/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/WhileStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/WhileStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/WithStatement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/WithStatement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/XJSAttribute/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/XJSAttribute/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/XJSElement-XJSOpeningElement-XJSClosingElement-XJSIdentifier/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/XJSElement-XJSOpeningElement-XJSClosingElement-XJSIdentifier/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/XJSEmptyExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/XJSEmptyExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/XJSExpressionContainer/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/XJSExpressionContainer/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/XJSMemberExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/XJSMemberExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/XJSNamespacedName/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/XJSNamespacedName/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/XJSSpreadAttribute/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/XJSSpreadAttribute/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/YieldExpression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/generation/types/YieldExpression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-apply-handler.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-construct-handler.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-define-property-handler.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-delete-property-handler.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-enumerate-handler.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-get-handler-instance-of-proxies.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-get-handler.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-get-own-property-descriptor-handler.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-get-prototype-of-handler.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-has-handler-instance-of-proxies.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-has-handler.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-is-extensible-handler.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-own-keys-handler.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-prevent-extensions.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-set-handler-instance-of-proxies.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-set-handler.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/.ludicrous/proxy-set-prototype-of-handler.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/api/blacklist/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/api/blacklist/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/api/blacklist/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/api/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/api/unknown-module-formatter/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/api/unknown-transformer-in-list/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/api/whitelist/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/api/whitelist/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/api/whitelist/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/async-to-generator/async/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/async-to-generator/async/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/async-to-generator/expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/async-to-generator/expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/async-to-generator/named-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/async-to-generator/named-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/async-to-generator/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/async-to-generator/statement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/async-to-generator/statement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/bluebird-coroutines/class/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/bluebird-coroutines/class/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/bluebird-coroutines/class/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/bluebird-coroutines/expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/bluebird-coroutines/expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/bluebird-coroutines/named-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/bluebird-coroutines/named-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/bluebird-coroutines/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/bluebird-coroutines/statement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/bluebird-coroutines/statement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/errors/constants/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/errors/constants/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/errors/syntax/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/errors/syntax/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es3/member-expression-literals/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es3/member-expression-literals/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es3/property-literals/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es3/property-literals/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es5.properties.mutators/getter-and-setter/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es5.properties.mutators/getter-and-setter/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es5.properties.mutators/getter/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es5.properties.mutators/getter/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es5.properties.mutators/setter/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es5.properties.mutators/setter/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/arguments/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/arguments/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/default-parameters/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/default-parameters/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/destructuring-parameters/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/destructuring-parameters/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/empty-arguments/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/empty-arguments/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/empty-block/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/empty-block/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/inside-call/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/inside-call/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/multiple-arguments/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/multiple-arguments/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/nested/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/nested/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/paran-insertion/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/paran-insertion/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/single-argument/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/single-argument/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/statement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/statement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/this/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.arrow-functions/this/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/block-scoped-2.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/block-scoped.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/closure-wrap-collision.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/collision-for.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/destructuring-defaults.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/duplicate-function-scope.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/for-continuation.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/for-loop-head.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/label.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/multiple.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/nested-labels-2.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/nested-labels-3.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/nested-labels-4.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/nested-labels.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping-exec/switch-break.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/assignment-patterns/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/assignment-patterns/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/exec-collision-array-comprehension/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/exec-collision-array-comprehension/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/for-break-continue-return/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/for-break-continue-return/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/for-break/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/for-break/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/for-continuation/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/for-continuation/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/for-continue/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/for-continue/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/for-return-undefined/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/for-return-undefined/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/for-return/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/for-return/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/function/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/function/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/hoisting/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/hoisting/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/issue-1051/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/issue-1051/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/issue-973/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/issue-973/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/jsx-identifier/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/jsx-identifier/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/loop-initializer-default/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/loop-initializer-default/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/program/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/program/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/switch/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/switch/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/wrap-closure-shadow-variables/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.block-scoping/wrap-closure-shadow-variables/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-exec/declaration-binding.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-exec/expression-binding.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-exec/retain-no-call-on-reassign.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-exec/super-change-proto.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/accessing-super-class/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/accessing-super-class/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/accessing-super-properties/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/accessing-super-properties/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/calling-super-properties/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/calling-super-properties/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/constructor-order/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/constructor-order/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/literal-key/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/literal-key/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/super-class-id-member-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/super-class-id-member-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/super-class/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/super-class/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/super-function-fallback/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes-loose/super-function-fallback/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/accessing-super-class/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/accessing-super-class/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/accessing-super-properties/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/accessing-super-properties/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/bare-super/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/bare-super/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/calling-super-properties/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/calling-super-properties/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/calling-super-properties/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/computed-methods/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/computed-methods/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/computed-methods/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/constructor-binding-collision/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/constructor-binding-collision/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/constructor/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/constructor/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/delay-arrow-function-for-bare-super-derived/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/delay-arrow-function-for-bare-super-derived/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/derived-constructor-must-call-super/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/derived-constructor-must-call-super/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/derived-constructor-must-call-super/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/instance-getter-and-setter/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/instance-getter-and-setter/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/instance-getter/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/instance-getter/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/instance-method/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/instance-method/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/instance-setter/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/instance-setter/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/name-method-collision/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/name-method-collision/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/plain-class/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/plain-class/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/preserves-directives/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/preserves-directives/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/relaxed-method-coercion/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/relaxed-method-coercion/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/statement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/statement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/static/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/static/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-class-anonymous/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-class-anonymous/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-class-id-member-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-class-id-member-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-class/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-class/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-function-fallback/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-function-fallback/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-illegal-non-constructor-call/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-illegal-non-constructor-call/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-reference-before-bare-super/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/super-reference-before-bare-super/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes-2/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes-2/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/block-scoped/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/block-statement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/block-statement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/destructuring-assignment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/destructuring-assignment/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/destructuring/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/destructuring/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/ignore-member-expressions/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/ignore-member-expressions/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/loop/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/loop/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/no-assignment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/no-assignment/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/no-classes/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/no-classes/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/no-declaration/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/no-declaration/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/no-for-in/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/no-for-in/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/no-functions/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/no-functions/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/program/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/program/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/update-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.constants/update-expression/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/array-unpack-optimisation/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/array-unpack-optimisation/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/array/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/array/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/assignment-expression-completion-record/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/assignment-expression-completion-record/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/assignment-expression-pattern/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/assignment-expression-pattern/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/assignment-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/assignment-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/assignment-statement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/assignment-statement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/chained/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/empty-object-pattern/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/empty-object-pattern/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/empty-object-pattern/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/empty/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/empty/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/es7-object-rest/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/es7-object-rest/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/es7-object-rest/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/for-in/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/for-in/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/for-of/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/for-of/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/known-array/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/known-array/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/member-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/member-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/mixed/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/mixed/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/multiple/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/multiple/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/object-advanced/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/object-advanced/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/object-basic/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/object-basic/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/parameters/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/parameters/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/spread-generator/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/spread/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/spread/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.destructuring/spread/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of-loose/identifier/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of-loose/identifier/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of-loose/ignore-cases/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of-loose/ignore-cases/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of-loose/let/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of-loose/let/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of-loose/member-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of-loose/member-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of-loose/multiple/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of-loose/multiple/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of-loose/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of-loose/var/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of-loose/var/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of/identifier/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of/identifier/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of/ignore-cases/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of/ignore-cases/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of/let/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of/let/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of/member-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of/member-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of/multiple/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of/multiple/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of/nested-label-for-of/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of/nested-label-for-of/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of/var/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.for-of/var/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/export-specifier-default/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/export-specifier-default/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/exports-default/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/exports-default/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/exports-default/untitled (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/exports-from/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/exports-from/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/exports-named/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/exports-named/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/exports-variable/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/exports-variable/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/get-module-name-option/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/get-module-name-option/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/get-module-name-option/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/hoist-function-exports/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/hoist-function-exports/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/imports-default/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/imports-default/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/imports-glob/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/imports-glob/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/imports-mixing/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/imports-mixing/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/imports-named/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/imports-named/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/imports/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/imports/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/module-name/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/module-name/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/module-name/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/overview/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/overview/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/remap/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-amd/remap/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common-strict/export-1/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common-strict/export-1/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common-strict/export-2/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common-strict/export-2/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common-strict/export/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common-strict/export/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common-strict/import/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common-strict/import/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common-strict/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/exports-default-non-function/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/exports-default-non-function/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/exports-default/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/exports-default/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/exports-from/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/exports-from/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/exports-named/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/exports-named/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/exports-variable/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/exports-variable/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/hoist-function-exports/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/hoist-function-exports/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/illegal-export-esmodule-2/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/illegal-export-esmodule-2/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/illegal-export-esmodule/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/illegal-export-esmodule/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/imports-default/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/imports-default/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/imports-default/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/imports-glob/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/imports-glob/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/imports-mixing/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/imports-mixing/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/imports-mixing/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/imports-named/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/imports-named/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/imports/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/imports/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/loose-collision/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/loose-collision/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/loose/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/loose/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/loose/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/module-shadow/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/module-shadow/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/overview/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/overview/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/overview/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/remap/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-common/remap/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/exports-default/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/exports-default/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/exports-from/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/exports-from/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/exports-named/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/exports-named/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/exports-variable/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/exports-variable/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/hoist-function-exports/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/hoist-function-exports/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/imports-default/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/imports-default/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/imports-glob/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/imports-glob/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/imports-mixing/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/imports-mixing/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/imports-named/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/imports-named/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/imports/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/imports/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/overview/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/overview/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/remap/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-ignore/remap/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/exports-default/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/exports-default/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/exports-from/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/exports-from/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/exports-named/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/exports-named/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/exports-variable/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/exports-variable/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/get-module-name-option/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/get-module-name-option/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/get-module-name-option/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/hoist-function-exports/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/hoist-function-exports/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/hoist-function-exports/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/imports-default/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/imports-default/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/imports-glob/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/imports-glob/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/imports-mixing/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/imports-mixing/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/imports-named/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/imports-named/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/imports/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/imports/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/overview/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/overview/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/remap/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-system/remap/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/exports-default/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/exports-default/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/exports-from/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/exports-from/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/exports-named/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/exports-named/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/exports-variable/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/exports-variable/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/get-module-name-option/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/get-module-name-option/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/get-module-name-option/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/hoist-function-exports/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/hoist-function-exports/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/imports-default/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/imports-default/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/imports-glob/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/imports-glob/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/imports-mixing/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/imports-mixing/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/imports-named/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/imports-named/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/imports/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/imports/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/module-id/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/module-id/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/module-id/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/module-name/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/module-name/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/module-name/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/non-default-imports/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/non-default-imports/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/overview/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/overview/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/remap/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules-umd/remap/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules/comments-explosion/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules/comments-explosion/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.modules/comments-explosion/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.object-super/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.object-super/simple.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.object-super/statically-bound/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.object-super/statically-bound/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/default-before-last/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/default-before-last/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/default-destructuring/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/default-eval/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/default-eval/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/default-iife-1128/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/default-multiple/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/default-multiple/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/default-single/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/default-single/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-arrow-functions/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-arrow-functions/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-async-function/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-async-function/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-async-function/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-deepest-common-ancestor-earliest-child/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-deepest-common-ancestor-earliest-child/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-flow-parameter-reference/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-flow-parameter-reference/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-member-expression-deoptimisation/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-member-expression-deoptimisation/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-member-expression-optimisation/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-member-expression-optimisation/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-multiple/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-multiple/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-nested-iife/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-nested-iife/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-pattern/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-pattern/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-spread-optimisation/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.parameters/rest-spread-optimisation/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/argument/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/argument/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/assignment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/assignment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/coerce/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/coerce/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/ignore-symbol/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/ignore-symbol/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/method/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/method/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/mixed/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/mixed/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/multiple/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/multiple/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/single/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/single/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/this/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/this/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/two/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/two/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/variable/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed-loose/variable/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/argument/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/argument/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/assignment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/assignment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/ignore-symbol/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/ignore-symbol/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/method/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/method/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/mixed/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/mixed/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/multiple/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/multiple/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/single/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/single/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/this/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/this/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/two/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/two/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/variable/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.computed/variable/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.shorthand/method-computed/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.shorthand/method-computed/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.shorthand/method-computed/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.shorthand/method-plain/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.shorthand/method-plain/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.shorthand/shorthand-comments/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.shorthand/shorthand-comments/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.shorthand/shorthand-mixed/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.shorthand/shorthand-mixed/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.shorthand/shorthand-multiple/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.shorthand/shorthand-multiple/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.shorthand/shorthand-single/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.properties.shorthand/shorthand-single/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.regex.sticky/basic/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.regex.sticky/basic/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.regex.sticky/ignore-non-sticky/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.regex.sticky/ignore-non-sticky/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.regex.unicode/basic/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.regex.unicode/basic/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.regex.unicode/ignore-non-unicode/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.regex.unicode/ignore-non-unicode/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-fail/assignment.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-fail/call-2.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-fail/call-3.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-fail/call.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-fail/defaults.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-fail/destructuring.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-fail/export.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-fail/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-fail/update.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-pass/assignment.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-pass/call.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-pass/defaults.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-pass/destructuring.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-pass/export.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-pass/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.block-scoping-pass/update.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.symbols/instanceof/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.symbols/instanceof/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.symbols/instanceof/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.symbols/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.symbols/typeof/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.symbols/typeof/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.symbols/typeof/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/escape-quotes/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/escape-quotes/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/functions/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/functions/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/multiline/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/multiline/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/multiple/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/multiple/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/none/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/none/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/only/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/only/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/single/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/single/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/statement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spec.template-literals/statement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/arguments-array/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/arguments-array/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/arguments-concat/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/arguments-concat/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/arguments/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/arguments/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/array-literal-first/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/array-literal-first/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/array-literal-middle/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/array-literal-middle/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/array-literal-multiple/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/array-literal-multiple/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/array-literals/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/array-literals/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/contexted-computed-method-call-multiple-args/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/contexted-computed-method-call-multiple-args/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/contexted-computed-method-call-single-arg/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/contexted-computed-method-call-single-arg/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/contexted-method-call-multiple-args/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/contexted-method-call-multiple-args/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/contexted-method-call-single-arg/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/contexted-method-call-single-arg/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/known-rest/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/known-rest/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/method-call-array-literal/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/method-call-array-literal/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/method-call-first/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/method-call-first/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/method-call-middle/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/method-call-middle/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/method-call-multiple-args/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/method-call-multiple-args/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/method-call-multiple/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/method-call-multiple/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/method-call-single-arg/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/method-call-single-arg/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/new-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/new-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/single/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/single/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/this-context/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.spread/this-context/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/call-apply/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/call-apply/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/default-parameters/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/default-parameters/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/expression-consequent/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/expression-consequent/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/expressions/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/expressions/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/factorial/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/factorial/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/ignore-reassigned/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/ignore-reassigned/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/max-args/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/max-args/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/parameter-exceeds/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/parameter-exceeds/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/parameter-exceeds/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/recursion/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/recursion/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/shadow/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/shadow/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/try-catch/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.tail-call/try-catch/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/escape-quotes/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/escape-quotes/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/expression-first/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/expression-first/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/functions/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/functions/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/multiline/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/multiline/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/multiple/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/multiple/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/none/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/none/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/only/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/only/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/single/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/single/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/statement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/statement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/tag-loose/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/tag-loose/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/tag-loose/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/tag/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es6.template-literals/tag/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/constructor-collision/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/constructor-collision/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/derived/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/derived/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/instance-undefined/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/instance-undefined/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/instance/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/instance/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/method-collision/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/method-collision/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/static-undefined/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/static-undefined/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/static-undefined/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/static/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/static/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/static/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/super-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/super-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/super-statement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.class-properties/super-statement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/arguments/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/arguments/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/array-expression-single-if/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/array-expression-single-if/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/array-expression-single/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/array-expression-single/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/array-multiple-if/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/array-multiple-if/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/array-multiple/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/array-multiple/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/array-single-if/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/array-single-if/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/array-single/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/array-single/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/array-this/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/array-this/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/generator/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.comprehensions/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-getter-and-setter/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-getter-and-setter/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-getter/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-getter/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-init-instance-props/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-init-instance-props/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-init-instance-props/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-init-static-props/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-init-static-props/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-init-static-props/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-method/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-method/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-modules/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-modules/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-no-init-instance-props/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-no-init-instance-props/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-no-init-static-props/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-no-init-static-props/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-setter/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-setter/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-super/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class-super/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/class/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/exec-class-method-autobind/exec-object-method-autobind.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/exec-class-method-autobind/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/member-expressions/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/object-getter-and-setter/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/object-getter-and-setter/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/object-getter/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/object-getter/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/object-setter/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/object-setter/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/object/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/object/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/object/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.decorators/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.do-expressions/do-while.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.do-expressions/empty.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.do-expressions/for-in.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.do-expressions/for.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.do-expressions/if-else-if.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.do-expressions/if-else.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.do-expressions/if.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.do-expressions/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.do-expressions/single-expression.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.do-expressions/variable-declaration-end.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.do-expressions/variable-declaration-start.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.do-expressions/while.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.exponentian-operator/assignment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.exponentian-operator/assignment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.exponentian-operator/binary/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.exponentian-operator/binary/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.exponentian-operator/comprehensive/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/default-commonjs/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/default-commonjs/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/default-compound-es6/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/default-compound-es6/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/default-compound-es6/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/default-es6/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/default-es6/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/default-es6/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/namespace-commonjs/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/namespace-commonjs/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/namespace-compound-es6/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/namespace-compound-es6/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/namespace-compound-es6/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/namespace-es6/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/namespace-es6/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/namespace-es6/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.export-extensions/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.function-bind/bind/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.function-bind/bind/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.function-bind/call/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.function-bind/call/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.function-bind/complex-call/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.function-bind/complex-call/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.function-bind/complex-call/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.function-bind/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.function-bind/static-contexts/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.function-bind/static-contexts/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.object-spread/assignment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.object-spread/assignment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.object-spread/expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.object-spread/expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.object-spread/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.object-spread/variable-declaration/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.object-spread/variable-declaration/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.trailing-function-commas/arrow-function/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.trailing-function-commas/arrow-function/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.trailing-function-commas/call/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.trailing-function-commas/call/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.trailing-function-commas/declaration/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.trailing-function-commas/declaration/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.trailing-function-commas/new-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.trailing-function-commas/new-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/es7.trailing-function-commas/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-array-types/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-array-types/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-call-properties/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-call-properties/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-declare-module/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-declare-statements/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-directive/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-directive/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-interfaces-module-and-script/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-interfaces-module-and-script/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-qualified-generic-type/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-qualified-generic-type/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-string-literal-types/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-string-literal-types/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-tuples/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-tuples/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-type-alias/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-type-annotations/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-type-annotations/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-typecasts/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/strip-typecasts/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/type-comments/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/flow/type-comments/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/jscript/arrow-function/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/jscript/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/jscript/simple-class/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/jscript/simple-class/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/jscript/simple-class/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/jscript/var-named-function-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/jscript/var-named-function-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/completion-statements/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/completion-statements/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1408/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1408/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1408/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1408/imported.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1409/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1409/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1409/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1520/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1520/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1522/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1522/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1522/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1522/y.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1523/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1523/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1524/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1524/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1546/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/issue-1546/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.dead-code-elimination/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.member-expression-literals/invalid-identifiers/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.member-expression-literals/invalid-identifiers/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.member-expression-literals/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.member-expression-literals/valid-identifiers/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.member-expression-literals/valid-identifiers/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.property-literals/invalid-identifiers/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.property-literals/invalid-identifiers/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.property-literals/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.property-literals/valid-identifiers/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.property-literals/valid-identifiers/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.remove-console/expression-nested/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.remove-console/expression-nested/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.remove-console/expression-top-level/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.remove-console/expression-top-level/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.remove-console/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.remove-console/statement-nested/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.remove-console/statement-nested/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.remove-console/statement-top-level/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/minification.remove-console/statement-top-level/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/enforce-newline-modules-blacklist/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/enforce-newline-modules-blacklist/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/enforce-newline-modules-blacklist/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1130/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1130/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1149/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1149/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1155/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1155/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1168/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1168/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1169/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1169/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1199/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1199/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1489/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1489/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-1489/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-lodash-tostring-import/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/regression-lodash-tostring-import/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/shebang/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/misc/shebang/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.modules.system/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.modules.system/setters/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.modules.system/setters/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/children/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/children/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/constructor/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/constructor/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/deep-constant-violation/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/deep-constant-violation/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/dont-hoist-to-same-function/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/dont-hoist-to-same-function/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/function-parameter/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/function-parameter/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/global-reference/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/global-reference/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/html-element/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/html-element/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/inline-elements/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/inline-elements/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/inline-elements/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/inner-declaration/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/inner-declaration/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/parameter-reference/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/parameter-reference/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/reassignment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/reassignment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/ref-deopt/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/ref-deopt/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/spread-deopt/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.constant-elements/spread-deopt/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/component-with-props/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/component-with-props/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/component/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/component/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/html-element-with-props/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/html-element-with-props/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/html-element/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/html-element/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/key/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/key/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/nested-components/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/nested-components/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/nested-html-elements/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/nested-html-elements/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/nested/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/nested/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/ref-deopt/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/ref-deopt/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/self-closing-component-with-props/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/self-closing-component-with-props/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/self-closing-component/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/self-closing-component/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element-with-props/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element-with-props/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/shorthand-attributes/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/shorthand-attributes/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/spread-deopt/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/optimisation.react.inline-elements/spread-deopt/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react-compat/convert-component/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react-compat/convert-component/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react-compat/convert-tags/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react-compat/convert-tags/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react-compat/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/.should-not-strip-nbsp-even-coupled-with-other-whitespace/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/.should-not-strip-nbsp-even-coupled-with-other-whitespace/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/.should-not-strip-tags-with-a-single-child-of-nbsp/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/.should-not-strip-tags-with-a-single-child-of-nbsp/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/.should-properly-handle-comments-adjacent-to-children/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/.should-properly-handle-comments-adjacent-to-children/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/.should-properly-handle-comments-between-props/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/.should-properly-handle-comments-between-props/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/adds-appropriate-newlines-when-using-spread-attribute/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/adds-appropriate-newlines-when-using-spread-attribute/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/arrow-functions/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/arrow-functions/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/arrow-functions/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/concatenates-adjacent-string-literals/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/concatenates-adjacent-string-literals/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/display-name-assignment-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/display-name-assignment-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/display-name-export-default/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/display-name-export-default/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/display-name-if-missing/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/display-name-if-missing/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/display-name-object-declaration/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/display-name-object-declaration/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/display-name-property-assignment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/display-name-property-assignment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/display-name-variable-declaration/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/display-name-variable-declaration/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/dont-coerce-expression-containers/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/dont-coerce-expression-containers/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/honor-custom-jsx-comment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/honor-custom-jsx-comment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/honor-custom-jsx-pragma-option/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/honor-custom-jsx-pragma-option/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/honor-custom-jsx-pragma-option/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/jsx-with-retainlines-option/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/jsx-with-retainlines-option/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/jsx-with-retainlines-option/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/jsx-without-retainlines-option/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/jsx-without-retainlines-option/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/optimisation.react.constant-elements/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/optimisation.react.constant-elements/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/optimisation.react.constant-elements/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-allow-constructor-as-prop/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-allow-constructor-as-prop/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-allow-deeper-js-namespacing/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-allow-deeper-js-namespacing/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-allow-js-namespacing/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-allow-js-namespacing/blacklist.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-allow-js-namespacing/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-avoid-wrapping-in-extra-parens-if-not-needed/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-avoid-wrapping-in-extra-parens-if-not-needed/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-convert-simple-tags/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-convert-simple-tags/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-convert-simple-text/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-convert-simple-text/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-disallow-xml-namespacing/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-disallow-xml-namespacing/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-handle-attributed-elements/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-handle-attributed-elements/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-handle-has-own-property-correctly/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-handle-has-own-property-correctly/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-have-correct-comma-in-nested-children/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-have-correct-comma-in-nested-children/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-insert-commas-after-expressions-before-whitespace/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-insert-commas-after-expressions-before-whitespace/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-transform-known-hyphenated-tags/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/should-transform-known-hyphenated-tags/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/wraps-props-in-react-spread-for-first-spread-attributes/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/wraps-props-in-react-spread-for-first-spread-attributes/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/wraps-props-in-react-spread-for-last-spread-attributes/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/wraps-props-in-react-spread-for-last-spread-attributes/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/wraps-props-in-react-spread-for-middle-spread-attributes/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/react/wraps-props-in-react-spread-for-middle-spread-attributes/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/regenerator/default-parameters/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/regenerator/destructuring-parameters/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/regenerator/destructuring/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/regenerator/rest-parameters/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/aliased-constructors/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/aliased-constructors/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/catch-all/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/catch-all/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/es6-for-of/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/es6-for-of/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/es7-array-comprehensions/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/es7-array-comprehensions/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/full/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/full/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/modules-amd/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/modules-amd/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/modules-amd/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/modules-common/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/modules-common/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/modules-system/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/modules-system/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/modules-system/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/modules-umd/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/modules-umd/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/modules-umd/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/regenerator-runtime/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/regenerator-runtime/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/symbol-iterator-in/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/symbol-iterator-in/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/symbol-iterator/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/runtime/symbol-iterator/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/source-maps/arrow-function/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/source-maps/arrow-function/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/source-maps/arrow-function/source-mappings.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/source-maps/class/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/source-maps/class/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/source-maps/class/source-mappings.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/source-maps/full/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/source-maps/full/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/source-maps/full/source-map.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/source-maps/inline/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/source-maps/inline/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/source-maps/inline/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/source-maps/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/assignment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/assignment/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/basic/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/basic/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/class-method/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/class-method/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/collisions/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/collisions/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/eval/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/eval/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/export/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/export/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/export/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/global/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/global/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/modules-2/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/modules-2/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/modules-3/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/modules-3/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/modules/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/modules/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/object/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/object/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/own-bindings/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/own-bindings/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/self-reference/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/self-reference/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/shorthand-property/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/shorthand-property/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/smoke/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.function-name/smoke/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.proto-to-assign/assignment-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.proto-to-assign/assignment-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.proto-to-assign/assignment-statement/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.proto-to-assign/assignment-statement/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.proto-to-assign/class/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.proto-to-assign/class/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.proto-to-assign/object-literal/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.proto-to-assign/object-literal/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.proto-to-assign/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.undefined-to-void/basic/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.undefined-to-void/basic/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.undefined-to-void/member-expression/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.undefined-to-void/member-expression/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/spec.undefined-to-void/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/leading-comments-with-existing/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/leading-comments-with-existing/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/leading-comments/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/leading-comments/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/undefined-this-arrow-function/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/undefined-this-arrow-function/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/undefined-this-root-call/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/undefined-this-root-call/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/undefined-this-root-declaration/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/undefined-this-root-declaration/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/undefined-this-root-reference/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/undefined-this-root-reference/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/use-strict-add/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/use-strict-add/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/use-strict-exists/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/strict/use-strict-exists/expected.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/validation.undeclared-variable-check/declared/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/validation.undeclared-variable-check/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/validation.undeclared-variable-check/undeclared-shorthand-property/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/validation.undeclared-variable-check/undeclared-shorthand-property/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/validation.undeclared-variable-check/undeclared/exec.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/validation.undeclared-variable-check/undeclared/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/validation/for-in-assignment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/validation/for-in-assignment/options.json (100%) rename {test/core => packages/babel/test}/fixtures/transformation/validation/for-of-assignment/actual.js (100%) rename {test/core => packages/babel/test}/fixtures/transformation/validation/for-of-assignment/options.json (100%) rename {test/core => packages/babel/test}/generation.js (71%) create mode 100644 packages/babel/test/mocha.opts create mode 100644 packages/babel/test/tmp/bar2.js create mode 100644 packages/babel/test/tmp/foo2.js create mode 100644 packages/babel/test/tmp/not_node_modules.jsx rename {test/core => packages/babel/test}/traceur.js (97%) rename {test/core => packages/babel/test}/transformation.js (100%) rename {test/core => packages/babel/test}/traverse.js (98%) rename {test/core => packages/babel/test}/types.js (100%) rename {test/core => packages/babel/test}/util.js (84%) create mode 100644 packages/babylon/README.md create mode 100644 packages/babylon/package.json create mode 100755 packages/babylon/src/expression.js rename {src/acorn => packages/babylon}/src/identifier.js (77%) create mode 100755 packages/babylon/src/index.js create mode 100755 packages/babylon/src/location.js rename {src/acorn => packages/babylon}/src/lookahead.js (61%) create mode 100755 packages/babylon/src/lval.js create mode 100755 packages/babylon/src/node.js rename {src/acorn => packages/babylon}/src/options.js (89%) rename {src/acorn => packages/babylon}/src/parseutil.js (59%) create mode 100644 packages/babylon/src/plugins/flow.js create mode 100644 packages/babylon/src/plugins/jsx/index.js create mode 100644 packages/babylon/src/plugins/jsx/xhtml.js create mode 100755 packages/babylon/src/state.js create mode 100755 packages/babylon/src/statement.js create mode 100755 packages/babylon/src/tokencontext.js create mode 100755 packages/babylon/src/tokenize.js rename {src/acorn => packages/babylon}/src/tokentype.js (72%) create mode 100755 packages/babylon/src/util.js rename {src/acorn => packages/babylon}/src/whitespace.js (64%) create mode 100644 packages/babylon/test/_browser.js create mode 100755 packages/babylon/test/driver.js create mode 100644 packages/babylon/test/mocha.opts rename {test/acorn => packages/babylon/test}/tests-babel.js (100%) rename {test/acorn => packages/babylon/test}/tests-flow.js (100%) rename {test/acorn => packages/babylon/test}/tests-harmony.js (99%) create mode 100644 packages/babylon/test/tests-jsx.js rename {test/acorn => packages/babylon/test}/tests.js (99%) delete mode 100644 polyfill.js delete mode 100644 register-without-polyfill.js delete mode 100644 register.js delete mode 100755 src/acorn/AUTHORS delete mode 100755 src/acorn/LICENSE delete mode 100644 src/acorn/index.js delete mode 100755 src/acorn/package.json delete mode 100644 src/acorn/plugins/flow.js delete mode 100755 src/acorn/src/expression.js delete mode 100755 src/acorn/src/index.js delete mode 100755 src/acorn/src/location.js delete mode 100755 src/acorn/src/lval.js delete mode 100755 src/acorn/src/node.js delete mode 100755 src/acorn/src/state.js delete mode 100755 src/acorn/src/statement.js delete mode 100755 src/acorn/src/tokencontext.js delete mode 100755 src/acorn/src/tokenize.js delete mode 100755 src/acorn/src/util.js delete mode 100755 test/acorn/driver.js delete mode 100755 test/acorn/run.js create mode 100644 test/browser.js delete mode 100644 test/core/_transformation-helper.js delete mode 100644 test/core/api.js delete mode 100644 test/core/fixtures/browserify/register.js delete mode 100644 test/core/fixtures/bundler/basic/simple-import/actual.js delete mode 100644 test/core/fixtures/bundler/basic/simple-import/expected.js delete mode 100644 test/core/fixtures/bundler/basic/simple-import/fixtures/foo.js delete mode 100644 test/core/path.js delete mode 100755 tools/build-tests.js delete mode 100755 tools/build-website.sh delete mode 100755 tools/cache-templates.js delete mode 100755 tools/comment-issues.sh delete mode 100755 tools/merge-development-with-master.sh delete mode 100755 tools/publish-cli.sh delete mode 100755 tools/setup-git.sh diff --git a/.babelrc b/.babelrc index e7a4ea8497..41671a95c3 100644 --- a/.babelrc +++ b/.babelrc @@ -2,5 +2,10 @@ "stage": 0, "loose": ["all"], "blacklist": ["es6.tailCall"], - "optional": ["optimisation.flow.forOf"] + "optional": ["optimisation.flow.forOf", "bluebirdCoroutines"], + "env": { + "test": { + "auxiliaryCommentBefore": "istanbul ignore next" + } + } } diff --git a/.eslintignore b/.eslintignore index 2bf824307c..1dd95290a1 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1 +1 @@ -src/babel/transformation/templates +packages/babel/src/transformation/templates diff --git a/.gitignore b/.gitignore index b00be10aca..7256bc9d3c 100644 --- a/.gitignore +++ b/.gitignore @@ -9,10 +9,12 @@ test/core/tmp /browser-polyfill.js /runtime.js /coverage -/dist +dist /.package.json /packages/babel-runtime/core-js /packages/babel-runtime/helpers/*.js /packages/babel-runtime/regenerator/*.js -/lib +/packages/*/lib _babel.github.io +scripts +/tests/.browser-build.js diff --git a/.travis.yml b/.travis.yml index 78d9af732c..85b05c77da 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,15 +1,18 @@ +sudo: false language: node_js cache: directories: - node_modules -node_js: -- "0.10" -- "0.12" -- iojs -before_script: ./tools/setup-git.sh +node_js: + - iojs + - "0.8" + - "0.10" + - "0.12" + +before_script: ./scripts/travis/setup-git.sh script: make test-travis -after_success: ./tools/merge-development-with-master.sh +after_success: ./scripts/travis/merge-development-with-master.sh notifications: slack: babeljs:5Wy4QX13KVkGy9CnU0rmvgeK @@ -29,7 +32,4 @@ deploy: repo: babel/babel after_deploy: -- make publish-cli -- make publish-runtime -- make build-website -- make comment-issues +- make travis-deploy diff --git a/Makefile b/Makefile index 30621c69e7..b01f576dfe 100644 --- a/Makefile +++ b/Makefile @@ -1,84 +1,51 @@ MAKEFLAGS = -j1 -BROWSERIFY_CMD = node_modules/browserify/bin/cmd.js ISTANBUL_CMD = node_modules/istanbul/lib/cli.js cover -UGLIFY_CMD = node_modules/uglify-js/bin/uglifyjs #UGLIFY_CMD = node_modules/uglify-js/bin/uglifyjs --mangle sort MOCHA_CMD = node_modules/mocha/bin/_mocha BABEL_CMD = node_modules/babel/bin/babel -BROWSERIFY_IGNORE = -i esprima-fb + export NODE_ENV = test -.PHONY: clean test test-cov test-clean test-travis test-simple test-all test-browser test-parser publish build bootstrap publish-core publish-runtime build-website build-core watch-core build-core-test clean-core prepublish +.PHONY: clean test test-cov test-clean test-travis test-browser publish build bootstrap publish-core publish-runtime build-website build-core watch-core build-core-test clean-core prepublish build-core: clean-core - node $(BABEL_CMD) src --out-dir lib --copy-files - -build-core-test: clean-core - node $(BABEL_CMD) src --out-dir lib --copy-files --auxiliary-comment-before "istanbul ignore next" + ./scripts/build-core.sh watch-core: clean-core - node $(BABEL_CMD) src --out-dir lib --watch --copy-files + ./scripts/build-core.sh --watch clean-core: - rm -rf lib + rm -rf packages/*/lib lint: - eslint src/babel packages/babel-cli/bin + eslint packages/*/src -build: - mkdir -p dist - make build-core - - node tools/cache-templates - - node $(BROWSERIFY_CMD) -e lib/babel/polyfill.js >dist/polyfill.js - node $(UGLIFY_CMD) dist/polyfill.js >dist/polyfill.min.js - - node $(BROWSERIFY_CMD) lib/babel/api/browser.js -s babel $(BROWSERIFY_IGNORE) >dist/browser.js - node $(UGLIFY_CMD) dist/browser.js >dist/browser.min.js - - node $(BROWSERIFY_CMD) lib/babel/api/node.js --node $(BROWSERIFY_IGNORE) >dist/node.js - - node packages/babel-cli/bin/babel-external-helpers >dist/external-helpers.js - node $(UGLIFY_CMD) dist/external-helpers.js >dist/external-helpers.min.js - - rm -rf templates.json +build: build-core + cd packages/babel; \ + scripts/build.sh clean: - rm -rf coverage templates.json test/tmp dist lib + rm -rf coverage packages/babel/templates.json test/tmp dist lib test-clean: rm -rf test/tmp -test: test-parser - node $(MOCHA_CMD) test/core +test: + ./scripts/test.sh make test-clean -test-all: - export ALL_BABEL_TESTS=1; \ - make test +test-browser: + ./scripts/test-browser.sh test-cov: rm -rf coverage - make build-core-test + BABEL_ENV=test; \ + make build-core node $(ISTANBUL_CMD) $(MOCHA_CMD) -- test/core -test-parser: - node test/acorn/run.js - test-travis: bootstrap lint build test -test-browser: - mkdir -p dist - - node tools/cache-templates - node tools/build-tests - node $(BROWSERIFY_CMD) -e test/core/_browser.js >dist/babel-test.js - rm -rf templates.json tests.json - - test -n "`which open`" && open test/browser.html - publish: lint git pull --rebase make test @@ -86,35 +53,17 @@ publish: lint npm version $$version --message "v%s" git push --follow-tags -prepublish: build - cp dist/browser.js browser.js - cp dist/browser.min.js browser.min.js - cp dist/polyfill.js browser-polyfill.js - cp dist/polyfill.min.js browser-polyfill.min.js - cp dist/external-helpers.js external-helpers.js - cp dist/external-helpers.min.js external-helpers.min.js - node tools/cache-templates - test -f templates.json - publish-runtime: cd packages; \ node build-runtime.js; \ cd babel-runtime; \ npm publish -publish-cli: - @./tools/publish-cli.sh - -build-website: - @./tools/build-website.sh - -comment-issues: - @./tools/comment-issues.sh +travis-deploy: + @./scripts/travis/publish-cli.sh + make publish-runtime + @./scripts/travis/build-website.sh + @./scripts/travis/comment-issues.sh bootstrap: - npm list --global --depth 1 babel >/dev/null 2>&1 && npm uninstall -g babel || true - npm install - npm link - cd packages/babel-cli && npm install && npm link && npm link babel-core - git submodule update --init - make build + ./scripts/bootstrap.sh diff --git a/VERSION b/VERSION new file mode 100644 index 0000000000..379b69a75d --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +5.6.17 diff --git a/index.js b/index.js deleted file mode 100644 index ad1ac9b48d..0000000000 --- a/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/babel/api/node.js"); diff --git a/package.json b/package.json index a0fd61d64a..78d6a95f39 100644 --- a/package.json +++ b/package.json @@ -1,90 +1,20 @@ { - "name": "babel-core", - "description": "A compiler for writing next generation JavaScript", - "version": "5.6.17", - "author": "Sebastian McKenzie ", - "homepage": "https://babeljs.io/", - "license": "MIT", - "repository": "babel/babel", - "browser": { - "./lib/babel/api/register/node.js": "./lib/babel/api/register/browser.js" - }, - "keywords": [ - "6to5", - "babel", - "classes", - "const", - "es6", - "harmony", - "let", - "modules", - "transpile", - "transpiler", - "var" - ], - "scripts": { - "bench": "make bench", - "test": "make test" - }, - "dependencies": { - "acorn-jsx": "^1.0.0", - "babel-plugin-constant-folding": "^1.0.1", - "babel-plugin-dead-code-elimination": "^1.0.2", - "babel-plugin-eval": "^1.0.1", - "babel-plugin-inline-environment-variables": "^1.0.1", - "babel-plugin-jscript": "^1.0.1", - "babel-plugin-member-expression-literals": "^1.0.1", - "babel-plugin-property-literals": "^1.0.1", - "babel-plugin-proto-to-assign": "^1.0.3", - "babel-plugin-react-constant-elements": "^1.0.3", - "babel-plugin-react-display-name": "^1.0.3", - "babel-plugin-remove-console": "^1.0.1", - "babel-plugin-remove-debugger": "^1.0.1", - "babel-plugin-runtime": "^1.0.7", - "babel-plugin-undeclared-variables-check": "^1.0.2", - "babel-plugin-undefined-to-void": "^1.1.6", - "chalk": "^1.0.0", - "convert-source-map": "^1.1.0", - "core-js": "^0.9.0", - "debug": "^2.1.1", - "detect-indent": "^3.0.0", - "estraverse": "^4.0.0", - "esutils": "^2.0.0", - "fs-readdir-recursive": "^0.1.0", - "globals": "^6.4.0", - "home-or-tmp": "^1.0.0", - "is-integer": "^1.0.4", - "js-tokens": "1.0.1", - "line-numbers": "0.2.0", - "lodash": "^3.6.0", - "minimatch": "^2.0.3", - "output-file-sync": "^1.1.0", - "path-exists": "^1.0.0", - "path-is-absolute": "^1.0.0", - "private": "^0.1.6", - "regenerator": "0.8.34", - "regexpu": "^1.1.2", - "repeating": "^1.1.2", - "resolve": "^1.1.6", - "shebang-regex": "^1.0.0", - "slash": "^1.0.0", - "source-map": "^0.4.0", - "source-map-support": "^0.2.10", - "strip-json-comments": "^1.0.2", - "to-fast-properties": "^1.0.0", - "trim-right": "^1.0.0" - }, + "private": true, "devDependencies": { "babel": "5.6.10", "babel-eslint": "^3.1.19", "browserify": "^9.0.8", "chai": "^2.2.0", + "es5-shim": "^4.1.7", "eslint": "^0.21.2", "esvalid": "^1.1.0", + "fs-readdir-recursive": "^0.1.2", "istanbul": "^0.3.5", "matcha": "^0.6.0", "mocha": "2.2.0", - "rimraf": "^2.3.2", + "output-file-sync": "^1.1.1", + "path-exists": "^1.0.0", + "rimraf": "^2.4.1", "uglify-js": "^2.4.16" } } diff --git a/packages/babel-cli/package.json b/packages/babel-cli/package.json index d8a775674c..49283908d8 100644 --- a/packages/babel-cli/package.json +++ b/packages/babel-cli/package.json @@ -20,9 +20,9 @@ "slash": "^1.0.0" }, "bin": { - "babel": "./bin/babel/index.js", - "babel-node": "./bin/babel-node", - "babel-external-helpers": "./bin/babel-external-helpers", - "babel-plugin": "./bin/babel-plugin/index.js" + "babel": "./lib/babel/index.js", + "babel-node": "./lib/babel-node", + "babel-external-helpers": "./lib/babel-external-helpers", + "babel-plugin": "./lib/babel-plugin/index.js" } } diff --git a/packages/babel-cli/bin/_babel-node b/packages/babel-cli/src/_babel-node similarity index 100% rename from packages/babel-cli/bin/_babel-node rename to packages/babel-cli/src/_babel-node diff --git a/packages/babel-cli/bin/babel-external-helpers b/packages/babel-cli/src/babel-external-helpers similarity index 78% rename from packages/babel-cli/bin/babel-external-helpers rename to packages/babel-cli/src/babel-external-helpers index 8c85f0352c..8d2d907306 100755 --- a/packages/babel-cli/bin/babel-external-helpers +++ b/packages/babel-cli/src/babel-external-helpers @@ -10,4 +10,6 @@ commander.option("-t, --output-type [type]", "Type of output (global|umd|var)", commander.usage("[options]"); commander.parse(process.argv); -console.log(runtime(commander.whitelist, commander.outputType)); +util.ensureTemplates().then(function () { + console.log(runtime(commander.whitelist, commander.outputType)); +}); diff --git a/packages/babel-cli/bin/babel-node b/packages/babel-cli/src/babel-node similarity index 100% rename from packages/babel-cli/bin/babel-node rename to packages/babel-cli/src/babel-node diff --git a/packages/babel-cli/bin/babel-plugin/index.js b/packages/babel-cli/src/babel-plugin/index.js similarity index 100% rename from packages/babel-cli/bin/babel-plugin/index.js rename to packages/babel-cli/src/babel-plugin/index.js diff --git a/packages/babel-cli/bin/babel-plugin/templates/README.md b/packages/babel-cli/src/babel-plugin/templates/README.md similarity index 100% rename from packages/babel-cli/bin/babel-plugin/templates/README.md rename to packages/babel-cli/src/babel-plugin/templates/README.md diff --git a/packages/babel-cli/bin/babel-plugin/templates/index.js b/packages/babel-cli/src/babel-plugin/templates/index.js similarity index 100% rename from packages/babel-cli/bin/babel-plugin/templates/index.js rename to packages/babel-cli/src/babel-plugin/templates/index.js diff --git a/packages/babel-cli/bin/babel/dir.js b/packages/babel-cli/src/babel/dir.js similarity index 100% rename from packages/babel-cli/bin/babel/dir.js rename to packages/babel-cli/src/babel/dir.js diff --git a/packages/babel-cli/bin/babel/file.js b/packages/babel-cli/src/babel/file.js similarity index 100% rename from packages/babel-cli/bin/babel/file.js rename to packages/babel-cli/src/babel/file.js diff --git a/packages/babel-cli/bin/babel/index.js b/packages/babel-cli/src/babel/index.js similarity index 97% rename from packages/babel-cli/bin/babel/index.js rename to packages/babel-cli/src/babel/index.js index fd1f027357..93faa1e85e 100755 --- a/packages/babel-cli/bin/babel/index.js +++ b/packages/babel-cli/src/babel/index.js @@ -2,7 +2,7 @@ require("babel-core"); -var moduleFormatters = require("babel-core/lib/babel/transformation/modules"); +var moduleFormatters = require("babel-core/lib/transformation/modules"); var pathExists = require("path-exists"); var commander = require("commander"); var transform = require("babel-core").transform; diff --git a/packages/babel-cli/bin/babel/util.js b/packages/babel-cli/src/babel/util.js similarity index 96% rename from packages/babel-cli/bin/babel/util.js rename to packages/babel-cli/src/babel/util.js index 8ade28d1d6..e83f5faaac 100644 --- a/packages/babel-cli/bin/babel/util.js +++ b/packages/babel-cli/src/babel/util.js @@ -35,7 +35,7 @@ exports.transform = function (filename, code, opts) { opts.ignore = null; opts.only = null; - var result = babel.transform(code, opts); + var result = babel.__plsDontUseThis(code, opts); result.filename = filename; result.actual = code; return result; diff --git a/test/.babelrc b/packages/babel-cli/test/.babelrc similarity index 100% rename from test/.babelrc rename to packages/babel-cli/test/.babelrc diff --git a/test/core/fixtures/bin/babel-external-helpers/--output-type global/options.json b/packages/babel-cli/test/fixtures/babel-external-helpers/--output-type global/options.json similarity index 100% rename from test/core/fixtures/bin/babel-external-helpers/--output-type global/options.json rename to packages/babel-cli/test/fixtures/babel-external-helpers/--output-type global/options.json diff --git a/test/core/fixtures/bin/babel-external-helpers/--output-type global/stdout.txt b/packages/babel-cli/test/fixtures/babel-external-helpers/--output-type global/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel-external-helpers/--output-type global/stdout.txt rename to packages/babel-cli/test/fixtures/babel-external-helpers/--output-type global/stdout.txt diff --git a/test/core/fixtures/bin/babel-external-helpers/--output-type umd/options.json b/packages/babel-cli/test/fixtures/babel-external-helpers/--output-type umd/options.json similarity index 100% rename from test/core/fixtures/bin/babel-external-helpers/--output-type umd/options.json rename to packages/babel-cli/test/fixtures/babel-external-helpers/--output-type umd/options.json diff --git a/test/core/fixtures/bin/babel-external-helpers/--output-type umd/stdout.txt b/packages/babel-cli/test/fixtures/babel-external-helpers/--output-type umd/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel-external-helpers/--output-type umd/stdout.txt rename to packages/babel-cli/test/fixtures/babel-external-helpers/--output-type umd/stdout.txt diff --git a/test/core/fixtures/bin/babel-external-helpers/--output-type var/options.json b/packages/babel-cli/test/fixtures/babel-external-helpers/--output-type var/options.json similarity index 100% rename from test/core/fixtures/bin/babel-external-helpers/--output-type var/options.json rename to packages/babel-cli/test/fixtures/babel-external-helpers/--output-type var/options.json diff --git a/test/core/fixtures/bin/babel-external-helpers/--output-type var/stdout.txt b/packages/babel-cli/test/fixtures/babel-external-helpers/--output-type var/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel-external-helpers/--output-type var/stdout.txt rename to packages/babel-cli/test/fixtures/babel-external-helpers/--output-type var/stdout.txt diff --git a/test/core/fixtures/bin/babel-external-helpers/--whitelist/options.json b/packages/babel-cli/test/fixtures/babel-external-helpers/--whitelist/options.json similarity index 100% rename from test/core/fixtures/bin/babel-external-helpers/--whitelist/options.json rename to packages/babel-cli/test/fixtures/babel-external-helpers/--whitelist/options.json diff --git a/test/core/fixtures/bin/babel-external-helpers/--whitelist/stdout.txt b/packages/babel-cli/test/fixtures/babel-external-helpers/--whitelist/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel-external-helpers/--whitelist/stdout.txt rename to packages/babel-cli/test/fixtures/babel-external-helpers/--whitelist/stdout.txt diff --git a/test/core/fixtures/bin/babel-node/--eval/options.json b/packages/babel-cli/test/fixtures/babel-node/--eval/options.json similarity index 100% rename from test/core/fixtures/bin/babel-node/--eval/options.json rename to packages/babel-cli/test/fixtures/babel-node/--eval/options.json diff --git a/test/core/fixtures/bin/babel-node/--extensions/in-files/foo.bar b/packages/babel-cli/test/fixtures/babel-node/--extensions/in-files/foo.bar similarity index 100% rename from test/core/fixtures/bin/babel-node/--extensions/in-files/foo.bar rename to packages/babel-cli/test/fixtures/babel-node/--extensions/in-files/foo.bar diff --git a/test/core/fixtures/bin/babel-node/--extensions/options.json b/packages/babel-cli/test/fixtures/babel-node/--extensions/options.json similarity index 100% rename from test/core/fixtures/bin/babel-node/--extensions/options.json rename to packages/babel-cli/test/fixtures/babel-node/--extensions/options.json diff --git a/test/core/fixtures/bin/babel-node/--print/options.json b/packages/babel-cli/test/fixtures/babel-node/--print/options.json similarity index 100% rename from test/core/fixtures/bin/babel-node/--print/options.json rename to packages/babel-cli/test/fixtures/babel-node/--print/options.json diff --git a/test/core/fixtures/bin/babel-node/directory/in-files/foo/index.js b/packages/babel-cli/test/fixtures/babel-node/directory/in-files/foo/index.js similarity index 100% rename from test/core/fixtures/bin/babel-node/directory/in-files/foo/index.js rename to packages/babel-cli/test/fixtures/babel-node/directory/in-files/foo/index.js diff --git a/test/core/fixtures/bin/babel-node/directory/options.json b/packages/babel-cli/test/fixtures/babel-node/directory/options.json similarity index 100% rename from test/core/fixtures/bin/babel-node/directory/options.json rename to packages/babel-cli/test/fixtures/babel-node/directory/options.json diff --git a/test/core/fixtures/bin/babel-node/directory/stdout.txt b/packages/babel-cli/test/fixtures/babel-node/directory/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel-node/directory/stdout.txt rename to packages/babel-cli/test/fixtures/babel-node/directory/stdout.txt diff --git a/test/core/fixtures/bin/babel-node/filename/in-files/bar.js b/packages/babel-cli/test/fixtures/babel-node/filename/in-files/bar.js similarity index 100% rename from test/core/fixtures/bin/babel-node/filename/in-files/bar.js rename to packages/babel-cli/test/fixtures/babel-node/filename/in-files/bar.js diff --git a/test/core/fixtures/bin/babel-node/filename/options.json b/packages/babel-cli/test/fixtures/babel-node/filename/options.json similarity index 100% rename from test/core/fixtures/bin/babel-node/filename/options.json rename to packages/babel-cli/test/fixtures/babel-node/filename/options.json diff --git a/test/core/fixtures/bin/babel-node/filename/stdout.txt b/packages/babel-cli/test/fixtures/babel-node/filename/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel-node/filename/stdout.txt rename to packages/babel-cli/test/fixtures/babel-node/filename/stdout.txt diff --git a/test/core/fixtures/bin/babel-node/require/in-files/bar2.js b/packages/babel-cli/test/fixtures/babel-node/require/in-files/bar2.js similarity index 100% rename from test/core/fixtures/bin/babel-node/require/in-files/bar2.js rename to packages/babel-cli/test/fixtures/babel-node/require/in-files/bar2.js diff --git a/test/core/fixtures/bin/babel-node/require/in-files/foo2.js b/packages/babel-cli/test/fixtures/babel-node/require/in-files/foo2.js similarity index 100% rename from test/core/fixtures/bin/babel-node/require/in-files/foo2.js rename to packages/babel-cli/test/fixtures/babel-node/require/in-files/foo2.js diff --git a/test/core/fixtures/bin/babel-node/require/in-files/not_node_modules.jsx b/packages/babel-cli/test/fixtures/babel-node/require/in-files/not_node_modules.jsx similarity index 100% rename from test/core/fixtures/bin/babel-node/require/in-files/not_node_modules.jsx rename to packages/babel-cli/test/fixtures/babel-node/require/in-files/not_node_modules.jsx diff --git a/test/core/fixtures/bin/babel-node/require/options.json b/packages/babel-cli/test/fixtures/babel-node/require/options.json similarity index 100% rename from test/core/fixtures/bin/babel-node/require/options.json rename to packages/babel-cli/test/fixtures/babel-node/require/options.json diff --git a/test/core/fixtures/bin/babel-node/require/stdout.txt b/packages/babel-cli/test/fixtures/babel-node/require/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel-node/require/stdout.txt rename to packages/babel-cli/test/fixtures/babel-node/require/stdout.txt diff --git a/test/core/fixtures/bin/babel/--blacklist/options.json b/packages/babel-cli/test/fixtures/babel/--blacklist/options.json similarity index 100% rename from test/core/fixtures/bin/babel/--blacklist/options.json rename to packages/babel-cli/test/fixtures/babel/--blacklist/options.json diff --git a/test/core/fixtures/bin/babel/--blacklist/stdin.txt b/packages/babel-cli/test/fixtures/babel/--blacklist/stdin.txt similarity index 100% rename from test/core/fixtures/bin/babel/--blacklist/stdin.txt rename to packages/babel-cli/test/fixtures/babel/--blacklist/stdin.txt diff --git a/test/core/fixtures/bin/babel/--blacklist/stdout.txt b/packages/babel-cli/test/fixtures/babel/--blacklist/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel/--blacklist/stdout.txt rename to packages/babel-cli/test/fixtures/babel/--blacklist/stdout.txt diff --git a/test/core/fixtures/bin/babel/--ignore/in-files/src/bar/index.js b/packages/babel-cli/test/fixtures/babel/--ignore/in-files/src/bar/index.js similarity index 100% rename from test/core/fixtures/bin/babel/--ignore/in-files/src/bar/index.js rename to packages/babel-cli/test/fixtures/babel/--ignore/in-files/src/bar/index.js diff --git a/test/core/fixtures/bin/babel/--ignore/in-files/src/foo/foo.js b/packages/babel-cli/test/fixtures/babel/--ignore/in-files/src/foo/foo.js similarity index 100% rename from test/core/fixtures/bin/babel/--ignore/in-files/src/foo/foo.js rename to packages/babel-cli/test/fixtures/babel/--ignore/in-files/src/foo/foo.js diff --git a/test/core/fixtures/bin/babel/--ignore/options.json b/packages/babel-cli/test/fixtures/babel/--ignore/options.json similarity index 100% rename from test/core/fixtures/bin/babel/--ignore/options.json rename to packages/babel-cli/test/fixtures/babel/--ignore/options.json diff --git a/test/core/fixtures/bin/babel/--ignore/out-files/lib/bar/index.js b/packages/babel-cli/test/fixtures/babel/--ignore/out-files/lib/bar/index.js similarity index 100% rename from test/core/fixtures/bin/babel/--ignore/out-files/lib/bar/index.js rename to packages/babel-cli/test/fixtures/babel/--ignore/out-files/lib/bar/index.js diff --git a/test/core/fixtures/bin/babel/--ignore/stdout.txt b/packages/babel-cli/test/fixtures/babel/--ignore/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel/--ignore/stdout.txt rename to packages/babel-cli/test/fixtures/babel/--ignore/stdout.txt diff --git a/test/core/fixtures/bin/babel/--only/in-files/src/bar/index.js b/packages/babel-cli/test/fixtures/babel/--only/in-files/src/bar/index.js similarity index 100% rename from test/core/fixtures/bin/babel/--only/in-files/src/bar/index.js rename to packages/babel-cli/test/fixtures/babel/--only/in-files/src/bar/index.js diff --git a/test/core/fixtures/bin/babel/--only/in-files/src/foo/index.js b/packages/babel-cli/test/fixtures/babel/--only/in-files/src/foo/index.js similarity index 100% rename from test/core/fixtures/bin/babel/--only/in-files/src/foo/index.js rename to packages/babel-cli/test/fixtures/babel/--only/in-files/src/foo/index.js diff --git a/test/core/fixtures/bin/babel/--only/options.json b/packages/babel-cli/test/fixtures/babel/--only/options.json similarity index 100% rename from test/core/fixtures/bin/babel/--only/options.json rename to packages/babel-cli/test/fixtures/babel/--only/options.json diff --git a/test/core/fixtures/bin/babel/--only/out-files/lib/bar/index.js b/packages/babel-cli/test/fixtures/babel/--only/out-files/lib/bar/index.js similarity index 100% rename from test/core/fixtures/bin/babel/--only/out-files/lib/bar/index.js rename to packages/babel-cli/test/fixtures/babel/--only/out-files/lib/bar/index.js diff --git a/test/core/fixtures/bin/babel/--only/stdout.txt b/packages/babel-cli/test/fixtures/babel/--only/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel/--only/stdout.txt rename to packages/babel-cli/test/fixtures/babel/--only/stdout.txt diff --git a/test/core/fixtures/bin/babel/--whitelist/options.json b/packages/babel-cli/test/fixtures/babel/--whitelist/options.json similarity index 100% rename from test/core/fixtures/bin/babel/--whitelist/options.json rename to packages/babel-cli/test/fixtures/babel/--whitelist/options.json diff --git a/test/core/fixtures/bin/babel/--whitelist/stdin.txt b/packages/babel-cli/test/fixtures/babel/--whitelist/stdin.txt similarity index 100% rename from test/core/fixtures/bin/babel/--whitelist/stdin.txt rename to packages/babel-cli/test/fixtures/babel/--whitelist/stdin.txt diff --git a/test/core/fixtures/bin/babel/--whitelist/stdout.txt b/packages/babel-cli/test/fixtures/babel/--whitelist/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel/--whitelist/stdout.txt rename to packages/babel-cli/test/fixtures/babel/--whitelist/stdout.txt diff --git a/test/core/fixtures/bin/babel/.stdin --out-file --source-maps/options.json b/packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/options.json similarity index 100% rename from test/core/fixtures/bin/babel/.stdin --out-file --source-maps/options.json rename to packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/options.json diff --git a/test/core/fixtures/bin/babel/.stdin --out-file --source-maps/out-files/test.js b/packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/out-files/test.js similarity index 100% rename from test/core/fixtures/bin/babel/.stdin --out-file --source-maps/out-files/test.js rename to packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/out-files/test.js diff --git a/test/core/fixtures/bin/babel/.stdin --out-file --source-maps/out-files/test.js.map b/packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/out-files/test.js.map similarity index 100% rename from test/core/fixtures/bin/babel/.stdin --out-file --source-maps/out-files/test.js.map rename to packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/out-files/test.js.map diff --git a/test/core/fixtures/bin/babel/.stdin --out-file --source-maps/stdin.txt b/packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/stdin.txt similarity index 100% rename from test/core/fixtures/bin/babel/.stdin --out-file --source-maps/stdin.txt rename to packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/stdin.txt diff --git a/test/core/fixtures/bin/babel/.stdin --source-maps inline/options.json b/packages/babel-cli/test/fixtures/babel/.stdin --source-maps inline/options.json similarity index 100% rename from test/core/fixtures/bin/babel/.stdin --source-maps inline/options.json rename to packages/babel-cli/test/fixtures/babel/.stdin --source-maps inline/options.json diff --git a/test/core/fixtures/bin/babel/.stdin --source-maps inline/stdin.txt b/packages/babel-cli/test/fixtures/babel/.stdin --source-maps inline/stdin.txt similarity index 100% rename from test/core/fixtures/bin/babel/.stdin --source-maps inline/stdin.txt rename to packages/babel-cli/test/fixtures/babel/.stdin --source-maps inline/stdin.txt diff --git a/test/core/fixtures/bin/babel/.stdin --source-maps inline/stdout.txt b/packages/babel-cli/test/fixtures/babel/.stdin --source-maps inline/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel/.stdin --source-maps inline/stdout.txt rename to packages/babel-cli/test/fixtures/babel/.stdin --source-maps inline/stdout.txt diff --git a/test/core/fixtures/bin/babel/dir --out-dir --source-maps inline/in-files/src/bar/bar.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/in-files/src/bar/bar.js similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir --source-maps inline/in-files/src/bar/bar.js rename to packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/in-files/src/bar/bar.js diff --git a/test/core/fixtures/bin/babel/dir --out-dir --source-maps inline/in-files/src/foo.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/in-files/src/foo.js similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir --source-maps inline/in-files/src/foo.js rename to packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/in-files/src/foo.js diff --git a/test/core/fixtures/bin/babel/dir --out-dir --source-maps inline/options.json b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/options.json similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir --source-maps inline/options.json rename to packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/options.json diff --git a/test/core/fixtures/bin/babel/dir --out-dir --source-maps inline/out-files/lib/bar/bar.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/out-files/lib/bar/bar.js similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir --source-maps inline/out-files/lib/bar/bar.js rename to packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/out-files/lib/bar/bar.js diff --git a/test/core/fixtures/bin/babel/dir --out-dir --source-maps inline/out-files/lib/foo.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/out-files/lib/foo.js similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir --source-maps inline/out-files/lib/foo.js rename to packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/out-files/lib/foo.js diff --git a/test/core/fixtures/bin/babel/dir --out-dir --source-maps inline/stdout.txt b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir --source-maps inline/stdout.txt rename to packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/stdout.txt diff --git a/test/core/fixtures/bin/babel/dir --out-dir --source-maps/in-files/src/bar/bar.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/in-files/src/bar/bar.js similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir --source-maps/in-files/src/bar/bar.js rename to packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/in-files/src/bar/bar.js diff --git a/test/core/fixtures/bin/babel/dir --out-dir --source-maps/in-files/src/foo.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/in-files/src/foo.js similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir --source-maps/in-files/src/foo.js rename to packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/in-files/src/foo.js diff --git a/test/core/fixtures/bin/babel/dir --out-dir --source-maps/options.json b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/options.json similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir --source-maps/options.json rename to packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/options.json diff --git a/test/core/fixtures/bin/babel/dir --out-dir --source-maps/out-files/lib/bar/bar.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/out-files/lib/bar/bar.js similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir --source-maps/out-files/lib/bar/bar.js rename to packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/out-files/lib/bar/bar.js diff --git a/test/core/fixtures/bin/babel/dir --out-dir --source-maps/out-files/lib/bar/bar.js.map b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/out-files/lib/bar/bar.js.map similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir --source-maps/out-files/lib/bar/bar.js.map rename to packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/out-files/lib/bar/bar.js.map diff --git a/test/core/fixtures/bin/babel/dir --out-dir --source-maps/out-files/lib/foo.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/out-files/lib/foo.js similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir --source-maps/out-files/lib/foo.js rename to packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/out-files/lib/foo.js diff --git a/test/core/fixtures/bin/babel/dir --out-dir --source-maps/out-files/lib/foo.js.map b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/out-files/lib/foo.js.map similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir --source-maps/out-files/lib/foo.js.map rename to packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/out-files/lib/foo.js.map diff --git a/test/core/fixtures/bin/babel/dir --out-dir --source-maps/stdout.txt b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir --source-maps/stdout.txt rename to packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/stdout.txt diff --git a/test/core/fixtures/bin/babel/dir --out-dir/in-files/src/bar/bar.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir/in-files/src/bar/bar.js similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir/in-files/src/bar/bar.js rename to packages/babel-cli/test/fixtures/babel/dir --out-dir/in-files/src/bar/bar.js diff --git a/test/core/fixtures/bin/babel/dir --out-dir/in-files/src/foo.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir/in-files/src/foo.js similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir/in-files/src/foo.js rename to packages/babel-cli/test/fixtures/babel/dir --out-dir/in-files/src/foo.js diff --git a/test/core/fixtures/bin/babel/dir --out-dir/options.json b/packages/babel-cli/test/fixtures/babel/dir --out-dir/options.json similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir/options.json rename to packages/babel-cli/test/fixtures/babel/dir --out-dir/options.json diff --git a/test/core/fixtures/bin/babel/dir --out-dir/out-files/lib/bar/bar.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir/out-files/lib/bar/bar.js similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir/out-files/lib/bar/bar.js rename to packages/babel-cli/test/fixtures/babel/dir --out-dir/out-files/lib/bar/bar.js diff --git a/test/core/fixtures/bin/babel/dir --out-dir/out-files/lib/foo.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir/out-files/lib/foo.js similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir/out-files/lib/foo.js rename to packages/babel-cli/test/fixtures/babel/dir --out-dir/out-files/lib/foo.js diff --git a/test/core/fixtures/bin/babel/dir --out-dir/stdout.txt b/packages/babel-cli/test/fixtures/babel/dir --out-dir/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel/dir --out-dir/stdout.txt rename to packages/babel-cli/test/fixtures/babel/dir --out-dir/stdout.txt diff --git a/test/core/fixtures/bin/babel/filename --out-file --source-maps inline/in-files/script.js b/packages/babel-cli/test/fixtures/babel/filename --out-file --source-maps inline/in-files/script.js similarity index 100% rename from test/core/fixtures/bin/babel/filename --out-file --source-maps inline/in-files/script.js rename to packages/babel-cli/test/fixtures/babel/filename --out-file --source-maps inline/in-files/script.js diff --git a/test/core/fixtures/bin/babel/filename --out-file --source-maps inline/options.json b/packages/babel-cli/test/fixtures/babel/filename --out-file --source-maps inline/options.json similarity index 100% rename from test/core/fixtures/bin/babel/filename --out-file --source-maps inline/options.json rename to packages/babel-cli/test/fixtures/babel/filename --out-file --source-maps inline/options.json diff --git a/test/core/fixtures/bin/babel/filename --out-file --source-maps inline/out-files/script2.js b/packages/babel-cli/test/fixtures/babel/filename --out-file --source-maps inline/out-files/script2.js similarity index 100% rename from test/core/fixtures/bin/babel/filename --out-file --source-maps inline/out-files/script2.js rename to packages/babel-cli/test/fixtures/babel/filename --out-file --source-maps inline/out-files/script2.js diff --git a/test/core/fixtures/bin/babel/filename --out-file/in-files/script.js b/packages/babel-cli/test/fixtures/babel/filename --out-file/in-files/script.js similarity index 100% rename from test/core/fixtures/bin/babel/filename --out-file/in-files/script.js rename to packages/babel-cli/test/fixtures/babel/filename --out-file/in-files/script.js diff --git a/test/core/fixtures/bin/babel/filename --out-file/options.json b/packages/babel-cli/test/fixtures/babel/filename --out-file/options.json similarity index 100% rename from test/core/fixtures/bin/babel/filename --out-file/options.json rename to packages/babel-cli/test/fixtures/babel/filename --out-file/options.json diff --git a/test/core/fixtures/bin/babel/filename --out-file/out-files/script2.js b/packages/babel-cli/test/fixtures/babel/filename --out-file/out-files/script2.js similarity index 100% rename from test/core/fixtures/bin/babel/filename --out-file/out-files/script2.js rename to packages/babel-cli/test/fixtures/babel/filename --out-file/out-files/script2.js diff --git a/test/core/fixtures/bin/babel/filenames --out-file --source-maps inline/in-files/script.js b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/in-files/script.js similarity index 100% rename from test/core/fixtures/bin/babel/filenames --out-file --source-maps inline/in-files/script.js rename to packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/in-files/script.js diff --git a/test/core/fixtures/bin/babel/filenames --out-file --source-maps inline/in-files/script2.js b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/in-files/script2.js similarity index 100% rename from test/core/fixtures/bin/babel/filenames --out-file --source-maps inline/in-files/script2.js rename to packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/in-files/script2.js diff --git a/test/core/fixtures/bin/babel/filenames --out-file --source-maps inline/options.json b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/options.json similarity index 100% rename from test/core/fixtures/bin/babel/filenames --out-file --source-maps inline/options.json rename to packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/options.json diff --git a/test/core/fixtures/bin/babel/filenames --out-file --source-maps inline/out-files/script3.js b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/out-files/script3.js similarity index 100% rename from test/core/fixtures/bin/babel/filenames --out-file --source-maps inline/out-files/script3.js rename to packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/out-files/script3.js diff --git a/test/core/fixtures/bin/babel/filenames --out-file --source-maps/in-files/script.js b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/in-files/script.js similarity index 100% rename from test/core/fixtures/bin/babel/filenames --out-file --source-maps/in-files/script.js rename to packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/in-files/script.js diff --git a/test/core/fixtures/bin/babel/filenames --out-file --source-maps/in-files/script2.js b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/in-files/script2.js similarity index 100% rename from test/core/fixtures/bin/babel/filenames --out-file --source-maps/in-files/script2.js rename to packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/in-files/script2.js diff --git a/test/core/fixtures/bin/babel/filenames --out-file --source-maps/options.json b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/options.json similarity index 100% rename from test/core/fixtures/bin/babel/filenames --out-file --source-maps/options.json rename to packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/options.json diff --git a/test/core/fixtures/bin/babel/filenames --out-file --source-maps/out-files/script3.js b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/out-files/script3.js similarity index 100% rename from test/core/fixtures/bin/babel/filenames --out-file --source-maps/out-files/script3.js rename to packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/out-files/script3.js diff --git a/test/core/fixtures/bin/babel/filenames --out-file --source-maps/out-files/script3.js.map b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/out-files/script3.js.map similarity index 100% rename from test/core/fixtures/bin/babel/filenames --out-file --source-maps/out-files/script3.js.map rename to packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/out-files/script3.js.map diff --git a/test/core/fixtures/bin/babel/filenames --out-file/in-files/script.js b/packages/babel-cli/test/fixtures/babel/filenames --out-file/in-files/script.js similarity index 100% rename from test/core/fixtures/bin/babel/filenames --out-file/in-files/script.js rename to packages/babel-cli/test/fixtures/babel/filenames --out-file/in-files/script.js diff --git a/test/core/fixtures/bin/babel/filenames --out-file/in-files/script2.js b/packages/babel-cli/test/fixtures/babel/filenames --out-file/in-files/script2.js similarity index 100% rename from test/core/fixtures/bin/babel/filenames --out-file/in-files/script2.js rename to packages/babel-cli/test/fixtures/babel/filenames --out-file/in-files/script2.js diff --git a/test/core/fixtures/bin/babel/filenames --out-file/options.json b/packages/babel-cli/test/fixtures/babel/filenames --out-file/options.json similarity index 100% rename from test/core/fixtures/bin/babel/filenames --out-file/options.json rename to packages/babel-cli/test/fixtures/babel/filenames --out-file/options.json diff --git a/test/core/fixtures/bin/babel/filenames --out-file/out-files/script3.js b/packages/babel-cli/test/fixtures/babel/filenames --out-file/out-files/script3.js similarity index 100% rename from test/core/fixtures/bin/babel/filenames --out-file/out-files/script3.js rename to packages/babel-cli/test/fixtures/babel/filenames --out-file/out-files/script3.js diff --git a/test/core/fixtures/bin/babel/stdin --filename/options.json b/packages/babel-cli/test/fixtures/babel/stdin --filename/options.json similarity index 100% rename from test/core/fixtures/bin/babel/stdin --filename/options.json rename to packages/babel-cli/test/fixtures/babel/stdin --filename/options.json diff --git a/test/core/fixtures/bin/babel/stdin --filename/stderr.txt b/packages/babel-cli/test/fixtures/babel/stdin --filename/stderr.txt similarity index 100% rename from test/core/fixtures/bin/babel/stdin --filename/stderr.txt rename to packages/babel-cli/test/fixtures/babel/stdin --filename/stderr.txt diff --git a/test/core/fixtures/bin/babel/stdin --filename/stdin.txt b/packages/babel-cli/test/fixtures/babel/stdin --filename/stdin.txt similarity index 100% rename from test/core/fixtures/bin/babel/stdin --filename/stdin.txt rename to packages/babel-cli/test/fixtures/babel/stdin --filename/stdin.txt diff --git a/test/core/fixtures/bin/babel/stdin --out-file/options.json b/packages/babel-cli/test/fixtures/babel/stdin --out-file/options.json similarity index 100% rename from test/core/fixtures/bin/babel/stdin --out-file/options.json rename to packages/babel-cli/test/fixtures/babel/stdin --out-file/options.json diff --git a/test/core/fixtures/bin/babel/stdin --out-file/out-files/script.js b/packages/babel-cli/test/fixtures/babel/stdin --out-file/out-files/script.js similarity index 100% rename from test/core/fixtures/bin/babel/stdin --out-file/out-files/script.js rename to packages/babel-cli/test/fixtures/babel/stdin --out-file/out-files/script.js diff --git a/test/core/fixtures/bin/babel/stdin --out-file/stdin.txt b/packages/babel-cli/test/fixtures/babel/stdin --out-file/stdin.txt similarity index 100% rename from test/core/fixtures/bin/babel/stdin --out-file/stdin.txt rename to packages/babel-cli/test/fixtures/babel/stdin --out-file/stdin.txt diff --git a/test/core/fixtures/bin/babel/stdin/stdin.txt b/packages/babel-cli/test/fixtures/babel/stdin/stdin.txt similarity index 100% rename from test/core/fixtures/bin/babel/stdin/stdin.txt rename to packages/babel-cli/test/fixtures/babel/stdin/stdin.txt diff --git a/test/core/fixtures/bin/babel/stdin/stdout.txt b/packages/babel-cli/test/fixtures/babel/stdin/stdout.txt similarity index 100% rename from test/core/fixtures/bin/babel/stdin/stdout.txt rename to packages/babel-cli/test/fixtures/babel/stdin/stdout.txt diff --git a/test/core/bin.js b/packages/babel-cli/test/index.js similarity index 95% rename from test/core/bin.js rename to packages/babel-cli/test/index.js index f8280b5c68..b01b533bb8 100644 --- a/test/core/bin.js +++ b/packages/babel-cli/test/index.js @@ -1,7 +1,7 @@ if (process.env.running_under_istanbul) return; var readdir = require("fs-readdir-recursive"); -var helper = require("./_helper"); +var helper = require("../../babel/test/_helper"); var assert = require("assert"); var rimraf = require("rimraf"); var outputFileSync = require("output-file-sync"); @@ -12,7 +12,7 @@ var fs = require("fs"); var pathExists = require("path-exists"); var _ = require("lodash"); -var fixtureLoc = __dirname + "/fixtures/bin"; +var fixtureLoc = __dirname + "/fixtures"; var tmpLoc = __dirname + "/tmp"; var readDir = function (loc) { @@ -67,7 +67,7 @@ var assertTest = function (stdout, stderr, opts) { }; var buildTest = function (binName, testName, opts) { - var binLoc = path.normalize(__dirname + "/../../packages/babel-cli/bin/" + binName); + var binLoc = path.normalize(__dirname + "/../../babel-cli/lib/" + binName); return function (callback) { this.timeout(5000); diff --git a/test/mocha.opts b/packages/babel-cli/test/mocha.opts similarity index 100% rename from test/mocha.opts rename to packages/babel-cli/test/mocha.opts diff --git a/.npmignore b/packages/babel/.npmignore similarity index 79% rename from .npmignore rename to packages/babel/.npmignore index a670da9a98..8d2dc7c4cf 100644 --- a/.npmignore +++ b/packages/babel/.npmignore @@ -1,7 +1,7 @@ *.log *.cache .* -/lib/babel/transformation/templates +/lib/transformation/templates /test /benchmark /Makefile diff --git a/packages/babel/index.js b/packages/babel/index.js new file mode 100644 index 0000000000..e8f04775a2 --- /dev/null +++ b/packages/babel/index.js @@ -0,0 +1 @@ +module.exports = require("./lib/api/node.js"); diff --git a/packages/babel/package.json b/packages/babel/package.json new file mode 100644 index 0000000000..dfe9bd4114 --- /dev/null +++ b/packages/babel/package.json @@ -0,0 +1,76 @@ +{ + "name": "babel-core", + "description": "A compiler for writing next generation JavaScript", + "author": "Sebastian McKenzie ", + "homepage": "https://babeljs.io/", + "license": "MIT", + "repository": "babel/babel", + "browser": { + "./lib/api/register/node.js": "./lib/api/register/browser.js" + }, + "keywords": [ + "6to5", + "babel", + "classes", + "const", + "es6", + "harmony", + "let", + "modules", + "transpile", + "transpiler", + "var" + ], + "scripts": { + "bench": "make bench", + "test": "make test" + }, + "dependencies": { + "babel-plugin-constant-folding": "^1.0.1", + "babel-plugin-dead-code-elimination": "^1.0.2", + "babel-plugin-eval": "^1.0.1", + "babel-plugin-inline-environment-variables": "^1.0.1", + "babel-plugin-jscript": "^1.0.1", + "babel-plugin-member-expression-literals": "^1.0.1", + "babel-plugin-property-literals": "^1.0.1", + "babel-plugin-proto-to-assign": "^1.0.3", + "babel-plugin-react-constant-elements": "^1.0.3", + "babel-plugin-react-display-name": "^1.0.3", + "babel-plugin-remove-console": "^1.0.1", + "babel-plugin-remove-debugger": "^1.0.1", + "babel-plugin-runtime": "^1.0.7", + "babel-plugin-undeclared-variables-check": "^1.0.2", + "babel-plugin-undefined-to-void": "^1.1.6", + "bluebird": "^2.9.33", + "chalk": "^1.0.0", + "convert-source-map": "^1.1.0", + "core-js": "^0.9.0", + "debug": "^2.1.1", + "detect-indent": "^3.0.0", + "estraverse": "^4.0.0", + "esutils": "^2.0.0", + "fs-readdir-recursive": "^0.1.0", + "globals": "^6.4.0", + "home-or-tmp": "^1.0.0", + "is-integer": "^1.0.4", + "js-tokens": "1.0.1", + "line-numbers": "0.2.0", + "lodash": "^3.10.0", + "minimatch": "^2.0.3", + "output-file-sync": "^1.1.0", + "path-exists": "^1.0.0", + "path-is-absolute": "^1.0.0", + "private": "^0.1.6", + "regenerator": "0.8.34", + "regexpu": "^1.1.2", + "repeating": "^1.1.2", + "resolve": "^1.1.6", + "shebang-regex": "^1.0.0", + "slash": "^1.0.0", + "source-map": "^0.4.0", + "source-map-support": "^0.2.10", + "strip-json-comments": "^1.0.2", + "to-fast-properties": "^1.0.0", + "trim-right": "^1.0.0" + } +} diff --git a/packages/babel/polyfill.js b/packages/babel/polyfill.js new file mode 100644 index 0000000000..b18f073c45 --- /dev/null +++ b/packages/babel/polyfill.js @@ -0,0 +1 @@ +module.exports = require("./lib/polyfill"); diff --git a/packages/babel/register-without-polyfill.js b/packages/babel/register-without-polyfill.js new file mode 100644 index 0000000000..6b85c7bcf8 --- /dev/null +++ b/packages/babel/register-without-polyfill.js @@ -0,0 +1 @@ +module.exports = require("./lib/api/register/node"); diff --git a/packages/babel/register.js b/packages/babel/register.js new file mode 100644 index 0000000000..c97650c29a --- /dev/null +++ b/packages/babel/register.js @@ -0,0 +1 @@ +module.exports = require("./lib/api/register/node-polyfill"); diff --git a/src/babel/api/browser.js b/packages/babel/src/api/browser.js similarity index 97% rename from src/babel/api/browser.js rename to packages/babel/src/api/browser.js index 341631b879..8c6e7ac653 100644 --- a/src/babel/api/browser.js +++ b/packages/babel/src/api/browser.js @@ -4,7 +4,7 @@ require("./node"); var transform = module.exports = require("../transformation"); transform.options = require("../transformation/file/options"); -transform.version = require("../../../package").version; +transform.version = require("../../package").version; transform.transform = transform; diff --git a/src/babel/api/node.js b/packages/babel/src/api/node.js similarity index 66% rename from src/babel/api/node.js rename to packages/babel/src/api/node.js index 77bfc1e24b..1c3904486c 100644 --- a/src/babel/api/node.js +++ b/packages/babel/src/api/node.js @@ -1,10 +1,15 @@ import isFunction from "lodash/lang/isFunction"; import transform from "../transformation"; -import * as acorn from "../../acorn"; +import * as babylon from "babylon"; import * as util from "../util"; import fs from "fs"; -export { util, acorn, transform }; +var deasync; +try { + deasync = require("deasync"); +} catch (err) {} + +export { util, babylon as acorn, transform }; export { pipeline } from "../transformation"; export { canCompile } from "../util"; @@ -14,7 +19,7 @@ export { default as Transformer } from "../transformation/transformer"; export { default as Pipeline } from "../transformation/pipeline"; export { default as traverse } from "../traversal"; export { default as buildExternalHelpers } from "../tools/build-external-helpers"; -export { version } from "../../../package"; +export { version } from "../../package"; import * as t from "../types"; export { t as types }; @@ -37,24 +42,32 @@ export function transformFile(filename: string, opts?: Object, callback: Functio opts.filename = filename; - fs.readFile(filename, function (err, code) { - if (err) return callback(err); - - var result; - - try { - result = transform(code, opts); - } catch (err) { - return callback(err); - } - - callback(null, result); - }); + return transform(fs.createReadStream(filename), opts); } -export function transformFileSync(filename: string, opts?: Object = {}) { - opts.filename = filename; - return transform(fs.readFileSync(filename, "utf8"), opts); +export function __plsDontUseThis(code, opts) { + if (!deasync) { + throw new Error("Sorry, this API isn't available in the current environment."); + } + + var done = false; + var result, err; + + transform(code, opts).then(function (_result) { + result = _result; + done = true; + }, function (_err) { + err = _err; + done = true; + }); + + deasync.loopWhile(() => !done); + + if (err) { + throw err; + } else { + return result; + } } export function parse(code, opts = {}) { @@ -71,5 +84,5 @@ export function parse(code, opts = {}) { opts.features[key] = true; } - return acorn.parse(code, opts); + return babylon.parse(code, opts); } diff --git a/src/babel/api/register/browser.js b/packages/babel/src/api/register/browser.js similarity index 100% rename from src/babel/api/register/browser.js rename to packages/babel/src/api/register/browser.js diff --git a/src/babel/api/register/cache.js b/packages/babel/src/api/register/cache.js similarity index 100% rename from src/babel/api/register/cache.js rename to packages/babel/src/api/register/cache.js diff --git a/src/babel/api/register/node-polyfill.js b/packages/babel/src/api/register/node-polyfill.js similarity index 100% rename from src/babel/api/register/node-polyfill.js rename to packages/babel/src/api/register/node-polyfill.js diff --git a/src/babel/api/register/node.js b/packages/babel/src/api/register/node.js similarity index 96% rename from src/babel/api/register/node.js rename to packages/babel/src/api/register/node.js index 00310feded..126561b906 100644 --- a/src/babel/api/register/node.js +++ b/packages/babel/src/api/register/node.js @@ -51,6 +51,8 @@ var mtime = function (filename) { var compile = function (filename, opts = {}) { var result; + opts.filename = filename; + var optsManager = new OptionManager; optsManager.mergeOptions(transformOpts); opts = optsManager.init(opts); @@ -68,7 +70,8 @@ var compile = function (filename, opts = {}) { } if (!result) { - result = babel.transformFileSync(filename, extend(opts, { + var file = fs.readFileSync(filename, "utf8"); + result = babel.__plsDontUseThis(file, extend(opts, { sourceMap: "both", ast: false })); diff --git a/src/babel/generation/buffer.js b/packages/babel/src/generation/buffer.js similarity index 100% rename from src/babel/generation/buffer.js rename to packages/babel/src/generation/buffer.js diff --git a/src/babel/generation/generators/base.js b/packages/babel/src/generation/generators/base.js similarity index 100% rename from src/babel/generation/generators/base.js rename to packages/babel/src/generation/generators/base.js diff --git a/src/babel/generation/generators/classes.js b/packages/babel/src/generation/generators/classes.js similarity index 100% rename from src/babel/generation/generators/classes.js rename to packages/babel/src/generation/generators/classes.js diff --git a/src/babel/generation/generators/comprehensions.js b/packages/babel/src/generation/generators/comprehensions.js similarity index 100% rename from src/babel/generation/generators/comprehensions.js rename to packages/babel/src/generation/generators/comprehensions.js diff --git a/src/babel/generation/generators/expressions.js b/packages/babel/src/generation/generators/expressions.js similarity index 100% rename from src/babel/generation/generators/expressions.js rename to packages/babel/src/generation/generators/expressions.js diff --git a/src/babel/generation/generators/flow.js b/packages/babel/src/generation/generators/flow.js similarity index 100% rename from src/babel/generation/generators/flow.js rename to packages/babel/src/generation/generators/flow.js diff --git a/src/babel/generation/generators/jsx.js b/packages/babel/src/generation/generators/jsx.js similarity index 100% rename from src/babel/generation/generators/jsx.js rename to packages/babel/src/generation/generators/jsx.js diff --git a/src/babel/generation/generators/methods.js b/packages/babel/src/generation/generators/methods.js similarity index 100% rename from src/babel/generation/generators/methods.js rename to packages/babel/src/generation/generators/methods.js diff --git a/src/babel/generation/generators/modules.js b/packages/babel/src/generation/generators/modules.js similarity index 100% rename from src/babel/generation/generators/modules.js rename to packages/babel/src/generation/generators/modules.js diff --git a/src/babel/generation/generators/statements.js b/packages/babel/src/generation/generators/statements.js similarity index 100% rename from src/babel/generation/generators/statements.js rename to packages/babel/src/generation/generators/statements.js diff --git a/src/babel/generation/generators/template-literals.js b/packages/babel/src/generation/generators/template-literals.js similarity index 100% rename from src/babel/generation/generators/template-literals.js rename to packages/babel/src/generation/generators/template-literals.js diff --git a/src/babel/generation/generators/types.js b/packages/babel/src/generation/generators/types.js similarity index 100% rename from src/babel/generation/generators/types.js rename to packages/babel/src/generation/generators/types.js diff --git a/src/babel/generation/index.js b/packages/babel/src/generation/index.js similarity index 100% rename from src/babel/generation/index.js rename to packages/babel/src/generation/index.js diff --git a/src/babel/generation/node/index.js b/packages/babel/src/generation/node/index.js similarity index 100% rename from src/babel/generation/node/index.js rename to packages/babel/src/generation/node/index.js diff --git a/src/babel/generation/node/parentheses.js b/packages/babel/src/generation/node/parentheses.js similarity index 100% rename from src/babel/generation/node/parentheses.js rename to packages/babel/src/generation/node/parentheses.js diff --git a/src/babel/generation/node/printer.js b/packages/babel/src/generation/node/printer.js similarity index 100% rename from src/babel/generation/node/printer.js rename to packages/babel/src/generation/node/printer.js diff --git a/src/babel/generation/node/whitespace.js b/packages/babel/src/generation/node/whitespace.js similarity index 100% rename from src/babel/generation/node/whitespace.js rename to packages/babel/src/generation/node/whitespace.js diff --git a/src/babel/generation/position.js b/packages/babel/src/generation/position.js similarity index 100% rename from src/babel/generation/position.js rename to packages/babel/src/generation/position.js diff --git a/src/babel/generation/source-map.js b/packages/babel/src/generation/source-map.js similarity index 100% rename from src/babel/generation/source-map.js rename to packages/babel/src/generation/source-map.js diff --git a/src/babel/generation/whitespace.js b/packages/babel/src/generation/whitespace.js similarity index 100% rename from src/babel/generation/whitespace.js rename to packages/babel/src/generation/whitespace.js diff --git a/src/babel/helpers/code-frame.js b/packages/babel/src/helpers/code-frame.js similarity index 100% rename from src/babel/helpers/code-frame.js rename to packages/babel/src/helpers/code-frame.js diff --git a/src/babel/helpers/merge.js b/packages/babel/src/helpers/merge.js similarity index 100% rename from src/babel/helpers/merge.js rename to packages/babel/src/helpers/merge.js diff --git a/src/babel/helpers/normalize-ast.js b/packages/babel/src/helpers/normalize-ast.js similarity index 100% rename from src/babel/helpers/normalize-ast.js rename to packages/babel/src/helpers/normalize-ast.js diff --git a/src/babel/helpers/object.js b/packages/babel/src/helpers/object.js similarity index 100% rename from src/babel/helpers/object.js rename to packages/babel/src/helpers/object.js diff --git a/src/babel/helpers/parse.js b/packages/babel/src/helpers/parse.js similarity index 81% rename from src/babel/helpers/parse.js rename to packages/babel/src/helpers/parse.js index 024c659de7..fdb73f6426 100644 --- a/src/babel/helpers/parse.js +++ b/packages/babel/src/helpers/parse.js @@ -1,6 +1,6 @@ import normalizeAst from "./normalize-ast"; import estraverse from "estraverse"; -import * as acorn from "../../acorn"; +import * as babylon from "babylon"; export default function (code, opts = {}) { var commentsAndTokens = []; @@ -32,7 +32,7 @@ export default function (code, opts = {}) { value: text, start: start, end: end, - loc: new acorn.SourceLocation(this, startLoc, endLoc), + loc: new babylon.SourceLocation(this, startLoc, endLoc), range: [start, end] }; @@ -45,8 +45,9 @@ export default function (code, opts = {}) { parseOpts.plugins.flow = true; } - var ast = acorn.parse(code, parseOpts); - estraverse.attachComments(ast, comments, tokens); - ast = normalizeAst(ast, comments, commentsAndTokens); - return ast; + return babylon.parse(code, parseOpts).then(function (ast) { + estraverse.attachComments(ast, comments, tokens); + ast = normalizeAst(ast, comments, commentsAndTokens); + return ast; + }); } diff --git a/src/babel/messages.js b/packages/babel/src/messages.js similarity index 100% rename from src/babel/messages.js rename to packages/babel/src/messages.js diff --git a/src/babel/patch.js b/packages/babel/src/patch.js similarity index 100% rename from src/babel/patch.js rename to packages/babel/src/patch.js diff --git a/src/babel/polyfill.js b/packages/babel/src/polyfill.js similarity index 100% rename from src/babel/polyfill.js rename to packages/babel/src/polyfill.js diff --git a/src/babel/tools/build-external-helpers.js b/packages/babel/src/tools/build-external-helpers.js similarity index 100% rename from src/babel/tools/build-external-helpers.js rename to packages/babel/src/tools/build-external-helpers.js diff --git a/src/babel/transformation/file/index.js b/packages/babel/src/transformation/file/index.js similarity index 97% rename from src/babel/transformation/file/index.js rename to packages/babel/src/transformation/file/index.js index ad4051d3d6..7efb2a968e 100644 --- a/src/babel/transformation/file/index.js +++ b/packages/babel/src/transformation/file/index.js @@ -12,6 +12,7 @@ import defaults from "lodash/object/defaults"; import includes from "lodash/collection/includes"; import traverse from "../../traversal"; import Logger from "./logger"; +import { Promise } from "bluebird"; import Plugin from "../plugin"; import parse from "../../helpers/parse"; import Hub from "../../traversal/hub"; @@ -428,9 +429,10 @@ export default class File { parseOpts.sourceType = "module"; this.log.debug("Parse start"); - var tree = parse(code, parseOpts); - this.log.debug("Parse stop"); - return tree; + return parse(code, parseOpts).then((ast) => { + this.log.debug("Parse stop"); + return ast; + }); } _addAst(ast) { @@ -465,7 +467,11 @@ export default class File { } this.call("post"); - return this.generate(); + return new Promise((resolve, reject) => { + util.ensureTemplates().then(() => { + resolve(this.generate()); + }, reject); + }); } wrap(code, callback) { @@ -473,7 +479,7 @@ export default class File { try { if (this.shouldIgnore()) { - return this.makeResult({ code, ignored: true }); + return Promise.resolve(this.makeResult({ code, ignored: true })); } else { return callback(); } @@ -513,7 +519,9 @@ export default class File { parseCode() { this.parseShebang(); - this.addAst(this.parse(this.code)); + return this.parse(this.code).then((ast) => { + this.addAst(ast); + }); } shouldIgnore() { diff --git a/src/babel/transformation/file/logger.js b/packages/babel/src/transformation/file/logger.js similarity index 100% rename from src/babel/transformation/file/logger.js rename to packages/babel/src/transformation/file/logger.js diff --git a/src/babel/transformation/file/options/config.json b/packages/babel/src/transformation/file/options/config.json similarity index 100% rename from src/babel/transformation/file/options/config.json rename to packages/babel/src/transformation/file/options/config.json diff --git a/src/babel/transformation/file/options/index.js b/packages/babel/src/transformation/file/options/index.js similarity index 100% rename from src/babel/transformation/file/options/index.js rename to packages/babel/src/transformation/file/options/index.js diff --git a/src/babel/transformation/file/options/option-manager.js b/packages/babel/src/transformation/file/options/option-manager.js similarity index 100% rename from src/babel/transformation/file/options/option-manager.js rename to packages/babel/src/transformation/file/options/option-manager.js diff --git a/src/babel/transformation/file/options/parsers.js b/packages/babel/src/transformation/file/options/parsers.js similarity index 100% rename from src/babel/transformation/file/options/parsers.js rename to packages/babel/src/transformation/file/options/parsers.js diff --git a/src/babel/transformation/file/plugin-manager.js b/packages/babel/src/transformation/file/plugin-manager.js similarity index 100% rename from src/babel/transformation/file/plugin-manager.js rename to packages/babel/src/transformation/file/plugin-manager.js diff --git a/src/babel/transformation/helpers/build-binary-assignment-operator-transformer.js b/packages/babel/src/transformation/helpers/build-binary-assignment-operator-transformer.js similarity index 100% rename from src/babel/transformation/helpers/build-binary-assignment-operator-transformer.js rename to packages/babel/src/transformation/helpers/build-binary-assignment-operator-transformer.js diff --git a/src/babel/transformation/helpers/build-comprehension.js b/packages/babel/src/transformation/helpers/build-comprehension.js similarity index 100% rename from src/babel/transformation/helpers/build-comprehension.js rename to packages/babel/src/transformation/helpers/build-comprehension.js diff --git a/src/babel/transformation/helpers/build-conditional-assignment-operator-transformer.js b/packages/babel/src/transformation/helpers/build-conditional-assignment-operator-transformer.js similarity index 100% rename from src/babel/transformation/helpers/build-conditional-assignment-operator-transformer.js rename to packages/babel/src/transformation/helpers/build-conditional-assignment-operator-transformer.js diff --git a/src/babel/transformation/helpers/build-react-transformer.js b/packages/babel/src/transformation/helpers/build-react-transformer.js similarity index 100% rename from src/babel/transformation/helpers/build-react-transformer.js rename to packages/babel/src/transformation/helpers/build-react-transformer.js diff --git a/src/babel/transformation/helpers/call-delegate.js b/packages/babel/src/transformation/helpers/call-delegate.js similarity index 100% rename from src/babel/transformation/helpers/call-delegate.js rename to packages/babel/src/transformation/helpers/call-delegate.js diff --git a/src/babel/transformation/helpers/define-map.js b/packages/babel/src/transformation/helpers/define-map.js similarity index 100% rename from src/babel/transformation/helpers/define-map.js rename to packages/babel/src/transformation/helpers/define-map.js diff --git a/src/babel/transformation/helpers/explode-assignable-expression.js b/packages/babel/src/transformation/helpers/explode-assignable-expression.js similarity index 100% rename from src/babel/transformation/helpers/explode-assignable-expression.js rename to packages/babel/src/transformation/helpers/explode-assignable-expression.js diff --git a/src/babel/transformation/helpers/get-function-arity.js b/packages/babel/src/transformation/helpers/get-function-arity.js similarity index 100% rename from src/babel/transformation/helpers/get-function-arity.js rename to packages/babel/src/transformation/helpers/get-function-arity.js diff --git a/src/babel/transformation/helpers/memoise-decorators.js b/packages/babel/src/transformation/helpers/memoise-decorators.js similarity index 100% rename from src/babel/transformation/helpers/memoise-decorators.js rename to packages/babel/src/transformation/helpers/memoise-decorators.js diff --git a/src/babel/transformation/helpers/name-method.js b/packages/babel/src/transformation/helpers/name-method.js similarity index 100% rename from src/babel/transformation/helpers/name-method.js rename to packages/babel/src/transformation/helpers/name-method.js diff --git a/src/babel/transformation/helpers/react.js b/packages/babel/src/transformation/helpers/react.js similarity index 100% rename from src/babel/transformation/helpers/react.js rename to packages/babel/src/transformation/helpers/react.js diff --git a/src/babel/transformation/helpers/regex.js b/packages/babel/src/transformation/helpers/regex.js similarity index 100% rename from src/babel/transformation/helpers/regex.js rename to packages/babel/src/transformation/helpers/regex.js diff --git a/src/babel/transformation/helpers/remap-async-to-generator.js b/packages/babel/src/transformation/helpers/remap-async-to-generator.js similarity index 100% rename from src/babel/transformation/helpers/remap-async-to-generator.js rename to packages/babel/src/transformation/helpers/remap-async-to-generator.js diff --git a/src/babel/transformation/helpers/replace-supers.js b/packages/babel/src/transformation/helpers/replace-supers.js similarity index 100% rename from src/babel/transformation/helpers/replace-supers.js rename to packages/babel/src/transformation/helpers/replace-supers.js diff --git a/src/babel/transformation/index.js b/packages/babel/src/transformation/index.js similarity index 100% rename from src/babel/transformation/index.js rename to packages/babel/src/transformation/index.js diff --git a/src/babel/transformation/modules/_default.js b/packages/babel/src/transformation/modules/_default.js similarity index 100% rename from src/babel/transformation/modules/_default.js rename to packages/babel/src/transformation/modules/_default.js diff --git a/src/babel/transformation/modules/_strict.js b/packages/babel/src/transformation/modules/_strict.js similarity index 100% rename from src/babel/transformation/modules/_strict.js rename to packages/babel/src/transformation/modules/_strict.js diff --git a/src/babel/transformation/modules/amd-strict.js b/packages/babel/src/transformation/modules/amd-strict.js similarity index 100% rename from src/babel/transformation/modules/amd-strict.js rename to packages/babel/src/transformation/modules/amd-strict.js diff --git a/src/babel/transformation/modules/amd.js b/packages/babel/src/transformation/modules/amd.js similarity index 100% rename from src/babel/transformation/modules/amd.js rename to packages/babel/src/transformation/modules/amd.js diff --git a/src/babel/transformation/modules/common-strict.js b/packages/babel/src/transformation/modules/common-strict.js similarity index 100% rename from src/babel/transformation/modules/common-strict.js rename to packages/babel/src/transformation/modules/common-strict.js diff --git a/src/babel/transformation/modules/common.js b/packages/babel/src/transformation/modules/common.js similarity index 100% rename from src/babel/transformation/modules/common.js rename to packages/babel/src/transformation/modules/common.js diff --git a/src/babel/transformation/modules/ignore.js b/packages/babel/src/transformation/modules/ignore.js similarity index 100% rename from src/babel/transformation/modules/ignore.js rename to packages/babel/src/transformation/modules/ignore.js diff --git a/src/babel/transformation/modules/index.js b/packages/babel/src/transformation/modules/index.js similarity index 100% rename from src/babel/transformation/modules/index.js rename to packages/babel/src/transformation/modules/index.js diff --git a/src/babel/transformation/modules/lib/remaps.js b/packages/babel/src/transformation/modules/lib/remaps.js similarity index 100% rename from src/babel/transformation/modules/lib/remaps.js rename to packages/babel/src/transformation/modules/lib/remaps.js diff --git a/src/babel/transformation/modules/system.js b/packages/babel/src/transformation/modules/system.js similarity index 100% rename from src/babel/transformation/modules/system.js rename to packages/babel/src/transformation/modules/system.js diff --git a/src/babel/transformation/modules/umd-strict.js b/packages/babel/src/transformation/modules/umd-strict.js similarity index 100% rename from src/babel/transformation/modules/umd-strict.js rename to packages/babel/src/transformation/modules/umd-strict.js diff --git a/src/babel/transformation/modules/umd.js b/packages/babel/src/transformation/modules/umd.js similarity index 100% rename from src/babel/transformation/modules/umd.js rename to packages/babel/src/transformation/modules/umd.js diff --git a/src/babel/transformation/pipeline.js b/packages/babel/src/transformation/pipeline.js similarity index 90% rename from src/babel/transformation/pipeline.js rename to packages/babel/src/transformation/pipeline.js index ae74d9d0bc..104b1a679d 100644 --- a/src/babel/transformation/pipeline.js +++ b/packages/babel/src/transformation/pipeline.js @@ -1,5 +1,6 @@ import PluginManager from "./file/plugin-manager"; import normalizeAst from "../helpers/normalize-ast"; +import { Promise } from "bluebird"; import Plugin from "./plugin"; import assign from "lodash/object/assign"; import object from "../helpers/object"; @@ -90,19 +91,20 @@ export default class Pipeline { var file = new File(opts, this); return file.wrap(code, function () { file.addCode(code); - file.parseCode(code); - return file.transform(); + return file.parseCode(code).then(() => file.transform()); }); } transformFromAst(ast, code, opts) { - ast = normalizeAst(ast); + return new Promise((resolve) => { + ast = normalizeAst(ast); - var file = new File(opts, this); - return file.wrap(code, function () { - file.addCode(code); - file.addAst(ast); - return file.transform(); + var file = new File(opts, this); + resolve(file.wrap(code, function () { + file.addCode(code); + file.addAst(ast); + return file.transform(); + })); }); } diff --git a/src/babel/transformation/plugin-pass.js b/packages/babel/src/transformation/plugin-pass.js similarity index 100% rename from src/babel/transformation/plugin-pass.js rename to packages/babel/src/transformation/plugin-pass.js diff --git a/src/babel/transformation/plugin.js b/packages/babel/src/transformation/plugin.js similarity index 100% rename from src/babel/transformation/plugin.js rename to packages/babel/src/transformation/plugin.js diff --git a/src/babel/transformation/templates/.babelrc b/packages/babel/src/transformation/templates/.babelrc similarity index 100% rename from src/babel/transformation/templates/.babelrc rename to packages/babel/src/transformation/templates/.babelrc diff --git a/src/babel/transformation/templates/abstract-expression-call.js b/packages/babel/src/transformation/templates/abstract-expression-call.js similarity index 100% rename from src/babel/transformation/templates/abstract-expression-call.js rename to packages/babel/src/transformation/templates/abstract-expression-call.js diff --git a/src/babel/transformation/templates/abstract-expression-delete.js b/packages/babel/src/transformation/templates/abstract-expression-delete.js similarity index 100% rename from src/babel/transformation/templates/abstract-expression-delete.js rename to packages/babel/src/transformation/templates/abstract-expression-delete.js diff --git a/src/babel/transformation/templates/abstract-expression-get.js b/packages/babel/src/transformation/templates/abstract-expression-get.js similarity index 100% rename from src/babel/transformation/templates/abstract-expression-get.js rename to packages/babel/src/transformation/templates/abstract-expression-get.js diff --git a/src/babel/transformation/templates/abstract-expression-set.js b/packages/babel/src/transformation/templates/abstract-expression-set.js similarity index 100% rename from src/babel/transformation/templates/abstract-expression-set.js rename to packages/babel/src/transformation/templates/abstract-expression-set.js diff --git a/src/babel/transformation/templates/array-comprehension-container.js b/packages/babel/src/transformation/templates/array-comprehension-container.js similarity index 100% rename from src/babel/transformation/templates/array-comprehension-container.js rename to packages/babel/src/transformation/templates/array-comprehension-container.js diff --git a/src/babel/transformation/templates/array-from.js b/packages/babel/src/transformation/templates/array-from.js similarity index 100% rename from src/babel/transformation/templates/array-from.js rename to packages/babel/src/transformation/templates/array-from.js diff --git a/src/babel/transformation/templates/array-push.js b/packages/babel/src/transformation/templates/array-push.js similarity index 100% rename from src/babel/transformation/templates/array-push.js rename to packages/babel/src/transformation/templates/array-push.js diff --git a/src/babel/transformation/templates/call.js b/packages/babel/src/transformation/templates/call.js similarity index 100% rename from src/babel/transformation/templates/call.js rename to packages/babel/src/transformation/templates/call.js diff --git a/src/babel/transformation/templates/class-decorator.js b/packages/babel/src/transformation/templates/class-decorator.js similarity index 100% rename from src/babel/transformation/templates/class-decorator.js rename to packages/babel/src/transformation/templates/class-decorator.js diff --git a/src/babel/transformation/templates/class-derived-default-constructor.js b/packages/babel/src/transformation/templates/class-derived-default-constructor.js similarity index 100% rename from src/babel/transformation/templates/class-derived-default-constructor.js rename to packages/babel/src/transformation/templates/class-derived-default-constructor.js diff --git a/src/babel/transformation/templates/default-parameter-assign.js b/packages/babel/src/transformation/templates/default-parameter-assign.js similarity index 100% rename from src/babel/transformation/templates/default-parameter-assign.js rename to packages/babel/src/transformation/templates/default-parameter-assign.js diff --git a/src/babel/transformation/templates/default-parameter.js b/packages/babel/src/transformation/templates/default-parameter.js similarity index 100% rename from src/babel/transformation/templates/default-parameter.js rename to packages/babel/src/transformation/templates/default-parameter.js diff --git a/src/babel/transformation/templates/exports-assign.js b/packages/babel/src/transformation/templates/exports-assign.js similarity index 100% rename from src/babel/transformation/templates/exports-assign.js rename to packages/babel/src/transformation/templates/exports-assign.js diff --git a/src/babel/transformation/templates/exports-default-assign.js b/packages/babel/src/transformation/templates/exports-default-assign.js similarity index 100% rename from src/babel/transformation/templates/exports-default-assign.js rename to packages/babel/src/transformation/templates/exports-default-assign.js diff --git a/src/babel/transformation/templates/exports-from-assign.js b/packages/babel/src/transformation/templates/exports-from-assign.js similarity index 100% rename from src/babel/transformation/templates/exports-from-assign.js rename to packages/babel/src/transformation/templates/exports-from-assign.js diff --git a/src/babel/transformation/templates/exports-module-declaration-loose.js b/packages/babel/src/transformation/templates/exports-module-declaration-loose.js similarity index 100% rename from src/babel/transformation/templates/exports-module-declaration-loose.js rename to packages/babel/src/transformation/templates/exports-module-declaration-loose.js diff --git a/src/babel/transformation/templates/exports-module-declaration.js b/packages/babel/src/transformation/templates/exports-module-declaration.js similarity index 100% rename from src/babel/transformation/templates/exports-module-declaration.js rename to packages/babel/src/transformation/templates/exports-module-declaration.js diff --git a/src/babel/transformation/templates/for-of-array.js b/packages/babel/src/transformation/templates/for-of-array.js similarity index 100% rename from src/babel/transformation/templates/for-of-array.js rename to packages/babel/src/transformation/templates/for-of-array.js diff --git a/src/babel/transformation/templates/for-of-loose.js b/packages/babel/src/transformation/templates/for-of-loose.js similarity index 100% rename from src/babel/transformation/templates/for-of-loose.js rename to packages/babel/src/transformation/templates/for-of-loose.js diff --git a/src/babel/transformation/templates/for-of.js b/packages/babel/src/transformation/templates/for-of.js similarity index 100% rename from src/babel/transformation/templates/for-of.js rename to packages/babel/src/transformation/templates/for-of.js diff --git a/src/babel/transformation/templates/helper-async-to-generator.js b/packages/babel/src/transformation/templates/helper-async-to-generator.js similarity index 100% rename from src/babel/transformation/templates/helper-async-to-generator.js rename to packages/babel/src/transformation/templates/helper-async-to-generator.js diff --git a/src/babel/transformation/templates/helper-bind.js b/packages/babel/src/transformation/templates/helper-bind.js similarity index 100% rename from src/babel/transformation/templates/helper-bind.js rename to packages/babel/src/transformation/templates/helper-bind.js diff --git a/src/babel/transformation/templates/helper-class-call-check.js b/packages/babel/src/transformation/templates/helper-class-call-check.js similarity index 100% rename from src/babel/transformation/templates/helper-class-call-check.js rename to packages/babel/src/transformation/templates/helper-class-call-check.js diff --git a/src/babel/transformation/templates/helper-create-class.js b/packages/babel/src/transformation/templates/helper-create-class.js similarity index 100% rename from src/babel/transformation/templates/helper-create-class.js rename to packages/babel/src/transformation/templates/helper-create-class.js diff --git a/src/babel/transformation/templates/helper-create-decorated-class.js b/packages/babel/src/transformation/templates/helper-create-decorated-class.js similarity index 100% rename from src/babel/transformation/templates/helper-create-decorated-class.js rename to packages/babel/src/transformation/templates/helper-create-decorated-class.js diff --git a/src/babel/transformation/templates/helper-create-decorated-object.js b/packages/babel/src/transformation/templates/helper-create-decorated-object.js similarity index 100% rename from src/babel/transformation/templates/helper-create-decorated-object.js rename to packages/babel/src/transformation/templates/helper-create-decorated-object.js diff --git a/src/babel/transformation/templates/helper-default-props.js b/packages/babel/src/transformation/templates/helper-default-props.js similarity index 100% rename from src/babel/transformation/templates/helper-default-props.js rename to packages/babel/src/transformation/templates/helper-default-props.js diff --git a/src/babel/transformation/templates/helper-defaults.js b/packages/babel/src/transformation/templates/helper-defaults.js similarity index 100% rename from src/babel/transformation/templates/helper-defaults.js rename to packages/babel/src/transformation/templates/helper-defaults.js diff --git a/src/babel/transformation/templates/helper-define-decorated-property-descriptor.js b/packages/babel/src/transformation/templates/helper-define-decorated-property-descriptor.js similarity index 100% rename from src/babel/transformation/templates/helper-define-decorated-property-descriptor.js rename to packages/babel/src/transformation/templates/helper-define-decorated-property-descriptor.js diff --git a/src/babel/transformation/templates/helper-define-property.js b/packages/babel/src/transformation/templates/helper-define-property.js similarity index 100% rename from src/babel/transformation/templates/helper-define-property.js rename to packages/babel/src/transformation/templates/helper-define-property.js diff --git a/src/babel/transformation/templates/helper-extends.js b/packages/babel/src/transformation/templates/helper-extends.js similarity index 100% rename from src/babel/transformation/templates/helper-extends.js rename to packages/babel/src/transformation/templates/helper-extends.js diff --git a/src/babel/transformation/templates/helper-get.js b/packages/babel/src/transformation/templates/helper-get.js similarity index 100% rename from src/babel/transformation/templates/helper-get.js rename to packages/babel/src/transformation/templates/helper-get.js diff --git a/src/babel/transformation/templates/helper-has-own.js b/packages/babel/src/transformation/templates/helper-has-own.js similarity index 100% rename from src/babel/transformation/templates/helper-has-own.js rename to packages/babel/src/transformation/templates/helper-has-own.js diff --git a/src/babel/transformation/templates/helper-inherits.js b/packages/babel/src/transformation/templates/helper-inherits.js similarity index 100% rename from src/babel/transformation/templates/helper-inherits.js rename to packages/babel/src/transformation/templates/helper-inherits.js diff --git a/src/babel/transformation/templates/helper-instanceof.js b/packages/babel/src/transformation/templates/helper-instanceof.js similarity index 100% rename from src/babel/transformation/templates/helper-instanceof.js rename to packages/babel/src/transformation/templates/helper-instanceof.js diff --git a/src/babel/transformation/templates/helper-interop-require-default.js b/packages/babel/src/transformation/templates/helper-interop-require-default.js similarity index 100% rename from src/babel/transformation/templates/helper-interop-require-default.js rename to packages/babel/src/transformation/templates/helper-interop-require-default.js diff --git a/src/babel/transformation/templates/helper-interop-require-wildcard.js b/packages/babel/src/transformation/templates/helper-interop-require-wildcard.js similarity index 100% rename from src/babel/transformation/templates/helper-interop-require-wildcard.js rename to packages/babel/src/transformation/templates/helper-interop-require-wildcard.js diff --git a/src/babel/transformation/templates/helper-interop-require.js b/packages/babel/src/transformation/templates/helper-interop-require.js similarity index 100% rename from src/babel/transformation/templates/helper-interop-require.js rename to packages/babel/src/transformation/templates/helper-interop-require.js diff --git a/src/babel/transformation/templates/helper-object-destructuring-empty.js b/packages/babel/src/transformation/templates/helper-object-destructuring-empty.js similarity index 100% rename from src/babel/transformation/templates/helper-object-destructuring-empty.js rename to packages/babel/src/transformation/templates/helper-object-destructuring-empty.js diff --git a/src/babel/transformation/templates/helper-object-without-properties.js b/packages/babel/src/transformation/templates/helper-object-without-properties.js similarity index 100% rename from src/babel/transformation/templates/helper-object-without-properties.js rename to packages/babel/src/transformation/templates/helper-object-without-properties.js diff --git a/src/babel/transformation/templates/helper-self-global.js b/packages/babel/src/transformation/templates/helper-self-global.js similarity index 100% rename from src/babel/transformation/templates/helper-self-global.js rename to packages/babel/src/transformation/templates/helper-self-global.js diff --git a/src/babel/transformation/templates/helper-set.js b/packages/babel/src/transformation/templates/helper-set.js similarity index 100% rename from src/babel/transformation/templates/helper-set.js rename to packages/babel/src/transformation/templates/helper-set.js diff --git a/src/babel/transformation/templates/helper-slice.js b/packages/babel/src/transformation/templates/helper-slice.js similarity index 100% rename from src/babel/transformation/templates/helper-slice.js rename to packages/babel/src/transformation/templates/helper-slice.js diff --git a/src/babel/transformation/templates/helper-sliced-to-array-loose.js b/packages/babel/src/transformation/templates/helper-sliced-to-array-loose.js similarity index 100% rename from src/babel/transformation/templates/helper-sliced-to-array-loose.js rename to packages/babel/src/transformation/templates/helper-sliced-to-array-loose.js diff --git a/src/babel/transformation/templates/helper-sliced-to-array.js b/packages/babel/src/transformation/templates/helper-sliced-to-array.js similarity index 100% rename from src/babel/transformation/templates/helper-sliced-to-array.js rename to packages/babel/src/transformation/templates/helper-sliced-to-array.js diff --git a/src/babel/transformation/templates/helper-tagged-template-literal-loose.js b/packages/babel/src/transformation/templates/helper-tagged-template-literal-loose.js similarity index 100% rename from src/babel/transformation/templates/helper-tagged-template-literal-loose.js rename to packages/babel/src/transformation/templates/helper-tagged-template-literal-loose.js diff --git a/src/babel/transformation/templates/helper-tagged-template-literal.js b/packages/babel/src/transformation/templates/helper-tagged-template-literal.js similarity index 100% rename from src/babel/transformation/templates/helper-tagged-template-literal.js rename to packages/babel/src/transformation/templates/helper-tagged-template-literal.js diff --git a/src/babel/transformation/templates/helper-temporal-assert-defined.js b/packages/babel/src/transformation/templates/helper-temporal-assert-defined.js similarity index 100% rename from src/babel/transformation/templates/helper-temporal-assert-defined.js rename to packages/babel/src/transformation/templates/helper-temporal-assert-defined.js diff --git a/src/babel/transformation/templates/helper-temporal-undefined.js b/packages/babel/src/transformation/templates/helper-temporal-undefined.js similarity index 100% rename from src/babel/transformation/templates/helper-temporal-undefined.js rename to packages/babel/src/transformation/templates/helper-temporal-undefined.js diff --git a/src/babel/transformation/templates/helper-to-array.js b/packages/babel/src/transformation/templates/helper-to-array.js similarity index 100% rename from src/babel/transformation/templates/helper-to-array.js rename to packages/babel/src/transformation/templates/helper-to-array.js diff --git a/src/babel/transformation/templates/helper-to-consumable-array.js b/packages/babel/src/transformation/templates/helper-to-consumable-array.js similarity index 100% rename from src/babel/transformation/templates/helper-to-consumable-array.js rename to packages/babel/src/transformation/templates/helper-to-consumable-array.js diff --git a/src/babel/transformation/templates/helper-typeof.js b/packages/babel/src/transformation/templates/helper-typeof.js similarity index 100% rename from src/babel/transformation/templates/helper-typeof.js rename to packages/babel/src/transformation/templates/helper-typeof.js diff --git a/src/babel/transformation/templates/let-scoping-return.js b/packages/babel/src/transformation/templates/let-scoping-return.js similarity index 100% rename from src/babel/transformation/templates/let-scoping-return.js rename to packages/babel/src/transformation/templates/let-scoping-return.js diff --git a/src/babel/transformation/templates/named-function.js b/packages/babel/src/transformation/templates/named-function.js similarity index 100% rename from src/babel/transformation/templates/named-function.js rename to packages/babel/src/transformation/templates/named-function.js diff --git a/src/babel/transformation/templates/property-method-assignment-wrapper-generator.js b/packages/babel/src/transformation/templates/property-method-assignment-wrapper-generator.js similarity index 100% rename from src/babel/transformation/templates/property-method-assignment-wrapper-generator.js rename to packages/babel/src/transformation/templates/property-method-assignment-wrapper-generator.js diff --git a/src/babel/transformation/templates/property-method-assignment-wrapper.js b/packages/babel/src/transformation/templates/property-method-assignment-wrapper.js similarity index 100% rename from src/babel/transformation/templates/property-method-assignment-wrapper.js rename to packages/babel/src/transformation/templates/property-method-assignment-wrapper.js diff --git a/src/babel/transformation/templates/prototype-identifier.js b/packages/babel/src/transformation/templates/prototype-identifier.js similarity index 100% rename from src/babel/transformation/templates/prototype-identifier.js rename to packages/babel/src/transformation/templates/prototype-identifier.js diff --git a/src/babel/transformation/templates/require-assign-key.js b/packages/babel/src/transformation/templates/require-assign-key.js similarity index 100% rename from src/babel/transformation/templates/require-assign-key.js rename to packages/babel/src/transformation/templates/require-assign-key.js diff --git a/src/babel/transformation/templates/require.js b/packages/babel/src/transformation/templates/require.js similarity index 100% rename from src/babel/transformation/templates/require.js rename to packages/babel/src/transformation/templates/require.js diff --git a/src/babel/transformation/templates/rest.js b/packages/babel/src/transformation/templates/rest.js similarity index 100% rename from src/babel/transformation/templates/rest.js rename to packages/babel/src/transformation/templates/rest.js diff --git a/src/babel/transformation/templates/self-contained-helpers-head.js b/packages/babel/src/transformation/templates/self-contained-helpers-head.js similarity index 100% rename from src/babel/transformation/templates/self-contained-helpers-head.js rename to packages/babel/src/transformation/templates/self-contained-helpers-head.js diff --git a/src/babel/transformation/templates/system.js b/packages/babel/src/transformation/templates/system.js similarity index 100% rename from src/babel/transformation/templates/system.js rename to packages/babel/src/transformation/templates/system.js diff --git a/src/babel/transformation/templates/tail-call-body.js b/packages/babel/src/transformation/templates/tail-call-body.js similarity index 100% rename from src/babel/transformation/templates/tail-call-body.js rename to packages/babel/src/transformation/templates/tail-call-body.js diff --git a/src/babel/transformation/templates/test-exports.js b/packages/babel/src/transformation/templates/test-exports.js similarity index 100% rename from src/babel/transformation/templates/test-exports.js rename to packages/babel/src/transformation/templates/test-exports.js diff --git a/src/babel/transformation/templates/test-module.js b/packages/babel/src/transformation/templates/test-module.js similarity index 100% rename from src/babel/transformation/templates/test-module.js rename to packages/babel/src/transformation/templates/test-module.js diff --git a/src/babel/transformation/templates/umd-commonjs-strict.js b/packages/babel/src/transformation/templates/umd-commonjs-strict.js similarity index 100% rename from src/babel/transformation/templates/umd-commonjs-strict.js rename to packages/babel/src/transformation/templates/umd-commonjs-strict.js diff --git a/src/babel/transformation/templates/umd-runner-body.js b/packages/babel/src/transformation/templates/umd-runner-body.js similarity index 100% rename from src/babel/transformation/templates/umd-runner-body.js rename to packages/babel/src/transformation/templates/umd-runner-body.js diff --git a/src/babel/transformation/transformer.js b/packages/babel/src/transformation/transformer.js similarity index 100% rename from src/babel/transformation/transformer.js rename to packages/babel/src/transformation/transformer.js diff --git a/src/babel/transformation/transformers/aliases.json b/packages/babel/src/transformation/transformers/aliases.json similarity index 100% rename from src/babel/transformation/transformers/aliases.json rename to packages/babel/src/transformation/transformers/aliases.json diff --git a/src/babel/transformation/transformers/deprecated.json b/packages/babel/src/transformation/transformers/deprecated.json similarity index 100% rename from src/babel/transformation/transformers/deprecated.json rename to packages/babel/src/transformation/transformers/deprecated.json diff --git a/src/babel/transformation/transformers/es3/member-expression-literals.js b/packages/babel/src/transformation/transformers/es3/member-expression-literals.js similarity index 100% rename from src/babel/transformation/transformers/es3/member-expression-literals.js rename to packages/babel/src/transformation/transformers/es3/member-expression-literals.js diff --git a/src/babel/transformation/transformers/es3/property-literals.js b/packages/babel/src/transformation/transformers/es3/property-literals.js similarity index 100% rename from src/babel/transformation/transformers/es3/property-literals.js rename to packages/babel/src/transformation/transformers/es3/property-literals.js diff --git a/src/babel/transformation/transformers/es5/properties.mutators.js b/packages/babel/src/transformation/transformers/es5/properties.mutators.js similarity index 100% rename from src/babel/transformation/transformers/es5/properties.mutators.js rename to packages/babel/src/transformation/transformers/es5/properties.mutators.js diff --git a/src/babel/transformation/transformers/es6/arrow-functions.js b/packages/babel/src/transformation/transformers/es6/arrow-functions.js similarity index 100% rename from src/babel/transformation/transformers/es6/arrow-functions.js rename to packages/babel/src/transformation/transformers/es6/arrow-functions.js diff --git a/src/babel/transformation/transformers/es6/block-scoping.js b/packages/babel/src/transformation/transformers/es6/block-scoping.js similarity index 100% rename from src/babel/transformation/transformers/es6/block-scoping.js rename to packages/babel/src/transformation/transformers/es6/block-scoping.js diff --git a/src/babel/transformation/transformers/es6/classes/index.js b/packages/babel/src/transformation/transformers/es6/classes/index.js similarity index 100% rename from src/babel/transformation/transformers/es6/classes/index.js rename to packages/babel/src/transformation/transformers/es6/classes/index.js diff --git a/src/babel/transformation/transformers/es6/classes/loose.js b/packages/babel/src/transformation/transformers/es6/classes/loose.js similarity index 100% rename from src/babel/transformation/transformers/es6/classes/loose.js rename to packages/babel/src/transformation/transformers/es6/classes/loose.js diff --git a/src/babel/transformation/transformers/es6/classes/vanilla.js b/packages/babel/src/transformation/transformers/es6/classes/vanilla.js similarity index 100% rename from src/babel/transformation/transformers/es6/classes/vanilla.js rename to packages/babel/src/transformation/transformers/es6/classes/vanilla.js diff --git a/src/babel/transformation/transformers/es6/constants.js b/packages/babel/src/transformation/transformers/es6/constants.js similarity index 100% rename from src/babel/transformation/transformers/es6/constants.js rename to packages/babel/src/transformation/transformers/es6/constants.js diff --git a/src/babel/transformation/transformers/es6/destructuring.js b/packages/babel/src/transformation/transformers/es6/destructuring.js similarity index 100% rename from src/babel/transformation/transformers/es6/destructuring.js rename to packages/babel/src/transformation/transformers/es6/destructuring.js diff --git a/src/babel/transformation/transformers/es6/for-of.js b/packages/babel/src/transformation/transformers/es6/for-of.js similarity index 100% rename from src/babel/transformation/transformers/es6/for-of.js rename to packages/babel/src/transformation/transformers/es6/for-of.js diff --git a/src/babel/transformation/transformers/es6/modules.js b/packages/babel/src/transformation/transformers/es6/modules.js similarity index 100% rename from src/babel/transformation/transformers/es6/modules.js rename to packages/babel/src/transformation/transformers/es6/modules.js diff --git a/src/babel/transformation/transformers/es6/object-super.js b/packages/babel/src/transformation/transformers/es6/object-super.js similarity index 100% rename from src/babel/transformation/transformers/es6/object-super.js rename to packages/babel/src/transformation/transformers/es6/object-super.js diff --git a/src/babel/transformation/transformers/es6/parameters/default.js b/packages/babel/src/transformation/transformers/es6/parameters/default.js similarity index 100% rename from src/babel/transformation/transformers/es6/parameters/default.js rename to packages/babel/src/transformation/transformers/es6/parameters/default.js diff --git a/src/babel/transformation/transformers/es6/parameters/index.js b/packages/babel/src/transformation/transformers/es6/parameters/index.js similarity index 100% rename from src/babel/transformation/transformers/es6/parameters/index.js rename to packages/babel/src/transformation/transformers/es6/parameters/index.js diff --git a/src/babel/transformation/transformers/es6/parameters/rest.js b/packages/babel/src/transformation/transformers/es6/parameters/rest.js similarity index 100% rename from src/babel/transformation/transformers/es6/parameters/rest.js rename to packages/babel/src/transformation/transformers/es6/parameters/rest.js diff --git a/src/babel/transformation/transformers/es6/properties.computed.js b/packages/babel/src/transformation/transformers/es6/properties.computed.js similarity index 100% rename from src/babel/transformation/transformers/es6/properties.computed.js rename to packages/babel/src/transformation/transformers/es6/properties.computed.js diff --git a/src/babel/transformation/transformers/es6/properties.shorthand.js b/packages/babel/src/transformation/transformers/es6/properties.shorthand.js similarity index 100% rename from src/babel/transformation/transformers/es6/properties.shorthand.js rename to packages/babel/src/transformation/transformers/es6/properties.shorthand.js diff --git a/src/babel/transformation/transformers/es6/regex.sticky.js b/packages/babel/src/transformation/transformers/es6/regex.sticky.js similarity index 100% rename from src/babel/transformation/transformers/es6/regex.sticky.js rename to packages/babel/src/transformation/transformers/es6/regex.sticky.js diff --git a/src/babel/transformation/transformers/es6/regex.unicode.js b/packages/babel/src/transformation/transformers/es6/regex.unicode.js similarity index 100% rename from src/babel/transformation/transformers/es6/regex.unicode.js rename to packages/babel/src/transformation/transformers/es6/regex.unicode.js diff --git a/src/babel/transformation/transformers/es6/spec.block-scoping.js b/packages/babel/src/transformation/transformers/es6/spec.block-scoping.js similarity index 100% rename from src/babel/transformation/transformers/es6/spec.block-scoping.js rename to packages/babel/src/transformation/transformers/es6/spec.block-scoping.js diff --git a/src/babel/transformation/transformers/es6/spec.symbols.js b/packages/babel/src/transformation/transformers/es6/spec.symbols.js similarity index 100% rename from src/babel/transformation/transformers/es6/spec.symbols.js rename to packages/babel/src/transformation/transformers/es6/spec.symbols.js diff --git a/src/babel/transformation/transformers/es6/spec.template-literals.js b/packages/babel/src/transformation/transformers/es6/spec.template-literals.js similarity index 100% rename from src/babel/transformation/transformers/es6/spec.template-literals.js rename to packages/babel/src/transformation/transformers/es6/spec.template-literals.js diff --git a/src/babel/transformation/transformers/es6/spread.js b/packages/babel/src/transformation/transformers/es6/spread.js similarity index 100% rename from src/babel/transformation/transformers/es6/spread.js rename to packages/babel/src/transformation/transformers/es6/spread.js diff --git a/src/babel/transformation/transformers/es6/tail-call.js b/packages/babel/src/transformation/transformers/es6/tail-call.js similarity index 100% rename from src/babel/transformation/transformers/es6/tail-call.js rename to packages/babel/src/transformation/transformers/es6/tail-call.js diff --git a/src/babel/transformation/transformers/es6/template-literals.js b/packages/babel/src/transformation/transformers/es6/template-literals.js similarity index 100% rename from src/babel/transformation/transformers/es6/template-literals.js rename to packages/babel/src/transformation/transformers/es6/template-literals.js diff --git a/src/babel/transformation/transformers/es7/async-functions.js b/packages/babel/src/transformation/transformers/es7/async-functions.js similarity index 100% rename from src/babel/transformation/transformers/es7/async-functions.js rename to packages/babel/src/transformation/transformers/es7/async-functions.js diff --git a/src/babel/transformation/transformers/es7/class-properties.js b/packages/babel/src/transformation/transformers/es7/class-properties.js similarity index 100% rename from src/babel/transformation/transformers/es7/class-properties.js rename to packages/babel/src/transformation/transformers/es7/class-properties.js diff --git a/src/babel/transformation/transformers/es7/comprehensions.js b/packages/babel/src/transformation/transformers/es7/comprehensions.js similarity index 100% rename from src/babel/transformation/transformers/es7/comprehensions.js rename to packages/babel/src/transformation/transformers/es7/comprehensions.js diff --git a/src/babel/transformation/transformers/es7/decorators.js b/packages/babel/src/transformation/transformers/es7/decorators.js similarity index 100% rename from src/babel/transformation/transformers/es7/decorators.js rename to packages/babel/src/transformation/transformers/es7/decorators.js diff --git a/src/babel/transformation/transformers/es7/do-expressions.js b/packages/babel/src/transformation/transformers/es7/do-expressions.js similarity index 100% rename from src/babel/transformation/transformers/es7/do-expressions.js rename to packages/babel/src/transformation/transformers/es7/do-expressions.js diff --git a/src/babel/transformation/transformers/es7/exponentiation-operator.js b/packages/babel/src/transformation/transformers/es7/exponentiation-operator.js similarity index 100% rename from src/babel/transformation/transformers/es7/exponentiation-operator.js rename to packages/babel/src/transformation/transformers/es7/exponentiation-operator.js diff --git a/src/babel/transformation/transformers/es7/export-extensions.js b/packages/babel/src/transformation/transformers/es7/export-extensions.js similarity index 100% rename from src/babel/transformation/transformers/es7/export-extensions.js rename to packages/babel/src/transformation/transformers/es7/export-extensions.js diff --git a/src/babel/transformation/transformers/es7/function-bind.js b/packages/babel/src/transformation/transformers/es7/function-bind.js similarity index 100% rename from src/babel/transformation/transformers/es7/function-bind.js rename to packages/babel/src/transformation/transformers/es7/function-bind.js diff --git a/src/babel/transformation/transformers/es7/object-rest-spread.js b/packages/babel/src/transformation/transformers/es7/object-rest-spread.js similarity index 100% rename from src/babel/transformation/transformers/es7/object-rest-spread.js rename to packages/babel/src/transformation/transformers/es7/object-rest-spread.js diff --git a/src/babel/transformation/transformers/es7/trailing-function-commas.js b/packages/babel/src/transformation/transformers/es7/trailing-function-commas.js similarity index 100% rename from src/babel/transformation/transformers/es7/trailing-function-commas.js rename to packages/babel/src/transformation/transformers/es7/trailing-function-commas.js diff --git a/src/babel/transformation/transformers/filters.js b/packages/babel/src/transformation/transformers/filters.js similarity index 100% rename from src/babel/transformation/transformers/filters.js rename to packages/babel/src/transformation/transformers/filters.js diff --git a/src/babel/transformation/transformers/index.js b/packages/babel/src/transformation/transformers/index.js similarity index 100% rename from src/babel/transformation/transformers/index.js rename to packages/babel/src/transformation/transformers/index.js diff --git a/src/babel/transformation/transformers/internal/block-hoist.js b/packages/babel/src/transformation/transformers/internal/block-hoist.js similarity index 100% rename from src/babel/transformation/transformers/internal/block-hoist.js rename to packages/babel/src/transformation/transformers/internal/block-hoist.js diff --git a/src/babel/transformation/transformers/internal/explode.js b/packages/babel/src/transformation/transformers/internal/explode.js similarity index 100% rename from src/babel/transformation/transformers/internal/explode.js rename to packages/babel/src/transformation/transformers/internal/explode.js diff --git a/src/babel/transformation/transformers/internal/hoist-directives.js b/packages/babel/src/transformation/transformers/internal/hoist-directives.js similarity index 100% rename from src/babel/transformation/transformers/internal/hoist-directives.js rename to packages/babel/src/transformation/transformers/internal/hoist-directives.js diff --git a/src/babel/transformation/transformers/internal/module-formatter.js b/packages/babel/src/transformation/transformers/internal/module-formatter.js similarity index 100% rename from src/babel/transformation/transformers/internal/module-formatter.js rename to packages/babel/src/transformation/transformers/internal/module-formatter.js diff --git a/src/babel/transformation/transformers/internal/modules.js b/packages/babel/src/transformation/transformers/internal/modules.js similarity index 100% rename from src/babel/transformation/transformers/internal/modules.js rename to packages/babel/src/transformation/transformers/internal/modules.js diff --git a/src/babel/transformation/transformers/internal/shadow-functions.js b/packages/babel/src/transformation/transformers/internal/shadow-functions.js similarity index 100% rename from src/babel/transformation/transformers/internal/shadow-functions.js rename to packages/babel/src/transformation/transformers/internal/shadow-functions.js diff --git a/src/babel/transformation/transformers/internal/validation.js b/packages/babel/src/transformation/transformers/internal/validation.js similarity index 100% rename from src/babel/transformation/transformers/internal/validation.js rename to packages/babel/src/transformation/transformers/internal/validation.js diff --git a/src/babel/transformation/transformers/optimisation/flow.for-of.js b/packages/babel/src/transformation/transformers/optimisation/flow.for-of.js similarity index 100% rename from src/babel/transformation/transformers/optimisation/flow.for-of.js rename to packages/babel/src/transformation/transformers/optimisation/flow.for-of.js diff --git a/src/babel/transformation/transformers/optimisation/modules.system.js b/packages/babel/src/transformation/transformers/optimisation/modules.system.js similarity index 100% rename from src/babel/transformation/transformers/optimisation/modules.system.js rename to packages/babel/src/transformation/transformers/optimisation/modules.system.js diff --git a/src/babel/transformation/transformers/optimisation/react.inline-elements.js b/packages/babel/src/transformation/transformers/optimisation/react.inline-elements.js similarity index 100% rename from src/babel/transformation/transformers/optimisation/react.inline-elements.js rename to packages/babel/src/transformation/transformers/optimisation/react.inline-elements.js diff --git a/src/babel/transformation/transformers/other/async-to-generator.js b/packages/babel/src/transformation/transformers/other/async-to-generator.js similarity index 100% rename from src/babel/transformation/transformers/other/async-to-generator.js rename to packages/babel/src/transformation/transformers/other/async-to-generator.js diff --git a/src/babel/transformation/transformers/other/bluebird-coroutines.js b/packages/babel/src/transformation/transformers/other/bluebird-coroutines.js similarity index 100% rename from src/babel/transformation/transformers/other/bluebird-coroutines.js rename to packages/babel/src/transformation/transformers/other/bluebird-coroutines.js diff --git a/src/babel/transformation/transformers/other/flow.js b/packages/babel/src/transformation/transformers/other/flow.js similarity index 100% rename from src/babel/transformation/transformers/other/flow.js rename to packages/babel/src/transformation/transformers/other/flow.js diff --git a/src/babel/transformation/transformers/other/react-compat.js b/packages/babel/src/transformation/transformers/other/react-compat.js similarity index 100% rename from src/babel/transformation/transformers/other/react-compat.js rename to packages/babel/src/transformation/transformers/other/react-compat.js diff --git a/src/babel/transformation/transformers/other/react.js b/packages/babel/src/transformation/transformers/other/react.js similarity index 100% rename from src/babel/transformation/transformers/other/react.js rename to packages/babel/src/transformation/transformers/other/react.js diff --git a/src/babel/transformation/transformers/other/regenerator.js b/packages/babel/src/transformation/transformers/other/regenerator.js similarity index 100% rename from src/babel/transformation/transformers/other/regenerator.js rename to packages/babel/src/transformation/transformers/other/regenerator.js diff --git a/src/babel/transformation/transformers/other/strict.js b/packages/babel/src/transformation/transformers/other/strict.js similarity index 100% rename from src/babel/transformation/transformers/other/strict.js rename to packages/babel/src/transformation/transformers/other/strict.js diff --git a/src/babel/transformation/transformers/spec/block-scoped-functions.js b/packages/babel/src/transformation/transformers/spec/block-scoped-functions.js similarity index 100% rename from src/babel/transformation/transformers/spec/block-scoped-functions.js rename to packages/babel/src/transformation/transformers/spec/block-scoped-functions.js diff --git a/src/babel/transformation/transformers/spec/function-name.js b/packages/babel/src/transformation/transformers/spec/function-name.js similarity index 100% rename from src/babel/transformation/transformers/spec/function-name.js rename to packages/babel/src/transformation/transformers/spec/function-name.js diff --git a/src/babel/transformation/transformers/validation/react.js b/packages/babel/src/transformation/transformers/validation/react.js similarity index 100% rename from src/babel/transformation/transformers/validation/react.js rename to packages/babel/src/transformation/transformers/validation/react.js diff --git a/src/babel/traversal/context.js b/packages/babel/src/traversal/context.js similarity index 100% rename from src/babel/traversal/context.js rename to packages/babel/src/traversal/context.js diff --git a/src/babel/traversal/hub.js b/packages/babel/src/traversal/hub.js similarity index 100% rename from src/babel/traversal/hub.js rename to packages/babel/src/traversal/hub.js diff --git a/src/babel/traversal/index.js b/packages/babel/src/traversal/index.js similarity index 100% rename from src/babel/traversal/index.js rename to packages/babel/src/traversal/index.js diff --git a/src/babel/traversal/path/README.md b/packages/babel/src/traversal/path/README.md similarity index 100% rename from src/babel/traversal/path/README.md rename to packages/babel/src/traversal/path/README.md diff --git a/src/babel/traversal/path/ancestry.js b/packages/babel/src/traversal/path/ancestry.js similarity index 100% rename from src/babel/traversal/path/ancestry.js rename to packages/babel/src/traversal/path/ancestry.js diff --git a/src/babel/traversal/path/comments.js b/packages/babel/src/traversal/path/comments.js similarity index 100% rename from src/babel/traversal/path/comments.js rename to packages/babel/src/traversal/path/comments.js diff --git a/src/babel/traversal/path/context.js b/packages/babel/src/traversal/path/context.js similarity index 100% rename from src/babel/traversal/path/context.js rename to packages/babel/src/traversal/path/context.js diff --git a/src/babel/traversal/path/conversion.js b/packages/babel/src/traversal/path/conversion.js similarity index 100% rename from src/babel/traversal/path/conversion.js rename to packages/babel/src/traversal/path/conversion.js diff --git a/src/babel/traversal/path/evaluation.js b/packages/babel/src/traversal/path/evaluation.js similarity index 100% rename from src/babel/traversal/path/evaluation.js rename to packages/babel/src/traversal/path/evaluation.js diff --git a/src/babel/traversal/path/family.js b/packages/babel/src/traversal/path/family.js similarity index 100% rename from src/babel/traversal/path/family.js rename to packages/babel/src/traversal/path/family.js diff --git a/src/babel/traversal/path/index.js b/packages/babel/src/traversal/path/index.js similarity index 100% rename from src/babel/traversal/path/index.js rename to packages/babel/src/traversal/path/index.js diff --git a/src/babel/traversal/path/inference/index.js b/packages/babel/src/traversal/path/inference/index.js similarity index 100% rename from src/babel/traversal/path/inference/index.js rename to packages/babel/src/traversal/path/inference/index.js diff --git a/src/babel/traversal/path/inference/inferer-reference.js b/packages/babel/src/traversal/path/inference/inferer-reference.js similarity index 100% rename from src/babel/traversal/path/inference/inferer-reference.js rename to packages/babel/src/traversal/path/inference/inferer-reference.js diff --git a/src/babel/traversal/path/inference/inferers.js b/packages/babel/src/traversal/path/inference/inferers.js similarity index 100% rename from src/babel/traversal/path/inference/inferers.js rename to packages/babel/src/traversal/path/inference/inferers.js diff --git a/src/babel/traversal/path/introspection.js b/packages/babel/src/traversal/path/introspection.js similarity index 100% rename from src/babel/traversal/path/introspection.js rename to packages/babel/src/traversal/path/introspection.js diff --git a/src/babel/traversal/path/lib/hoister.js b/packages/babel/src/traversal/path/lib/hoister.js similarity index 100% rename from src/babel/traversal/path/lib/hoister.js rename to packages/babel/src/traversal/path/lib/hoister.js diff --git a/src/babel/traversal/path/lib/removal-hooks.js b/packages/babel/src/traversal/path/lib/removal-hooks.js similarity index 100% rename from src/babel/traversal/path/lib/removal-hooks.js rename to packages/babel/src/traversal/path/lib/removal-hooks.js diff --git a/src/babel/traversal/path/lib/virtual-types.js b/packages/babel/src/traversal/path/lib/virtual-types.js similarity index 100% rename from src/babel/traversal/path/lib/virtual-types.js rename to packages/babel/src/traversal/path/lib/virtual-types.js diff --git a/src/babel/traversal/path/modification.js b/packages/babel/src/traversal/path/modification.js similarity index 100% rename from src/babel/traversal/path/modification.js rename to packages/babel/src/traversal/path/modification.js diff --git a/src/babel/traversal/path/removal.js b/packages/babel/src/traversal/path/removal.js similarity index 100% rename from src/babel/traversal/path/removal.js rename to packages/babel/src/traversal/path/removal.js diff --git a/src/babel/traversal/path/replacement.js b/packages/babel/src/traversal/path/replacement.js similarity index 72% rename from src/babel/traversal/path/replacement.js rename to packages/babel/src/traversal/path/replacement.js index 94456872dd..a356f7cb72 100644 --- a/src/babel/traversal/path/replacement.js +++ b/packages/babel/src/traversal/path/replacement.js @@ -1,8 +1,5 @@ -import codeFrame from "../../helpers/code-frame"; import NodePath from "./index"; -import traverse from "../index"; import * as t from "../../types"; -import parse from "../../helpers/parse"; var hoistVariablesVisitor = { Function() { @@ -50,31 +47,11 @@ export function replaceWithMultiple(nodes: Array) { } /** - * Parse a string as an expression and replace the current node with the result. - * - * NOTE: This is typically not a good idea to use. Building source strings when - * transforming ASTs is an antipattern and SHOULD NOT be encouraged. Even if it's - * easier to use, your transforms will be extremely brittle. + * DEPRECATED */ export function replaceWithSourceString(replacement) { - this.resync(); - - try { - replacement = `(${replacement})`; - replacement = parse(replacement); - } catch (err) { - var loc = err.loc; - if (loc) { - err.message += " - make sure this is an expression."; - err.message += "\n" + codeFrame(replacement, loc.line, loc.column + 1); - } - throw err; - } - - replacement = replacement.program.body[0].expression; - traverse.removeProperties(replacement); - return this.replaceWith(replacement); + throw new Error("TODO"); } /** @@ -119,18 +96,8 @@ export function replaceWith(replacement, whateverAllowed) { } if (typeof replacement === "string") { - if (whateverAllowed) { - this.hub.file.log.deprecate("Returning a string from a visitor method will be removed in the future. String " + - "building is NOT a substitute for AST generation. String building leads to " + - "terrible performance due to the additional parsing overhead and will lead to " + - "extremely brittle transformers. For those extreme cases where you're dealing " + - "with strings from a foreign source you may continue to use " + - "`path.replaceWithSourceString(code)`. Please don't abuse this. Bad plugins " + - "hurt the ecosystem."); - return this.replaceWithSourceString(replacement); - } else { - throw new Error("Don't use `path.replaceWith()` with a string, use `path.replaceWithSourceString()`"); - } + // triggers an error + return this.replaceWithSourceString(); } // replacing a statement with an expression so wrap it in an expression statement diff --git a/src/babel/traversal/scope/binding.js b/packages/babel/src/traversal/scope/binding.js similarity index 100% rename from src/babel/traversal/scope/binding.js rename to packages/babel/src/traversal/scope/binding.js diff --git a/src/babel/traversal/scope/index.js b/packages/babel/src/traversal/scope/index.js similarity index 100% rename from src/babel/traversal/scope/index.js rename to packages/babel/src/traversal/scope/index.js diff --git a/src/babel/traversal/visitors.js b/packages/babel/src/traversal/visitors.js similarity index 100% rename from src/babel/traversal/visitors.js rename to packages/babel/src/traversal/visitors.js diff --git a/src/babel/types/alias-keys.json b/packages/babel/src/types/alias-keys.json similarity index 100% rename from src/babel/types/alias-keys.json rename to packages/babel/src/types/alias-keys.json diff --git a/src/babel/types/builder-keys.json b/packages/babel/src/types/builder-keys.json similarity index 100% rename from src/babel/types/builder-keys.json rename to packages/babel/src/types/builder-keys.json diff --git a/src/babel/types/converters.js b/packages/babel/src/types/converters.js similarity index 100% rename from src/babel/types/converters.js rename to packages/babel/src/types/converters.js diff --git a/src/babel/types/flow.js b/packages/babel/src/types/flow.js similarity index 100% rename from src/babel/types/flow.js rename to packages/babel/src/types/flow.js diff --git a/src/babel/types/index.js b/packages/babel/src/types/index.js similarity index 100% rename from src/babel/types/index.js rename to packages/babel/src/types/index.js diff --git a/src/babel/types/retrievers.js b/packages/babel/src/types/retrievers.js similarity index 100% rename from src/babel/types/retrievers.js rename to packages/babel/src/types/retrievers.js diff --git a/src/babel/types/validators.js b/packages/babel/src/types/validators.js similarity index 100% rename from src/babel/types/validators.js rename to packages/babel/src/types/validators.js diff --git a/src/babel/types/visitor-keys.json b/packages/babel/src/types/visitor-keys.json similarity index 100% rename from src/babel/types/visitor-keys.json rename to packages/babel/src/types/visitor-keys.json diff --git a/src/babel/util.js b/packages/babel/src/util.js similarity index 82% rename from src/babel/util.js rename to packages/babel/src/util.js index 37c36dad9b..1398470651 100644 --- a/src/babel/util.js +++ b/packages/babel/src/util.js @@ -10,6 +10,7 @@ import contains from "lodash/collection/contains"; import traverse from "./traversal"; import isString from "lodash/lang/isString"; import isRegExp from "lodash/lang/isRegExp"; +import { Promise } from "bluebird"; import Module from "module"; import isEmpty from "lodash/lang/isEmpty"; import parse from "./helpers/parse"; @@ -156,6 +157,8 @@ var templateVisitor = { // export function template(name: string, nodes?: Array, keepExpression?: boolean): Object { + if (!exports.templates) throw new ReferenceError(`haven't initialised templates yet`); + var ast = exports.templates[name]; if (!ast) throw new ReferenceError(`unknown template ${name}`); @@ -182,9 +185,9 @@ export function template(name: string, nodes?: Array, keepExpression?: b } export function parseTemplate(loc: string, code: string): Object { - var ast = parse(code, { filename: loc, looseModules: true }).program; - ast = traverse.removeProperties(ast); - return ast; + return parse(code, { filename: loc, looseModules: true }).then(function (ast) { + return traverse.removeProperties(ast.program); + }); } function loadTemplates() { @@ -195,22 +198,37 @@ function loadTemplates() { throw new ReferenceError(messages.get("missingTemplatesDirectory")); } - for (var name of (fs.readdirSync(templatesLoc): Array)) { - if (name[0] === ".") return; + var promises = []; - var key = path.basename(name, path.extname(name)); - var loc = path.join(templatesLoc, name); - var code = fs.readFileSync(loc, "utf8"); + for (let name of (fs.readdirSync(templatesLoc): Array)) { + if (name[0] === ".") continue; - templates[key] = parseTemplate(loc, code); + let key = path.basename(name, path.extname(name)); + let loc = path.join(templatesLoc, name); + let code = fs.readFileSync(loc, "utf8"); + + promises.push(parseTemplate(loc, code).then(function (template) { + templates[key] = template; + })); } - return templates; + return Promise.all(promises).then(function () { + return exports.templates = templates; + }); +} + +export function ensureTemplates() { + return new Promise((resolve) => { + if (exports.templates) { + resolve(exports.templates); + } else { + resolve(loadTemplates()); + } + }); } try { - exports.templates = require("../../templates.json"); + exports.templates = require("../templates.json"); } catch (err) { if (err.code !== "MODULE_NOT_FOUND") throw err; - exports.templates = loadTemplates(); } diff --git a/packages/babel/test/.babelrc b/packages/babel/test/.babelrc new file mode 100644 index 0000000000..3a8f8eb911 --- /dev/null +++ b/packages/babel/test/.babelrc @@ -0,0 +1,3 @@ +{ + "breakConfig": true +} diff --git a/test/core/_browser.js b/packages/babel/test/_browser.js similarity index 75% rename from test/core/_browser.js rename to packages/babel/test/_browser.js index 56e4de878d..53e16f6e6c 100644 --- a/test/core/_browser.js +++ b/packages/babel/test/_browser.js @@ -1,5 +1,5 @@ if (process.browser) { - require("../../lib/babel/api/browser"); + require("../lib/api/browser"); require("./generation"); require("./transformation"); require("./traverse"); diff --git a/test/core/_helper.js b/packages/babel/test/_helper.js similarity index 96% rename from test/core/_helper.js rename to packages/babel/test/_helper.js index b208159083..1d4d325255 100644 --- a/test/core/_helper.js +++ b/packages/babel/test/_helper.js @@ -1,6 +1,6 @@ var pathExists = require("path-exists"); var esvalid = require("esvalid"); -var util = require("../../lib/babel/util"); +var util = require("../lib/util"); var path = require("path"); var fs = require("fs"); var _ = require("lodash"); @@ -32,7 +32,7 @@ exports.esvalid = function (ast, code, loc) { }; exports.assertVendor = function (name) { - if (!pathExists.sync(__dirname + "/../../vendor/" + name)) { + if (!pathExists.sync(__dirname + "/../../../vendor/" + name)) { console.error("No vendor/" + name + " - run `make bootstrap`"); process.exit(1); } @@ -126,6 +126,7 @@ exports.get = function (entryName, entryLoc) { return; } else if (test.exec.code.indexOf("// Async.") >= 0) { //test.options.asyncExec = true; + return; } suite.tests.push(test); @@ -148,7 +149,7 @@ exports.get = function (entryName, entryLoc) { }; try { - exports.cache = require("../../tests.json"); + exports.cache = require("../tests.json"); } catch (err) { if (err.code !== "MODULE_NOT_FOUND") throw err; diff --git a/packages/babel/test/_transformation-helper.js b/packages/babel/test/_transformation-helper.js new file mode 100644 index 0000000000..71a422326a --- /dev/null +++ b/packages/babel/test/_transformation-helper.js @@ -0,0 +1,191 @@ +var transform = require("../lib/transformation"); +var buildExernalHelpers = require("../lib/tools/build-external-helpers"); +var sourceMap = require("source-map"); +var codeFrame = require("../lib/helpers/code-frame"); +var Module = require("module"); +var helper = require("./_helper"); +var assert = require("assert"); +var chai = require("chai"); +var path = require("path"); +var util = require("../lib/util"); +var _ = require("lodash"); + +require("../lib/polyfill"); + +var doneBeforeEval = false; +function beforeEval() { + if (doneBeforeEval) return; + doneBeforeEval = true; + eval(buildExernalHelpers()); +} + +global.assertNoOwnProperties = function (obj) { + assert.equal(Object.getOwnPropertyNames(obj).length, 0); +}; + +global.assertHasOwnProperty = function () { + +}; + +global.assertLacksOwnProperty = function () { + +}; + +global.assertArrayEquals = assert.deepEqual; +global.assert = chai.assert; +global.chai = chai; + +// Different Traceur generator message +chai.assert._throw = chai.assert.throw; +chai.assert.throw = function (fn, msg) { + if (msg === '"throw" on executing generator' || + msg === '"next" on executing generator') { + msg = "Generator is already running"; + } else if (msg === "Sent value to newborn generator") { + msg = /^attempt to send (.*?) to newborn generator$/; + } else if (msg === "super prototype must be an Object or null") { + msg = "Object prototype may only be an Object or null"; + } + + return chai.assert._throw(fn, msg); +}; + +var run = function (task, done) { + var actual = task.actual; + var expect = task.expect; + var exec = task.exec; + var opts = task.options; + + var getOpts = function (self) { + return _.merge({ + suppressDeprecationMessages: true, + filename: self.loc + }, opts); + }; + + var execCode = exec.code; + var result; + + var noCheckAst = opts.noCheckAst; + delete opts.noCheckAst; + + var checkAst = function (result, opts) { + if (noCheckAst) return; + helper.esvalid(result.ast.program, result.code, opts.loc); + }; + + var promises = []; + + if (execCode) { + promises.push(transform(execCode, getOpts(exec)).then(function (result) { + execCode = result.code; + + try { + var fakeRequire = function (loc) { + if (loc === "../../../src/runtime/polyfills/Number.js") { + return Number; + } else if (loc === "../../../src/runtime/polyfills/Math.js") { + return Math; + } else { + return require(path.resolve(exec.loc, "..", loc)); + } + }; + + var fn = new Function("require", "exports", execCode); + beforeEval(); + fn.call(global, fakeRequire, {}); + } catch (err) { + err.message = exec.loc + ": " + err.message; + err.message += codeFrame(execCode); + throw err; + } + + checkAst(result, exec); + })); + } + + var actualCode = actual.code; + var expectCode = expect.code; + if (!execCode || actualCode) { + promises.push(transform(actualCode, getOpts(actual)).then(function (result) { + actualCode = result.code.trim(); + + try { + chai.expect(actualCode).to.be.equal(expectCode, actual.loc + " !== " + expect.loc); + } catch (err) { + //require("fs").writeFileSync(expect.loc, actualCode); + throw err; + } + + checkAst(result, actual); + + if (task.sourceMap) { + chai.expect(result.map).to.deep.equal(task.sourceMap); + } + + if (task.sourceMappings) { + var consumer = new sourceMap.SourceMapConsumer(result.map); + + _.each(task.sourceMappings, function (mapping, i) { + var actual = mapping.original; + + var expect = consumer.originalPositionFor(mapping.generated); + chai.expect({ line: expect.line, column: expect.column }).to.deep.equal(actual); + }); + } + })); + } + + Promise.all(promises).then(function () { + done() + }, done); +}; + +module.exports = function (suiteOpts, taskOpts, dynamicOpts) { + taskOpts = taskOpts || {}; + + _.each(helper.get(suiteOpts.name, suiteOpts.loc), function (testSuite) { + if (_.contains(suiteOpts.ignoreSuites, testSuite.title)) return; + + suite(suiteOpts.name + "/" + testSuite.title, function () { + setup(function () { + require("../register")(taskOpts); + }); + + _.each(testSuite.tests, function (task) { + if (_.contains(suiteOpts.ignoreTasks, task.title) || _.contains(suiteOpts.ignoreTasks, testSuite.title + "/" + task.title)) return; + + test(task.title, !task.disabled && function (done) { + _.extend(task.options, taskOpts); + if (dynamicOpts) dynamicOpts(task.options, task); + + var throwMsg = task.options.throws; + if (throwMsg) { + // internal api doesn't have this option but it's best not to pollute + // the options object with useless options + delete task.options.throws; + + return run(task, function (err) { + if (err) { + // we just wanted any error message + if (throwMsg === true) return done(); + + if (err.message.indexOf(throwMsg) >= 0) { + // success! + done(); + } else { + // didn't include it :( + done(new Error("Expected an error message of " + JSON.stringify(throwMsg) + " but got " + JSON.stringify(err.message))); + } + } else { + done(new Error("Expected an error message but got none")); + } + }); + } else { + return run(task, done); + } + }); + }); + }); + }); +}; diff --git a/packages/babel/test/api.js b/packages/babel/test/api.js new file mode 100644 index 0000000000..a612e11fa7 --- /dev/null +++ b/packages/babel/test/api.js @@ -0,0 +1,471 @@ +require("../lib/api/node"); + +var buildExternalHelpers = require("../lib/tools/build-external-helpers"); +var PluginManager = require("../lib/transformation/file/plugin-manager"); +var Transformer = require("../lib/transformation/transformer"); +var transform = require("../lib/transformation"); +var assert = require("assert"); +var File = require("../lib/transformation/file"); + +function assertIgnored(result) { + assert.ok(result.ignored); +} + +function assertNotIgnored(result) { + assert.ok(!result.ignored); +} + +suite("api", function () { + test("code option false", function () { + return transform("foo('bar');", { code: false }).then(function (result) { + assert.ok(!result.code); + }); + }); + + test("ast option false", function () { + return transform("foo('bar');", { ast: false }).then(function (result) { + assert.ok(!result.ast); + }); + }); + + test("auxiliaryCommentBefore option", function () { + return Promise.all([ + transform("class Foo {}", { + auxiliaryCommentBefore: "foobar" + }).then(function (result) { + assert.ok(result.code.indexOf("foobar") >= 0); + }), + + transform("for (let i in bar) { foo(function () { i; }); break; continue; }", { + auxiliaryCommentBefore: "foobar" + }).then(function (result) { + assert.ok(result.code.indexOf("foobar") >= 0); + }) + ]); + }); + + test("auxiliaryCommentAfter option", function () { + return Promise.all([ + transform("class Foo {}", { + auxiliaryCommentAfter: "foobar" + }).then(function (result) { + assert.ok(result.code.indexOf("foobar") >= 0); + }), + + transform("for (let i in bar) { foo(function () { i; }); break; continue; }", { + auxiliaryCommentAfter: "foobar" + }).then(function (result) { + assert.ok(result.code.indexOf("foobar") >= 0); + }) + ]); + }); + + test("modules metadata", function () { + return Promise.all([ + transform('import { externalName as localName } from "external";').then(function (result) { + assert.deepEqual(result.metadata.modules.imports[0], { + source: "external", + imported: ["externalName"], + specifiers: [{ + kind: "named", + imported: "externalName", + local: "localName" + }] + }); + }), + + transform('import * as localName2 from "external";').then(function (result) { + assert.deepEqual(result.metadata.modules.imports[0], { + source: "external", + imported: ["*"], + specifiers: [{ + kind: "namespace", + local: "localName2" + }] + }); + }), + + transform('import localName3 from "external";').then(function (result) { + assert.deepEqual(result.metadata.modules.imports[0], { + source: "external", + imported: ["default"], + specifiers: [{ + kind: "named", + imported: "default", + local: "localName3" + }] + }); + }), + + transform('import localName from "./array";', { + resolveModuleSource: function() { + return "override-source"; + } + }).then(function (result) { + assert.deepEqual(result.metadata.modules.imports, [ + { + source: "override-source", + imported: ["default"], + specifiers: [ + { + "kind": "named", + "imported": "default", + "local": "localName" + } + ] + } + ]); + }), + + transform('export * as externalName1 from "external";', { + stage: 0 + }).then(function (result) { + assert.deepEqual(result.metadata.modules.exports, { + exported: ['externalName1'], + specifiers: [{ + kind: "external-namespace", + exported: "externalName1", + source: "external", + }] + }); + }), + + transform('export externalName2 from "external";', { + stage: 0 + }).then(function (result) { + assert.deepEqual(result.metadata.modules.exports, { + exported: ["externalName2"], + specifiers: [{ + kind: "external", + local: "externalName2", + exported: "externalName2", + source: "external" + }] + }); + }), + + transform('export function namedFunction() {}').then(function (result) { + assert.deepEqual(result.metadata.modules.exports, { + exported: ["namedFunction"], + specifiers: [{ + kind: "local", + local: "namedFunction", + exported: "namedFunction" + }] + }); + }), + + transform('export var foo = "bar";').then(function (result) { + assert.deepEqual(result.metadata.modules.exports, { + "exported": ["foo"], + specifiers: [{ + kind: "local", + local: "foo", + exported: "foo" + }] + }); + }), + + transform("export { localName as externalName3 };").then(function (result) { + assert.deepEqual(result.metadata.modules.exports, { + exported: ["externalName3"], + specifiers: [{ + kind: "local", + local: "localName", + exported: "externalName3" + }] + }); + }), + + transform('export { externalName4 } from "external";').then(function (result) { + assert.deepEqual(result.metadata.modules.exports, { + exported: ["externalName4"], + specifiers: [{ + kind: "external", + local: "externalName4", + exported: "externalName4", + source: "external" + }] + }); + }), + + transform('export * from "external";').then(function (result) { + assert.deepEqual(result.metadata.modules.exports, { + exported: [], + specifiers: [{ + kind: "external-all", + source: "external" + }] + }); + }), + + transform("export default function defaultFunction() {}").then(function (result) { + assert.deepEqual(result.metadata.modules.exports, { + exported: ["defaultFunction"], + specifiers: [{ + kind: "local", + local: "defaultFunction", + exported: "default" + }] + }); + }) + ]); + }); + + test("ignore option", function () { + return Promise.all([ + transform("", { + ignore: "node_modules", + filename: "/foo/node_modules/bar" + }).then(assertIgnored), + + transform("", { + ignore: "foo/node_modules", + filename: "/foo/node_modules/bar" + }).then(assertIgnored), + + transform("", { + ignore: "foo/node_modules/*.bar", + filename: "/foo/node_modules/foo.bar" + }).then(assertIgnored) + ]); + }); + + test("only option", function () { + return Promise.all([ + transform("", { + only: "node_modules", + filename: "/foo/node_modules/bar" + }).then(assertNotIgnored), + + transform("", { + only: "foo/node_modules", + filename: "/foo/node_modules/bar" + }).then(assertNotIgnored), + + transform("", { + only: "foo/node_modules/*.bar", + filename: "/foo/node_modules/foo.bar" + }).then(assertNotIgnored), + + transform("", { + only: "node_modules", + filename: "/foo/node_module/bar" + }).then(assertIgnored), + + transform("", { + only: "foo/node_modules", + filename: "/bar/node_modules/foo" + }).then(assertIgnored), + + transform("", { + only: "foo/node_modules/*.bar", + filename: "/foo/node_modules/bar.foo" + }).then(assertIgnored) + ]) + }); + + suite("getModuleId option", function () { + // As of this commit, `getModuleId` is the only option that isn't JSON + // compatible which is why it's not inside /test/core/fixtures/transformation + + function getModuleNameTest(moduleFormat, expected) { + return transform("foo('bar');", { + filename: "/foo/bar/index", + modules: moduleFormat, + moduleIds: true, + getModuleId: function (name) { + return name.replace(/\/index$/, ""); + } + }).then(function (result) { + assert.equal(result.code, expected); + }); + } + + test("amd", function () { + var expected = [ + "define('/foo/bar', ['exports'], function (exports) {", + " 'use strict';", + "", + " foo('bar');", + "});" + ].join("\n"); + + return getModuleNameTest("amd", expected); + }); + + test("umd", function () { + var expected = [ + "(function (global, factory) {", + " if (typeof define === 'function' && define.amd) {", + " define('/foo/bar', ['exports'], factory);", + " } else if (typeof exports !== 'undefined') {", + " factory(exports);", + " } else {", + " var mod = {", + " exports: {}", + " };", + " factory(mod.exports);", + " global.fooBar = mod.exports;", + " }", + "})(this, function (exports) {", + " 'use strict';", + "", + " foo('bar');", + "});", + ].join("\n"); + + return getModuleNameTest("umd", expected); + }); + + test("system", function () { + var expected = [ + "System.register('/foo/bar', [], function (_export) {", + " 'use strict';", + "", + " return {", + " setters: [],", + " execute: function () {", + " foo('bar');", + " }", + " };", + "});", + ].join("\n"); + + return getModuleNameTest("system", expected); + }); + }); + + suite("env option", function () { + var oldBabelEnv = process.env.BABEL_ENV; + var oldNodeEnv = process.env.NODE_ENV; + + before(function () { + delete process.env.BABEL_ENV; + delete process.env.NODE_ENV; + }); + + after(function () { + process.env.BABEL_ENV = oldBabelEnv; + process.env.NODE_ENV = oldNodeEnv; + }); + + test("default", function () { + return transform("foo;", { + env: { + development: { blacklist: "strict" } + } + }).then(function (result) { + assert.equal(result.code, "foo;"); + }); + }); + + test("BABEL_ENV", function () { + process.env.BABEL_ENV = "foo"; + return transform("foo;", { + env: { + foo: { blacklist: "strict" } + } + }).then(function (result) { + assert.equal(result.code, "foo;"); + }); + }); + + test("NODE_ENV", function () { + process.env.NODE_ENV = "foo"; + return transform("foo;", { + env: { + foo: { blacklist: "strict" } + } + }).then(function (result) { + assert.equal(result.code, "foo;"); + }); + }); + }); + + test("addHelper unknown", function () { + var file = new File({}, transform.pipeline); + assert.throws(function () { + file.addHelper("foob"); + }, /Unknown helper foob/); + }); + + test("resolveModuleSource option", function () { + var actual = 'import foo from "foo-import-default";\nimport "foo-import-bare";\nexport { foo } from "foo-export-named";'; + var expected = 'import foo from "resolved/foo-import-default";\nimport "resolved/foo-import-bare";\nexport { foo } from "resolved/foo-export-named";'; + + return transform(actual, { + blacklist: ["es6.modules", "strict"], + resolveModuleSource: function (originalSource) { + return "resolved/" + originalSource; + } + }).then(function (result) { + assert.equal(result.code.trim(), expected); + }); + }); + + test("extra options", function () { + var file1 = new File({ extra: { foo: "bar" } }, transform.pipeline); + assert.equal(file1.opts.extra.foo, "bar"); + + var file2 = new File({}, transform.pipeline); + var file3 = new File({}, transform.pipeline); + assert.ok(file2.opts.extra !== file3.opts.extra); + }); + + suite("buildExternalHelpers", function () { + test("all", function () { + var script = buildExternalHelpers(); + assert.ok(script.indexOf("classCallCheck") >= -1); + assert.ok(script.indexOf("inherits") >= 0); + }); + + test("whitelist", function () { + var script = buildExternalHelpers(["inherits"]); + assert.ok(script.indexOf("classCallCheck") === -1); + assert.ok(script.indexOf("inherits") >= 0); + }); + + test("empty whitelist", function () { + var script = buildExternalHelpers([]); + assert.ok(script.indexOf("classCallCheck") === -1); + assert.ok(script.indexOf("inherits") === -1); + }); + }); + + suite("plugins", function () { + test("unknown plugin", function () { + assert.throws(function () { + new PluginManager().subnormaliseString("foo bar"); + }, /Unknown plugin/); + }); + + test("key collision", function () { + assert.throws(function () { + new PluginManager({ + transformers: { "es6.arrowFunctions": true } + }).validate("foobar", { key: "es6.arrowFunctions" }); + }, /collides with another/); + }); + + test("not transformer", function () { + assert.throws(function () { + new PluginManager().validate("foobar", {}); + }, /didn't export a Plugin instance/); + + assert.throws(function () { + new PluginManager().validate("foobar", ""); + }, /didn't export a Plugin instance/); + + assert.throws(function () { + new PluginManager().validate("foobar", []); + }, /didn't export a Plugin instance/); + }); + + test("object request"); + + test("string request"); + + test("transformer request"); + }); +}); diff --git a/test/core/browserify.js b/packages/babel/test/browserify.js similarity index 100% rename from test/core/browserify.js rename to packages/babel/test/browserify.js diff --git a/test/core/esnext.js b/packages/babel/test/esnext.js similarity index 100% rename from test/core/esnext.js rename to packages/babel/test/esnext.js diff --git a/packages/babel/test/fixtures/browserify/register.js b/packages/babel/test/fixtures/browserify/register.js new file mode 100644 index 0000000000..e1100b136b --- /dev/null +++ b/packages/babel/test/fixtures/browserify/register.js @@ -0,0 +1,3 @@ +require("../../../register")({ + ignore: false +}); diff --git a/test/core/fixtures/esnext/es6-arrow-functions/arguments-refers-to-parent-function.js b/packages/babel/test/fixtures/esnext/es6-arrow-functions/arguments-refers-to-parent-function.js similarity index 100% rename from test/core/fixtures/esnext/es6-arrow-functions/arguments-refers-to-parent-function.js rename to packages/babel/test/fixtures/esnext/es6-arrow-functions/arguments-refers-to-parent-function.js diff --git a/test/core/fixtures/esnext/es6-arrow-functions/empty-arrow-function.js b/packages/babel/test/fixtures/esnext/es6-arrow-functions/empty-arrow-function.js similarity index 100% rename from test/core/fixtures/esnext/es6-arrow-functions/empty-arrow-function.js rename to packages/babel/test/fixtures/esnext/es6-arrow-functions/empty-arrow-function.js diff --git a/test/core/fixtures/esnext/es6-arrow-functions/handles-nested-context-bindings.js b/packages/babel/test/fixtures/esnext/es6-arrow-functions/handles-nested-context-bindings.js similarity index 100% rename from test/core/fixtures/esnext/es6-arrow-functions/handles-nested-context-bindings.js rename to packages/babel/test/fixtures/esnext/es6-arrow-functions/handles-nested-context-bindings.js diff --git a/test/core/fixtures/esnext/es6-arrow-functions/no-parens-for-low-precedence-expression-body.js b/packages/babel/test/fixtures/esnext/es6-arrow-functions/no-parens-for-low-precedence-expression-body.js similarity index 100% rename from test/core/fixtures/esnext/es6-arrow-functions/no-parens-for-low-precedence-expression-body.js rename to packages/babel/test/fixtures/esnext/es6-arrow-functions/no-parens-for-low-precedence-expression-body.js diff --git a/test/core/fixtures/esnext/es6-arrow-functions/object-literal-needs-parens.js b/packages/babel/test/fixtures/esnext/es6-arrow-functions/object-literal-needs-parens.js similarity index 100% rename from test/core/fixtures/esnext/es6-arrow-functions/object-literal-needs-parens.js rename to packages/babel/test/fixtures/esnext/es6-arrow-functions/object-literal-needs-parens.js diff --git a/test/core/fixtures/esnext/es6-arrow-functions/only-lexical-this-not-dynamic-this.js b/packages/babel/test/fixtures/esnext/es6-arrow-functions/only-lexical-this-not-dynamic-this.js similarity index 100% rename from test/core/fixtures/esnext/es6-arrow-functions/only-lexical-this-not-dynamic-this.js rename to packages/babel/test/fixtures/esnext/es6-arrow-functions/only-lexical-this-not-dynamic-this.js diff --git a/test/core/fixtures/esnext/es6-arrow-functions/passed-to-function.js b/packages/babel/test/fixtures/esnext/es6-arrow-functions/passed-to-function.js similarity index 100% rename from test/core/fixtures/esnext/es6-arrow-functions/passed-to-function.js rename to packages/babel/test/fixtures/esnext/es6-arrow-functions/passed-to-function.js diff --git a/test/core/fixtures/esnext/es6-arrow-functions/single-param-does-not-need-parens.js b/packages/babel/test/fixtures/esnext/es6-arrow-functions/single-param-does-not-need-parens.js similarity index 100% rename from test/core/fixtures/esnext/es6-arrow-functions/single-param-does-not-need-parens.js rename to packages/babel/test/fixtures/esnext/es6-arrow-functions/single-param-does-not-need-parens.js diff --git a/test/core/fixtures/esnext/es6-classes/anonymous-class.js b/packages/babel/test/fixtures/esnext/es6-classes/anonymous-class.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/anonymous-class.js rename to packages/babel/test/fixtures/esnext/es6-classes/anonymous-class.js diff --git a/test/core/fixtures/esnext/es6-classes/call-super-function.js b/packages/babel/test/fixtures/esnext/es6-classes/call-super-function.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/call-super-function.js rename to packages/babel/test/fixtures/esnext/es6-classes/call-super-function.js diff --git a/test/core/fixtures/esnext/es6-classes/class-expressions.js b/packages/babel/test/fixtures/esnext/es6-classes/class-expressions.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/class-expressions.js rename to packages/babel/test/fixtures/esnext/es6-classes/class-expressions.js diff --git a/test/core/fixtures/esnext/es6-classes/class-extend.js b/packages/babel/test/fixtures/esnext/es6-classes/class-extend.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/class-extend.js rename to packages/babel/test/fixtures/esnext/es6-classes/class-extend.js diff --git a/test/core/fixtures/esnext/es6-classes/class-with-constructor.js b/packages/babel/test/fixtures/esnext/es6-classes/class-with-constructor.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/class-with-constructor.js rename to packages/babel/test/fixtures/esnext/es6-classes/class-with-constructor.js diff --git a/test/core/fixtures/esnext/es6-classes/class-with-method-declaration.js b/packages/babel/test/fixtures/esnext/es6-classes/class-with-method-declaration.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/class-with-method-declaration.js rename to packages/babel/test/fixtures/esnext/es6-classes/class-with-method-declaration.js diff --git a/test/core/fixtures/esnext/es6-classes/empty-named-class.js b/packages/babel/test/fixtures/esnext/es6-classes/empty-named-class.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/empty-named-class.js rename to packages/babel/test/fixtures/esnext/es6-classes/empty-named-class.js diff --git a/test/core/fixtures/esnext/es6-classes/enumerable.js b/packages/babel/test/fixtures/esnext/es6-classes/enumerable.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/enumerable.js rename to packages/babel/test/fixtures/esnext/es6-classes/enumerable.js diff --git a/test/core/fixtures/esnext/es6-classes/explicit-super-in-constructor.js b/packages/babel/test/fixtures/esnext/es6-classes/explicit-super-in-constructor.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/explicit-super-in-constructor.js rename to packages/babel/test/fixtures/esnext/es6-classes/explicit-super-in-constructor.js diff --git a/test/core/fixtures/esnext/es6-classes/extends-null.js b/packages/babel/test/fixtures/esnext/es6-classes/extends-null.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/extends-null.js rename to packages/babel/test/fixtures/esnext/es6-classes/extends-null.js diff --git a/test/core/fixtures/esnext/es6-classes/getter-setter-super.js b/packages/babel/test/fixtures/esnext/es6-classes/getter-setter-super.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/getter-setter-super.js rename to packages/babel/test/fixtures/esnext/es6-classes/getter-setter-super.js diff --git a/test/core/fixtures/esnext/es6-classes/getter-setter.js b/packages/babel/test/fixtures/esnext/es6-classes/getter-setter.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/getter-setter.js rename to packages/babel/test/fixtures/esnext/es6-classes/getter-setter.js diff --git a/test/core/fixtures/esnext/es6-classes/method-declaration-with-arguments.js b/packages/babel/test/fixtures/esnext/es6-classes/method-declaration-with-arguments.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/method-declaration-with-arguments.js rename to packages/babel/test/fixtures/esnext/es6-classes/method-declaration-with-arguments.js diff --git a/test/core/fixtures/esnext/es6-classes/methods-are-writable.js b/packages/babel/test/fixtures/esnext/es6-classes/methods-are-writable.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/methods-are-writable.js rename to packages/babel/test/fixtures/esnext/es6-classes/methods-are-writable.js diff --git a/test/core/fixtures/esnext/es6-classes/methods-with-rest-params.js b/packages/babel/test/fixtures/esnext/es6-classes/methods-with-rest-params.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/methods-with-rest-params.js rename to packages/babel/test/fixtures/esnext/es6-classes/methods-with-rest-params.js diff --git a/test/core/fixtures/esnext/es6-classes/static-getter.js b/packages/babel/test/fixtures/esnext/es6-classes/static-getter.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/static-getter.js rename to packages/babel/test/fixtures/esnext/es6-classes/static-getter.js diff --git a/test/core/fixtures/esnext/es6-classes/static-method.js b/packages/babel/test/fixtures/esnext/es6-classes/static-method.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/static-method.js rename to packages/babel/test/fixtures/esnext/es6-classes/static-method.js diff --git a/test/core/fixtures/esnext/es6-classes/static-setter.js b/packages/babel/test/fixtures/esnext/es6-classes/static-setter.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/static-setter.js rename to packages/babel/test/fixtures/esnext/es6-classes/static-setter.js diff --git a/test/core/fixtures/esnext/es6-classes/super-change-proto.js b/packages/babel/test/fixtures/esnext/es6-classes/super-change-proto.js similarity index 100% rename from test/core/fixtures/esnext/es6-classes/super-change-proto.js rename to packages/babel/test/fixtures/esnext/es6-classes/super-change-proto.js diff --git a/test/core/fixtures/esnext/es6-computed-properties/accessor.js b/packages/babel/test/fixtures/esnext/es6-computed-properties/accessor.js similarity index 100% rename from test/core/fixtures/esnext/es6-computed-properties/accessor.js rename to packages/babel/test/fixtures/esnext/es6-computed-properties/accessor.js diff --git a/test/core/fixtures/esnext/es6-computed-properties/method.js b/packages/babel/test/fixtures/esnext/es6-computed-properties/method.js similarity index 100% rename from test/core/fixtures/esnext/es6-computed-properties/method.js rename to packages/babel/test/fixtures/esnext/es6-computed-properties/method.js diff --git a/test/core/fixtures/esnext/es6-computed-properties/nested.js b/packages/babel/test/fixtures/esnext/es6-computed-properties/nested.js similarity index 100% rename from test/core/fixtures/esnext/es6-computed-properties/nested.js rename to packages/babel/test/fixtures/esnext/es6-computed-properties/nested.js diff --git a/test/core/fixtures/esnext/es6-computed-properties/simple.js b/packages/babel/test/fixtures/esnext/es6-computed-properties/simple.js similarity index 100% rename from test/core/fixtures/esnext/es6-computed-properties/simple.js rename to packages/babel/test/fixtures/esnext/es6-computed-properties/simple.js diff --git a/test/core/fixtures/esnext/es6-default-parameters/arity.js b/packages/babel/test/fixtures/esnext/es6-default-parameters/arity.js similarity index 100% rename from test/core/fixtures/esnext/es6-default-parameters/arity.js rename to packages/babel/test/fixtures/esnext/es6-default-parameters/arity.js diff --git a/test/core/fixtures/esnext/es6-default-parameters/arrow-function.js b/packages/babel/test/fixtures/esnext/es6-default-parameters/arrow-function.js similarity index 100% rename from test/core/fixtures/esnext/es6-default-parameters/arrow-function.js rename to packages/babel/test/fixtures/esnext/es6-default-parameters/arrow-function.js diff --git a/test/core/fixtures/esnext/es6-default-parameters/null-vs-undefined.js b/packages/babel/test/fixtures/esnext/es6-default-parameters/null-vs-undefined.js similarity index 100% rename from test/core/fixtures/esnext/es6-default-parameters/null-vs-undefined.js rename to packages/babel/test/fixtures/esnext/es6-default-parameters/null-vs-undefined.js diff --git a/test/core/fixtures/esnext/es6-default-parameters/scope.js b/packages/babel/test/fixtures/esnext/es6-default-parameters/scope.js similarity index 100% rename from test/core/fixtures/esnext/es6-default-parameters/scope.js rename to packages/babel/test/fixtures/esnext/es6-default-parameters/scope.js diff --git a/test/core/fixtures/esnext/es6-default-parameters/simple-function.js b/packages/babel/test/fixtures/esnext/es6-default-parameters/simple-function.js similarity index 100% rename from test/core/fixtures/esnext/es6-default-parameters/simple-function.js rename to packages/babel/test/fixtures/esnext/es6-default-parameters/simple-function.js diff --git a/test/core/fixtures/esnext/es6-object-concise/method-arguments.js b/packages/babel/test/fixtures/esnext/es6-object-concise/method-arguments.js similarity index 100% rename from test/core/fixtures/esnext/es6-object-concise/method-arguments.js rename to packages/babel/test/fixtures/esnext/es6-object-concise/method-arguments.js diff --git a/test/core/fixtures/esnext/es6-object-concise/method-context.js b/packages/babel/test/fixtures/esnext/es6-object-concise/method-context.js similarity index 100% rename from test/core/fixtures/esnext/es6-object-concise/method-context.js rename to packages/babel/test/fixtures/esnext/es6-object-concise/method-context.js diff --git a/test/core/fixtures/esnext/es6-object-concise/method-has-name.js b/packages/babel/test/fixtures/esnext/es6-object-concise/method-has-name.js similarity index 100% rename from test/core/fixtures/esnext/es6-object-concise/method-has-name.js rename to packages/babel/test/fixtures/esnext/es6-object-concise/method-has-name.js diff --git a/test/core/fixtures/esnext/es6-object-concise/method-is-not-in-scope-inside.js b/packages/babel/test/fixtures/esnext/es6-object-concise/method-is-not-in-scope-inside.js similarity index 100% rename from test/core/fixtures/esnext/es6-object-concise/method-is-not-in-scope-inside.js rename to packages/babel/test/fixtures/esnext/es6-object-concise/method-is-not-in-scope-inside.js diff --git a/test/core/fixtures/esnext/es6-object-concise/method.js b/packages/babel/test/fixtures/esnext/es6-object-concise/method.js similarity index 100% rename from test/core/fixtures/esnext/es6-object-concise/method.js rename to packages/babel/test/fixtures/esnext/es6-object-concise/method.js diff --git a/test/core/fixtures/esnext/es6-rest-parameters/arrow-fn.js b/packages/babel/test/fixtures/esnext/es6-rest-parameters/arrow-fn.js similarity index 100% rename from test/core/fixtures/esnext/es6-rest-parameters/arrow-fn.js rename to packages/babel/test/fixtures/esnext/es6-rest-parameters/arrow-fn.js diff --git a/test/core/fixtures/esnext/es6-rest-parameters/declaration.js b/packages/babel/test/fixtures/esnext/es6-rest-parameters/declaration.js similarity index 100% rename from test/core/fixtures/esnext/es6-rest-parameters/declaration.js rename to packages/babel/test/fixtures/esnext/es6-rest-parameters/declaration.js diff --git a/test/core/fixtures/esnext/es6-rest-parameters/rest.js b/packages/babel/test/fixtures/esnext/es6-rest-parameters/rest.js similarity index 100% rename from test/core/fixtures/esnext/es6-rest-parameters/rest.js rename to packages/babel/test/fixtures/esnext/es6-rest-parameters/rest.js diff --git a/test/core/fixtures/esnext/es6-spread/arguments-as-array.js b/packages/babel/test/fixtures/esnext/es6-spread/arguments-as-array.js similarity index 100% rename from test/core/fixtures/esnext/es6-spread/arguments-as-array.js rename to packages/babel/test/fixtures/esnext/es6-spread/arguments-as-array.js diff --git a/test/core/fixtures/esnext/es6-spread/array-literal.js b/packages/babel/test/fixtures/esnext/es6-spread/array-literal.js similarity index 100% rename from test/core/fixtures/esnext/es6-spread/array-literal.js rename to packages/babel/test/fixtures/esnext/es6-spread/array-literal.js diff --git a/test/core/fixtures/esnext/es6-spread/call-with-array-literal.js b/packages/babel/test/fixtures/esnext/es6-spread/call-with-array-literal.js similarity index 100% rename from test/core/fixtures/esnext/es6-spread/call-with-array-literal.js rename to packages/babel/test/fixtures/esnext/es6-spread/call-with-array-literal.js diff --git a/test/core/fixtures/esnext/es6-spread/inside-function-expression.js b/packages/babel/test/fixtures/esnext/es6-spread/inside-function-expression.js similarity index 100% rename from test/core/fixtures/esnext/es6-spread/inside-function-expression.js rename to packages/babel/test/fixtures/esnext/es6-spread/inside-function-expression.js diff --git a/test/core/fixtures/esnext/es6-spread/iterator.js b/packages/babel/test/fixtures/esnext/es6-spread/iterator.js similarity index 100% rename from test/core/fixtures/esnext/es6-spread/iterator.js rename to packages/babel/test/fixtures/esnext/es6-spread/iterator.js diff --git a/test/core/fixtures/esnext/es6-spread/new-object.js b/packages/babel/test/fixtures/esnext/es6-spread/new-object.js similarity index 100% rename from test/core/fixtures/esnext/es6-spread/new-object.js rename to packages/babel/test/fixtures/esnext/es6-spread/new-object.js diff --git a/test/core/fixtures/esnext/es6-spread/preserve-context.js b/packages/babel/test/fixtures/esnext/es6-spread/preserve-context.js similarity index 100% rename from test/core/fixtures/esnext/es6-spread/preserve-context.js rename to packages/babel/test/fixtures/esnext/es6-spread/preserve-context.js diff --git a/test/core/fixtures/esnext/es6-spread/simple-function-call.js b/packages/babel/test/fixtures/esnext/es6-spread/simple-function-call.js similarity index 100% rename from test/core/fixtures/esnext/es6-spread/simple-function-call.js rename to packages/babel/test/fixtures/esnext/es6-spread/simple-function-call.js diff --git a/test/core/fixtures/esnext/es6-templates/multi-line.js b/packages/babel/test/fixtures/esnext/es6-templates/multi-line.js similarity index 100% rename from test/core/fixtures/esnext/es6-templates/multi-line.js rename to packages/babel/test/fixtures/esnext/es6-templates/multi-line.js diff --git a/test/core/fixtures/esnext/es6-templates/nested-interpolation.js b/packages/babel/test/fixtures/esnext/es6-templates/nested-interpolation.js similarity index 100% rename from test/core/fixtures/esnext/es6-templates/nested-interpolation.js rename to packages/babel/test/fixtures/esnext/es6-templates/nested-interpolation.js diff --git a/test/core/fixtures/esnext/es6-templates/no-interpolation.js b/packages/babel/test/fixtures/esnext/es6-templates/no-interpolation.js similarity index 100% rename from test/core/fixtures/esnext/es6-templates/no-interpolation.js rename to packages/babel/test/fixtures/esnext/es6-templates/no-interpolation.js diff --git a/test/core/fixtures/esnext/es6-templates/raw-tagged-template-expression.js b/packages/babel/test/fixtures/esnext/es6-templates/raw-tagged-template-expression.js similarity index 100% rename from test/core/fixtures/esnext/es6-templates/raw-tagged-template-expression.js rename to packages/babel/test/fixtures/esnext/es6-templates/raw-tagged-template-expression.js diff --git a/test/core/fixtures/esnext/es6-templates/simple-interpolation.js b/packages/babel/test/fixtures/esnext/es6-templates/simple-interpolation.js similarity index 100% rename from test/core/fixtures/esnext/es6-templates/simple-interpolation.js rename to packages/babel/test/fixtures/esnext/es6-templates/simple-interpolation.js diff --git a/test/core/fixtures/esnext/es6-templates/tagged-template-expression.js b/packages/babel/test/fixtures/esnext/es6-templates/tagged-template-expression.js similarity index 100% rename from test/core/fixtures/esnext/es6-templates/tagged-template-expression.js rename to packages/babel/test/fixtures/esnext/es6-templates/tagged-template-expression.js diff --git a/test/core/fixtures/generation/auto-indentation/hard-tab/actual.js b/packages/babel/test/fixtures/generation/auto-indentation/hard-tab/actual.js similarity index 100% rename from test/core/fixtures/generation/auto-indentation/hard-tab/actual.js rename to packages/babel/test/fixtures/generation/auto-indentation/hard-tab/actual.js diff --git a/test/core/fixtures/generation/auto-indentation/hard-tab/expected.js b/packages/babel/test/fixtures/generation/auto-indentation/hard-tab/expected.js similarity index 100% rename from test/core/fixtures/generation/auto-indentation/hard-tab/expected.js rename to packages/babel/test/fixtures/generation/auto-indentation/hard-tab/expected.js diff --git a/test/core/fixtures/generation/auto-indentation/soft-tab-2/actual.js b/packages/babel/test/fixtures/generation/auto-indentation/soft-tab-2/actual.js similarity index 100% rename from test/core/fixtures/generation/auto-indentation/soft-tab-2/actual.js rename to packages/babel/test/fixtures/generation/auto-indentation/soft-tab-2/actual.js diff --git a/test/core/fixtures/generation/auto-indentation/soft-tab-2/expected.js b/packages/babel/test/fixtures/generation/auto-indentation/soft-tab-2/expected.js similarity index 100% rename from test/core/fixtures/generation/auto-indentation/soft-tab-2/expected.js rename to packages/babel/test/fixtures/generation/auto-indentation/soft-tab-2/expected.js diff --git a/test/core/fixtures/generation/auto-indentation/soft-tab-4/actual.js b/packages/babel/test/fixtures/generation/auto-indentation/soft-tab-4/actual.js similarity index 100% rename from test/core/fixtures/generation/auto-indentation/soft-tab-4/actual.js rename to packages/babel/test/fixtures/generation/auto-indentation/soft-tab-4/actual.js diff --git a/test/core/fixtures/generation/auto-indentation/soft-tab-4/expected.js b/packages/babel/test/fixtures/generation/auto-indentation/soft-tab-4/expected.js similarity index 100% rename from test/core/fixtures/generation/auto-indentation/soft-tab-4/expected.js rename to packages/babel/test/fixtures/generation/auto-indentation/soft-tab-4/expected.js diff --git a/test/core/fixtures/generation/auto-string/double/actual.js b/packages/babel/test/fixtures/generation/auto-string/double/actual.js similarity index 100% rename from test/core/fixtures/generation/auto-string/double/actual.js rename to packages/babel/test/fixtures/generation/auto-string/double/actual.js diff --git a/test/core/fixtures/generation/auto-string/double/expected.js b/packages/babel/test/fixtures/generation/auto-string/double/expected.js similarity index 100% rename from test/core/fixtures/generation/auto-string/double/expected.js rename to packages/babel/test/fixtures/generation/auto-string/double/expected.js diff --git a/test/core/fixtures/generation/auto-string/single/actual.js b/packages/babel/test/fixtures/generation/auto-string/single/actual.js similarity index 100% rename from test/core/fixtures/generation/auto-string/single/actual.js rename to packages/babel/test/fixtures/generation/auto-string/single/actual.js diff --git a/test/core/fixtures/generation/auto-string/single/expected.js b/packages/babel/test/fixtures/generation/auto-string/single/expected.js similarity index 100% rename from test/core/fixtures/generation/auto-string/single/expected.js rename to packages/babel/test/fixtures/generation/auto-string/single/expected.js diff --git a/test/core/fixtures/generation/comments/2-space-multi-comment-with-space/actual.js b/packages/babel/test/fixtures/generation/comments/2-space-multi-comment-with-space/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/2-space-multi-comment-with-space/actual.js rename to packages/babel/test/fixtures/generation/comments/2-space-multi-comment-with-space/actual.js diff --git a/test/core/fixtures/generation/comments/2-space-multi-comment-with-space/expected.js b/packages/babel/test/fixtures/generation/comments/2-space-multi-comment-with-space/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/2-space-multi-comment-with-space/expected.js rename to packages/babel/test/fixtures/generation/comments/2-space-multi-comment-with-space/expected.js diff --git a/test/core/fixtures/generation/comments/2-space-multi-comment/actual.js b/packages/babel/test/fixtures/generation/comments/2-space-multi-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/2-space-multi-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/2-space-multi-comment/actual.js diff --git a/test/core/fixtures/generation/comments/2-space-multi-comment/expected.js b/packages/babel/test/fixtures/generation/comments/2-space-multi-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/2-space-multi-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/2-space-multi-comment/expected.js diff --git a/test/core/fixtures/generation/comments/block-line-comment-with-retainlines-option/actual.js b/packages/babel/test/fixtures/generation/comments/block-line-comment-with-retainlines-option/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/block-line-comment-with-retainlines-option/actual.js rename to packages/babel/test/fixtures/generation/comments/block-line-comment-with-retainlines-option/actual.js diff --git a/test/core/fixtures/generation/comments/block-line-comment-with-retainlines-option/expected.js b/packages/babel/test/fixtures/generation/comments/block-line-comment-with-retainlines-option/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/block-line-comment-with-retainlines-option/expected.js rename to packages/babel/test/fixtures/generation/comments/block-line-comment-with-retainlines-option/expected.js diff --git a/test/core/fixtures/generation/comments/block-line-comment-with-retainlines-option/options.json b/packages/babel/test/fixtures/generation/comments/block-line-comment-with-retainlines-option/options.json similarity index 100% rename from test/core/fixtures/generation/comments/block-line-comment-with-retainlines-option/options.json rename to packages/babel/test/fixtures/generation/comments/block-line-comment-with-retainlines-option/options.json diff --git a/test/core/fixtures/generation/comments/block-line-comment/actual.js b/packages/babel/test/fixtures/generation/comments/block-line-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/block-line-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/block-line-comment/actual.js diff --git a/test/core/fixtures/generation/comments/block-line-comment/expected.js b/packages/babel/test/fixtures/generation/comments/block-line-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/block-line-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/block-line-comment/expected.js diff --git a/test/core/fixtures/generation/comments/comment-only-with-space/actual.js b/packages/babel/test/fixtures/generation/comments/comment-only-with-space/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/comment-only-with-space/actual.js rename to packages/babel/test/fixtures/generation/comments/comment-only-with-space/actual.js diff --git a/test/core/fixtures/generation/comments/comment-only-with-space/expected.js b/packages/babel/test/fixtures/generation/comments/comment-only-with-space/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/comment-only-with-space/expected.js rename to packages/babel/test/fixtures/generation/comments/comment-only-with-space/expected.js diff --git a/test/core/fixtures/generation/comments/comment-only/actual.js b/packages/babel/test/fixtures/generation/comments/comment-only/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/comment-only/actual.js rename to packages/babel/test/fixtures/generation/comments/comment-only/actual.js diff --git a/test/core/fixtures/generation/comments/comment-only/expected.js b/packages/babel/test/fixtures/generation/comments/comment-only/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/comment-only/expected.js rename to packages/babel/test/fixtures/generation/comments/comment-only/expected.js diff --git a/test/core/fixtures/generation/comments/comment-statement-with-retainlines-option/actual.js b/packages/babel/test/fixtures/generation/comments/comment-statement-with-retainlines-option/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/comment-statement-with-retainlines-option/actual.js rename to packages/babel/test/fixtures/generation/comments/comment-statement-with-retainlines-option/actual.js diff --git a/test/core/fixtures/generation/comments/comment-statement-with-retainlines-option/expected.js b/packages/babel/test/fixtures/generation/comments/comment-statement-with-retainlines-option/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/comment-statement-with-retainlines-option/expected.js rename to packages/babel/test/fixtures/generation/comments/comment-statement-with-retainlines-option/expected.js diff --git a/test/core/fixtures/generation/comments/comment-statement-with-retainlines-option/options.json b/packages/babel/test/fixtures/generation/comments/comment-statement-with-retainlines-option/options.json similarity index 100% rename from test/core/fixtures/generation/comments/comment-statement-with-retainlines-option/options.json rename to packages/babel/test/fixtures/generation/comments/comment-statement-with-retainlines-option/options.json diff --git a/test/core/fixtures/generation/comments/computed-property-comments-2/actual.js b/packages/babel/test/fixtures/generation/comments/computed-property-comments-2/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/computed-property-comments-2/actual.js rename to packages/babel/test/fixtures/generation/comments/computed-property-comments-2/actual.js diff --git a/test/core/fixtures/generation/comments/computed-property-comments-2/expected.js b/packages/babel/test/fixtures/generation/comments/computed-property-comments-2/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/computed-property-comments-2/expected.js rename to packages/babel/test/fixtures/generation/comments/computed-property-comments-2/expected.js diff --git a/test/core/fixtures/generation/comments/computed-property-comments/actual.js b/packages/babel/test/fixtures/generation/comments/computed-property-comments/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/computed-property-comments/actual.js rename to packages/babel/test/fixtures/generation/comments/computed-property-comments/actual.js diff --git a/test/core/fixtures/generation/comments/computed-property-comments/expected.js b/packages/babel/test/fixtures/generation/comments/computed-property-comments/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/computed-property-comments/expected.js rename to packages/babel/test/fixtures/generation/comments/computed-property-comments/expected.js diff --git a/test/core/fixtures/generation/comments/do-while-line-comment/actual.js b/packages/babel/test/fixtures/generation/comments/do-while-line-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/do-while-line-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/do-while-line-comment/actual.js diff --git a/test/core/fixtures/generation/comments/do-while-line-comment/expected.js b/packages/babel/test/fixtures/generation/comments/do-while-line-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/do-while-line-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/do-while-line-comment/expected.js diff --git a/test/core/fixtures/generation/comments/empty-line-comment/actual.js b/packages/babel/test/fixtures/generation/comments/empty-line-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/empty-line-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/empty-line-comment/actual.js diff --git a/test/core/fixtures/generation/comments/empty-line-comment/expected.js b/packages/babel/test/fixtures/generation/comments/empty-line-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/empty-line-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/empty-line-comment/expected.js diff --git a/test/core/fixtures/generation/comments/empty/actual.js b/packages/babel/test/fixtures/generation/comments/empty/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/empty/actual.js rename to packages/babel/test/fixtures/generation/comments/empty/actual.js diff --git a/test/core/fixtures/generation/comments/empty/expected.js b/packages/babel/test/fixtures/generation/comments/empty/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/empty/expected.js rename to packages/babel/test/fixtures/generation/comments/empty/expected.js diff --git a/test/core/fixtures/generation/comments/function-block-line-comment/actual.js b/packages/babel/test/fixtures/generation/comments/function-block-line-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/function-block-line-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/function-block-line-comment/actual.js diff --git a/test/core/fixtures/generation/comments/function-block-line-comment/expected.js b/packages/babel/test/fixtures/generation/comments/function-block-line-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/function-block-line-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/function-block-line-comment/expected.js diff --git a/test/core/fixtures/generation/comments/if-block-line-comment/actual.js b/packages/babel/test/fixtures/generation/comments/if-block-line-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/if-block-line-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/if-block-line-comment/actual.js diff --git a/test/core/fixtures/generation/comments/if-block-line-comment/expected.js b/packages/babel/test/fixtures/generation/comments/if-block-line-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/if-block-line-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/if-block-line-comment/expected.js diff --git a/test/core/fixtures/generation/comments/if-empty-line-comment/actual.js b/packages/babel/test/fixtures/generation/comments/if-empty-line-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/if-empty-line-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/if-empty-line-comment/actual.js diff --git a/test/core/fixtures/generation/comments/if-empty-line-comment/expected.js b/packages/babel/test/fixtures/generation/comments/if-empty-line-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/if-empty-line-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/if-empty-line-comment/expected.js diff --git a/test/core/fixtures/generation/comments/if-line-comment/actual.js b/packages/babel/test/fixtures/generation/comments/if-line-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/if-line-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/if-line-comment/actual.js diff --git a/test/core/fixtures/generation/comments/if-line-comment/expected.js b/packages/babel/test/fixtures/generation/comments/if-line-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/if-line-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/if-line-comment/expected.js diff --git a/test/core/fixtures/generation/comments/object_comments/actual.js b/packages/babel/test/fixtures/generation/comments/object_comments/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/object_comments/actual.js rename to packages/babel/test/fixtures/generation/comments/object_comments/actual.js diff --git a/test/core/fixtures/generation/comments/object_comments/expected.js b/packages/babel/test/fixtures/generation/comments/object_comments/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/object_comments/expected.js rename to packages/babel/test/fixtures/generation/comments/object_comments/expected.js diff --git a/test/core/fixtures/generation/comments/return-no-argument/actual.js b/packages/babel/test/fixtures/generation/comments/return-no-argument/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/return-no-argument/actual.js rename to packages/babel/test/fixtures/generation/comments/return-no-argument/actual.js diff --git a/test/core/fixtures/generation/comments/return-no-argument/expected.js b/packages/babel/test/fixtures/generation/comments/return-no-argument/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/return-no-argument/expected.js rename to packages/babel/test/fixtures/generation/comments/return-no-argument/expected.js diff --git a/test/core/fixtures/generation/comments/simple-a-lot-of-line-comment/actual.js b/packages/babel/test/fixtures/generation/comments/simple-a-lot-of-line-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/simple-a-lot-of-line-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/simple-a-lot-of-line-comment/actual.js diff --git a/test/core/fixtures/generation/comments/simple-a-lot-of-line-comment/expected.js b/packages/babel/test/fixtures/generation/comments/simple-a-lot-of-line-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/simple-a-lot-of-line-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/simple-a-lot-of-line-comment/expected.js diff --git a/test/core/fixtures/generation/comments/simple-a-lot-of-multi-comment/actual.js b/packages/babel/test/fixtures/generation/comments/simple-a-lot-of-multi-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/simple-a-lot-of-multi-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/simple-a-lot-of-multi-comment/actual.js diff --git a/test/core/fixtures/generation/comments/simple-a-lot-of-multi-comment/expected.js b/packages/babel/test/fixtures/generation/comments/simple-a-lot-of-multi-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/simple-a-lot-of-multi-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/simple-a-lot-of-multi-comment/expected.js diff --git a/test/core/fixtures/generation/comments/simple-line-comment/actual.js b/packages/babel/test/fixtures/generation/comments/simple-line-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/simple-line-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/simple-line-comment/actual.js diff --git a/test/core/fixtures/generation/comments/simple-line-comment/expected.js b/packages/babel/test/fixtures/generation/comments/simple-line-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/simple-line-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/simple-line-comment/expected.js diff --git a/test/core/fixtures/generation/comments/simple-multi-comment/actual.js b/packages/babel/test/fixtures/generation/comments/simple-multi-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/simple-multi-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/simple-multi-comment/actual.js diff --git a/test/core/fixtures/generation/comments/simple-multi-comment/expected.js b/packages/babel/test/fixtures/generation/comments/simple-multi-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/simple-multi-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/simple-multi-comment/expected.js diff --git a/test/core/fixtures/generation/comments/simple-statement-comment/actual.js b/packages/babel/test/fixtures/generation/comments/simple-statement-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/simple-statement-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/simple-statement-comment/actual.js diff --git a/test/core/fixtures/generation/comments/simple-statement-comment/expected.js b/packages/babel/test/fixtures/generation/comments/simple-statement-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/simple-statement-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/simple-statement-comment/expected.js diff --git a/test/core/fixtures/generation/comments/try-block-line-comment/actual.js b/packages/babel/test/fixtures/generation/comments/try-block-line-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/try-block-line-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/try-block-line-comment/actual.js diff --git a/test/core/fixtures/generation/comments/try-block-line-comment/expected.js b/packages/babel/test/fixtures/generation/comments/try-block-line-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/try-block-line-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/try-block-line-comment/expected.js diff --git a/test/core/fixtures/generation/comments/variable-declarator-line-comment/actual.js b/packages/babel/test/fixtures/generation/comments/variable-declarator-line-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/variable-declarator-line-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/variable-declarator-line-comment/actual.js diff --git a/test/core/fixtures/generation/comments/variable-declarator-line-comment/expected.js b/packages/babel/test/fixtures/generation/comments/variable-declarator-line-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/variable-declarator-line-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/variable-declarator-line-comment/expected.js diff --git a/test/core/fixtures/generation/comments/variable-declarator-multi-comment/actual.js b/packages/babel/test/fixtures/generation/comments/variable-declarator-multi-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/variable-declarator-multi-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/variable-declarator-multi-comment/actual.js diff --git a/test/core/fixtures/generation/comments/variable-declarator-multi-comment/expected.js b/packages/babel/test/fixtures/generation/comments/variable-declarator-multi-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/variable-declarator-multi-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/variable-declarator-multi-comment/expected.js diff --git a/test/core/fixtures/generation/comments/variable-declarator-trailing-comment/actual.js b/packages/babel/test/fixtures/generation/comments/variable-declarator-trailing-comment/actual.js similarity index 100% rename from test/core/fixtures/generation/comments/variable-declarator-trailing-comment/actual.js rename to packages/babel/test/fixtures/generation/comments/variable-declarator-trailing-comment/actual.js diff --git a/test/core/fixtures/generation/comments/variable-declarator-trailing-comment/expected.js b/packages/babel/test/fixtures/generation/comments/variable-declarator-trailing-comment/expected.js similarity index 100% rename from test/core/fixtures/generation/comments/variable-declarator-trailing-comment/expected.js rename to packages/babel/test/fixtures/generation/comments/variable-declarator-trailing-comment/expected.js diff --git a/test/core/fixtures/generation/edgecase/bitwise-precedence/actual.js b/packages/babel/test/fixtures/generation/edgecase/bitwise-precedence/actual.js similarity index 100% rename from test/core/fixtures/generation/edgecase/bitwise-precedence/actual.js rename to packages/babel/test/fixtures/generation/edgecase/bitwise-precedence/actual.js diff --git a/test/core/fixtures/generation/edgecase/bitwise-precedence/expected.js b/packages/babel/test/fixtures/generation/edgecase/bitwise-precedence/expected.js similarity index 100% rename from test/core/fixtures/generation/edgecase/bitwise-precedence/expected.js rename to packages/babel/test/fixtures/generation/edgecase/bitwise-precedence/expected.js diff --git a/test/core/fixtures/generation/edgecase/floating-point/actual.js b/packages/babel/test/fixtures/generation/edgecase/floating-point/actual.js similarity index 100% rename from test/core/fixtures/generation/edgecase/floating-point/actual.js rename to packages/babel/test/fixtures/generation/edgecase/floating-point/actual.js diff --git a/test/core/fixtures/generation/edgecase/floating-point/expected.js b/packages/babel/test/fixtures/generation/edgecase/floating-point/expected.js similarity index 100% rename from test/core/fixtures/generation/edgecase/floating-point/expected.js rename to packages/babel/test/fixtures/generation/edgecase/floating-point/expected.js diff --git a/test/core/fixtures/generation/edgecase/for-in-no-in/actual.js b/packages/babel/test/fixtures/generation/edgecase/for-in-no-in/actual.js similarity index 100% rename from test/core/fixtures/generation/edgecase/for-in-no-in/actual.js rename to packages/babel/test/fixtures/generation/edgecase/for-in-no-in/actual.js diff --git a/test/core/fixtures/generation/edgecase/for-in-no-in/expected.js b/packages/babel/test/fixtures/generation/edgecase/for-in-no-in/expected.js similarity index 100% rename from test/core/fixtures/generation/edgecase/for-in-no-in/expected.js rename to packages/babel/test/fixtures/generation/edgecase/for-in-no-in/expected.js diff --git a/test/core/fixtures/generation/edgecase/new-precedence/actual.js b/packages/babel/test/fixtures/generation/edgecase/new-precedence/actual.js similarity index 100% rename from test/core/fixtures/generation/edgecase/new-precedence/actual.js rename to packages/babel/test/fixtures/generation/edgecase/new-precedence/actual.js diff --git a/test/core/fixtures/generation/edgecase/new-precedence/expected.js b/packages/babel/test/fixtures/generation/edgecase/new-precedence/expected.js similarity index 100% rename from test/core/fixtures/generation/edgecase/new-precedence/expected.js rename to packages/babel/test/fixtures/generation/edgecase/new-precedence/expected.js diff --git a/test/core/fixtures/generation/edgecase/one-property-with-line-terminator/actual.js b/packages/babel/test/fixtures/generation/edgecase/one-property-with-line-terminator/actual.js similarity index 100% rename from test/core/fixtures/generation/edgecase/one-property-with-line-terminator/actual.js rename to packages/babel/test/fixtures/generation/edgecase/one-property-with-line-terminator/actual.js diff --git a/test/core/fixtures/generation/edgecase/one-property-with-line-terminator/expected.js b/packages/babel/test/fixtures/generation/edgecase/one-property-with-line-terminator/expected.js similarity index 100% rename from test/core/fixtures/generation/edgecase/one-property-with-line-terminator/expected.js rename to packages/babel/test/fixtures/generation/edgecase/one-property-with-line-terminator/expected.js diff --git a/test/core/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/actual.js b/packages/babel/test/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/actual.js similarity index 100% rename from test/core/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/actual.js rename to packages/babel/test/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/actual.js diff --git a/test/core/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/expected.js b/packages/babel/test/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/expected.js similarity index 100% rename from test/core/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/expected.js rename to packages/babel/test/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/expected.js diff --git a/test/core/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/options.json b/packages/babel/test/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/options.json similarity index 100% rename from test/core/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/options.json rename to packages/babel/test/fixtures/generation/edgecase/return-with-retainlines-and-compact-option/options.json diff --git a/test/core/fixtures/generation/edgecase/return-with-retainlines-option/actual.js b/packages/babel/test/fixtures/generation/edgecase/return-with-retainlines-option/actual.js similarity index 100% rename from test/core/fixtures/generation/edgecase/return-with-retainlines-option/actual.js rename to packages/babel/test/fixtures/generation/edgecase/return-with-retainlines-option/actual.js diff --git a/test/core/fixtures/generation/edgecase/return-with-retainlines-option/expected.js b/packages/babel/test/fixtures/generation/edgecase/return-with-retainlines-option/expected.js similarity index 100% rename from test/core/fixtures/generation/edgecase/return-with-retainlines-option/expected.js rename to packages/babel/test/fixtures/generation/edgecase/return-with-retainlines-option/expected.js diff --git a/test/core/fixtures/generation/edgecase/return-with-retainlines-option/options.json b/packages/babel/test/fixtures/generation/edgecase/return-with-retainlines-option/options.json similarity index 100% rename from test/core/fixtures/generation/edgecase/return-with-retainlines-option/options.json rename to packages/babel/test/fixtures/generation/edgecase/return-with-retainlines-option/options.json diff --git a/test/core/fixtures/generation/edgecase/unary-op/actual.js b/packages/babel/test/fixtures/generation/edgecase/unary-op/actual.js similarity index 100% rename from test/core/fixtures/generation/edgecase/unary-op/actual.js rename to packages/babel/test/fixtures/generation/edgecase/unary-op/actual.js diff --git a/test/core/fixtures/generation/edgecase/unary-op/expected.js b/packages/babel/test/fixtures/generation/edgecase/unary-op/expected.js similarity index 100% rename from test/core/fixtures/generation/edgecase/unary-op/expected.js rename to packages/babel/test/fixtures/generation/edgecase/unary-op/expected.js diff --git a/test/core/fixtures/generation/edgecase/variable-declaration/actual.js b/packages/babel/test/fixtures/generation/edgecase/variable-declaration/actual.js similarity index 100% rename from test/core/fixtures/generation/edgecase/variable-declaration/actual.js rename to packages/babel/test/fixtures/generation/edgecase/variable-declaration/actual.js diff --git a/test/core/fixtures/generation/edgecase/variable-declaration/expected.js b/packages/babel/test/fixtures/generation/edgecase/variable-declaration/expected.js similarity index 100% rename from test/core/fixtures/generation/edgecase/variable-declaration/expected.js rename to packages/babel/test/fixtures/generation/edgecase/variable-declaration/expected.js diff --git a/test/core/fixtures/generation/flow/array-types/actual.js b/packages/babel/test/fixtures/generation/flow/array-types/actual.js similarity index 100% rename from test/core/fixtures/generation/flow/array-types/actual.js rename to packages/babel/test/fixtures/generation/flow/array-types/actual.js diff --git a/test/core/fixtures/generation/flow/array-types/expected.js b/packages/babel/test/fixtures/generation/flow/array-types/expected.js similarity index 100% rename from test/core/fixtures/generation/flow/array-types/expected.js rename to packages/babel/test/fixtures/generation/flow/array-types/expected.js diff --git a/test/core/fixtures/generation/flow/call-properties/actual.js b/packages/babel/test/fixtures/generation/flow/call-properties/actual.js similarity index 100% rename from test/core/fixtures/generation/flow/call-properties/actual.js rename to packages/babel/test/fixtures/generation/flow/call-properties/actual.js diff --git a/test/core/fixtures/generation/flow/call-properties/expected.js b/packages/babel/test/fixtures/generation/flow/call-properties/expected.js similarity index 100% rename from test/core/fixtures/generation/flow/call-properties/expected.js rename to packages/babel/test/fixtures/generation/flow/call-properties/expected.js diff --git a/test/core/fixtures/generation/flow/declare-module/actual.js b/packages/babel/test/fixtures/generation/flow/declare-module/actual.js similarity index 100% rename from test/core/fixtures/generation/flow/declare-module/actual.js rename to packages/babel/test/fixtures/generation/flow/declare-module/actual.js diff --git a/test/core/fixtures/generation/flow/declare-module/expected.js b/packages/babel/test/fixtures/generation/flow/declare-module/expected.js similarity index 100% rename from test/core/fixtures/generation/flow/declare-module/expected.js rename to packages/babel/test/fixtures/generation/flow/declare-module/expected.js diff --git a/test/core/fixtures/generation/flow/declare-statements/actual.js b/packages/babel/test/fixtures/generation/flow/declare-statements/actual.js similarity index 100% rename from test/core/fixtures/generation/flow/declare-statements/actual.js rename to packages/babel/test/fixtures/generation/flow/declare-statements/actual.js diff --git a/test/core/fixtures/generation/flow/declare-statements/expected.js b/packages/babel/test/fixtures/generation/flow/declare-statements/expected.js similarity index 100% rename from test/core/fixtures/generation/flow/declare-statements/expected.js rename to packages/babel/test/fixtures/generation/flow/declare-statements/expected.js diff --git a/test/core/fixtures/generation/flow/interfaces-module-and-script/actual.js b/packages/babel/test/fixtures/generation/flow/interfaces-module-and-script/actual.js similarity index 100% rename from test/core/fixtures/generation/flow/interfaces-module-and-script/actual.js rename to packages/babel/test/fixtures/generation/flow/interfaces-module-and-script/actual.js diff --git a/test/core/fixtures/generation/flow/interfaces-module-and-script/expected.js b/packages/babel/test/fixtures/generation/flow/interfaces-module-and-script/expected.js similarity index 100% rename from test/core/fixtures/generation/flow/interfaces-module-and-script/expected.js rename to packages/babel/test/fixtures/generation/flow/interfaces-module-and-script/expected.js diff --git a/test/core/fixtures/generation/flow/qualified-generic-type/actual.js b/packages/babel/test/fixtures/generation/flow/qualified-generic-type/actual.js similarity index 100% rename from test/core/fixtures/generation/flow/qualified-generic-type/actual.js rename to packages/babel/test/fixtures/generation/flow/qualified-generic-type/actual.js diff --git a/test/core/fixtures/generation/flow/qualified-generic-type/expected.js b/packages/babel/test/fixtures/generation/flow/qualified-generic-type/expected.js similarity index 100% rename from test/core/fixtures/generation/flow/qualified-generic-type/expected.js rename to packages/babel/test/fixtures/generation/flow/qualified-generic-type/expected.js diff --git a/test/core/fixtures/generation/flow/string-literal-types/actual.js b/packages/babel/test/fixtures/generation/flow/string-literal-types/actual.js similarity index 100% rename from test/core/fixtures/generation/flow/string-literal-types/actual.js rename to packages/babel/test/fixtures/generation/flow/string-literal-types/actual.js diff --git a/test/core/fixtures/generation/flow/string-literal-types/expected.js b/packages/babel/test/fixtures/generation/flow/string-literal-types/expected.js similarity index 100% rename from test/core/fixtures/generation/flow/string-literal-types/expected.js rename to packages/babel/test/fixtures/generation/flow/string-literal-types/expected.js diff --git a/test/core/fixtures/generation/flow/tuples/actual.js b/packages/babel/test/fixtures/generation/flow/tuples/actual.js similarity index 100% rename from test/core/fixtures/generation/flow/tuples/actual.js rename to packages/babel/test/fixtures/generation/flow/tuples/actual.js diff --git a/test/core/fixtures/generation/flow/tuples/expected.js b/packages/babel/test/fixtures/generation/flow/tuples/expected.js similarity index 100% rename from test/core/fixtures/generation/flow/tuples/expected.js rename to packages/babel/test/fixtures/generation/flow/tuples/expected.js diff --git a/test/core/fixtures/generation/flow/type-alias/actual.js b/packages/babel/test/fixtures/generation/flow/type-alias/actual.js similarity index 100% rename from test/core/fixtures/generation/flow/type-alias/actual.js rename to packages/babel/test/fixtures/generation/flow/type-alias/actual.js diff --git a/test/core/fixtures/generation/flow/type-alias/expected.js b/packages/babel/test/fixtures/generation/flow/type-alias/expected.js similarity index 100% rename from test/core/fixtures/generation/flow/type-alias/expected.js rename to packages/babel/test/fixtures/generation/flow/type-alias/expected.js diff --git a/test/core/fixtures/generation/flow/type-annotations/actual.js b/packages/babel/test/fixtures/generation/flow/type-annotations/actual.js similarity index 100% rename from test/core/fixtures/generation/flow/type-annotations/actual.js rename to packages/babel/test/fixtures/generation/flow/type-annotations/actual.js diff --git a/test/core/fixtures/generation/flow/type-annotations/expected.js b/packages/babel/test/fixtures/generation/flow/type-annotations/expected.js similarity index 100% rename from test/core/fixtures/generation/flow/type-annotations/expected.js rename to packages/babel/test/fixtures/generation/flow/type-annotations/expected.js diff --git a/test/core/fixtures/generation/flow/typecasts/actual.js b/packages/babel/test/fixtures/generation/flow/typecasts/actual.js similarity index 100% rename from test/core/fixtures/generation/flow/typecasts/actual.js rename to packages/babel/test/fixtures/generation/flow/typecasts/actual.js diff --git a/test/core/fixtures/generation/flow/typecasts/expected.js b/packages/babel/test/fixtures/generation/flow/typecasts/expected.js similarity index 100% rename from test/core/fixtures/generation/flow/typecasts/expected.js rename to packages/babel/test/fixtures/generation/flow/typecasts/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/arrow-function/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/arrow-function/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/arrow-function/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/arrow-function/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/arrow-function/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/arrow-function/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/arrow-function/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/arrow-function/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/class-declaration/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/class-declaration/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/class-declaration/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/class-declaration/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/class-declaration/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/class-declaration/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/class-declaration/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/class-declaration/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/class-expression/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/class-expression/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/class-expression/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/class-expression/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/class-expression/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/class-expression/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/class-expression/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/class-expression/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/computed-property/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/computed-property/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/computed-property/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/computed-property/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/computed-property/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/computed-property/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/computed-property/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/computed-property/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/default-parameter/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/default-parameter/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/default-parameter/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/default-parameter/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/default-parameter/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/default-parameter/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/default-parameter/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/default-parameter/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/destructuring-assignment/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/destructuring-assignment/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/destructuring-assignment/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/destructuring-assignment/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/destructuring-assignment/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/destructuring-assignment/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/destructuring-assignment/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/destructuring-assignment/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/export-default-declaration/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/export-default-declaration/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/export-default-declaration/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/export-default-declaration/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/export-default-declaration/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/export-default-declaration/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/export-default-declaration/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/export-default-declaration/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/exports/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/exports/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/exports/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/exports/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/exports/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/exports/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/exports/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/exports/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/for-of-statement/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/for-of-statement/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/for-of-statement/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/for-of-statement/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/for-of-statement/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/for-of-statement/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/for-of-statement/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/for-of-statement/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/import-with-default/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/import-with-default/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/import-with-default/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/import-with-default/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/import-with-default/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/import-with-default/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/import-with-default/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/import-with-default/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/imports/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/imports/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/imports/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/imports/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/imports/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/imports/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/imports/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/imports/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/spread-element/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/spread-element/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/spread-element/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/spread-element/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/spread-element/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/spread-element/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/spread-element/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/spread-element/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/templates-escape/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/templates-escape/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/templates-escape/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/templates-escape/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/templates-escape/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/templates-escape/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/templates-escape/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/templates-escape/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/templates/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/templates/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/templates/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/templates/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/templates/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/templates/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/templates/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/templates/expected.js diff --git a/test/core/fixtures/generation/harmony-edgecase/yield-precedence/actual.js b/packages/babel/test/fixtures/generation/harmony-edgecase/yield-precedence/actual.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/yield-precedence/actual.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/yield-precedence/actual.js diff --git a/test/core/fixtures/generation/harmony-edgecase/yield-precedence/expected.js b/packages/babel/test/fixtures/generation/harmony-edgecase/yield-precedence/expected.js similarity index 100% rename from test/core/fixtures/generation/harmony-edgecase/yield-precedence/expected.js rename to packages/babel/test/fixtures/generation/harmony-edgecase/yield-precedence/expected.js diff --git a/test/core/fixtures/generation/parentheses/arrow-function-object-body/actual.js b/packages/babel/test/fixtures/generation/parentheses/arrow-function-object-body/actual.js similarity index 100% rename from test/core/fixtures/generation/parentheses/arrow-function-object-body/actual.js rename to packages/babel/test/fixtures/generation/parentheses/arrow-function-object-body/actual.js diff --git a/test/core/fixtures/generation/parentheses/arrow-function-object-body/expected.js b/packages/babel/test/fixtures/generation/parentheses/arrow-function-object-body/expected.js similarity index 100% rename from test/core/fixtures/generation/parentheses/arrow-function-object-body/expected.js rename to packages/babel/test/fixtures/generation/parentheses/arrow-function-object-body/expected.js diff --git a/test/core/fixtures/generation/types/ArrayExpression-ArrayPattern/actual.js b/packages/babel/test/fixtures/generation/types/ArrayExpression-ArrayPattern/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ArrayExpression-ArrayPattern/actual.js rename to packages/babel/test/fixtures/generation/types/ArrayExpression-ArrayPattern/actual.js diff --git a/test/core/fixtures/generation/types/ArrayExpression-ArrayPattern/expected.js b/packages/babel/test/fixtures/generation/types/ArrayExpression-ArrayPattern/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ArrayExpression-ArrayPattern/expected.js rename to packages/babel/test/fixtures/generation/types/ArrayExpression-ArrayPattern/expected.js diff --git a/test/core/fixtures/generation/types/ArrowFunctionExpression/actual.js b/packages/babel/test/fixtures/generation/types/ArrowFunctionExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ArrowFunctionExpression/actual.js rename to packages/babel/test/fixtures/generation/types/ArrowFunctionExpression/actual.js diff --git a/test/core/fixtures/generation/types/ArrowFunctionExpression/expected.js b/packages/babel/test/fixtures/generation/types/ArrowFunctionExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ArrowFunctionExpression/expected.js rename to packages/babel/test/fixtures/generation/types/ArrowFunctionExpression/expected.js diff --git a/test/core/fixtures/generation/types/AssignmentExpression-BinaryExpression-LogicalExpression/actual.js b/packages/babel/test/fixtures/generation/types/AssignmentExpression-BinaryExpression-LogicalExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/AssignmentExpression-BinaryExpression-LogicalExpression/actual.js rename to packages/babel/test/fixtures/generation/types/AssignmentExpression-BinaryExpression-LogicalExpression/actual.js diff --git a/test/core/fixtures/generation/types/AssignmentExpression-BinaryExpression-LogicalExpression/expected.js b/packages/babel/test/fixtures/generation/types/AssignmentExpression-BinaryExpression-LogicalExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/AssignmentExpression-BinaryExpression-LogicalExpression/expected.js rename to packages/babel/test/fixtures/generation/types/AssignmentExpression-BinaryExpression-LogicalExpression/expected.js diff --git a/test/core/fixtures/generation/types/AwaitExpression/actual.js b/packages/babel/test/fixtures/generation/types/AwaitExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/AwaitExpression/actual.js rename to packages/babel/test/fixtures/generation/types/AwaitExpression/actual.js diff --git a/test/core/fixtures/generation/types/AwaitExpression/expected.js b/packages/babel/test/fixtures/generation/types/AwaitExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/AwaitExpression/expected.js rename to packages/babel/test/fixtures/generation/types/AwaitExpression/expected.js diff --git a/test/core/fixtures/generation/types/BindExpression/actual.js b/packages/babel/test/fixtures/generation/types/BindExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/BindExpression/actual.js rename to packages/babel/test/fixtures/generation/types/BindExpression/actual.js diff --git a/test/core/fixtures/generation/types/BindExpression/expected.js b/packages/babel/test/fixtures/generation/types/BindExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/BindExpression/expected.js rename to packages/babel/test/fixtures/generation/types/BindExpression/expected.js diff --git a/test/core/fixtures/generation/types/BlockStatement/actual.js b/packages/babel/test/fixtures/generation/types/BlockStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/BlockStatement/actual.js rename to packages/babel/test/fixtures/generation/types/BlockStatement/actual.js diff --git a/test/core/fixtures/generation/types/BlockStatement/expected.js b/packages/babel/test/fixtures/generation/types/BlockStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/BlockStatement/expected.js rename to packages/babel/test/fixtures/generation/types/BlockStatement/expected.js diff --git a/test/core/fixtures/generation/types/BreakStatement/actual.js b/packages/babel/test/fixtures/generation/types/BreakStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/BreakStatement/actual.js rename to packages/babel/test/fixtures/generation/types/BreakStatement/actual.js diff --git a/test/core/fixtures/generation/types/BreakStatement/expected.js b/packages/babel/test/fixtures/generation/types/BreakStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/BreakStatement/expected.js rename to packages/babel/test/fixtures/generation/types/BreakStatement/expected.js diff --git a/test/core/fixtures/generation/types/CallExpression/actual.js b/packages/babel/test/fixtures/generation/types/CallExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/CallExpression/actual.js rename to packages/babel/test/fixtures/generation/types/CallExpression/actual.js diff --git a/test/core/fixtures/generation/types/CallExpression/expected.js b/packages/babel/test/fixtures/generation/types/CallExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/CallExpression/expected.js rename to packages/babel/test/fixtures/generation/types/CallExpression/expected.js diff --git a/test/core/fixtures/generation/types/ClassBody-MethodDefinition/actual.js b/packages/babel/test/fixtures/generation/types/ClassBody-MethodDefinition/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ClassBody-MethodDefinition/actual.js rename to packages/babel/test/fixtures/generation/types/ClassBody-MethodDefinition/actual.js diff --git a/test/core/fixtures/generation/types/ClassBody-MethodDefinition/expected.js b/packages/babel/test/fixtures/generation/types/ClassBody-MethodDefinition/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ClassBody-MethodDefinition/expected.js rename to packages/babel/test/fixtures/generation/types/ClassBody-MethodDefinition/expected.js diff --git a/test/core/fixtures/generation/types/ClassDeclaration/actual.js b/packages/babel/test/fixtures/generation/types/ClassDeclaration/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ClassDeclaration/actual.js rename to packages/babel/test/fixtures/generation/types/ClassDeclaration/actual.js diff --git a/test/core/fixtures/generation/types/ClassDeclaration/expected.js b/packages/babel/test/fixtures/generation/types/ClassDeclaration/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ClassDeclaration/expected.js rename to packages/babel/test/fixtures/generation/types/ClassDeclaration/expected.js diff --git a/test/core/fixtures/generation/types/ClassExpression/actual.js b/packages/babel/test/fixtures/generation/types/ClassExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ClassExpression/actual.js rename to packages/babel/test/fixtures/generation/types/ClassExpression/actual.js diff --git a/test/core/fixtures/generation/types/ClassExpression/expected.js b/packages/babel/test/fixtures/generation/types/ClassExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ClassExpression/expected.js rename to packages/babel/test/fixtures/generation/types/ClassExpression/expected.js diff --git a/test/core/fixtures/generation/types/ComprehensionBlock-ComprehensionExpression/actual.js b/packages/babel/test/fixtures/generation/types/ComprehensionBlock-ComprehensionExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ComprehensionBlock-ComprehensionExpression/actual.js rename to packages/babel/test/fixtures/generation/types/ComprehensionBlock-ComprehensionExpression/actual.js diff --git a/test/core/fixtures/generation/types/ComprehensionBlock-ComprehensionExpression/expected.js b/packages/babel/test/fixtures/generation/types/ComprehensionBlock-ComprehensionExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ComprehensionBlock-ComprehensionExpression/expected.js rename to packages/babel/test/fixtures/generation/types/ComprehensionBlock-ComprehensionExpression/expected.js diff --git a/test/core/fixtures/generation/types/ConditionalExpression/actual.js b/packages/babel/test/fixtures/generation/types/ConditionalExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ConditionalExpression/actual.js rename to packages/babel/test/fixtures/generation/types/ConditionalExpression/actual.js diff --git a/test/core/fixtures/generation/types/ConditionalExpression/expected.js b/packages/babel/test/fixtures/generation/types/ConditionalExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ConditionalExpression/expected.js rename to packages/babel/test/fixtures/generation/types/ConditionalExpression/expected.js diff --git a/test/core/fixtures/generation/types/ContinueStatement/actual.js b/packages/babel/test/fixtures/generation/types/ContinueStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ContinueStatement/actual.js rename to packages/babel/test/fixtures/generation/types/ContinueStatement/actual.js diff --git a/test/core/fixtures/generation/types/ContinueStatement/expected.js b/packages/babel/test/fixtures/generation/types/ContinueStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ContinueStatement/expected.js rename to packages/babel/test/fixtures/generation/types/ContinueStatement/expected.js diff --git a/test/core/fixtures/generation/types/DebuggerStatement/actual.js b/packages/babel/test/fixtures/generation/types/DebuggerStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/DebuggerStatement/actual.js rename to packages/babel/test/fixtures/generation/types/DebuggerStatement/actual.js diff --git a/test/core/fixtures/generation/types/DebuggerStatement/expected.js b/packages/babel/test/fixtures/generation/types/DebuggerStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/DebuggerStatement/expected.js rename to packages/babel/test/fixtures/generation/types/DebuggerStatement/expected.js diff --git a/test/core/fixtures/generation/types/Decorator/actual.js b/packages/babel/test/fixtures/generation/types/Decorator/actual.js similarity index 100% rename from test/core/fixtures/generation/types/Decorator/actual.js rename to packages/babel/test/fixtures/generation/types/Decorator/actual.js diff --git a/test/core/fixtures/generation/types/Decorator/expected.js b/packages/babel/test/fixtures/generation/types/Decorator/expected.js similarity index 100% rename from test/core/fixtures/generation/types/Decorator/expected.js rename to packages/babel/test/fixtures/generation/types/Decorator/expected.js diff --git a/test/core/fixtures/generation/types/DoWhileStatement/actual.js b/packages/babel/test/fixtures/generation/types/DoWhileStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/DoWhileStatement/actual.js rename to packages/babel/test/fixtures/generation/types/DoWhileStatement/actual.js diff --git a/test/core/fixtures/generation/types/DoWhileStatement/expected.js b/packages/babel/test/fixtures/generation/types/DoWhileStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/DoWhileStatement/expected.js rename to packages/babel/test/fixtures/generation/types/DoWhileStatement/expected.js diff --git a/test/core/fixtures/generation/types/EmptyStatement/actual.js b/packages/babel/test/fixtures/generation/types/EmptyStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/EmptyStatement/actual.js rename to packages/babel/test/fixtures/generation/types/EmptyStatement/actual.js diff --git a/test/core/fixtures/generation/types/EmptyStatement/expected.js b/packages/babel/test/fixtures/generation/types/EmptyStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/EmptyStatement/expected.js rename to packages/babel/test/fixtures/generation/types/EmptyStatement/expected.js diff --git a/test/core/fixtures/generation/types/ExportDefaultDeclaration-ExportSpecifier-ExportNamedDeclaration/actual.js b/packages/babel/test/fixtures/generation/types/ExportDefaultDeclaration-ExportSpecifier-ExportNamedDeclaration/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ExportDefaultDeclaration-ExportSpecifier-ExportNamedDeclaration/actual.js rename to packages/babel/test/fixtures/generation/types/ExportDefaultDeclaration-ExportSpecifier-ExportNamedDeclaration/actual.js diff --git a/test/core/fixtures/generation/types/ExportDefaultDeclaration-ExportSpecifier-ExportNamedDeclaration/expected.js b/packages/babel/test/fixtures/generation/types/ExportDefaultDeclaration-ExportSpecifier-ExportNamedDeclaration/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ExportDefaultDeclaration-ExportSpecifier-ExportNamedDeclaration/expected.js rename to packages/babel/test/fixtures/generation/types/ExportDefaultDeclaration-ExportSpecifier-ExportNamedDeclaration/expected.js diff --git a/test/core/fixtures/generation/types/ForInStatement/actual.js b/packages/babel/test/fixtures/generation/types/ForInStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ForInStatement/actual.js rename to packages/babel/test/fixtures/generation/types/ForInStatement/actual.js diff --git a/test/core/fixtures/generation/types/ForInStatement/expected.js b/packages/babel/test/fixtures/generation/types/ForInStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ForInStatement/expected.js rename to packages/babel/test/fixtures/generation/types/ForInStatement/expected.js diff --git a/test/core/fixtures/generation/types/ForOfStatement/actual.js b/packages/babel/test/fixtures/generation/types/ForOfStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ForOfStatement/actual.js rename to packages/babel/test/fixtures/generation/types/ForOfStatement/actual.js diff --git a/test/core/fixtures/generation/types/ForOfStatement/expected.js b/packages/babel/test/fixtures/generation/types/ForOfStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ForOfStatement/expected.js rename to packages/babel/test/fixtures/generation/types/ForOfStatement/expected.js diff --git a/test/core/fixtures/generation/types/ForStatement/actual.js b/packages/babel/test/fixtures/generation/types/ForStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ForStatement/actual.js rename to packages/babel/test/fixtures/generation/types/ForStatement/actual.js diff --git a/test/core/fixtures/generation/types/ForStatement/expected.js b/packages/babel/test/fixtures/generation/types/ForStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ForStatement/expected.js rename to packages/babel/test/fixtures/generation/types/ForStatement/expected.js diff --git a/test/core/fixtures/generation/types/FunctionDeclaration-FunctionExpression/actual.js b/packages/babel/test/fixtures/generation/types/FunctionDeclaration-FunctionExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/FunctionDeclaration-FunctionExpression/actual.js rename to packages/babel/test/fixtures/generation/types/FunctionDeclaration-FunctionExpression/actual.js diff --git a/test/core/fixtures/generation/types/FunctionDeclaration-FunctionExpression/expected.js b/packages/babel/test/fixtures/generation/types/FunctionDeclaration-FunctionExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/FunctionDeclaration-FunctionExpression/expected.js rename to packages/babel/test/fixtures/generation/types/FunctionDeclaration-FunctionExpression/expected.js diff --git a/test/core/fixtures/generation/types/Identifier/actual.js b/packages/babel/test/fixtures/generation/types/Identifier/actual.js similarity index 100% rename from test/core/fixtures/generation/types/Identifier/actual.js rename to packages/babel/test/fixtures/generation/types/Identifier/actual.js diff --git a/test/core/fixtures/generation/types/Identifier/expected.js b/packages/babel/test/fixtures/generation/types/Identifier/expected.js similarity index 100% rename from test/core/fixtures/generation/types/Identifier/expected.js rename to packages/babel/test/fixtures/generation/types/Identifier/expected.js diff --git a/test/core/fixtures/generation/types/IfStatement/actual.js b/packages/babel/test/fixtures/generation/types/IfStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/IfStatement/actual.js rename to packages/babel/test/fixtures/generation/types/IfStatement/actual.js diff --git a/test/core/fixtures/generation/types/IfStatement/expected.js b/packages/babel/test/fixtures/generation/types/IfStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/IfStatement/expected.js rename to packages/babel/test/fixtures/generation/types/IfStatement/expected.js diff --git a/test/core/fixtures/generation/types/ImportDeclaration-ImportSpecifier-ImportNamespaceSpecifier/actual.js b/packages/babel/test/fixtures/generation/types/ImportDeclaration-ImportSpecifier-ImportNamespaceSpecifier/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ImportDeclaration-ImportSpecifier-ImportNamespaceSpecifier/actual.js rename to packages/babel/test/fixtures/generation/types/ImportDeclaration-ImportSpecifier-ImportNamespaceSpecifier/actual.js diff --git a/test/core/fixtures/generation/types/ImportDeclaration-ImportSpecifier-ImportNamespaceSpecifier/expected.js b/packages/babel/test/fixtures/generation/types/ImportDeclaration-ImportSpecifier-ImportNamespaceSpecifier/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ImportDeclaration-ImportSpecifier-ImportNamespaceSpecifier/expected.js rename to packages/babel/test/fixtures/generation/types/ImportDeclaration-ImportSpecifier-ImportNamespaceSpecifier/expected.js diff --git a/test/core/fixtures/generation/types/LabeledStatement/actual.js b/packages/babel/test/fixtures/generation/types/LabeledStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/LabeledStatement/actual.js rename to packages/babel/test/fixtures/generation/types/LabeledStatement/actual.js diff --git a/test/core/fixtures/generation/types/LabeledStatement/expected.js b/packages/babel/test/fixtures/generation/types/LabeledStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/LabeledStatement/expected.js rename to packages/babel/test/fixtures/generation/types/LabeledStatement/expected.js diff --git a/test/core/fixtures/generation/types/Literal/actual.js b/packages/babel/test/fixtures/generation/types/Literal/actual.js similarity index 100% rename from test/core/fixtures/generation/types/Literal/actual.js rename to packages/babel/test/fixtures/generation/types/Literal/actual.js diff --git a/test/core/fixtures/generation/types/Literal/expected.js b/packages/babel/test/fixtures/generation/types/Literal/expected.js similarity index 100% rename from test/core/fixtures/generation/types/Literal/expected.js rename to packages/babel/test/fixtures/generation/types/Literal/expected.js diff --git a/test/core/fixtures/generation/types/MemberExpression/actual.js b/packages/babel/test/fixtures/generation/types/MemberExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/MemberExpression/actual.js rename to packages/babel/test/fixtures/generation/types/MemberExpression/actual.js diff --git a/test/core/fixtures/generation/types/MemberExpression/expected.js b/packages/babel/test/fixtures/generation/types/MemberExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/MemberExpression/expected.js rename to packages/babel/test/fixtures/generation/types/MemberExpression/expected.js diff --git a/test/core/fixtures/generation/types/NewExpression/actual.js b/packages/babel/test/fixtures/generation/types/NewExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/NewExpression/actual.js rename to packages/babel/test/fixtures/generation/types/NewExpression/actual.js diff --git a/test/core/fixtures/generation/types/NewExpression/expected.js b/packages/babel/test/fixtures/generation/types/NewExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/NewExpression/expected.js rename to packages/babel/test/fixtures/generation/types/NewExpression/expected.js diff --git a/test/core/fixtures/generation/types/ObjectExpression-ObjectPattern-Property/actual.js b/packages/babel/test/fixtures/generation/types/ObjectExpression-ObjectPattern-Property/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ObjectExpression-ObjectPattern-Property/actual.js rename to packages/babel/test/fixtures/generation/types/ObjectExpression-ObjectPattern-Property/actual.js diff --git a/test/core/fixtures/generation/types/ObjectExpression-ObjectPattern-Property/expected.js b/packages/babel/test/fixtures/generation/types/ObjectExpression-ObjectPattern-Property/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ObjectExpression-ObjectPattern-Property/expected.js rename to packages/babel/test/fixtures/generation/types/ObjectExpression-ObjectPattern-Property/expected.js diff --git a/test/core/fixtures/generation/types/ReturnStatement/actual.js b/packages/babel/test/fixtures/generation/types/ReturnStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ReturnStatement/actual.js rename to packages/babel/test/fixtures/generation/types/ReturnStatement/actual.js diff --git a/test/core/fixtures/generation/types/ReturnStatement/expected.js b/packages/babel/test/fixtures/generation/types/ReturnStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ReturnStatement/expected.js rename to packages/babel/test/fixtures/generation/types/ReturnStatement/expected.js diff --git a/test/core/fixtures/generation/types/SequenceExpression/actual.js b/packages/babel/test/fixtures/generation/types/SequenceExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/SequenceExpression/actual.js rename to packages/babel/test/fixtures/generation/types/SequenceExpression/actual.js diff --git a/test/core/fixtures/generation/types/SequenceExpression/expected.js b/packages/babel/test/fixtures/generation/types/SequenceExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/SequenceExpression/expected.js rename to packages/babel/test/fixtures/generation/types/SequenceExpression/expected.js diff --git a/test/core/fixtures/generation/types/SpreadElement-SpreadProperty/actual.js b/packages/babel/test/fixtures/generation/types/SpreadElement-SpreadProperty/actual.js similarity index 100% rename from test/core/fixtures/generation/types/SpreadElement-SpreadProperty/actual.js rename to packages/babel/test/fixtures/generation/types/SpreadElement-SpreadProperty/actual.js diff --git a/test/core/fixtures/generation/types/SpreadElement-SpreadProperty/expected.js b/packages/babel/test/fixtures/generation/types/SpreadElement-SpreadProperty/expected.js similarity index 100% rename from test/core/fixtures/generation/types/SpreadElement-SpreadProperty/expected.js rename to packages/babel/test/fixtures/generation/types/SpreadElement-SpreadProperty/expected.js diff --git a/test/core/fixtures/generation/types/SwitchStatement-SwitchCase/actual.js b/packages/babel/test/fixtures/generation/types/SwitchStatement-SwitchCase/actual.js similarity index 100% rename from test/core/fixtures/generation/types/SwitchStatement-SwitchCase/actual.js rename to packages/babel/test/fixtures/generation/types/SwitchStatement-SwitchCase/actual.js diff --git a/test/core/fixtures/generation/types/SwitchStatement-SwitchCase/expected.js b/packages/babel/test/fixtures/generation/types/SwitchStatement-SwitchCase/expected.js similarity index 100% rename from test/core/fixtures/generation/types/SwitchStatement-SwitchCase/expected.js rename to packages/babel/test/fixtures/generation/types/SwitchStatement-SwitchCase/expected.js diff --git a/test/core/fixtures/generation/types/TemplateLiteral-TaggedTemplateExpression-TemplateElement/actual.js b/packages/babel/test/fixtures/generation/types/TemplateLiteral-TaggedTemplateExpression-TemplateElement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/TemplateLiteral-TaggedTemplateExpression-TemplateElement/actual.js rename to packages/babel/test/fixtures/generation/types/TemplateLiteral-TaggedTemplateExpression-TemplateElement/actual.js diff --git a/test/core/fixtures/generation/types/TemplateLiteral-TaggedTemplateExpression-TemplateElement/expected.js b/packages/babel/test/fixtures/generation/types/TemplateLiteral-TaggedTemplateExpression-TemplateElement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/TemplateLiteral-TaggedTemplateExpression-TemplateElement/expected.js rename to packages/babel/test/fixtures/generation/types/TemplateLiteral-TaggedTemplateExpression-TemplateElement/expected.js diff --git a/test/core/fixtures/generation/types/ThisExpression/actual.js b/packages/babel/test/fixtures/generation/types/ThisExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ThisExpression/actual.js rename to packages/babel/test/fixtures/generation/types/ThisExpression/actual.js diff --git a/test/core/fixtures/generation/types/ThisExpression/expected.js b/packages/babel/test/fixtures/generation/types/ThisExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ThisExpression/expected.js rename to packages/babel/test/fixtures/generation/types/ThisExpression/expected.js diff --git a/test/core/fixtures/generation/types/ThrowStatement/actual.js b/packages/babel/test/fixtures/generation/types/ThrowStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/ThrowStatement/actual.js rename to packages/babel/test/fixtures/generation/types/ThrowStatement/actual.js diff --git a/test/core/fixtures/generation/types/ThrowStatement/expected.js b/packages/babel/test/fixtures/generation/types/ThrowStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/ThrowStatement/expected.js rename to packages/babel/test/fixtures/generation/types/ThrowStatement/expected.js diff --git a/test/core/fixtures/generation/types/TryStatement-CatchClause/actual.js b/packages/babel/test/fixtures/generation/types/TryStatement-CatchClause/actual.js similarity index 100% rename from test/core/fixtures/generation/types/TryStatement-CatchClause/actual.js rename to packages/babel/test/fixtures/generation/types/TryStatement-CatchClause/actual.js diff --git a/test/core/fixtures/generation/types/TryStatement-CatchClause/expected.js b/packages/babel/test/fixtures/generation/types/TryStatement-CatchClause/expected.js similarity index 100% rename from test/core/fixtures/generation/types/TryStatement-CatchClause/expected.js rename to packages/babel/test/fixtures/generation/types/TryStatement-CatchClause/expected.js diff --git a/test/core/fixtures/generation/types/UnaryExpression/actual.js b/packages/babel/test/fixtures/generation/types/UnaryExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/UnaryExpression/actual.js rename to packages/babel/test/fixtures/generation/types/UnaryExpression/actual.js diff --git a/test/core/fixtures/generation/types/UnaryExpression/expected.js b/packages/babel/test/fixtures/generation/types/UnaryExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/UnaryExpression/expected.js rename to packages/babel/test/fixtures/generation/types/UnaryExpression/expected.js diff --git a/test/core/fixtures/generation/types/UpdateExpression/actual.js b/packages/babel/test/fixtures/generation/types/UpdateExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/UpdateExpression/actual.js rename to packages/babel/test/fixtures/generation/types/UpdateExpression/actual.js diff --git a/test/core/fixtures/generation/types/UpdateExpression/expected.js b/packages/babel/test/fixtures/generation/types/UpdateExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/UpdateExpression/expected.js rename to packages/babel/test/fixtures/generation/types/UpdateExpression/expected.js diff --git a/test/core/fixtures/generation/types/VariableDeclaration-VariableDeclarator/actual.js b/packages/babel/test/fixtures/generation/types/VariableDeclaration-VariableDeclarator/actual.js similarity index 100% rename from test/core/fixtures/generation/types/VariableDeclaration-VariableDeclarator/actual.js rename to packages/babel/test/fixtures/generation/types/VariableDeclaration-VariableDeclarator/actual.js diff --git a/test/core/fixtures/generation/types/VariableDeclaration-VariableDeclarator/expected.js b/packages/babel/test/fixtures/generation/types/VariableDeclaration-VariableDeclarator/expected.js similarity index 100% rename from test/core/fixtures/generation/types/VariableDeclaration-VariableDeclarator/expected.js rename to packages/babel/test/fixtures/generation/types/VariableDeclaration-VariableDeclarator/expected.js diff --git a/test/core/fixtures/generation/types/WhileStatement/actual.js b/packages/babel/test/fixtures/generation/types/WhileStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/WhileStatement/actual.js rename to packages/babel/test/fixtures/generation/types/WhileStatement/actual.js diff --git a/test/core/fixtures/generation/types/WhileStatement/expected.js b/packages/babel/test/fixtures/generation/types/WhileStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/WhileStatement/expected.js rename to packages/babel/test/fixtures/generation/types/WhileStatement/expected.js diff --git a/test/core/fixtures/generation/types/WithStatement/actual.js b/packages/babel/test/fixtures/generation/types/WithStatement/actual.js similarity index 100% rename from test/core/fixtures/generation/types/WithStatement/actual.js rename to packages/babel/test/fixtures/generation/types/WithStatement/actual.js diff --git a/test/core/fixtures/generation/types/WithStatement/expected.js b/packages/babel/test/fixtures/generation/types/WithStatement/expected.js similarity index 100% rename from test/core/fixtures/generation/types/WithStatement/expected.js rename to packages/babel/test/fixtures/generation/types/WithStatement/expected.js diff --git a/test/core/fixtures/generation/types/XJSAttribute/actual.js b/packages/babel/test/fixtures/generation/types/XJSAttribute/actual.js similarity index 100% rename from test/core/fixtures/generation/types/XJSAttribute/actual.js rename to packages/babel/test/fixtures/generation/types/XJSAttribute/actual.js diff --git a/test/core/fixtures/generation/types/XJSAttribute/expected.js b/packages/babel/test/fixtures/generation/types/XJSAttribute/expected.js similarity index 100% rename from test/core/fixtures/generation/types/XJSAttribute/expected.js rename to packages/babel/test/fixtures/generation/types/XJSAttribute/expected.js diff --git a/test/core/fixtures/generation/types/XJSElement-XJSOpeningElement-XJSClosingElement-XJSIdentifier/actual.js b/packages/babel/test/fixtures/generation/types/XJSElement-XJSOpeningElement-XJSClosingElement-XJSIdentifier/actual.js similarity index 100% rename from test/core/fixtures/generation/types/XJSElement-XJSOpeningElement-XJSClosingElement-XJSIdentifier/actual.js rename to packages/babel/test/fixtures/generation/types/XJSElement-XJSOpeningElement-XJSClosingElement-XJSIdentifier/actual.js diff --git a/test/core/fixtures/generation/types/XJSElement-XJSOpeningElement-XJSClosingElement-XJSIdentifier/expected.js b/packages/babel/test/fixtures/generation/types/XJSElement-XJSOpeningElement-XJSClosingElement-XJSIdentifier/expected.js similarity index 100% rename from test/core/fixtures/generation/types/XJSElement-XJSOpeningElement-XJSClosingElement-XJSIdentifier/expected.js rename to packages/babel/test/fixtures/generation/types/XJSElement-XJSOpeningElement-XJSClosingElement-XJSIdentifier/expected.js diff --git a/test/core/fixtures/generation/types/XJSEmptyExpression/actual.js b/packages/babel/test/fixtures/generation/types/XJSEmptyExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/XJSEmptyExpression/actual.js rename to packages/babel/test/fixtures/generation/types/XJSEmptyExpression/actual.js diff --git a/test/core/fixtures/generation/types/XJSEmptyExpression/expected.js b/packages/babel/test/fixtures/generation/types/XJSEmptyExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/XJSEmptyExpression/expected.js rename to packages/babel/test/fixtures/generation/types/XJSEmptyExpression/expected.js diff --git a/test/core/fixtures/generation/types/XJSExpressionContainer/actual.js b/packages/babel/test/fixtures/generation/types/XJSExpressionContainer/actual.js similarity index 100% rename from test/core/fixtures/generation/types/XJSExpressionContainer/actual.js rename to packages/babel/test/fixtures/generation/types/XJSExpressionContainer/actual.js diff --git a/test/core/fixtures/generation/types/XJSExpressionContainer/expected.js b/packages/babel/test/fixtures/generation/types/XJSExpressionContainer/expected.js similarity index 100% rename from test/core/fixtures/generation/types/XJSExpressionContainer/expected.js rename to packages/babel/test/fixtures/generation/types/XJSExpressionContainer/expected.js diff --git a/test/core/fixtures/generation/types/XJSMemberExpression/actual.js b/packages/babel/test/fixtures/generation/types/XJSMemberExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/XJSMemberExpression/actual.js rename to packages/babel/test/fixtures/generation/types/XJSMemberExpression/actual.js diff --git a/test/core/fixtures/generation/types/XJSMemberExpression/expected.js b/packages/babel/test/fixtures/generation/types/XJSMemberExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/XJSMemberExpression/expected.js rename to packages/babel/test/fixtures/generation/types/XJSMemberExpression/expected.js diff --git a/test/core/fixtures/generation/types/XJSNamespacedName/actual.js b/packages/babel/test/fixtures/generation/types/XJSNamespacedName/actual.js similarity index 100% rename from test/core/fixtures/generation/types/XJSNamespacedName/actual.js rename to packages/babel/test/fixtures/generation/types/XJSNamespacedName/actual.js diff --git a/test/core/fixtures/generation/types/XJSNamespacedName/expected.js b/packages/babel/test/fixtures/generation/types/XJSNamespacedName/expected.js similarity index 100% rename from test/core/fixtures/generation/types/XJSNamespacedName/expected.js rename to packages/babel/test/fixtures/generation/types/XJSNamespacedName/expected.js diff --git a/test/core/fixtures/generation/types/XJSSpreadAttribute/actual.js b/packages/babel/test/fixtures/generation/types/XJSSpreadAttribute/actual.js similarity index 100% rename from test/core/fixtures/generation/types/XJSSpreadAttribute/actual.js rename to packages/babel/test/fixtures/generation/types/XJSSpreadAttribute/actual.js diff --git a/test/core/fixtures/generation/types/XJSSpreadAttribute/expected.js b/packages/babel/test/fixtures/generation/types/XJSSpreadAttribute/expected.js similarity index 100% rename from test/core/fixtures/generation/types/XJSSpreadAttribute/expected.js rename to packages/babel/test/fixtures/generation/types/XJSSpreadAttribute/expected.js diff --git a/test/core/fixtures/generation/types/YieldExpression/actual.js b/packages/babel/test/fixtures/generation/types/YieldExpression/actual.js similarity index 100% rename from test/core/fixtures/generation/types/YieldExpression/actual.js rename to packages/babel/test/fixtures/generation/types/YieldExpression/actual.js diff --git a/test/core/fixtures/generation/types/YieldExpression/expected.js b/packages/babel/test/fixtures/generation/types/YieldExpression/expected.js similarity index 100% rename from test/core/fixtures/generation/types/YieldExpression/expected.js rename to packages/babel/test/fixtures/generation/types/YieldExpression/expected.js diff --git a/test/core/fixtures/transformation/.ludicrous/options.json b/packages/babel/test/fixtures/transformation/.ludicrous/options.json similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/options.json rename to packages/babel/test/fixtures/transformation/.ludicrous/options.json diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-apply-handler.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-apply-handler.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-apply-handler.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-apply-handler.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-construct-handler.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-construct-handler.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-construct-handler.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-construct-handler.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-define-property-handler.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-define-property-handler.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-define-property-handler.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-define-property-handler.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-delete-property-handler.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-delete-property-handler.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-delete-property-handler.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-delete-property-handler.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-enumerate-handler.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-enumerate-handler.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-enumerate-handler.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-enumerate-handler.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-get-handler-instance-of-proxies.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-get-handler-instance-of-proxies.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-get-handler-instance-of-proxies.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-get-handler-instance-of-proxies.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-get-handler.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-get-handler.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-get-handler.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-get-handler.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-get-own-property-descriptor-handler.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-get-own-property-descriptor-handler.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-get-own-property-descriptor-handler.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-get-own-property-descriptor-handler.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-get-prototype-of-handler.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-get-prototype-of-handler.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-get-prototype-of-handler.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-get-prototype-of-handler.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-has-handler-instance-of-proxies.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-has-handler-instance-of-proxies.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-has-handler-instance-of-proxies.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-has-handler-instance-of-proxies.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-has-handler.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-has-handler.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-has-handler.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-has-handler.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-is-extensible-handler.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-is-extensible-handler.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-is-extensible-handler.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-is-extensible-handler.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-own-keys-handler.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-own-keys-handler.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-own-keys-handler.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-own-keys-handler.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-prevent-extensions.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-prevent-extensions.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-prevent-extensions.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-prevent-extensions.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-set-handler-instance-of-proxies.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-set-handler-instance-of-proxies.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-set-handler-instance-of-proxies.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-set-handler-instance-of-proxies.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-set-handler.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-set-handler.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-set-handler.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-set-handler.js diff --git a/test/core/fixtures/transformation/.ludicrous/proxy-set-prototype-of-handler.js b/packages/babel/test/fixtures/transformation/.ludicrous/proxy-set-prototype-of-handler.js similarity index 100% rename from test/core/fixtures/transformation/.ludicrous/proxy-set-prototype-of-handler.js rename to packages/babel/test/fixtures/transformation/.ludicrous/proxy-set-prototype-of-handler.js diff --git a/test/core/fixtures/transformation/api/blacklist/actual.js b/packages/babel/test/fixtures/transformation/api/blacklist/actual.js similarity index 100% rename from test/core/fixtures/transformation/api/blacklist/actual.js rename to packages/babel/test/fixtures/transformation/api/blacklist/actual.js diff --git a/test/core/fixtures/transformation/api/blacklist/expected.js b/packages/babel/test/fixtures/transformation/api/blacklist/expected.js similarity index 100% rename from test/core/fixtures/transformation/api/blacklist/expected.js rename to packages/babel/test/fixtures/transformation/api/blacklist/expected.js diff --git a/test/core/fixtures/transformation/api/blacklist/options.json b/packages/babel/test/fixtures/transformation/api/blacklist/options.json similarity index 100% rename from test/core/fixtures/transformation/api/blacklist/options.json rename to packages/babel/test/fixtures/transformation/api/blacklist/options.json diff --git a/test/core/fixtures/transformation/api/options.json b/packages/babel/test/fixtures/transformation/api/options.json similarity index 100% rename from test/core/fixtures/transformation/api/options.json rename to packages/babel/test/fixtures/transformation/api/options.json diff --git a/test/core/fixtures/transformation/api/unknown-module-formatter/options.json b/packages/babel/test/fixtures/transformation/api/unknown-module-formatter/options.json similarity index 100% rename from test/core/fixtures/transformation/api/unknown-module-formatter/options.json rename to packages/babel/test/fixtures/transformation/api/unknown-module-formatter/options.json diff --git a/test/core/fixtures/transformation/api/unknown-transformer-in-list/options.json b/packages/babel/test/fixtures/transformation/api/unknown-transformer-in-list/options.json similarity index 100% rename from test/core/fixtures/transformation/api/unknown-transformer-in-list/options.json rename to packages/babel/test/fixtures/transformation/api/unknown-transformer-in-list/options.json diff --git a/test/core/fixtures/transformation/api/whitelist/actual.js b/packages/babel/test/fixtures/transformation/api/whitelist/actual.js similarity index 100% rename from test/core/fixtures/transformation/api/whitelist/actual.js rename to packages/babel/test/fixtures/transformation/api/whitelist/actual.js diff --git a/test/core/fixtures/transformation/api/whitelist/expected.js b/packages/babel/test/fixtures/transformation/api/whitelist/expected.js similarity index 100% rename from test/core/fixtures/transformation/api/whitelist/expected.js rename to packages/babel/test/fixtures/transformation/api/whitelist/expected.js diff --git a/test/core/fixtures/transformation/api/whitelist/options.json b/packages/babel/test/fixtures/transformation/api/whitelist/options.json similarity index 100% rename from test/core/fixtures/transformation/api/whitelist/options.json rename to packages/babel/test/fixtures/transformation/api/whitelist/options.json diff --git a/test/core/fixtures/transformation/async-to-generator/async/actual.js b/packages/babel/test/fixtures/transformation/async-to-generator/async/actual.js similarity index 100% rename from test/core/fixtures/transformation/async-to-generator/async/actual.js rename to packages/babel/test/fixtures/transformation/async-to-generator/async/actual.js diff --git a/test/core/fixtures/transformation/async-to-generator/async/expected.js b/packages/babel/test/fixtures/transformation/async-to-generator/async/expected.js similarity index 100% rename from test/core/fixtures/transformation/async-to-generator/async/expected.js rename to packages/babel/test/fixtures/transformation/async-to-generator/async/expected.js diff --git a/test/core/fixtures/transformation/async-to-generator/expression/actual.js b/packages/babel/test/fixtures/transformation/async-to-generator/expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/async-to-generator/expression/actual.js rename to packages/babel/test/fixtures/transformation/async-to-generator/expression/actual.js diff --git a/test/core/fixtures/transformation/async-to-generator/expression/expected.js b/packages/babel/test/fixtures/transformation/async-to-generator/expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/async-to-generator/expression/expected.js rename to packages/babel/test/fixtures/transformation/async-to-generator/expression/expected.js diff --git a/test/core/fixtures/transformation/async-to-generator/named-expression/actual.js b/packages/babel/test/fixtures/transformation/async-to-generator/named-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/async-to-generator/named-expression/actual.js rename to packages/babel/test/fixtures/transformation/async-to-generator/named-expression/actual.js diff --git a/test/core/fixtures/transformation/async-to-generator/named-expression/expected.js b/packages/babel/test/fixtures/transformation/async-to-generator/named-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/async-to-generator/named-expression/expected.js rename to packages/babel/test/fixtures/transformation/async-to-generator/named-expression/expected.js diff --git a/test/core/fixtures/transformation/async-to-generator/options.json b/packages/babel/test/fixtures/transformation/async-to-generator/options.json similarity index 100% rename from test/core/fixtures/transformation/async-to-generator/options.json rename to packages/babel/test/fixtures/transformation/async-to-generator/options.json diff --git a/test/core/fixtures/transformation/async-to-generator/statement/actual.js b/packages/babel/test/fixtures/transformation/async-to-generator/statement/actual.js similarity index 100% rename from test/core/fixtures/transformation/async-to-generator/statement/actual.js rename to packages/babel/test/fixtures/transformation/async-to-generator/statement/actual.js diff --git a/test/core/fixtures/transformation/async-to-generator/statement/expected.js b/packages/babel/test/fixtures/transformation/async-to-generator/statement/expected.js similarity index 100% rename from test/core/fixtures/transformation/async-to-generator/statement/expected.js rename to packages/babel/test/fixtures/transformation/async-to-generator/statement/expected.js diff --git a/test/core/fixtures/transformation/bluebird-coroutines/class/actual.js b/packages/babel/test/fixtures/transformation/bluebird-coroutines/class/actual.js similarity index 100% rename from test/core/fixtures/transformation/bluebird-coroutines/class/actual.js rename to packages/babel/test/fixtures/transformation/bluebird-coroutines/class/actual.js diff --git a/test/core/fixtures/transformation/bluebird-coroutines/class/expected.js b/packages/babel/test/fixtures/transformation/bluebird-coroutines/class/expected.js similarity index 100% rename from test/core/fixtures/transformation/bluebird-coroutines/class/expected.js rename to packages/babel/test/fixtures/transformation/bluebird-coroutines/class/expected.js diff --git a/test/core/fixtures/transformation/bluebird-coroutines/class/options.json b/packages/babel/test/fixtures/transformation/bluebird-coroutines/class/options.json similarity index 100% rename from test/core/fixtures/transformation/bluebird-coroutines/class/options.json rename to packages/babel/test/fixtures/transformation/bluebird-coroutines/class/options.json diff --git a/test/core/fixtures/transformation/bluebird-coroutines/expression/actual.js b/packages/babel/test/fixtures/transformation/bluebird-coroutines/expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/bluebird-coroutines/expression/actual.js rename to packages/babel/test/fixtures/transformation/bluebird-coroutines/expression/actual.js diff --git a/test/core/fixtures/transformation/bluebird-coroutines/expression/expected.js b/packages/babel/test/fixtures/transformation/bluebird-coroutines/expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/bluebird-coroutines/expression/expected.js rename to packages/babel/test/fixtures/transformation/bluebird-coroutines/expression/expected.js diff --git a/test/core/fixtures/transformation/bluebird-coroutines/named-expression/actual.js b/packages/babel/test/fixtures/transformation/bluebird-coroutines/named-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/bluebird-coroutines/named-expression/actual.js rename to packages/babel/test/fixtures/transformation/bluebird-coroutines/named-expression/actual.js diff --git a/test/core/fixtures/transformation/bluebird-coroutines/named-expression/expected.js b/packages/babel/test/fixtures/transformation/bluebird-coroutines/named-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/bluebird-coroutines/named-expression/expected.js rename to packages/babel/test/fixtures/transformation/bluebird-coroutines/named-expression/expected.js diff --git a/test/core/fixtures/transformation/bluebird-coroutines/options.json b/packages/babel/test/fixtures/transformation/bluebird-coroutines/options.json similarity index 100% rename from test/core/fixtures/transformation/bluebird-coroutines/options.json rename to packages/babel/test/fixtures/transformation/bluebird-coroutines/options.json diff --git a/test/core/fixtures/transformation/bluebird-coroutines/statement/actual.js b/packages/babel/test/fixtures/transformation/bluebird-coroutines/statement/actual.js similarity index 100% rename from test/core/fixtures/transformation/bluebird-coroutines/statement/actual.js rename to packages/babel/test/fixtures/transformation/bluebird-coroutines/statement/actual.js diff --git a/test/core/fixtures/transformation/bluebird-coroutines/statement/expected.js b/packages/babel/test/fixtures/transformation/bluebird-coroutines/statement/expected.js similarity index 100% rename from test/core/fixtures/transformation/bluebird-coroutines/statement/expected.js rename to packages/babel/test/fixtures/transformation/bluebird-coroutines/statement/expected.js diff --git a/test/core/fixtures/transformation/errors/constants/actual.js b/packages/babel/test/fixtures/transformation/errors/constants/actual.js similarity index 100% rename from test/core/fixtures/transformation/errors/constants/actual.js rename to packages/babel/test/fixtures/transformation/errors/constants/actual.js diff --git a/test/core/fixtures/transformation/errors/constants/options.json b/packages/babel/test/fixtures/transformation/errors/constants/options.json similarity index 100% rename from test/core/fixtures/transformation/errors/constants/options.json rename to packages/babel/test/fixtures/transformation/errors/constants/options.json diff --git a/test/core/fixtures/transformation/errors/syntax/actual.js b/packages/babel/test/fixtures/transformation/errors/syntax/actual.js similarity index 100% rename from test/core/fixtures/transformation/errors/syntax/actual.js rename to packages/babel/test/fixtures/transformation/errors/syntax/actual.js diff --git a/test/core/fixtures/transformation/errors/syntax/options.json b/packages/babel/test/fixtures/transformation/errors/syntax/options.json similarity index 100% rename from test/core/fixtures/transformation/errors/syntax/options.json rename to packages/babel/test/fixtures/transformation/errors/syntax/options.json diff --git a/test/core/fixtures/transformation/es3/member-expression-literals/actual.js b/packages/babel/test/fixtures/transformation/es3/member-expression-literals/actual.js similarity index 100% rename from test/core/fixtures/transformation/es3/member-expression-literals/actual.js rename to packages/babel/test/fixtures/transformation/es3/member-expression-literals/actual.js diff --git a/test/core/fixtures/transformation/es3/member-expression-literals/expected.js b/packages/babel/test/fixtures/transformation/es3/member-expression-literals/expected.js similarity index 100% rename from test/core/fixtures/transformation/es3/member-expression-literals/expected.js rename to packages/babel/test/fixtures/transformation/es3/member-expression-literals/expected.js diff --git a/test/core/fixtures/transformation/es3/property-literals/actual.js b/packages/babel/test/fixtures/transformation/es3/property-literals/actual.js similarity index 100% rename from test/core/fixtures/transformation/es3/property-literals/actual.js rename to packages/babel/test/fixtures/transformation/es3/property-literals/actual.js diff --git a/test/core/fixtures/transformation/es3/property-literals/expected.js b/packages/babel/test/fixtures/transformation/es3/property-literals/expected.js similarity index 100% rename from test/core/fixtures/transformation/es3/property-literals/expected.js rename to packages/babel/test/fixtures/transformation/es3/property-literals/expected.js diff --git a/test/core/fixtures/transformation/es5.properties.mutators/getter-and-setter/actual.js b/packages/babel/test/fixtures/transformation/es5.properties.mutators/getter-and-setter/actual.js similarity index 100% rename from test/core/fixtures/transformation/es5.properties.mutators/getter-and-setter/actual.js rename to packages/babel/test/fixtures/transformation/es5.properties.mutators/getter-and-setter/actual.js diff --git a/test/core/fixtures/transformation/es5.properties.mutators/getter-and-setter/expected.js b/packages/babel/test/fixtures/transformation/es5.properties.mutators/getter-and-setter/expected.js similarity index 100% rename from test/core/fixtures/transformation/es5.properties.mutators/getter-and-setter/expected.js rename to packages/babel/test/fixtures/transformation/es5.properties.mutators/getter-and-setter/expected.js diff --git a/test/core/fixtures/transformation/es5.properties.mutators/getter/actual.js b/packages/babel/test/fixtures/transformation/es5.properties.mutators/getter/actual.js similarity index 100% rename from test/core/fixtures/transformation/es5.properties.mutators/getter/actual.js rename to packages/babel/test/fixtures/transformation/es5.properties.mutators/getter/actual.js diff --git a/test/core/fixtures/transformation/es5.properties.mutators/getter/expected.js b/packages/babel/test/fixtures/transformation/es5.properties.mutators/getter/expected.js similarity index 100% rename from test/core/fixtures/transformation/es5.properties.mutators/getter/expected.js rename to packages/babel/test/fixtures/transformation/es5.properties.mutators/getter/expected.js diff --git a/test/core/fixtures/transformation/es5.properties.mutators/setter/actual.js b/packages/babel/test/fixtures/transformation/es5.properties.mutators/setter/actual.js similarity index 100% rename from test/core/fixtures/transformation/es5.properties.mutators/setter/actual.js rename to packages/babel/test/fixtures/transformation/es5.properties.mutators/setter/actual.js diff --git a/test/core/fixtures/transformation/es5.properties.mutators/setter/expected.js b/packages/babel/test/fixtures/transformation/es5.properties.mutators/setter/expected.js similarity index 100% rename from test/core/fixtures/transformation/es5.properties.mutators/setter/expected.js rename to packages/babel/test/fixtures/transformation/es5.properties.mutators/setter/expected.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/arguments/actual.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/arguments/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/arguments/actual.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/arguments/actual.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/arguments/expected.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/arguments/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/arguments/expected.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/arguments/expected.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/default-parameters/actual.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/default-parameters/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/default-parameters/actual.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/default-parameters/actual.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/default-parameters/expected.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/default-parameters/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/default-parameters/expected.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/default-parameters/expected.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/destructuring-parameters/actual.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/destructuring-parameters/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/destructuring-parameters/actual.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/destructuring-parameters/actual.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/destructuring-parameters/expected.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/destructuring-parameters/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/destructuring-parameters/expected.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/destructuring-parameters/expected.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/empty-arguments/actual.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/empty-arguments/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/empty-arguments/actual.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/empty-arguments/actual.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/empty-arguments/expected.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/empty-arguments/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/empty-arguments/expected.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/empty-arguments/expected.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/empty-block/actual.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/empty-block/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/empty-block/actual.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/empty-block/actual.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/empty-block/expected.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/empty-block/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/empty-block/expected.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/empty-block/expected.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/expression/actual.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/expression/actual.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/expression/actual.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/expression/expected.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/expression/expected.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/expression/expected.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/inside-call/actual.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/inside-call/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/inside-call/actual.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/inside-call/actual.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/inside-call/expected.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/inside-call/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/inside-call/expected.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/inside-call/expected.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/multiple-arguments/actual.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/multiple-arguments/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/multiple-arguments/actual.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/multiple-arguments/actual.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/multiple-arguments/expected.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/multiple-arguments/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/multiple-arguments/expected.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/multiple-arguments/expected.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/nested/actual.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/nested/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/nested/actual.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/nested/actual.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/nested/expected.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/nested/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/nested/expected.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/nested/expected.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/options.json b/packages/babel/test/fixtures/transformation/es6.arrow-functions/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/options.json rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/options.json diff --git a/test/core/fixtures/transformation/es6.arrow-functions/paran-insertion/actual.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/paran-insertion/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/paran-insertion/actual.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/paran-insertion/actual.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/paran-insertion/expected.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/paran-insertion/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/paran-insertion/expected.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/paran-insertion/expected.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/single-argument/actual.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/single-argument/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/single-argument/actual.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/single-argument/actual.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/single-argument/expected.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/single-argument/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/single-argument/expected.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/single-argument/expected.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/statement/actual.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/statement/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/statement/actual.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/statement/actual.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/statement/expected.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/statement/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/statement/expected.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/statement/expected.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/this/actual.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/this/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/this/actual.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/this/actual.js diff --git a/test/core/fixtures/transformation/es6.arrow-functions/this/expected.js b/packages/babel/test/fixtures/transformation/es6.arrow-functions/this/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.arrow-functions/this/expected.js rename to packages/babel/test/fixtures/transformation/es6.arrow-functions/this/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/block-scoped-2.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/block-scoped-2.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/block-scoped-2.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/block-scoped-2.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/block-scoped.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/block-scoped.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/block-scoped.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/block-scoped.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/closure-wrap-collision.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/closure-wrap-collision.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/closure-wrap-collision.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/closure-wrap-collision.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/collision-for.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/collision-for.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/collision-for.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/collision-for.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/destructuring-defaults.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/destructuring-defaults.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/destructuring-defaults.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/destructuring-defaults.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/duplicate-function-scope.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/duplicate-function-scope.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/duplicate-function-scope.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/duplicate-function-scope.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/for-continuation.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/for-continuation.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/for-continuation.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/for-continuation.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/for-loop-head.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/for-loop-head.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/for-loop-head.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/for-loop-head.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/label.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/label.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/label.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/label.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/multiple.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/multiple.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/multiple.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/multiple.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/nested-labels-2.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/nested-labels-2.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/nested-labels-2.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/nested-labels-2.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/nested-labels-3.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/nested-labels-3.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/nested-labels-3.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/nested-labels-3.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/nested-labels-4.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/nested-labels-4.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/nested-labels-4.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/nested-labels-4.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/nested-labels.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/nested-labels.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/nested-labels.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/nested-labels.js diff --git a/test/core/fixtures/transformation/es6.block-scoping-exec/switch-break.js b/packages/babel/test/fixtures/transformation/es6.block-scoping-exec/switch-break.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping-exec/switch-break.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping-exec/switch-break.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/assignment-patterns/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/assignment-patterns/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/assignment-patterns/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/assignment-patterns/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/assignment-patterns/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/assignment-patterns/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/assignment-patterns/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/assignment-patterns/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/exec-collision-array-comprehension/exec.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/exec-collision-array-comprehension/exec.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/exec-collision-array-comprehension/exec.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/exec-collision-array-comprehension/exec.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/exec-collision-array-comprehension/options.json b/packages/babel/test/fixtures/transformation/es6.block-scoping/exec-collision-array-comprehension/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/exec-collision-array-comprehension/options.json rename to packages/babel/test/fixtures/transformation/es6.block-scoping/exec-collision-array-comprehension/options.json diff --git a/test/core/fixtures/transformation/es6.block-scoping/for-break-continue-return/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/for-break-continue-return/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/for-break-continue-return/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/for-break-continue-return/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/for-break-continue-return/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/for-break-continue-return/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/for-break-continue-return/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/for-break-continue-return/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/for-break/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/for-break/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/for-break/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/for-break/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/for-break/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/for-break/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/for-break/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/for-break/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/for-continuation/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/for-continuation/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/for-continuation/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/for-continuation/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/for-continuation/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/for-continuation/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/for-continuation/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/for-continuation/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/for-continue/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/for-continue/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/for-continue/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/for-continue/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/for-continue/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/for-continue/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/for-continue/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/for-continue/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/for-return-undefined/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/for-return-undefined/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/for-return-undefined/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/for-return-undefined/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/for-return-undefined/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/for-return-undefined/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/for-return-undefined/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/for-return-undefined/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/for-return/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/for-return/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/for-return/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/for-return/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/for-return/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/for-return/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/for-return/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/for-return/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/function/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/function/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/function/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/function/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/function/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/function/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/function/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/function/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/hoisting/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/hoisting/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/hoisting/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/hoisting/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/hoisting/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/hoisting/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/hoisting/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/hoisting/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/issue-1051/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/issue-1051/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/issue-1051/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/issue-1051/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/issue-1051/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/issue-1051/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/issue-1051/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/issue-1051/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/issue-973/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/issue-973/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/issue-973/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/issue-973/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/issue-973/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/issue-973/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/issue-973/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/issue-973/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/jsx-identifier/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/jsx-identifier/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/jsx-identifier/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/jsx-identifier/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/jsx-identifier/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/jsx-identifier/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/jsx-identifier/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/jsx-identifier/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/loop-initializer-default/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/loop-initializer-default/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/loop-initializer-default/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/loop-initializer-default/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/loop-initializer-default/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/loop-initializer-default/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/loop-initializer-default/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/loop-initializer-default/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/program/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/program/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/program/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/program/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/program/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/program/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/program/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/program/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/switch/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/switch/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/switch/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/switch/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/switch/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/switch/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/switch/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/switch/expected.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/wrap-closure-shadow-variables/actual.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/wrap-closure-shadow-variables/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/wrap-closure-shadow-variables/actual.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/wrap-closure-shadow-variables/actual.js diff --git a/test/core/fixtures/transformation/es6.block-scoping/wrap-closure-shadow-variables/expected.js b/packages/babel/test/fixtures/transformation/es6.block-scoping/wrap-closure-shadow-variables/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.block-scoping/wrap-closure-shadow-variables/expected.js rename to packages/babel/test/fixtures/transformation/es6.block-scoping/wrap-closure-shadow-variables/expected.js diff --git a/test/core/fixtures/transformation/es6.classes-exec/declaration-binding.js b/packages/babel/test/fixtures/transformation/es6.classes-exec/declaration-binding.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-exec/declaration-binding.js rename to packages/babel/test/fixtures/transformation/es6.classes-exec/declaration-binding.js diff --git a/test/core/fixtures/transformation/es6.classes-exec/expression-binding.js b/packages/babel/test/fixtures/transformation/es6.classes-exec/expression-binding.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-exec/expression-binding.js rename to packages/babel/test/fixtures/transformation/es6.classes-exec/expression-binding.js diff --git a/test/core/fixtures/transformation/es6.classes-exec/retain-no-call-on-reassign.js b/packages/babel/test/fixtures/transformation/es6.classes-exec/retain-no-call-on-reassign.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-exec/retain-no-call-on-reassign.js rename to packages/babel/test/fixtures/transformation/es6.classes-exec/retain-no-call-on-reassign.js diff --git a/test/core/fixtures/transformation/es6.classes-exec/super-change-proto.js b/packages/babel/test/fixtures/transformation/es6.classes-exec/super-change-proto.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-exec/super-change-proto.js rename to packages/babel/test/fixtures/transformation/es6.classes-exec/super-change-proto.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/accessing-super-class/actual.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/accessing-super-class/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/accessing-super-class/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/accessing-super-class/actual.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/accessing-super-class/expected.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/accessing-super-class/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/accessing-super-class/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/accessing-super-class/expected.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/accessing-super-properties/actual.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/accessing-super-properties/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/accessing-super-properties/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/accessing-super-properties/actual.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/accessing-super-properties/expected.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/accessing-super-properties/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/accessing-super-properties/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/accessing-super-properties/expected.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/calling-super-properties/actual.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/calling-super-properties/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/calling-super-properties/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/calling-super-properties/actual.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/calling-super-properties/expected.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/calling-super-properties/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/calling-super-properties/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/calling-super-properties/expected.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/constructor-order/actual.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/constructor-order/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/constructor-order/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/constructor-order/actual.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/constructor-order/expected.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/constructor-order/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/constructor-order/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/constructor-order/expected.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/literal-key/actual.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/literal-key/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/literal-key/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/literal-key/actual.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/literal-key/expected.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/literal-key/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/literal-key/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/literal-key/expected.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/options.json b/packages/babel/test/fixtures/transformation/es6.classes-loose/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/options.json rename to packages/babel/test/fixtures/transformation/es6.classes-loose/options.json diff --git a/test/core/fixtures/transformation/es6.classes-loose/super-class-id-member-expression/actual.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/super-class-id-member-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/super-class-id-member-expression/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/super-class-id-member-expression/actual.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/super-class-id-member-expression/expected.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/super-class-id-member-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/super-class-id-member-expression/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/super-class-id-member-expression/expected.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/super-class/actual.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/super-class/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/super-class/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/super-class/actual.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/super-class/expected.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/super-class/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/super-class/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/super-class/expected.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/super-function-fallback/actual.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/super-function-fallback/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/super-function-fallback/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/super-function-fallback/actual.js diff --git a/test/core/fixtures/transformation/es6.classes-loose/super-function-fallback/expected.js b/packages/babel/test/fixtures/transformation/es6.classes-loose/super-function-fallback/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes-loose/super-function-fallback/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes-loose/super-function-fallback/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/accessing-super-class/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/accessing-super-class/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/accessing-super-class/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/accessing-super-class/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/accessing-super-class/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/accessing-super-class/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/accessing-super-class/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/accessing-super-class/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/accessing-super-properties/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/accessing-super-properties/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/accessing-super-properties/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/accessing-super-properties/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/accessing-super-properties/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/accessing-super-properties/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/accessing-super-properties/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/accessing-super-properties/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/bare-super/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/bare-super/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/bare-super/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/bare-super/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/bare-super/options.json b/packages/babel/test/fixtures/transformation/es6.classes/bare-super/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.classes/bare-super/options.json rename to packages/babel/test/fixtures/transformation/es6.classes/bare-super/options.json diff --git a/test/core/fixtures/transformation/es6.classes/calling-super-properties/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/calling-super-properties/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/calling-super-properties/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/calling-super-properties/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/calling-super-properties/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/calling-super-properties/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/calling-super-properties/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/calling-super-properties/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/calling-super-properties/options.json b/packages/babel/test/fixtures/transformation/es6.classes/calling-super-properties/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.classes/calling-super-properties/options.json rename to packages/babel/test/fixtures/transformation/es6.classes/calling-super-properties/options.json diff --git a/test/core/fixtures/transformation/es6.classes/computed-methods/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/computed-methods/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/computed-methods/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/computed-methods/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/computed-methods/exec.js b/packages/babel/test/fixtures/transformation/es6.classes/computed-methods/exec.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/computed-methods/exec.js rename to packages/babel/test/fixtures/transformation/es6.classes/computed-methods/exec.js diff --git a/test/core/fixtures/transformation/es6.classes/computed-methods/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/computed-methods/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/computed-methods/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/computed-methods/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/constructor-binding-collision/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/constructor-binding-collision/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/constructor-binding-collision/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/constructor-binding-collision/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/constructor-binding-collision/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/constructor-binding-collision/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/constructor-binding-collision/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/constructor-binding-collision/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/constructor/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/constructor/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/constructor/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/constructor/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/constructor/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/constructor/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/constructor/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/constructor/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/delay-arrow-function-for-bare-super-derived/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/delay-arrow-function-for-bare-super-derived/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/delay-arrow-function-for-bare-super-derived/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/delay-arrow-function-for-bare-super-derived/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/delay-arrow-function-for-bare-super-derived/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/delay-arrow-function-for-bare-super-derived/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/delay-arrow-function-for-bare-super-derived/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/delay-arrow-function-for-bare-super-derived/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/derived-constructor-must-call-super/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/derived-constructor-must-call-super/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/derived-constructor-must-call-super/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/derived-constructor-must-call-super/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/derived-constructor-must-call-super/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/derived-constructor-must-call-super/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/derived-constructor-must-call-super/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/derived-constructor-must-call-super/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/derived-constructor-must-call-super/options.json b/packages/babel/test/fixtures/transformation/es6.classes/derived-constructor-must-call-super/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.classes/derived-constructor-must-call-super/options.json rename to packages/babel/test/fixtures/transformation/es6.classes/derived-constructor-must-call-super/options.json diff --git a/test/core/fixtures/transformation/es6.classes/instance-getter-and-setter/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/instance-getter-and-setter/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/instance-getter-and-setter/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/instance-getter-and-setter/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/instance-getter-and-setter/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/instance-getter-and-setter/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/instance-getter-and-setter/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/instance-getter-and-setter/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/instance-getter/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/instance-getter/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/instance-getter/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/instance-getter/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/instance-getter/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/instance-getter/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/instance-getter/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/instance-getter/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/instance-method/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/instance-method/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/instance-method/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/instance-method/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/instance-method/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/instance-method/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/instance-method/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/instance-method/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/instance-setter/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/instance-setter/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/instance-setter/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/instance-setter/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/instance-setter/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/instance-setter/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/instance-setter/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/instance-setter/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/name-method-collision/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/name-method-collision/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/name-method-collision/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/name-method-collision/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/name-method-collision/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/name-method-collision/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/name-method-collision/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/name-method-collision/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/options.json b/packages/babel/test/fixtures/transformation/es6.classes/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.classes/options.json rename to packages/babel/test/fixtures/transformation/es6.classes/options.json diff --git a/test/core/fixtures/transformation/es6.classes/plain-class/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/plain-class/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/plain-class/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/plain-class/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/plain-class/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/plain-class/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/plain-class/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/plain-class/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/preserves-directives/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/preserves-directives/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/preserves-directives/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/preserves-directives/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/preserves-directives/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/preserves-directives/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/preserves-directives/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/preserves-directives/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/relaxed-method-coercion/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/relaxed-method-coercion/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/relaxed-method-coercion/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/relaxed-method-coercion/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/relaxed-method-coercion/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/relaxed-method-coercion/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/relaxed-method-coercion/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/relaxed-method-coercion/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/statement/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/statement/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/statement/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/statement/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/statement/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/statement/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/statement/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/statement/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/static/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/static/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/static/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/static/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/static/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/static/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/static/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/static/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/options.json b/packages/babel/test/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/options.json rename to packages/babel/test/fixtures/transformation/es6.classes/super-call-only-allowed-in-derived-constructor/options.json diff --git a/test/core/fixtures/transformation/es6.classes/super-class-anonymous/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/super-class-anonymous/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-class-anonymous/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/super-class-anonymous/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/super-class-anonymous/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/super-class-anonymous/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-class-anonymous/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/super-class-anonymous/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/super-class-id-member-expression/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/super-class-id-member-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-class-id-member-expression/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/super-class-id-member-expression/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/super-class-id-member-expression/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/super-class-id-member-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-class-id-member-expression/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/super-class-id-member-expression/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/super-class/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/super-class/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-class/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/super-class/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/super-class/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/super-class/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-class/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/super-class/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/super-function-fallback/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/super-function-fallback/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-function-fallback/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/super-function-fallback/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/super-function-fallback/expected.js b/packages/babel/test/fixtures/transformation/es6.classes/super-function-fallback/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-function-fallback/expected.js rename to packages/babel/test/fixtures/transformation/es6.classes/super-function-fallback/expected.js diff --git a/test/core/fixtures/transformation/es6.classes/super-illegal-non-constructor-call/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/super-illegal-non-constructor-call/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-illegal-non-constructor-call/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/super-illegal-non-constructor-call/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/super-illegal-non-constructor-call/options.json b/packages/babel/test/fixtures/transformation/es6.classes/super-illegal-non-constructor-call/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-illegal-non-constructor-call/options.json rename to packages/babel/test/fixtures/transformation/es6.classes/super-illegal-non-constructor-call/options.json diff --git a/test/core/fixtures/transformation/es6.classes/super-reference-before-bare-super/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/super-reference-before-bare-super/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-reference-before-bare-super/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/super-reference-before-bare-super/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/super-reference-before-bare-super/options.json b/packages/babel/test/fixtures/transformation/es6.classes/super-reference-before-bare-super/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.classes/super-reference-before-bare-super/options.json rename to packages/babel/test/fixtures/transformation/es6.classes/super-reference-before-bare-super/options.json diff --git a/test/core/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes-2/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes-2/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes-2/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes-2/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes-2/options.json b/packages/babel/test/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes-2/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes-2/options.json rename to packages/babel/test/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes-2/options.json diff --git a/test/core/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes/actual.js b/packages/babel/test/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes/actual.js rename to packages/babel/test/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes/actual.js diff --git a/test/core/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes/options.json b/packages/babel/test/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes/options.json rename to packages/babel/test/fixtures/transformation/es6.classes/this-not-allowed-before-super-in-derived-classes/options.json diff --git a/test/core/fixtures/transformation/es6.constants/block-scoped/exec.js b/packages/babel/test/fixtures/transformation/es6.constants/block-scoped/exec.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/block-scoped/exec.js rename to packages/babel/test/fixtures/transformation/es6.constants/block-scoped/exec.js diff --git a/test/core/fixtures/transformation/es6.constants/block-statement/actual.js b/packages/babel/test/fixtures/transformation/es6.constants/block-statement/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/block-statement/actual.js rename to packages/babel/test/fixtures/transformation/es6.constants/block-statement/actual.js diff --git a/test/core/fixtures/transformation/es6.constants/block-statement/expected.js b/packages/babel/test/fixtures/transformation/es6.constants/block-statement/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/block-statement/expected.js rename to packages/babel/test/fixtures/transformation/es6.constants/block-statement/expected.js diff --git a/test/core/fixtures/transformation/es6.constants/destructuring-assignment/actual.js b/packages/babel/test/fixtures/transformation/es6.constants/destructuring-assignment/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/destructuring-assignment/actual.js rename to packages/babel/test/fixtures/transformation/es6.constants/destructuring-assignment/actual.js diff --git a/test/core/fixtures/transformation/es6.constants/destructuring-assignment/options.json b/packages/babel/test/fixtures/transformation/es6.constants/destructuring-assignment/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.constants/destructuring-assignment/options.json rename to packages/babel/test/fixtures/transformation/es6.constants/destructuring-assignment/options.json diff --git a/test/core/fixtures/transformation/es6.constants/destructuring/actual.js b/packages/babel/test/fixtures/transformation/es6.constants/destructuring/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/destructuring/actual.js rename to packages/babel/test/fixtures/transformation/es6.constants/destructuring/actual.js diff --git a/test/core/fixtures/transformation/es6.constants/destructuring/expected.js b/packages/babel/test/fixtures/transformation/es6.constants/destructuring/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/destructuring/expected.js rename to packages/babel/test/fixtures/transformation/es6.constants/destructuring/expected.js diff --git a/test/core/fixtures/transformation/es6.constants/ignore-member-expressions/actual.js b/packages/babel/test/fixtures/transformation/es6.constants/ignore-member-expressions/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/ignore-member-expressions/actual.js rename to packages/babel/test/fixtures/transformation/es6.constants/ignore-member-expressions/actual.js diff --git a/test/core/fixtures/transformation/es6.constants/ignore-member-expressions/expected.js b/packages/babel/test/fixtures/transformation/es6.constants/ignore-member-expressions/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/ignore-member-expressions/expected.js rename to packages/babel/test/fixtures/transformation/es6.constants/ignore-member-expressions/expected.js diff --git a/test/core/fixtures/transformation/es6.constants/loop/actual.js b/packages/babel/test/fixtures/transformation/es6.constants/loop/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/loop/actual.js rename to packages/babel/test/fixtures/transformation/es6.constants/loop/actual.js diff --git a/test/core/fixtures/transformation/es6.constants/loop/options.json b/packages/babel/test/fixtures/transformation/es6.constants/loop/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.constants/loop/options.json rename to packages/babel/test/fixtures/transformation/es6.constants/loop/options.json diff --git a/test/core/fixtures/transformation/es6.constants/no-assignment/actual.js b/packages/babel/test/fixtures/transformation/es6.constants/no-assignment/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/no-assignment/actual.js rename to packages/babel/test/fixtures/transformation/es6.constants/no-assignment/actual.js diff --git a/test/core/fixtures/transformation/es6.constants/no-assignment/options.json b/packages/babel/test/fixtures/transformation/es6.constants/no-assignment/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.constants/no-assignment/options.json rename to packages/babel/test/fixtures/transformation/es6.constants/no-assignment/options.json diff --git a/test/core/fixtures/transformation/es6.constants/no-classes/actual.js b/packages/babel/test/fixtures/transformation/es6.constants/no-classes/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/no-classes/actual.js rename to packages/babel/test/fixtures/transformation/es6.constants/no-classes/actual.js diff --git a/test/core/fixtures/transformation/es6.constants/no-classes/options.json b/packages/babel/test/fixtures/transformation/es6.constants/no-classes/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.constants/no-classes/options.json rename to packages/babel/test/fixtures/transformation/es6.constants/no-classes/options.json diff --git a/test/core/fixtures/transformation/es6.constants/no-declaration/actual.js b/packages/babel/test/fixtures/transformation/es6.constants/no-declaration/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/no-declaration/actual.js rename to packages/babel/test/fixtures/transformation/es6.constants/no-declaration/actual.js diff --git a/test/core/fixtures/transformation/es6.constants/no-declaration/options.json b/packages/babel/test/fixtures/transformation/es6.constants/no-declaration/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.constants/no-declaration/options.json rename to packages/babel/test/fixtures/transformation/es6.constants/no-declaration/options.json diff --git a/test/core/fixtures/transformation/es6.constants/no-for-in/actual.js b/packages/babel/test/fixtures/transformation/es6.constants/no-for-in/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/no-for-in/actual.js rename to packages/babel/test/fixtures/transformation/es6.constants/no-for-in/actual.js diff --git a/test/core/fixtures/transformation/es6.constants/no-for-in/options.json b/packages/babel/test/fixtures/transformation/es6.constants/no-for-in/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.constants/no-for-in/options.json rename to packages/babel/test/fixtures/transformation/es6.constants/no-for-in/options.json diff --git a/test/core/fixtures/transformation/es6.constants/no-functions/actual.js b/packages/babel/test/fixtures/transformation/es6.constants/no-functions/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/no-functions/actual.js rename to packages/babel/test/fixtures/transformation/es6.constants/no-functions/actual.js diff --git a/test/core/fixtures/transformation/es6.constants/no-functions/options.json b/packages/babel/test/fixtures/transformation/es6.constants/no-functions/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.constants/no-functions/options.json rename to packages/babel/test/fixtures/transformation/es6.constants/no-functions/options.json diff --git a/test/core/fixtures/transformation/es6.constants/program/actual.js b/packages/babel/test/fixtures/transformation/es6.constants/program/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/program/actual.js rename to packages/babel/test/fixtures/transformation/es6.constants/program/actual.js diff --git a/test/core/fixtures/transformation/es6.constants/program/expected.js b/packages/babel/test/fixtures/transformation/es6.constants/program/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/program/expected.js rename to packages/babel/test/fixtures/transformation/es6.constants/program/expected.js diff --git a/test/core/fixtures/transformation/es6.constants/update-expression/actual.js b/packages/babel/test/fixtures/transformation/es6.constants/update-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.constants/update-expression/actual.js rename to packages/babel/test/fixtures/transformation/es6.constants/update-expression/actual.js diff --git a/test/core/fixtures/transformation/es6.constants/update-expression/options.json b/packages/babel/test/fixtures/transformation/es6.constants/update-expression/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.constants/update-expression/options.json rename to packages/babel/test/fixtures/transformation/es6.constants/update-expression/options.json diff --git a/test/core/fixtures/transformation/es6.destructuring/array-unpack-optimisation/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/array-unpack-optimisation/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/array-unpack-optimisation/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/array-unpack-optimisation/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/array-unpack-optimisation/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/array-unpack-optimisation/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/array-unpack-optimisation/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/array-unpack-optimisation/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/array/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/array/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/array/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/array/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/array/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/array/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/array/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/array/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/assignment-expression-completion-record/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/assignment-expression-completion-record/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/assignment-expression-completion-record/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/assignment-expression-completion-record/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/assignment-expression-completion-record/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/assignment-expression-completion-record/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/assignment-expression-completion-record/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/assignment-expression-completion-record/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/assignment-expression-pattern/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/assignment-expression-pattern/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/assignment-expression-pattern/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/assignment-expression-pattern/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/assignment-expression-pattern/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/assignment-expression-pattern/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/assignment-expression-pattern/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/assignment-expression-pattern/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/assignment-expression/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/assignment-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/assignment-expression/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/assignment-expression/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/assignment-expression/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/assignment-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/assignment-expression/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/assignment-expression/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/assignment-statement/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/assignment-statement/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/assignment-statement/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/assignment-statement/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/assignment-statement/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/assignment-statement/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/assignment-statement/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/assignment-statement/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/chained/exec.js b/packages/babel/test/fixtures/transformation/es6.destructuring/chained/exec.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/chained/exec.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/chained/exec.js diff --git a/test/core/fixtures/transformation/es6.destructuring/empty-object-pattern/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/empty-object-pattern/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/empty-object-pattern/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/empty-object-pattern/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/empty-object-pattern/exec.js b/packages/babel/test/fixtures/transformation/es6.destructuring/empty-object-pattern/exec.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/empty-object-pattern/exec.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/empty-object-pattern/exec.js diff --git a/test/core/fixtures/transformation/es6.destructuring/empty-object-pattern/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/empty-object-pattern/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/empty-object-pattern/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/empty-object-pattern/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/empty/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/empty/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/empty/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/empty/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/empty/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/empty/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/empty/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/empty/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/es7-object-rest/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/es7-object-rest/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/es7-object-rest/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/es7-object-rest/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/es7-object-rest/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/es7-object-rest/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/es7-object-rest/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/es7-object-rest/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/es7-object-rest/options.json b/packages/babel/test/fixtures/transformation/es6.destructuring/es7-object-rest/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/es7-object-rest/options.json rename to packages/babel/test/fixtures/transformation/es6.destructuring/es7-object-rest/options.json diff --git a/test/core/fixtures/transformation/es6.destructuring/for-in/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/for-in/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/for-in/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/for-in/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/for-in/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/for-in/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/for-in/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/for-in/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/for-of/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/for-of/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/for-of/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/for-of/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/for-of/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/for-of/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/for-of/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/for-of/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/known-array/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/known-array/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/known-array/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/known-array/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/known-array/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/known-array/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/known-array/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/known-array/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/member-expression/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/member-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/member-expression/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/member-expression/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/member-expression/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/member-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/member-expression/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/member-expression/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/mixed/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/mixed/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/mixed/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/mixed/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/mixed/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/mixed/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/mixed/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/mixed/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/multiple/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/multiple/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/multiple/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/multiple/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/multiple/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/multiple/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/multiple/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/multiple/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/object-advanced/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/object-advanced/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/object-advanced/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/object-advanced/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/object-advanced/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/object-advanced/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/object-advanced/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/object-advanced/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/object-basic/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/object-basic/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/object-basic/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/object-basic/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/object-basic/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/object-basic/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/object-basic/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/object-basic/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/options.json b/packages/babel/test/fixtures/transformation/es6.destructuring/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/options.json rename to packages/babel/test/fixtures/transformation/es6.destructuring/options.json diff --git a/test/core/fixtures/transformation/es6.destructuring/parameters/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/parameters/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/parameters/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/parameters/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/parameters/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/parameters/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/parameters/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/parameters/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/spread-generator/exec.js b/packages/babel/test/fixtures/transformation/es6.destructuring/spread-generator/exec.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/spread-generator/exec.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/spread-generator/exec.js diff --git a/test/core/fixtures/transformation/es6.destructuring/spread/actual.js b/packages/babel/test/fixtures/transformation/es6.destructuring/spread/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/spread/actual.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/spread/actual.js diff --git a/test/core/fixtures/transformation/es6.destructuring/spread/expected.js b/packages/babel/test/fixtures/transformation/es6.destructuring/spread/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/spread/expected.js rename to packages/babel/test/fixtures/transformation/es6.destructuring/spread/expected.js diff --git a/test/core/fixtures/transformation/es6.destructuring/spread/options.json b/packages/babel/test/fixtures/transformation/es6.destructuring/spread/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.destructuring/spread/options.json rename to packages/babel/test/fixtures/transformation/es6.destructuring/spread/options.json diff --git a/test/core/fixtures/transformation/es6.for-of-loose/identifier/actual.js b/packages/babel/test/fixtures/transformation/es6.for-of-loose/identifier/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of-loose/identifier/actual.js rename to packages/babel/test/fixtures/transformation/es6.for-of-loose/identifier/actual.js diff --git a/test/core/fixtures/transformation/es6.for-of-loose/identifier/expected.js b/packages/babel/test/fixtures/transformation/es6.for-of-loose/identifier/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of-loose/identifier/expected.js rename to packages/babel/test/fixtures/transformation/es6.for-of-loose/identifier/expected.js diff --git a/test/core/fixtures/transformation/es6.for-of-loose/ignore-cases/actual.js b/packages/babel/test/fixtures/transformation/es6.for-of-loose/ignore-cases/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of-loose/ignore-cases/actual.js rename to packages/babel/test/fixtures/transformation/es6.for-of-loose/ignore-cases/actual.js diff --git a/test/core/fixtures/transformation/es6.for-of-loose/ignore-cases/expected.js b/packages/babel/test/fixtures/transformation/es6.for-of-loose/ignore-cases/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of-loose/ignore-cases/expected.js rename to packages/babel/test/fixtures/transformation/es6.for-of-loose/ignore-cases/expected.js diff --git a/test/core/fixtures/transformation/es6.for-of-loose/let/actual.js b/packages/babel/test/fixtures/transformation/es6.for-of-loose/let/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of-loose/let/actual.js rename to packages/babel/test/fixtures/transformation/es6.for-of-loose/let/actual.js diff --git a/test/core/fixtures/transformation/es6.for-of-loose/let/expected.js b/packages/babel/test/fixtures/transformation/es6.for-of-loose/let/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of-loose/let/expected.js rename to packages/babel/test/fixtures/transformation/es6.for-of-loose/let/expected.js diff --git a/test/core/fixtures/transformation/es6.for-of-loose/member-expression/actual.js b/packages/babel/test/fixtures/transformation/es6.for-of-loose/member-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of-loose/member-expression/actual.js rename to packages/babel/test/fixtures/transformation/es6.for-of-loose/member-expression/actual.js diff --git a/test/core/fixtures/transformation/es6.for-of-loose/member-expression/expected.js b/packages/babel/test/fixtures/transformation/es6.for-of-loose/member-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of-loose/member-expression/expected.js rename to packages/babel/test/fixtures/transformation/es6.for-of-loose/member-expression/expected.js diff --git a/test/core/fixtures/transformation/es6.for-of-loose/multiple/actual.js b/packages/babel/test/fixtures/transformation/es6.for-of-loose/multiple/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of-loose/multiple/actual.js rename to packages/babel/test/fixtures/transformation/es6.for-of-loose/multiple/actual.js diff --git a/test/core/fixtures/transformation/es6.for-of-loose/multiple/expected.js b/packages/babel/test/fixtures/transformation/es6.for-of-loose/multiple/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of-loose/multiple/expected.js rename to packages/babel/test/fixtures/transformation/es6.for-of-loose/multiple/expected.js diff --git a/test/core/fixtures/transformation/es6.for-of-loose/options.json b/packages/babel/test/fixtures/transformation/es6.for-of-loose/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.for-of-loose/options.json rename to packages/babel/test/fixtures/transformation/es6.for-of-loose/options.json diff --git a/test/core/fixtures/transformation/es6.for-of-loose/var/actual.js b/packages/babel/test/fixtures/transformation/es6.for-of-loose/var/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of-loose/var/actual.js rename to packages/babel/test/fixtures/transformation/es6.for-of-loose/var/actual.js diff --git a/test/core/fixtures/transformation/es6.for-of-loose/var/expected.js b/packages/babel/test/fixtures/transformation/es6.for-of-loose/var/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of-loose/var/expected.js rename to packages/babel/test/fixtures/transformation/es6.for-of-loose/var/expected.js diff --git a/test/core/fixtures/transformation/es6.for-of/identifier/actual.js b/packages/babel/test/fixtures/transformation/es6.for-of/identifier/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of/identifier/actual.js rename to packages/babel/test/fixtures/transformation/es6.for-of/identifier/actual.js diff --git a/test/core/fixtures/transformation/es6.for-of/identifier/expected.js b/packages/babel/test/fixtures/transformation/es6.for-of/identifier/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of/identifier/expected.js rename to packages/babel/test/fixtures/transformation/es6.for-of/identifier/expected.js diff --git a/test/core/fixtures/transformation/es6.for-of/ignore-cases/actual.js b/packages/babel/test/fixtures/transformation/es6.for-of/ignore-cases/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of/ignore-cases/actual.js rename to packages/babel/test/fixtures/transformation/es6.for-of/ignore-cases/actual.js diff --git a/test/core/fixtures/transformation/es6.for-of/ignore-cases/expected.js b/packages/babel/test/fixtures/transformation/es6.for-of/ignore-cases/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of/ignore-cases/expected.js rename to packages/babel/test/fixtures/transformation/es6.for-of/ignore-cases/expected.js diff --git a/test/core/fixtures/transformation/es6.for-of/let/actual.js b/packages/babel/test/fixtures/transformation/es6.for-of/let/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of/let/actual.js rename to packages/babel/test/fixtures/transformation/es6.for-of/let/actual.js diff --git a/test/core/fixtures/transformation/es6.for-of/let/expected.js b/packages/babel/test/fixtures/transformation/es6.for-of/let/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of/let/expected.js rename to packages/babel/test/fixtures/transformation/es6.for-of/let/expected.js diff --git a/test/core/fixtures/transformation/es6.for-of/member-expression/actual.js b/packages/babel/test/fixtures/transformation/es6.for-of/member-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of/member-expression/actual.js rename to packages/babel/test/fixtures/transformation/es6.for-of/member-expression/actual.js diff --git a/test/core/fixtures/transformation/es6.for-of/member-expression/expected.js b/packages/babel/test/fixtures/transformation/es6.for-of/member-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of/member-expression/expected.js rename to packages/babel/test/fixtures/transformation/es6.for-of/member-expression/expected.js diff --git a/test/core/fixtures/transformation/es6.for-of/multiple/actual.js b/packages/babel/test/fixtures/transformation/es6.for-of/multiple/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of/multiple/actual.js rename to packages/babel/test/fixtures/transformation/es6.for-of/multiple/actual.js diff --git a/test/core/fixtures/transformation/es6.for-of/multiple/expected.js b/packages/babel/test/fixtures/transformation/es6.for-of/multiple/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of/multiple/expected.js rename to packages/babel/test/fixtures/transformation/es6.for-of/multiple/expected.js diff --git a/test/core/fixtures/transformation/es6.for-of/nested-label-for-of/actual.js b/packages/babel/test/fixtures/transformation/es6.for-of/nested-label-for-of/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of/nested-label-for-of/actual.js rename to packages/babel/test/fixtures/transformation/es6.for-of/nested-label-for-of/actual.js diff --git a/test/core/fixtures/transformation/es6.for-of/nested-label-for-of/expected.js b/packages/babel/test/fixtures/transformation/es6.for-of/nested-label-for-of/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of/nested-label-for-of/expected.js rename to packages/babel/test/fixtures/transformation/es6.for-of/nested-label-for-of/expected.js diff --git a/test/core/fixtures/transformation/es6.for-of/var/actual.js b/packages/babel/test/fixtures/transformation/es6.for-of/var/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of/var/actual.js rename to packages/babel/test/fixtures/transformation/es6.for-of/var/actual.js diff --git a/test/core/fixtures/transformation/es6.for-of/var/expected.js b/packages/babel/test/fixtures/transformation/es6.for-of/var/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.for-of/var/expected.js rename to packages/babel/test/fixtures/transformation/es6.for-of/var/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/export-specifier-default/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/export-specifier-default/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/export-specifier-default/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/export-specifier-default/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/export-specifier-default/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/export-specifier-default/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/export-specifier-default/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/export-specifier-default/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/exports-default/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/exports-default/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/exports-default/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/exports-default/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/exports-default/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/exports-default/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/exports-default/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/exports-default/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/exports-default/untitled b/packages/babel/test/fixtures/transformation/es6.modules-amd/exports-default/untitled similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/exports-default/untitled rename to packages/babel/test/fixtures/transformation/es6.modules-amd/exports-default/untitled diff --git a/test/core/fixtures/transformation/es6.modules-amd/exports-from/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/exports-from/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/exports-from/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/exports-from/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/exports-from/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/exports-from/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/exports-from/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/exports-from/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/exports-named/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/exports-named/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/exports-named/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/exports-named/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/exports-named/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/exports-named/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/exports-named/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/exports-named/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/exports-variable/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/exports-variable/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/exports-variable/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/exports-variable/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/exports-variable/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/exports-variable/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/exports-variable/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/exports-variable/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/get-module-name-option/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/get-module-name-option/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/get-module-name-option/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/get-module-name-option/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/get-module-name-option/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/get-module-name-option/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/get-module-name-option/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/get-module-name-option/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/get-module-name-option/options.json b/packages/babel/test/fixtures/transformation/es6.modules-amd/get-module-name-option/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/get-module-name-option/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-amd/get-module-name-option/options.json diff --git a/test/core/fixtures/transformation/es6.modules-amd/hoist-function-exports/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/hoist-function-exports/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/hoist-function-exports/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/hoist-function-exports/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/hoist-function-exports/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/hoist-function-exports/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/hoist-function-exports/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/hoist-function-exports/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/imports-default/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/imports-default/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/imports-default/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/imports-default/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/imports-default/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/imports-default/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/imports-default/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/imports-default/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/imports-glob/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/imports-glob/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/imports-glob/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/imports-glob/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/imports-glob/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/imports-glob/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/imports-glob/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/imports-glob/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/imports-mixing/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/imports-mixing/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/imports-mixing/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/imports-mixing/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/imports-mixing/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/imports-mixing/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/imports-mixing/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/imports-mixing/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/imports-named/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/imports-named/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/imports-named/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/imports-named/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/imports-named/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/imports-named/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/imports-named/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/imports-named/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/imports/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/imports/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/imports/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/imports/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/imports/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/imports/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/imports/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/imports/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/module-name/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/module-name/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/module-name/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/module-name/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/module-name/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/module-name/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/module-name/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/module-name/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/module-name/options.json b/packages/babel/test/fixtures/transformation/es6.modules-amd/module-name/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/module-name/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-amd/module-name/options.json diff --git a/test/core/fixtures/transformation/es6.modules-amd/options.json b/packages/babel/test/fixtures/transformation/es6.modules-amd/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-amd/options.json diff --git a/test/core/fixtures/transformation/es6.modules-amd/overview/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/overview/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/overview/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/overview/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/overview/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/overview/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/overview/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/overview/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/remap/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/remap/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/remap/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/remap/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-amd/remap/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-amd/remap/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-amd/remap/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-amd/remap/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common-strict/export-1/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common-strict/export-1/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common-strict/export-1/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common-strict/export-1/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common-strict/export-1/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common-strict/export-1/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common-strict/export-1/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common-strict/export-1/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common-strict/export-2/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common-strict/export-2/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common-strict/export-2/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common-strict/export-2/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common-strict/export-2/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common-strict/export-2/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common-strict/export-2/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common-strict/export-2/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common-strict/export/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common-strict/export/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common-strict/export/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common-strict/export/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common-strict/export/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common-strict/export/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common-strict/export/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common-strict/export/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common-strict/import/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common-strict/import/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common-strict/import/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common-strict/import/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common-strict/import/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common-strict/import/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common-strict/import/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common-strict/import/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common-strict/options.json b/packages/babel/test/fixtures/transformation/es6.modules-common-strict/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common-strict/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-common-strict/options.json diff --git a/test/core/fixtures/transformation/es6.modules-common/exports-default-non-function/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/exports-default-non-function/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/exports-default-non-function/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/exports-default-non-function/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/exports-default-non-function/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/exports-default-non-function/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/exports-default-non-function/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/exports-default-non-function/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common/exports-default/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/exports-default/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/exports-default/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/exports-default/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/exports-default/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/exports-default/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/exports-default/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/exports-default/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common/exports-from/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/exports-from/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/exports-from/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/exports-from/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/exports-from/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/exports-from/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/exports-from/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/exports-from/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common/exports-named/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/exports-named/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/exports-named/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/exports-named/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/exports-named/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/exports-named/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/exports-named/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/exports-named/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common/exports-variable/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/exports-variable/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/exports-variable/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/exports-variable/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/exports-variable/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/exports-variable/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/exports-variable/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/exports-variable/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common/hoist-function-exports/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/hoist-function-exports/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/hoist-function-exports/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/hoist-function-exports/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/hoist-function-exports/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/hoist-function-exports/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/hoist-function-exports/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/hoist-function-exports/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common/illegal-export-esmodule-2/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/illegal-export-esmodule-2/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/illegal-export-esmodule-2/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/illegal-export-esmodule-2/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/illegal-export-esmodule-2/options.json b/packages/babel/test/fixtures/transformation/es6.modules-common/illegal-export-esmodule-2/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/illegal-export-esmodule-2/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-common/illegal-export-esmodule-2/options.json diff --git a/test/core/fixtures/transformation/es6.modules-common/illegal-export-esmodule/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/illegal-export-esmodule/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/illegal-export-esmodule/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/illegal-export-esmodule/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/illegal-export-esmodule/options.json b/packages/babel/test/fixtures/transformation/es6.modules-common/illegal-export-esmodule/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/illegal-export-esmodule/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-common/illegal-export-esmodule/options.json diff --git a/test/core/fixtures/transformation/es6.modules-common/imports-default/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/imports-default/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/imports-default/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/imports-default/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/imports-default/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/imports-default/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/imports-default/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/imports-default/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common/imports-default/options.json b/packages/babel/test/fixtures/transformation/es6.modules-common/imports-default/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/imports-default/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-common/imports-default/options.json diff --git a/test/core/fixtures/transformation/es6.modules-common/imports-glob/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/imports-glob/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/imports-glob/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/imports-glob/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/imports-glob/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/imports-glob/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/imports-glob/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/imports-glob/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common/imports-mixing/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/imports-mixing/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/imports-mixing/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/imports-mixing/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/imports-mixing/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/imports-mixing/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/imports-mixing/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/imports-mixing/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common/imports-mixing/options.json b/packages/babel/test/fixtures/transformation/es6.modules-common/imports-mixing/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/imports-mixing/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-common/imports-mixing/options.json diff --git a/test/core/fixtures/transformation/es6.modules-common/imports-named/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/imports-named/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/imports-named/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/imports-named/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/imports-named/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/imports-named/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/imports-named/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/imports-named/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common/imports/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/imports/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/imports/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/imports/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/imports/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/imports/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/imports/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/imports/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common/loose-collision/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/loose-collision/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/loose-collision/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/loose-collision/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/loose-collision/options.json b/packages/babel/test/fixtures/transformation/es6.modules-common/loose-collision/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/loose-collision/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-common/loose-collision/options.json diff --git a/test/core/fixtures/transformation/es6.modules-common/loose/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/loose/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/loose/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/loose/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/loose/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/loose/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/loose/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/loose/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common/loose/options.json b/packages/babel/test/fixtures/transformation/es6.modules-common/loose/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/loose/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-common/loose/options.json diff --git a/test/core/fixtures/transformation/es6.modules-common/module-shadow/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/module-shadow/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/module-shadow/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/module-shadow/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/module-shadow/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/module-shadow/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/module-shadow/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/module-shadow/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common/options.json b/packages/babel/test/fixtures/transformation/es6.modules-common/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-common/options.json diff --git a/test/core/fixtures/transformation/es6.modules-common/overview/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/overview/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/overview/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/overview/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/overview/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/overview/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/overview/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/overview/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-common/overview/options.json b/packages/babel/test/fixtures/transformation/es6.modules-common/overview/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/overview/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-common/overview/options.json diff --git a/test/core/fixtures/transformation/es6.modules-common/remap/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-common/remap/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/remap/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/remap/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-common/remap/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-common/remap/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-common/remap/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-common/remap/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/exports-default/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-default/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/exports-default/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-default/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/exports-default/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-default/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/exports-default/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-default/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/exports-from/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-from/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/exports-from/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-from/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/exports-from/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-from/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/exports-from/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-from/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/exports-named/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-named/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/exports-named/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-named/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/exports-named/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-named/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/exports-named/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-named/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/exports-variable/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-variable/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/exports-variable/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-variable/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/exports-variable/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-variable/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/exports-variable/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/exports-variable/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/hoist-function-exports/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/hoist-function-exports/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/hoist-function-exports/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/hoist-function-exports/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/hoist-function-exports/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/hoist-function-exports/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/hoist-function-exports/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/hoist-function-exports/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/imports-default/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-default/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/imports-default/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-default/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/imports-default/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-default/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/imports-default/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-default/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/imports-glob/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-glob/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/imports-glob/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-glob/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/imports-glob/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-glob/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/imports-glob/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-glob/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/imports-mixing/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-mixing/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/imports-mixing/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-mixing/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/imports-mixing/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-mixing/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/imports-mixing/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-mixing/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/imports-named/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-named/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/imports-named/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-named/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/imports-named/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-named/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/imports-named/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/imports-named/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/imports/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/imports/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/imports/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/imports/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/imports/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/imports/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/imports/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/imports/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/options.json b/packages/babel/test/fixtures/transformation/es6.modules-ignore/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/options.json diff --git a/test/core/fixtures/transformation/es6.modules-ignore/overview/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/overview/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/overview/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/overview/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/overview/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/overview/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/overview/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/overview/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/remap/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/remap/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/remap/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/remap/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-ignore/remap/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-ignore/remap/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-ignore/remap/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-ignore/remap/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-system/exports-default/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-system/exports-default/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/exports-default/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/exports-default/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-system/exports-default/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-system/exports-default/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/exports-default/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/exports-default/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-system/exports-from/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-system/exports-from/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/exports-from/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/exports-from/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-system/exports-from/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-system/exports-from/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/exports-from/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/exports-from/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-system/exports-named/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-system/exports-named/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/exports-named/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/exports-named/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-system/exports-named/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-system/exports-named/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/exports-named/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/exports-named/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-system/exports-variable/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-system/exports-variable/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/exports-variable/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/exports-variable/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-system/exports-variable/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-system/exports-variable/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/exports-variable/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/exports-variable/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-system/get-module-name-option/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-system/get-module-name-option/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/get-module-name-option/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/get-module-name-option/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-system/get-module-name-option/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-system/get-module-name-option/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/get-module-name-option/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/get-module-name-option/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-system/get-module-name-option/options.json b/packages/babel/test/fixtures/transformation/es6.modules-system/get-module-name-option/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/get-module-name-option/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-system/get-module-name-option/options.json diff --git a/test/core/fixtures/transformation/es6.modules-system/hoist-function-exports/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-system/hoist-function-exports/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/hoist-function-exports/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/hoist-function-exports/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-system/hoist-function-exports/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-system/hoist-function-exports/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/hoist-function-exports/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/hoist-function-exports/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-system/hoist-function-exports/options.json b/packages/babel/test/fixtures/transformation/es6.modules-system/hoist-function-exports/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/hoist-function-exports/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-system/hoist-function-exports/options.json diff --git a/test/core/fixtures/transformation/es6.modules-system/imports-default/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-system/imports-default/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/imports-default/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/imports-default/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-system/imports-default/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-system/imports-default/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/imports-default/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/imports-default/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-system/imports-glob/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-system/imports-glob/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/imports-glob/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/imports-glob/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-system/imports-glob/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-system/imports-glob/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/imports-glob/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/imports-glob/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-system/imports-mixing/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-system/imports-mixing/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/imports-mixing/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/imports-mixing/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-system/imports-mixing/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-system/imports-mixing/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/imports-mixing/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/imports-mixing/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-system/imports-named/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-system/imports-named/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/imports-named/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/imports-named/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-system/imports-named/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-system/imports-named/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/imports-named/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/imports-named/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-system/imports/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-system/imports/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/imports/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/imports/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-system/imports/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-system/imports/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/imports/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/imports/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-system/options.json b/packages/babel/test/fixtures/transformation/es6.modules-system/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-system/options.json diff --git a/test/core/fixtures/transformation/es6.modules-system/overview/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-system/overview/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/overview/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/overview/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-system/overview/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-system/overview/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/overview/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/overview/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-system/remap/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-system/remap/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/remap/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/remap/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-system/remap/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-system/remap/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-system/remap/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-system/remap/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/exports-default/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/exports-default/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/exports-default/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/exports-default/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/exports-default/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/exports-default/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/exports-default/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/exports-default/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/exports-from/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/exports-from/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/exports-from/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/exports-from/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/exports-from/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/exports-from/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/exports-from/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/exports-from/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/exports-named/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/exports-named/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/exports-named/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/exports-named/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/exports-named/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/exports-named/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/exports-named/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/exports-named/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/exports-variable/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/exports-variable/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/exports-variable/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/exports-variable/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/exports-variable/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/exports-variable/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/exports-variable/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/exports-variable/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/get-module-name-option/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/get-module-name-option/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/get-module-name-option/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/get-module-name-option/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/get-module-name-option/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/get-module-name-option/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/get-module-name-option/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/get-module-name-option/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/get-module-name-option/options.json b/packages/babel/test/fixtures/transformation/es6.modules-umd/get-module-name-option/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/get-module-name-option/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-umd/get-module-name-option/options.json diff --git a/test/core/fixtures/transformation/es6.modules-umd/hoist-function-exports/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/hoist-function-exports/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/hoist-function-exports/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/hoist-function-exports/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/hoist-function-exports/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/hoist-function-exports/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/hoist-function-exports/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/hoist-function-exports/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/imports-default/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/imports-default/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/imports-default/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/imports-default/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/imports-default/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/imports-default/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/imports-default/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/imports-default/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/imports-glob/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/imports-glob/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/imports-glob/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/imports-glob/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/imports-glob/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/imports-glob/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/imports-glob/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/imports-glob/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/imports-mixing/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/imports-mixing/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/imports-mixing/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/imports-mixing/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/imports-mixing/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/imports-mixing/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/imports-mixing/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/imports-mixing/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/imports-named/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/imports-named/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/imports-named/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/imports-named/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/imports-named/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/imports-named/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/imports-named/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/imports-named/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/imports/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/imports/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/imports/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/imports/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/imports/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/imports/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/imports/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/imports/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/module-id/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/module-id/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/module-id/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/module-id/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/module-id/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/module-id/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/module-id/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/module-id/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/module-id/options.json b/packages/babel/test/fixtures/transformation/es6.modules-umd/module-id/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/module-id/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-umd/module-id/options.json diff --git a/test/core/fixtures/transformation/es6.modules-umd/module-name/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/module-name/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/module-name/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/module-name/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/module-name/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/module-name/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/module-name/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/module-name/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/module-name/options.json b/packages/babel/test/fixtures/transformation/es6.modules-umd/module-name/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/module-name/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-umd/module-name/options.json diff --git a/test/core/fixtures/transformation/es6.modules-umd/non-default-imports/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/non-default-imports/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/non-default-imports/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/non-default-imports/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/non-default-imports/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/non-default-imports/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/non-default-imports/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/non-default-imports/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/options.json b/packages/babel/test/fixtures/transformation/es6.modules-umd/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/options.json rename to packages/babel/test/fixtures/transformation/es6.modules-umd/options.json diff --git a/test/core/fixtures/transformation/es6.modules-umd/overview/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/overview/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/overview/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/overview/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/overview/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/overview/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/overview/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/overview/expected.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/remap/actual.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/remap/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/remap/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/remap/actual.js diff --git a/test/core/fixtures/transformation/es6.modules-umd/remap/expected.js b/packages/babel/test/fixtures/transformation/es6.modules-umd/remap/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules-umd/remap/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules-umd/remap/expected.js diff --git a/test/core/fixtures/transformation/es6.modules/comments-explosion/actual.js b/packages/babel/test/fixtures/transformation/es6.modules/comments-explosion/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules/comments-explosion/actual.js rename to packages/babel/test/fixtures/transformation/es6.modules/comments-explosion/actual.js diff --git a/test/core/fixtures/transformation/es6.modules/comments-explosion/expected.js b/packages/babel/test/fixtures/transformation/es6.modules/comments-explosion/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.modules/comments-explosion/expected.js rename to packages/babel/test/fixtures/transformation/es6.modules/comments-explosion/expected.js diff --git a/test/core/fixtures/transformation/es6.modules/comments-explosion/options.json b/packages/babel/test/fixtures/transformation/es6.modules/comments-explosion/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.modules/comments-explosion/options.json rename to packages/babel/test/fixtures/transformation/es6.modules/comments-explosion/options.json diff --git a/test/core/fixtures/transformation/es6.object-super/options.json b/packages/babel/test/fixtures/transformation/es6.object-super/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.object-super/options.json rename to packages/babel/test/fixtures/transformation/es6.object-super/options.json diff --git a/test/core/fixtures/transformation/es6.object-super/simple.js b/packages/babel/test/fixtures/transformation/es6.object-super/simple.js similarity index 100% rename from test/core/fixtures/transformation/es6.object-super/simple.js rename to packages/babel/test/fixtures/transformation/es6.object-super/simple.js diff --git a/test/core/fixtures/transformation/es6.object-super/statically-bound/actual.js b/packages/babel/test/fixtures/transformation/es6.object-super/statically-bound/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.object-super/statically-bound/actual.js rename to packages/babel/test/fixtures/transformation/es6.object-super/statically-bound/actual.js diff --git a/test/core/fixtures/transformation/es6.object-super/statically-bound/expected.js b/packages/babel/test/fixtures/transformation/es6.object-super/statically-bound/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.object-super/statically-bound/expected.js rename to packages/babel/test/fixtures/transformation/es6.object-super/statically-bound/expected.js diff --git a/test/core/fixtures/transformation/es6.parameters/default-before-last/actual.js b/packages/babel/test/fixtures/transformation/es6.parameters/default-before-last/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/default-before-last/actual.js rename to packages/babel/test/fixtures/transformation/es6.parameters/default-before-last/actual.js diff --git a/test/core/fixtures/transformation/es6.parameters/default-before-last/expected.js b/packages/babel/test/fixtures/transformation/es6.parameters/default-before-last/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/default-before-last/expected.js rename to packages/babel/test/fixtures/transformation/es6.parameters/default-before-last/expected.js diff --git a/test/core/fixtures/transformation/es6.parameters/default-destructuring/exec.js b/packages/babel/test/fixtures/transformation/es6.parameters/default-destructuring/exec.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/default-destructuring/exec.js rename to packages/babel/test/fixtures/transformation/es6.parameters/default-destructuring/exec.js diff --git a/test/core/fixtures/transformation/es6.parameters/default-eval/actual.js b/packages/babel/test/fixtures/transformation/es6.parameters/default-eval/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/default-eval/actual.js rename to packages/babel/test/fixtures/transformation/es6.parameters/default-eval/actual.js diff --git a/test/core/fixtures/transformation/es6.parameters/default-eval/expected.js b/packages/babel/test/fixtures/transformation/es6.parameters/default-eval/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/default-eval/expected.js rename to packages/babel/test/fixtures/transformation/es6.parameters/default-eval/expected.js diff --git a/test/core/fixtures/transformation/es6.parameters/default-iife-1128/exec.js b/packages/babel/test/fixtures/transformation/es6.parameters/default-iife-1128/exec.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/default-iife-1128/exec.js rename to packages/babel/test/fixtures/transformation/es6.parameters/default-iife-1128/exec.js diff --git a/test/core/fixtures/transformation/es6.parameters/default-multiple/actual.js b/packages/babel/test/fixtures/transformation/es6.parameters/default-multiple/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/default-multiple/actual.js rename to packages/babel/test/fixtures/transformation/es6.parameters/default-multiple/actual.js diff --git a/test/core/fixtures/transformation/es6.parameters/default-multiple/expected.js b/packages/babel/test/fixtures/transformation/es6.parameters/default-multiple/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/default-multiple/expected.js rename to packages/babel/test/fixtures/transformation/es6.parameters/default-multiple/expected.js diff --git a/test/core/fixtures/transformation/es6.parameters/default-single/actual.js b/packages/babel/test/fixtures/transformation/es6.parameters/default-single/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/default-single/actual.js rename to packages/babel/test/fixtures/transformation/es6.parameters/default-single/actual.js diff --git a/test/core/fixtures/transformation/es6.parameters/default-single/expected.js b/packages/babel/test/fixtures/transformation/es6.parameters/default-single/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/default-single/expected.js rename to packages/babel/test/fixtures/transformation/es6.parameters/default-single/expected.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-arrow-functions/actual.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-arrow-functions/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-arrow-functions/actual.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-arrow-functions/actual.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-arrow-functions/expected.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-arrow-functions/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-arrow-functions/expected.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-arrow-functions/expected.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-async-function/actual.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-async-function/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-async-function/actual.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-async-function/actual.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-async-function/expected.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-async-function/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-async-function/expected.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-async-function/expected.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-async-function/options.json b/packages/babel/test/fixtures/transformation/es6.parameters/rest-async-function/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-async-function/options.json rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-async-function/options.json diff --git a/test/core/fixtures/transformation/es6.parameters/rest-deepest-common-ancestor-earliest-child/actual.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-deepest-common-ancestor-earliest-child/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-deepest-common-ancestor-earliest-child/actual.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-deepest-common-ancestor-earliest-child/actual.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-deepest-common-ancestor-earliest-child/expected.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-deepest-common-ancestor-earliest-child/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-deepest-common-ancestor-earliest-child/expected.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-deepest-common-ancestor-earliest-child/expected.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-flow-parameter-reference/actual.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-flow-parameter-reference/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-flow-parameter-reference/actual.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-flow-parameter-reference/actual.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-flow-parameter-reference/expected.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-flow-parameter-reference/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-flow-parameter-reference/expected.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-flow-parameter-reference/expected.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-member-expression-deoptimisation/actual.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-member-expression-deoptimisation/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-member-expression-deoptimisation/actual.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-member-expression-deoptimisation/actual.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-member-expression-deoptimisation/expected.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-member-expression-deoptimisation/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-member-expression-deoptimisation/expected.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-member-expression-deoptimisation/expected.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-member-expression-optimisation/actual.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-member-expression-optimisation/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-member-expression-optimisation/actual.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-member-expression-optimisation/actual.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-member-expression-optimisation/expected.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-member-expression-optimisation/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-member-expression-optimisation/expected.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-member-expression-optimisation/expected.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-multiple/actual.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-multiple/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-multiple/actual.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-multiple/actual.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-multiple/expected.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-multiple/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-multiple/expected.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-multiple/expected.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-nested-iife/actual.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-nested-iife/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-nested-iife/actual.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-nested-iife/actual.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-nested-iife/expected.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-nested-iife/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-nested-iife/expected.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-nested-iife/expected.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-pattern/actual.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-pattern/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-pattern/actual.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-pattern/actual.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-pattern/expected.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-pattern/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-pattern/expected.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-pattern/expected.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-spread-optimisation/actual.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-spread-optimisation/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-spread-optimisation/actual.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-spread-optimisation/actual.js diff --git a/test/core/fixtures/transformation/es6.parameters/rest-spread-optimisation/expected.js b/packages/babel/test/fixtures/transformation/es6.parameters/rest-spread-optimisation/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.parameters/rest-spread-optimisation/expected.js rename to packages/babel/test/fixtures/transformation/es6.parameters/rest-spread-optimisation/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/argument/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/argument/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/argument/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/argument/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/argument/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/argument/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/argument/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/argument/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/assignment/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/assignment/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/assignment/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/assignment/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/assignment/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/assignment/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/assignment/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/assignment/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/coerce/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/coerce/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/coerce/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/coerce/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/coerce/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/coerce/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/coerce/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/coerce/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/ignore-symbol/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/ignore-symbol/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/ignore-symbol/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/ignore-symbol/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/ignore-symbol/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/ignore-symbol/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/ignore-symbol/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/ignore-symbol/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/method/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/method/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/method/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/method/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/method/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/method/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/method/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/method/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/mixed/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/mixed/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/mixed/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/mixed/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/mixed/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/mixed/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/mixed/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/mixed/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/multiple/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/multiple/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/multiple/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/multiple/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/multiple/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/multiple/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/multiple/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/multiple/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/options.json b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/options.json rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/options.json diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/single/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/single/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/single/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/single/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/single/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/single/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/single/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/single/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/this/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/this/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/this/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/this/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/this/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/this/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/this/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/this/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/two/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/two/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/two/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/two/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/two/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/two/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/two/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/two/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/variable/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/variable/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/variable/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/variable/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed-loose/variable/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed-loose/variable/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed-loose/variable/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed-loose/variable/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/argument/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/argument/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/argument/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/argument/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/argument/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/argument/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/argument/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/argument/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/assignment/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/assignment/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/assignment/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/assignment/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/assignment/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/assignment/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/assignment/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/assignment/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/ignore-symbol/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/ignore-symbol/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/ignore-symbol/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/ignore-symbol/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/ignore-symbol/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/ignore-symbol/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/ignore-symbol/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/ignore-symbol/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/method/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/method/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/method/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/method/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/method/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/method/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/method/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/method/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/mixed/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/mixed/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/mixed/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/mixed/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/mixed/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/mixed/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/mixed/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/mixed/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/multiple/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/multiple/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/multiple/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/multiple/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/multiple/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/multiple/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/multiple/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/multiple/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/options.json b/packages/babel/test/fixtures/transformation/es6.properties.computed/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/options.json rename to packages/babel/test/fixtures/transformation/es6.properties.computed/options.json diff --git a/test/core/fixtures/transformation/es6.properties.computed/single/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/single/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/single/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/single/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/single/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/single/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/single/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/single/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/this/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/this/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/this/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/this/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/this/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/this/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/this/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/this/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/two/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/two/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/two/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/two/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/two/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/two/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/two/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/two/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/variable/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/variable/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/variable/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/variable/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.computed/variable/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.computed/variable/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.computed/variable/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.computed/variable/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.shorthand/method-computed/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.shorthand/method-computed/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.shorthand/method-computed/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.shorthand/method-computed/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.shorthand/method-computed/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.shorthand/method-computed/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.shorthand/method-computed/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.shorthand/method-computed/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.shorthand/method-computed/options.json b/packages/babel/test/fixtures/transformation/es6.properties.shorthand/method-computed/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.properties.shorthand/method-computed/options.json rename to packages/babel/test/fixtures/transformation/es6.properties.shorthand/method-computed/options.json diff --git a/test/core/fixtures/transformation/es6.properties.shorthand/method-plain/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.shorthand/method-plain/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.shorthand/method-plain/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.shorthand/method-plain/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.shorthand/method-plain/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.shorthand/method-plain/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.shorthand/method-plain/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.shorthand/method-plain/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.shorthand/shorthand-comments/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-comments/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.shorthand/shorthand-comments/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-comments/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.shorthand/shorthand-comments/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-comments/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.shorthand/shorthand-comments/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-comments/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.shorthand/shorthand-mixed/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-mixed/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.shorthand/shorthand-mixed/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-mixed/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.shorthand/shorthand-mixed/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-mixed/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.shorthand/shorthand-mixed/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-mixed/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.shorthand/shorthand-multiple/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-multiple/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.shorthand/shorthand-multiple/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-multiple/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.shorthand/shorthand-multiple/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-multiple/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.shorthand/shorthand-multiple/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-multiple/expected.js diff --git a/test/core/fixtures/transformation/es6.properties.shorthand/shorthand-single/actual.js b/packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-single/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.shorthand/shorthand-single/actual.js rename to packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-single/actual.js diff --git a/test/core/fixtures/transformation/es6.properties.shorthand/shorthand-single/expected.js b/packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-single/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.properties.shorthand/shorthand-single/expected.js rename to packages/babel/test/fixtures/transformation/es6.properties.shorthand/shorthand-single/expected.js diff --git a/test/core/fixtures/transformation/es6.regex.sticky/basic/actual.js b/packages/babel/test/fixtures/transformation/es6.regex.sticky/basic/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.regex.sticky/basic/actual.js rename to packages/babel/test/fixtures/transformation/es6.regex.sticky/basic/actual.js diff --git a/test/core/fixtures/transformation/es6.regex.sticky/basic/expected.js b/packages/babel/test/fixtures/transformation/es6.regex.sticky/basic/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.regex.sticky/basic/expected.js rename to packages/babel/test/fixtures/transformation/es6.regex.sticky/basic/expected.js diff --git a/test/core/fixtures/transformation/es6.regex.sticky/ignore-non-sticky/actual.js b/packages/babel/test/fixtures/transformation/es6.regex.sticky/ignore-non-sticky/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.regex.sticky/ignore-non-sticky/actual.js rename to packages/babel/test/fixtures/transformation/es6.regex.sticky/ignore-non-sticky/actual.js diff --git a/test/core/fixtures/transformation/es6.regex.sticky/ignore-non-sticky/expected.js b/packages/babel/test/fixtures/transformation/es6.regex.sticky/ignore-non-sticky/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.regex.sticky/ignore-non-sticky/expected.js rename to packages/babel/test/fixtures/transformation/es6.regex.sticky/ignore-non-sticky/expected.js diff --git a/test/core/fixtures/transformation/es6.regex.unicode/basic/actual.js b/packages/babel/test/fixtures/transformation/es6.regex.unicode/basic/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.regex.unicode/basic/actual.js rename to packages/babel/test/fixtures/transformation/es6.regex.unicode/basic/actual.js diff --git a/test/core/fixtures/transformation/es6.regex.unicode/basic/expected.js b/packages/babel/test/fixtures/transformation/es6.regex.unicode/basic/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.regex.unicode/basic/expected.js rename to packages/babel/test/fixtures/transformation/es6.regex.unicode/basic/expected.js diff --git a/test/core/fixtures/transformation/es6.regex.unicode/ignore-non-unicode/actual.js b/packages/babel/test/fixtures/transformation/es6.regex.unicode/ignore-non-unicode/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.regex.unicode/ignore-non-unicode/actual.js rename to packages/babel/test/fixtures/transformation/es6.regex.unicode/ignore-non-unicode/actual.js diff --git a/test/core/fixtures/transformation/es6.regex.unicode/ignore-non-unicode/expected.js b/packages/babel/test/fixtures/transformation/es6.regex.unicode/ignore-non-unicode/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.regex.unicode/ignore-non-unicode/expected.js rename to packages/babel/test/fixtures/transformation/es6.regex.unicode/ignore-non-unicode/expected.js diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-fail/assignment.js b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/assignment.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-fail/assignment.js rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/assignment.js diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-fail/call-2.js b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/call-2.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-fail/call-2.js rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/call-2.js diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-fail/call-3.js b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/call-3.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-fail/call-3.js rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/call-3.js diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-fail/call.js b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/call.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-fail/call.js rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/call.js diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-fail/defaults.js b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/defaults.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-fail/defaults.js rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/defaults.js diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-fail/destructuring.js b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/destructuring.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-fail/destructuring.js rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/destructuring.js diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-fail/export.js b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/export.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-fail/export.js rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/export.js diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-fail/options.json b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-fail/options.json rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/options.json diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-fail/update.js b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/update.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-fail/update.js rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-fail/update.js diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-pass/assignment.js b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-pass/assignment.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-pass/assignment.js rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-pass/assignment.js diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-pass/call.js b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-pass/call.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-pass/call.js rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-pass/call.js diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-pass/defaults.js b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-pass/defaults.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-pass/defaults.js rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-pass/defaults.js diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-pass/destructuring.js b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-pass/destructuring.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-pass/destructuring.js rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-pass/destructuring.js diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-pass/export.js b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-pass/export.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-pass/export.js rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-pass/export.js diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-pass/options.json b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-pass/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-pass/options.json rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-pass/options.json diff --git a/test/core/fixtures/transformation/es6.spec.block-scoping-pass/update.js b/packages/babel/test/fixtures/transformation/es6.spec.block-scoping-pass/update.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.block-scoping-pass/update.js rename to packages/babel/test/fixtures/transformation/es6.spec.block-scoping-pass/update.js diff --git a/test/core/fixtures/transformation/es6.spec.symbols/instanceof/actual.js b/packages/babel/test/fixtures/transformation/es6.spec.symbols/instanceof/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.symbols/instanceof/actual.js rename to packages/babel/test/fixtures/transformation/es6.spec.symbols/instanceof/actual.js diff --git a/test/core/fixtures/transformation/es6.spec.symbols/instanceof/exec.js b/packages/babel/test/fixtures/transformation/es6.spec.symbols/instanceof/exec.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.symbols/instanceof/exec.js rename to packages/babel/test/fixtures/transformation/es6.spec.symbols/instanceof/exec.js diff --git a/test/core/fixtures/transformation/es6.spec.symbols/instanceof/expected.js b/packages/babel/test/fixtures/transformation/es6.spec.symbols/instanceof/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.symbols/instanceof/expected.js rename to packages/babel/test/fixtures/transformation/es6.spec.symbols/instanceof/expected.js diff --git a/test/core/fixtures/transformation/es6.spec.symbols/options.json b/packages/babel/test/fixtures/transformation/es6.spec.symbols/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.spec.symbols/options.json rename to packages/babel/test/fixtures/transformation/es6.spec.symbols/options.json diff --git a/test/core/fixtures/transformation/es6.spec.symbols/typeof/actual.js b/packages/babel/test/fixtures/transformation/es6.spec.symbols/typeof/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.symbols/typeof/actual.js rename to packages/babel/test/fixtures/transformation/es6.spec.symbols/typeof/actual.js diff --git a/test/core/fixtures/transformation/es6.spec.symbols/typeof/exec.js b/packages/babel/test/fixtures/transformation/es6.spec.symbols/typeof/exec.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.symbols/typeof/exec.js rename to packages/babel/test/fixtures/transformation/es6.spec.symbols/typeof/exec.js diff --git a/test/core/fixtures/transformation/es6.spec.symbols/typeof/expected.js b/packages/babel/test/fixtures/transformation/es6.spec.symbols/typeof/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.symbols/typeof/expected.js rename to packages/babel/test/fixtures/transformation/es6.spec.symbols/typeof/expected.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/escape-quotes/actual.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/escape-quotes/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/escape-quotes/actual.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/escape-quotes/actual.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/escape-quotes/expected.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/escape-quotes/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/escape-quotes/expected.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/escape-quotes/expected.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/functions/actual.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/functions/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/functions/actual.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/functions/actual.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/functions/expected.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/functions/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/functions/expected.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/functions/expected.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/multiline/actual.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/multiline/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/multiline/actual.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/multiline/actual.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/multiline/expected.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/multiline/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/multiline/expected.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/multiline/expected.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/multiple/actual.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/multiple/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/multiple/actual.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/multiple/actual.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/multiple/expected.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/multiple/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/multiple/expected.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/multiple/expected.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/none/actual.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/none/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/none/actual.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/none/actual.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/none/expected.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/none/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/none/expected.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/none/expected.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/only/actual.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/only/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/only/actual.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/only/actual.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/only/expected.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/only/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/only/expected.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/only/expected.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/options.json b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/options.json rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/options.json diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/single/actual.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/single/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/single/actual.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/single/actual.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/single/expected.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/single/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/single/expected.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/single/expected.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/statement/actual.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/statement/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/statement/actual.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/statement/actual.js diff --git a/test/core/fixtures/transformation/es6.spec.template-literals/statement/expected.js b/packages/babel/test/fixtures/transformation/es6.spec.template-literals/statement/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spec.template-literals/statement/expected.js rename to packages/babel/test/fixtures/transformation/es6.spec.template-literals/statement/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/arguments-array/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/arguments-array/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/arguments-array/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/arguments-array/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/arguments-array/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/arguments-array/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/arguments-array/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/arguments-array/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/arguments-concat/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/arguments-concat/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/arguments-concat/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/arguments-concat/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/arguments-concat/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/arguments-concat/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/arguments-concat/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/arguments-concat/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/arguments/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/arguments/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/arguments/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/arguments/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/arguments/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/arguments/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/arguments/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/arguments/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/array-literal-first/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/array-literal-first/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/array-literal-first/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/array-literal-first/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/array-literal-first/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/array-literal-first/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/array-literal-first/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/array-literal-first/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/array-literal-middle/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/array-literal-middle/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/array-literal-middle/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/array-literal-middle/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/array-literal-middle/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/array-literal-middle/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/array-literal-middle/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/array-literal-middle/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/array-literal-multiple/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/array-literal-multiple/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/array-literal-multiple/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/array-literal-multiple/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/array-literal-multiple/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/array-literal-multiple/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/array-literal-multiple/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/array-literal-multiple/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/array-literals/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/array-literals/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/array-literals/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/array-literals/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/array-literals/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/array-literals/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/array-literals/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/array-literals/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/contexted-computed-method-call-multiple-args/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/contexted-computed-method-call-multiple-args/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/contexted-computed-method-call-multiple-args/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/contexted-computed-method-call-multiple-args/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/contexted-computed-method-call-multiple-args/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/contexted-computed-method-call-multiple-args/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/contexted-computed-method-call-multiple-args/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/contexted-computed-method-call-multiple-args/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/contexted-computed-method-call-single-arg/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/contexted-computed-method-call-single-arg/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/contexted-computed-method-call-single-arg/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/contexted-computed-method-call-single-arg/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/contexted-computed-method-call-single-arg/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/contexted-computed-method-call-single-arg/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/contexted-computed-method-call-single-arg/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/contexted-computed-method-call-single-arg/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/contexted-method-call-multiple-args/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/contexted-method-call-multiple-args/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/contexted-method-call-multiple-args/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/contexted-method-call-multiple-args/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/contexted-method-call-multiple-args/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/contexted-method-call-multiple-args/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/contexted-method-call-multiple-args/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/contexted-method-call-multiple-args/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/contexted-method-call-single-arg/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/contexted-method-call-single-arg/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/contexted-method-call-single-arg/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/contexted-method-call-single-arg/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/contexted-method-call-single-arg/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/contexted-method-call-single-arg/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/contexted-method-call-single-arg/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/contexted-method-call-single-arg/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/known-rest/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/known-rest/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/known-rest/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/known-rest/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/known-rest/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/known-rest/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/known-rest/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/known-rest/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/method-call-array-literal/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/method-call-array-literal/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/method-call-array-literal/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/method-call-array-literal/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/method-call-array-literal/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/method-call-array-literal/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/method-call-array-literal/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/method-call-array-literal/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/method-call-first/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/method-call-first/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/method-call-first/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/method-call-first/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/method-call-first/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/method-call-first/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/method-call-first/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/method-call-first/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/method-call-middle/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/method-call-middle/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/method-call-middle/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/method-call-middle/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/method-call-middle/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/method-call-middle/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/method-call-middle/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/method-call-middle/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/method-call-multiple-args/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/method-call-multiple-args/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/method-call-multiple-args/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/method-call-multiple-args/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/method-call-multiple-args/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/method-call-multiple-args/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/method-call-multiple-args/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/method-call-multiple-args/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/method-call-multiple/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/method-call-multiple/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/method-call-multiple/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/method-call-multiple/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/method-call-multiple/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/method-call-multiple/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/method-call-multiple/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/method-call-multiple/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/method-call-single-arg/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/method-call-single-arg/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/method-call-single-arg/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/method-call-single-arg/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/method-call-single-arg/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/method-call-single-arg/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/method-call-single-arg/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/method-call-single-arg/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/new-expression/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/new-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/new-expression/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/new-expression/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/new-expression/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/new-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/new-expression/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/new-expression/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/options.json b/packages/babel/test/fixtures/transformation/es6.spread/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.spread/options.json rename to packages/babel/test/fixtures/transformation/es6.spread/options.json diff --git a/test/core/fixtures/transformation/es6.spread/single/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/single/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/single/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/single/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/single/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/single/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/single/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/single/expected.js diff --git a/test/core/fixtures/transformation/es6.spread/this-context/actual.js b/packages/babel/test/fixtures/transformation/es6.spread/this-context/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/this-context/actual.js rename to packages/babel/test/fixtures/transformation/es6.spread/this-context/actual.js diff --git a/test/core/fixtures/transformation/es6.spread/this-context/expected.js b/packages/babel/test/fixtures/transformation/es6.spread/this-context/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.spread/this-context/expected.js rename to packages/babel/test/fixtures/transformation/es6.spread/this-context/expected.js diff --git a/test/core/fixtures/transformation/es6.tail-call/call-apply/actual.js b/packages/babel/test/fixtures/transformation/es6.tail-call/call-apply/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/call-apply/actual.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/call-apply/actual.js diff --git a/test/core/fixtures/transformation/es6.tail-call/call-apply/expected.js b/packages/babel/test/fixtures/transformation/es6.tail-call/call-apply/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/call-apply/expected.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/call-apply/expected.js diff --git a/test/core/fixtures/transformation/es6.tail-call/default-parameters/actual.js b/packages/babel/test/fixtures/transformation/es6.tail-call/default-parameters/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/default-parameters/actual.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/default-parameters/actual.js diff --git a/test/core/fixtures/transformation/es6.tail-call/default-parameters/expected.js b/packages/babel/test/fixtures/transformation/es6.tail-call/default-parameters/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/default-parameters/expected.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/default-parameters/expected.js diff --git a/test/core/fixtures/transformation/es6.tail-call/expression-consequent/actual.js b/packages/babel/test/fixtures/transformation/es6.tail-call/expression-consequent/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/expression-consequent/actual.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/expression-consequent/actual.js diff --git a/test/core/fixtures/transformation/es6.tail-call/expression-consequent/expected.js b/packages/babel/test/fixtures/transformation/es6.tail-call/expression-consequent/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/expression-consequent/expected.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/expression-consequent/expected.js diff --git a/test/core/fixtures/transformation/es6.tail-call/expressions/actual.js b/packages/babel/test/fixtures/transformation/es6.tail-call/expressions/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/expressions/actual.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/expressions/actual.js diff --git a/test/core/fixtures/transformation/es6.tail-call/expressions/expected.js b/packages/babel/test/fixtures/transformation/es6.tail-call/expressions/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/expressions/expected.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/expressions/expected.js diff --git a/test/core/fixtures/transformation/es6.tail-call/factorial/actual.js b/packages/babel/test/fixtures/transformation/es6.tail-call/factorial/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/factorial/actual.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/factorial/actual.js diff --git a/test/core/fixtures/transformation/es6.tail-call/factorial/expected.js b/packages/babel/test/fixtures/transformation/es6.tail-call/factorial/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/factorial/expected.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/factorial/expected.js diff --git a/test/core/fixtures/transformation/es6.tail-call/ignore-reassigned/actual.js b/packages/babel/test/fixtures/transformation/es6.tail-call/ignore-reassigned/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/ignore-reassigned/actual.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/ignore-reassigned/actual.js diff --git a/test/core/fixtures/transformation/es6.tail-call/ignore-reassigned/expected.js b/packages/babel/test/fixtures/transformation/es6.tail-call/ignore-reassigned/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/ignore-reassigned/expected.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/ignore-reassigned/expected.js diff --git a/test/core/fixtures/transformation/es6.tail-call/max-args/actual.js b/packages/babel/test/fixtures/transformation/es6.tail-call/max-args/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/max-args/actual.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/max-args/actual.js diff --git a/test/core/fixtures/transformation/es6.tail-call/max-args/expected.js b/packages/babel/test/fixtures/transformation/es6.tail-call/max-args/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/max-args/expected.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/max-args/expected.js diff --git a/test/core/fixtures/transformation/es6.tail-call/parameter-exceeds/actual.js b/packages/babel/test/fixtures/transformation/es6.tail-call/parameter-exceeds/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/parameter-exceeds/actual.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/parameter-exceeds/actual.js diff --git a/test/core/fixtures/transformation/es6.tail-call/parameter-exceeds/exec.js b/packages/babel/test/fixtures/transformation/es6.tail-call/parameter-exceeds/exec.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/parameter-exceeds/exec.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/parameter-exceeds/exec.js diff --git a/test/core/fixtures/transformation/es6.tail-call/parameter-exceeds/expected.js b/packages/babel/test/fixtures/transformation/es6.tail-call/parameter-exceeds/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/parameter-exceeds/expected.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/parameter-exceeds/expected.js diff --git a/test/core/fixtures/transformation/es6.tail-call/recursion/actual.js b/packages/babel/test/fixtures/transformation/es6.tail-call/recursion/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/recursion/actual.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/recursion/actual.js diff --git a/test/core/fixtures/transformation/es6.tail-call/recursion/expected.js b/packages/babel/test/fixtures/transformation/es6.tail-call/recursion/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/recursion/expected.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/recursion/expected.js diff --git a/test/core/fixtures/transformation/es6.tail-call/shadow/actual.js b/packages/babel/test/fixtures/transformation/es6.tail-call/shadow/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/shadow/actual.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/shadow/actual.js diff --git a/test/core/fixtures/transformation/es6.tail-call/shadow/expected.js b/packages/babel/test/fixtures/transformation/es6.tail-call/shadow/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/shadow/expected.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/shadow/expected.js diff --git a/test/core/fixtures/transformation/es6.tail-call/try-catch/actual.js b/packages/babel/test/fixtures/transformation/es6.tail-call/try-catch/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/try-catch/actual.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/try-catch/actual.js diff --git a/test/core/fixtures/transformation/es6.tail-call/try-catch/expected.js b/packages/babel/test/fixtures/transformation/es6.tail-call/try-catch/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.tail-call/try-catch/expected.js rename to packages/babel/test/fixtures/transformation/es6.tail-call/try-catch/expected.js diff --git a/test/core/fixtures/transformation/es6.template-literals/escape-quotes/actual.js b/packages/babel/test/fixtures/transformation/es6.template-literals/escape-quotes/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/escape-quotes/actual.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/escape-quotes/actual.js diff --git a/test/core/fixtures/transformation/es6.template-literals/escape-quotes/expected.js b/packages/babel/test/fixtures/transformation/es6.template-literals/escape-quotes/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/escape-quotes/expected.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/escape-quotes/expected.js diff --git a/test/core/fixtures/transformation/es6.template-literals/expression-first/actual.js b/packages/babel/test/fixtures/transformation/es6.template-literals/expression-first/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/expression-first/actual.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/expression-first/actual.js diff --git a/test/core/fixtures/transformation/es6.template-literals/expression-first/expected.js b/packages/babel/test/fixtures/transformation/es6.template-literals/expression-first/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/expression-first/expected.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/expression-first/expected.js diff --git a/test/core/fixtures/transformation/es6.template-literals/functions/actual.js b/packages/babel/test/fixtures/transformation/es6.template-literals/functions/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/functions/actual.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/functions/actual.js diff --git a/test/core/fixtures/transformation/es6.template-literals/functions/expected.js b/packages/babel/test/fixtures/transformation/es6.template-literals/functions/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/functions/expected.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/functions/expected.js diff --git a/test/core/fixtures/transformation/es6.template-literals/multiline/actual.js b/packages/babel/test/fixtures/transformation/es6.template-literals/multiline/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/multiline/actual.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/multiline/actual.js diff --git a/test/core/fixtures/transformation/es6.template-literals/multiline/expected.js b/packages/babel/test/fixtures/transformation/es6.template-literals/multiline/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/multiline/expected.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/multiline/expected.js diff --git a/test/core/fixtures/transformation/es6.template-literals/multiple/actual.js b/packages/babel/test/fixtures/transformation/es6.template-literals/multiple/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/multiple/actual.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/multiple/actual.js diff --git a/test/core/fixtures/transformation/es6.template-literals/multiple/expected.js b/packages/babel/test/fixtures/transformation/es6.template-literals/multiple/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/multiple/expected.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/multiple/expected.js diff --git a/test/core/fixtures/transformation/es6.template-literals/none/actual.js b/packages/babel/test/fixtures/transformation/es6.template-literals/none/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/none/actual.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/none/actual.js diff --git a/test/core/fixtures/transformation/es6.template-literals/none/expected.js b/packages/babel/test/fixtures/transformation/es6.template-literals/none/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/none/expected.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/none/expected.js diff --git a/test/core/fixtures/transformation/es6.template-literals/only/actual.js b/packages/babel/test/fixtures/transformation/es6.template-literals/only/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/only/actual.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/only/actual.js diff --git a/test/core/fixtures/transformation/es6.template-literals/only/expected.js b/packages/babel/test/fixtures/transformation/es6.template-literals/only/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/only/expected.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/only/expected.js diff --git a/test/core/fixtures/transformation/es6.template-literals/single/actual.js b/packages/babel/test/fixtures/transformation/es6.template-literals/single/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/single/actual.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/single/actual.js diff --git a/test/core/fixtures/transformation/es6.template-literals/single/expected.js b/packages/babel/test/fixtures/transformation/es6.template-literals/single/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/single/expected.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/single/expected.js diff --git a/test/core/fixtures/transformation/es6.template-literals/statement/actual.js b/packages/babel/test/fixtures/transformation/es6.template-literals/statement/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/statement/actual.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/statement/actual.js diff --git a/test/core/fixtures/transformation/es6.template-literals/statement/expected.js b/packages/babel/test/fixtures/transformation/es6.template-literals/statement/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/statement/expected.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/statement/expected.js diff --git a/test/core/fixtures/transformation/es6.template-literals/tag-loose/actual.js b/packages/babel/test/fixtures/transformation/es6.template-literals/tag-loose/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/tag-loose/actual.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/tag-loose/actual.js diff --git a/test/core/fixtures/transformation/es6.template-literals/tag-loose/expected.js b/packages/babel/test/fixtures/transformation/es6.template-literals/tag-loose/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/tag-loose/expected.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/tag-loose/expected.js diff --git a/test/core/fixtures/transformation/es6.template-literals/tag-loose/options.json b/packages/babel/test/fixtures/transformation/es6.template-literals/tag-loose/options.json similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/tag-loose/options.json rename to packages/babel/test/fixtures/transformation/es6.template-literals/tag-loose/options.json diff --git a/test/core/fixtures/transformation/es6.template-literals/tag/actual.js b/packages/babel/test/fixtures/transformation/es6.template-literals/tag/actual.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/tag/actual.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/tag/actual.js diff --git a/test/core/fixtures/transformation/es6.template-literals/tag/expected.js b/packages/babel/test/fixtures/transformation/es6.template-literals/tag/expected.js similarity index 100% rename from test/core/fixtures/transformation/es6.template-literals/tag/expected.js rename to packages/babel/test/fixtures/transformation/es6.template-literals/tag/expected.js diff --git a/test/core/fixtures/transformation/es7.class-properties/constructor-collision/actual.js b/packages/babel/test/fixtures/transformation/es7.class-properties/constructor-collision/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/constructor-collision/actual.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/constructor-collision/actual.js diff --git a/test/core/fixtures/transformation/es7.class-properties/constructor-collision/expected.js b/packages/babel/test/fixtures/transformation/es7.class-properties/constructor-collision/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/constructor-collision/expected.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/constructor-collision/expected.js diff --git a/test/core/fixtures/transformation/es7.class-properties/derived/actual.js b/packages/babel/test/fixtures/transformation/es7.class-properties/derived/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/derived/actual.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/derived/actual.js diff --git a/test/core/fixtures/transformation/es7.class-properties/derived/expected.js b/packages/babel/test/fixtures/transformation/es7.class-properties/derived/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/derived/expected.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/derived/expected.js diff --git a/test/core/fixtures/transformation/es7.class-properties/instance-undefined/actual.js b/packages/babel/test/fixtures/transformation/es7.class-properties/instance-undefined/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/instance-undefined/actual.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/instance-undefined/actual.js diff --git a/test/core/fixtures/transformation/es7.class-properties/instance-undefined/expected.js b/packages/babel/test/fixtures/transformation/es7.class-properties/instance-undefined/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/instance-undefined/expected.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/instance-undefined/expected.js diff --git a/test/core/fixtures/transformation/es7.class-properties/instance/actual.js b/packages/babel/test/fixtures/transformation/es7.class-properties/instance/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/instance/actual.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/instance/actual.js diff --git a/test/core/fixtures/transformation/es7.class-properties/instance/expected.js b/packages/babel/test/fixtures/transformation/es7.class-properties/instance/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/instance/expected.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/instance/expected.js diff --git a/test/core/fixtures/transformation/es7.class-properties/method-collision/actual.js b/packages/babel/test/fixtures/transformation/es7.class-properties/method-collision/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/method-collision/actual.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/method-collision/actual.js diff --git a/test/core/fixtures/transformation/es7.class-properties/method-collision/options.json b/packages/babel/test/fixtures/transformation/es7.class-properties/method-collision/options.json similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/method-collision/options.json rename to packages/babel/test/fixtures/transformation/es7.class-properties/method-collision/options.json diff --git a/test/core/fixtures/transformation/es7.class-properties/options.json b/packages/babel/test/fixtures/transformation/es7.class-properties/options.json similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/options.json rename to packages/babel/test/fixtures/transformation/es7.class-properties/options.json diff --git a/test/core/fixtures/transformation/es7.class-properties/static-undefined/actual.js b/packages/babel/test/fixtures/transformation/es7.class-properties/static-undefined/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/static-undefined/actual.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/static-undefined/actual.js diff --git a/test/core/fixtures/transformation/es7.class-properties/static-undefined/exec.js b/packages/babel/test/fixtures/transformation/es7.class-properties/static-undefined/exec.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/static-undefined/exec.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/static-undefined/exec.js diff --git a/test/core/fixtures/transformation/es7.class-properties/static-undefined/expected.js b/packages/babel/test/fixtures/transformation/es7.class-properties/static-undefined/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/static-undefined/expected.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/static-undefined/expected.js diff --git a/test/core/fixtures/transformation/es7.class-properties/static/actual.js b/packages/babel/test/fixtures/transformation/es7.class-properties/static/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/static/actual.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/static/actual.js diff --git a/test/core/fixtures/transformation/es7.class-properties/static/exec.js b/packages/babel/test/fixtures/transformation/es7.class-properties/static/exec.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/static/exec.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/static/exec.js diff --git a/test/core/fixtures/transformation/es7.class-properties/static/expected.js b/packages/babel/test/fixtures/transformation/es7.class-properties/static/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/static/expected.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/static/expected.js diff --git a/test/core/fixtures/transformation/es7.class-properties/super-expression/actual.js b/packages/babel/test/fixtures/transformation/es7.class-properties/super-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/super-expression/actual.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/super-expression/actual.js diff --git a/test/core/fixtures/transformation/es7.class-properties/super-expression/expected.js b/packages/babel/test/fixtures/transformation/es7.class-properties/super-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/super-expression/expected.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/super-expression/expected.js diff --git a/test/core/fixtures/transformation/es7.class-properties/super-statement/actual.js b/packages/babel/test/fixtures/transformation/es7.class-properties/super-statement/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/super-statement/actual.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/super-statement/actual.js diff --git a/test/core/fixtures/transformation/es7.class-properties/super-statement/expected.js b/packages/babel/test/fixtures/transformation/es7.class-properties/super-statement/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.class-properties/super-statement/expected.js rename to packages/babel/test/fixtures/transformation/es7.class-properties/super-statement/expected.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/arguments/actual.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/arguments/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/arguments/actual.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/arguments/actual.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/arguments/expected.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/arguments/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/arguments/expected.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/arguments/expected.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/array-expression-single-if/actual.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/array-expression-single-if/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/array-expression-single-if/actual.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/array-expression-single-if/actual.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/array-expression-single-if/expected.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/array-expression-single-if/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/array-expression-single-if/expected.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/array-expression-single-if/expected.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/array-expression-single/actual.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/array-expression-single/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/array-expression-single/actual.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/array-expression-single/actual.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/array-expression-single/expected.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/array-expression-single/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/array-expression-single/expected.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/array-expression-single/expected.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/array-multiple-if/actual.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/array-multiple-if/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/array-multiple-if/actual.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/array-multiple-if/actual.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/array-multiple-if/expected.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/array-multiple-if/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/array-multiple-if/expected.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/array-multiple-if/expected.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/array-multiple/actual.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/array-multiple/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/array-multiple/actual.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/array-multiple/actual.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/array-multiple/expected.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/array-multiple/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/array-multiple/expected.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/array-multiple/expected.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/array-single-if/actual.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/array-single-if/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/array-single-if/actual.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/array-single-if/actual.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/array-single-if/expected.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/array-single-if/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/array-single-if/expected.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/array-single-if/expected.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/array-single/actual.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/array-single/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/array-single/actual.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/array-single/actual.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/array-single/expected.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/array-single/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/array-single/expected.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/array-single/expected.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/array-this/actual.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/array-this/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/array-this/actual.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/array-this/actual.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/array-this/expected.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/array-this/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/array-this/expected.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/array-this/expected.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/generator/exec.js b/packages/babel/test/fixtures/transformation/es7.comprehensions/generator/exec.js similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/generator/exec.js rename to packages/babel/test/fixtures/transformation/es7.comprehensions/generator/exec.js diff --git a/test/core/fixtures/transformation/es7.comprehensions/options.json b/packages/babel/test/fixtures/transformation/es7.comprehensions/options.json similarity index 100% rename from test/core/fixtures/transformation/es7.comprehensions/options.json rename to packages/babel/test/fixtures/transformation/es7.comprehensions/options.json diff --git a/test/core/fixtures/transformation/es7.decorators/class-getter-and-setter/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-getter-and-setter/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-getter-and-setter/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-getter-and-setter/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-getter-and-setter/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-getter-and-setter/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-getter-and-setter/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-getter-and-setter/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-getter/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-getter/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-getter/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-getter/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-getter/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-getter/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-getter/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-getter/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-init-instance-props/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-init-instance-props/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-init-instance-props/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-init-instance-props/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-init-instance-props/exec.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-init-instance-props/exec.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-init-instance-props/exec.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-init-instance-props/exec.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-init-instance-props/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-init-instance-props/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-init-instance-props/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-init-instance-props/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-init-static-props/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-init-static-props/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-init-static-props/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-init-static-props/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-init-static-props/exec.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-init-static-props/exec.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-init-static-props/exec.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-init-static-props/exec.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-init-static-props/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-init-static-props/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-init-static-props/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-init-static-props/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-method/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-method/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-method/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-method/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-method/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-method/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-method/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-method/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-modules/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-modules/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-modules/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-modules/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-modules/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-modules/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-modules/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-modules/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-no-init-instance-props/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-no-init-instance-props/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-no-init-instance-props/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-no-init-instance-props/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-no-init-instance-props/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-no-init-instance-props/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-no-init-instance-props/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-no-init-instance-props/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-no-init-static-props/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-no-init-static-props/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-no-init-static-props/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-no-init-static-props/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-no-init-static-props/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-no-init-static-props/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-no-init-static-props/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-no-init-static-props/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-setter/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-setter/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-setter/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-setter/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-setter/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-setter/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-setter/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-setter/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-super/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-super/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-super/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-super/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/class-super/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/class-super/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class-super/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class-super/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/class/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/class/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/class/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/class/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/class/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/class/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/exec-class-method-autobind/exec-object-method-autobind.js b/packages/babel/test/fixtures/transformation/es7.decorators/exec-class-method-autobind/exec-object-method-autobind.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/exec-class-method-autobind/exec-object-method-autobind.js rename to packages/babel/test/fixtures/transformation/es7.decorators/exec-class-method-autobind/exec-object-method-autobind.js diff --git a/test/core/fixtures/transformation/es7.decorators/exec-class-method-autobind/exec.js b/packages/babel/test/fixtures/transformation/es7.decorators/exec-class-method-autobind/exec.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/exec-class-method-autobind/exec.js rename to packages/babel/test/fixtures/transformation/es7.decorators/exec-class-method-autobind/exec.js diff --git a/test/core/fixtures/transformation/es7.decorators/member-expressions/exec.js b/packages/babel/test/fixtures/transformation/es7.decorators/member-expressions/exec.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/member-expressions/exec.js rename to packages/babel/test/fixtures/transformation/es7.decorators/member-expressions/exec.js diff --git a/test/core/fixtures/transformation/es7.decorators/object-getter-and-setter/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/object-getter-and-setter/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/object-getter-and-setter/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/object-getter-and-setter/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/object-getter-and-setter/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/object-getter-and-setter/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/object-getter-and-setter/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/object-getter-and-setter/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/object-getter/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/object-getter/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/object-getter/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/object-getter/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/object-getter/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/object-getter/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/object-getter/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/object-getter/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/object-setter/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/object-setter/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/object-setter/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/object-setter/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/object-setter/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/object-setter/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/object-setter/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/object-setter/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/object/actual.js b/packages/babel/test/fixtures/transformation/es7.decorators/object/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/object/actual.js rename to packages/babel/test/fixtures/transformation/es7.decorators/object/actual.js diff --git a/test/core/fixtures/transformation/es7.decorators/object/exec.js b/packages/babel/test/fixtures/transformation/es7.decorators/object/exec.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/object/exec.js rename to packages/babel/test/fixtures/transformation/es7.decorators/object/exec.js diff --git a/test/core/fixtures/transformation/es7.decorators/object/expected.js b/packages/babel/test/fixtures/transformation/es7.decorators/object/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/object/expected.js rename to packages/babel/test/fixtures/transformation/es7.decorators/object/expected.js diff --git a/test/core/fixtures/transformation/es7.decorators/options.json b/packages/babel/test/fixtures/transformation/es7.decorators/options.json similarity index 100% rename from test/core/fixtures/transformation/es7.decorators/options.json rename to packages/babel/test/fixtures/transformation/es7.decorators/options.json diff --git a/test/core/fixtures/transformation/es7.do-expressions/do-while.js b/packages/babel/test/fixtures/transformation/es7.do-expressions/do-while.js similarity index 100% rename from test/core/fixtures/transformation/es7.do-expressions/do-while.js rename to packages/babel/test/fixtures/transformation/es7.do-expressions/do-while.js diff --git a/test/core/fixtures/transformation/es7.do-expressions/empty.js b/packages/babel/test/fixtures/transformation/es7.do-expressions/empty.js similarity index 100% rename from test/core/fixtures/transformation/es7.do-expressions/empty.js rename to packages/babel/test/fixtures/transformation/es7.do-expressions/empty.js diff --git a/test/core/fixtures/transformation/es7.do-expressions/for-in.js b/packages/babel/test/fixtures/transformation/es7.do-expressions/for-in.js similarity index 100% rename from test/core/fixtures/transformation/es7.do-expressions/for-in.js rename to packages/babel/test/fixtures/transformation/es7.do-expressions/for-in.js diff --git a/test/core/fixtures/transformation/es7.do-expressions/for.js b/packages/babel/test/fixtures/transformation/es7.do-expressions/for.js similarity index 100% rename from test/core/fixtures/transformation/es7.do-expressions/for.js rename to packages/babel/test/fixtures/transformation/es7.do-expressions/for.js diff --git a/test/core/fixtures/transformation/es7.do-expressions/if-else-if.js b/packages/babel/test/fixtures/transformation/es7.do-expressions/if-else-if.js similarity index 100% rename from test/core/fixtures/transformation/es7.do-expressions/if-else-if.js rename to packages/babel/test/fixtures/transformation/es7.do-expressions/if-else-if.js diff --git a/test/core/fixtures/transformation/es7.do-expressions/if-else.js b/packages/babel/test/fixtures/transformation/es7.do-expressions/if-else.js similarity index 100% rename from test/core/fixtures/transformation/es7.do-expressions/if-else.js rename to packages/babel/test/fixtures/transformation/es7.do-expressions/if-else.js diff --git a/test/core/fixtures/transformation/es7.do-expressions/if.js b/packages/babel/test/fixtures/transformation/es7.do-expressions/if.js similarity index 100% rename from test/core/fixtures/transformation/es7.do-expressions/if.js rename to packages/babel/test/fixtures/transformation/es7.do-expressions/if.js diff --git a/test/core/fixtures/transformation/es7.do-expressions/options.json b/packages/babel/test/fixtures/transformation/es7.do-expressions/options.json similarity index 100% rename from test/core/fixtures/transformation/es7.do-expressions/options.json rename to packages/babel/test/fixtures/transformation/es7.do-expressions/options.json diff --git a/test/core/fixtures/transformation/es7.do-expressions/single-expression.js b/packages/babel/test/fixtures/transformation/es7.do-expressions/single-expression.js similarity index 100% rename from test/core/fixtures/transformation/es7.do-expressions/single-expression.js rename to packages/babel/test/fixtures/transformation/es7.do-expressions/single-expression.js diff --git a/test/core/fixtures/transformation/es7.do-expressions/variable-declaration-end.js b/packages/babel/test/fixtures/transformation/es7.do-expressions/variable-declaration-end.js similarity index 100% rename from test/core/fixtures/transformation/es7.do-expressions/variable-declaration-end.js rename to packages/babel/test/fixtures/transformation/es7.do-expressions/variable-declaration-end.js diff --git a/test/core/fixtures/transformation/es7.do-expressions/variable-declaration-start.js b/packages/babel/test/fixtures/transformation/es7.do-expressions/variable-declaration-start.js similarity index 100% rename from test/core/fixtures/transformation/es7.do-expressions/variable-declaration-start.js rename to packages/babel/test/fixtures/transformation/es7.do-expressions/variable-declaration-start.js diff --git a/test/core/fixtures/transformation/es7.do-expressions/while.js b/packages/babel/test/fixtures/transformation/es7.do-expressions/while.js similarity index 100% rename from test/core/fixtures/transformation/es7.do-expressions/while.js rename to packages/babel/test/fixtures/transformation/es7.do-expressions/while.js diff --git a/test/core/fixtures/transformation/es7.exponentian-operator/assignment/actual.js b/packages/babel/test/fixtures/transformation/es7.exponentian-operator/assignment/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.exponentian-operator/assignment/actual.js rename to packages/babel/test/fixtures/transformation/es7.exponentian-operator/assignment/actual.js diff --git a/test/core/fixtures/transformation/es7.exponentian-operator/assignment/expected.js b/packages/babel/test/fixtures/transformation/es7.exponentian-operator/assignment/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.exponentian-operator/assignment/expected.js rename to packages/babel/test/fixtures/transformation/es7.exponentian-operator/assignment/expected.js diff --git a/test/core/fixtures/transformation/es7.exponentian-operator/binary/actual.js b/packages/babel/test/fixtures/transformation/es7.exponentian-operator/binary/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.exponentian-operator/binary/actual.js rename to packages/babel/test/fixtures/transformation/es7.exponentian-operator/binary/actual.js diff --git a/test/core/fixtures/transformation/es7.exponentian-operator/binary/expected.js b/packages/babel/test/fixtures/transformation/es7.exponentian-operator/binary/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.exponentian-operator/binary/expected.js rename to packages/babel/test/fixtures/transformation/es7.exponentian-operator/binary/expected.js diff --git a/test/core/fixtures/transformation/es7.exponentian-operator/comprehensive/exec.js b/packages/babel/test/fixtures/transformation/es7.exponentian-operator/comprehensive/exec.js similarity index 100% rename from test/core/fixtures/transformation/es7.exponentian-operator/comprehensive/exec.js rename to packages/babel/test/fixtures/transformation/es7.exponentian-operator/comprehensive/exec.js diff --git a/test/core/fixtures/transformation/es7.export-extensions/default-commonjs/actual.js b/packages/babel/test/fixtures/transformation/es7.export-extensions/default-commonjs/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/default-commonjs/actual.js rename to packages/babel/test/fixtures/transformation/es7.export-extensions/default-commonjs/actual.js diff --git a/test/core/fixtures/transformation/es7.export-extensions/default-commonjs/expected.js b/packages/babel/test/fixtures/transformation/es7.export-extensions/default-commonjs/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/default-commonjs/expected.js rename to packages/babel/test/fixtures/transformation/es7.export-extensions/default-commonjs/expected.js diff --git a/test/core/fixtures/transformation/es7.export-extensions/default-compound-es6/actual.js b/packages/babel/test/fixtures/transformation/es7.export-extensions/default-compound-es6/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/default-compound-es6/actual.js rename to packages/babel/test/fixtures/transformation/es7.export-extensions/default-compound-es6/actual.js diff --git a/test/core/fixtures/transformation/es7.export-extensions/default-compound-es6/expected.js b/packages/babel/test/fixtures/transformation/es7.export-extensions/default-compound-es6/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/default-compound-es6/expected.js rename to packages/babel/test/fixtures/transformation/es7.export-extensions/default-compound-es6/expected.js diff --git a/test/core/fixtures/transformation/es7.export-extensions/default-compound-es6/options.json b/packages/babel/test/fixtures/transformation/es7.export-extensions/default-compound-es6/options.json similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/default-compound-es6/options.json rename to packages/babel/test/fixtures/transformation/es7.export-extensions/default-compound-es6/options.json diff --git a/test/core/fixtures/transformation/es7.export-extensions/default-es6/actual.js b/packages/babel/test/fixtures/transformation/es7.export-extensions/default-es6/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/default-es6/actual.js rename to packages/babel/test/fixtures/transformation/es7.export-extensions/default-es6/actual.js diff --git a/test/core/fixtures/transformation/es7.export-extensions/default-es6/expected.js b/packages/babel/test/fixtures/transformation/es7.export-extensions/default-es6/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/default-es6/expected.js rename to packages/babel/test/fixtures/transformation/es7.export-extensions/default-es6/expected.js diff --git a/test/core/fixtures/transformation/es7.export-extensions/default-es6/options.json b/packages/babel/test/fixtures/transformation/es7.export-extensions/default-es6/options.json similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/default-es6/options.json rename to packages/babel/test/fixtures/transformation/es7.export-extensions/default-es6/options.json diff --git a/test/core/fixtures/transformation/es7.export-extensions/namespace-commonjs/actual.js b/packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-commonjs/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/namespace-commonjs/actual.js rename to packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-commonjs/actual.js diff --git a/test/core/fixtures/transformation/es7.export-extensions/namespace-commonjs/expected.js b/packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-commonjs/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/namespace-commonjs/expected.js rename to packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-commonjs/expected.js diff --git a/test/core/fixtures/transformation/es7.export-extensions/namespace-compound-es6/actual.js b/packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-compound-es6/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/namespace-compound-es6/actual.js rename to packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-compound-es6/actual.js diff --git a/test/core/fixtures/transformation/es7.export-extensions/namespace-compound-es6/expected.js b/packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-compound-es6/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/namespace-compound-es6/expected.js rename to packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-compound-es6/expected.js diff --git a/test/core/fixtures/transformation/es7.export-extensions/namespace-compound-es6/options.json b/packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-compound-es6/options.json similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/namespace-compound-es6/options.json rename to packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-compound-es6/options.json diff --git a/test/core/fixtures/transformation/es7.export-extensions/namespace-es6/actual.js b/packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-es6/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/namespace-es6/actual.js rename to packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-es6/actual.js diff --git a/test/core/fixtures/transformation/es7.export-extensions/namespace-es6/expected.js b/packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-es6/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/namespace-es6/expected.js rename to packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-es6/expected.js diff --git a/test/core/fixtures/transformation/es7.export-extensions/namespace-es6/options.json b/packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-es6/options.json similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/namespace-es6/options.json rename to packages/babel/test/fixtures/transformation/es7.export-extensions/namespace-es6/options.json diff --git a/test/core/fixtures/transformation/es7.export-extensions/options.json b/packages/babel/test/fixtures/transformation/es7.export-extensions/options.json similarity index 100% rename from test/core/fixtures/transformation/es7.export-extensions/options.json rename to packages/babel/test/fixtures/transformation/es7.export-extensions/options.json diff --git a/test/core/fixtures/transformation/es7.function-bind/bind/actual.js b/packages/babel/test/fixtures/transformation/es7.function-bind/bind/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.function-bind/bind/actual.js rename to packages/babel/test/fixtures/transformation/es7.function-bind/bind/actual.js diff --git a/test/core/fixtures/transformation/es7.function-bind/bind/expected.js b/packages/babel/test/fixtures/transformation/es7.function-bind/bind/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.function-bind/bind/expected.js rename to packages/babel/test/fixtures/transformation/es7.function-bind/bind/expected.js diff --git a/test/core/fixtures/transformation/es7.function-bind/call/actual.js b/packages/babel/test/fixtures/transformation/es7.function-bind/call/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.function-bind/call/actual.js rename to packages/babel/test/fixtures/transformation/es7.function-bind/call/actual.js diff --git a/test/core/fixtures/transformation/es7.function-bind/call/expected.js b/packages/babel/test/fixtures/transformation/es7.function-bind/call/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.function-bind/call/expected.js rename to packages/babel/test/fixtures/transformation/es7.function-bind/call/expected.js diff --git a/test/core/fixtures/transformation/es7.function-bind/complex-call/actual.js b/packages/babel/test/fixtures/transformation/es7.function-bind/complex-call/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.function-bind/complex-call/actual.js rename to packages/babel/test/fixtures/transformation/es7.function-bind/complex-call/actual.js diff --git a/test/core/fixtures/transformation/es7.function-bind/complex-call/exec.js b/packages/babel/test/fixtures/transformation/es7.function-bind/complex-call/exec.js similarity index 100% rename from test/core/fixtures/transformation/es7.function-bind/complex-call/exec.js rename to packages/babel/test/fixtures/transformation/es7.function-bind/complex-call/exec.js diff --git a/test/core/fixtures/transformation/es7.function-bind/complex-call/expected.js b/packages/babel/test/fixtures/transformation/es7.function-bind/complex-call/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.function-bind/complex-call/expected.js rename to packages/babel/test/fixtures/transformation/es7.function-bind/complex-call/expected.js diff --git a/test/core/fixtures/transformation/es7.function-bind/options.json b/packages/babel/test/fixtures/transformation/es7.function-bind/options.json similarity index 100% rename from test/core/fixtures/transformation/es7.function-bind/options.json rename to packages/babel/test/fixtures/transformation/es7.function-bind/options.json diff --git a/test/core/fixtures/transformation/es7.function-bind/static-contexts/actual.js b/packages/babel/test/fixtures/transformation/es7.function-bind/static-contexts/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.function-bind/static-contexts/actual.js rename to packages/babel/test/fixtures/transformation/es7.function-bind/static-contexts/actual.js diff --git a/test/core/fixtures/transformation/es7.function-bind/static-contexts/expected.js b/packages/babel/test/fixtures/transformation/es7.function-bind/static-contexts/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.function-bind/static-contexts/expected.js rename to packages/babel/test/fixtures/transformation/es7.function-bind/static-contexts/expected.js diff --git a/test/core/fixtures/transformation/es7.object-spread/assignment/actual.js b/packages/babel/test/fixtures/transformation/es7.object-spread/assignment/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.object-spread/assignment/actual.js rename to packages/babel/test/fixtures/transformation/es7.object-spread/assignment/actual.js diff --git a/test/core/fixtures/transformation/es7.object-spread/assignment/expected.js b/packages/babel/test/fixtures/transformation/es7.object-spread/assignment/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.object-spread/assignment/expected.js rename to packages/babel/test/fixtures/transformation/es7.object-spread/assignment/expected.js diff --git a/test/core/fixtures/transformation/es7.object-spread/expression/actual.js b/packages/babel/test/fixtures/transformation/es7.object-spread/expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.object-spread/expression/actual.js rename to packages/babel/test/fixtures/transformation/es7.object-spread/expression/actual.js diff --git a/test/core/fixtures/transformation/es7.object-spread/expression/expected.js b/packages/babel/test/fixtures/transformation/es7.object-spread/expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.object-spread/expression/expected.js rename to packages/babel/test/fixtures/transformation/es7.object-spread/expression/expected.js diff --git a/test/core/fixtures/transformation/es7.object-spread/options.json b/packages/babel/test/fixtures/transformation/es7.object-spread/options.json similarity index 100% rename from test/core/fixtures/transformation/es7.object-spread/options.json rename to packages/babel/test/fixtures/transformation/es7.object-spread/options.json diff --git a/test/core/fixtures/transformation/es7.object-spread/variable-declaration/actual.js b/packages/babel/test/fixtures/transformation/es7.object-spread/variable-declaration/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.object-spread/variable-declaration/actual.js rename to packages/babel/test/fixtures/transformation/es7.object-spread/variable-declaration/actual.js diff --git a/test/core/fixtures/transformation/es7.object-spread/variable-declaration/expected.js b/packages/babel/test/fixtures/transformation/es7.object-spread/variable-declaration/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.object-spread/variable-declaration/expected.js rename to packages/babel/test/fixtures/transformation/es7.object-spread/variable-declaration/expected.js diff --git a/test/core/fixtures/transformation/es7.trailing-function-commas/arrow-function/actual.js b/packages/babel/test/fixtures/transformation/es7.trailing-function-commas/arrow-function/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.trailing-function-commas/arrow-function/actual.js rename to packages/babel/test/fixtures/transformation/es7.trailing-function-commas/arrow-function/actual.js diff --git a/test/core/fixtures/transformation/es7.trailing-function-commas/arrow-function/expected.js b/packages/babel/test/fixtures/transformation/es7.trailing-function-commas/arrow-function/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.trailing-function-commas/arrow-function/expected.js rename to packages/babel/test/fixtures/transformation/es7.trailing-function-commas/arrow-function/expected.js diff --git a/test/core/fixtures/transformation/es7.trailing-function-commas/call/actual.js b/packages/babel/test/fixtures/transformation/es7.trailing-function-commas/call/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.trailing-function-commas/call/actual.js rename to packages/babel/test/fixtures/transformation/es7.trailing-function-commas/call/actual.js diff --git a/test/core/fixtures/transformation/es7.trailing-function-commas/call/expected.js b/packages/babel/test/fixtures/transformation/es7.trailing-function-commas/call/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.trailing-function-commas/call/expected.js rename to packages/babel/test/fixtures/transformation/es7.trailing-function-commas/call/expected.js diff --git a/test/core/fixtures/transformation/es7.trailing-function-commas/declaration/actual.js b/packages/babel/test/fixtures/transformation/es7.trailing-function-commas/declaration/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.trailing-function-commas/declaration/actual.js rename to packages/babel/test/fixtures/transformation/es7.trailing-function-commas/declaration/actual.js diff --git a/test/core/fixtures/transformation/es7.trailing-function-commas/declaration/expected.js b/packages/babel/test/fixtures/transformation/es7.trailing-function-commas/declaration/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.trailing-function-commas/declaration/expected.js rename to packages/babel/test/fixtures/transformation/es7.trailing-function-commas/declaration/expected.js diff --git a/test/core/fixtures/transformation/es7.trailing-function-commas/new-expression/actual.js b/packages/babel/test/fixtures/transformation/es7.trailing-function-commas/new-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/es7.trailing-function-commas/new-expression/actual.js rename to packages/babel/test/fixtures/transformation/es7.trailing-function-commas/new-expression/actual.js diff --git a/test/core/fixtures/transformation/es7.trailing-function-commas/new-expression/expected.js b/packages/babel/test/fixtures/transformation/es7.trailing-function-commas/new-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/es7.trailing-function-commas/new-expression/expected.js rename to packages/babel/test/fixtures/transformation/es7.trailing-function-commas/new-expression/expected.js diff --git a/test/core/fixtures/transformation/es7.trailing-function-commas/options.json b/packages/babel/test/fixtures/transformation/es7.trailing-function-commas/options.json similarity index 100% rename from test/core/fixtures/transformation/es7.trailing-function-commas/options.json rename to packages/babel/test/fixtures/transformation/es7.trailing-function-commas/options.json diff --git a/test/core/fixtures/transformation/flow/options.json b/packages/babel/test/fixtures/transformation/flow/options.json similarity index 100% rename from test/core/fixtures/transformation/flow/options.json rename to packages/babel/test/fixtures/transformation/flow/options.json diff --git a/test/core/fixtures/transformation/flow/strip-array-types/actual.js b/packages/babel/test/fixtures/transformation/flow/strip-array-types/actual.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-array-types/actual.js rename to packages/babel/test/fixtures/transformation/flow/strip-array-types/actual.js diff --git a/test/core/fixtures/transformation/flow/strip-array-types/expected.js b/packages/babel/test/fixtures/transformation/flow/strip-array-types/expected.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-array-types/expected.js rename to packages/babel/test/fixtures/transformation/flow/strip-array-types/expected.js diff --git a/test/core/fixtures/transformation/flow/strip-call-properties/actual.js b/packages/babel/test/fixtures/transformation/flow/strip-call-properties/actual.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-call-properties/actual.js rename to packages/babel/test/fixtures/transformation/flow/strip-call-properties/actual.js diff --git a/test/core/fixtures/transformation/flow/strip-call-properties/expected.js b/packages/babel/test/fixtures/transformation/flow/strip-call-properties/expected.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-call-properties/expected.js rename to packages/babel/test/fixtures/transformation/flow/strip-call-properties/expected.js diff --git a/test/core/fixtures/transformation/flow/strip-declare-module/actual.js b/packages/babel/test/fixtures/transformation/flow/strip-declare-module/actual.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-declare-module/actual.js rename to packages/babel/test/fixtures/transformation/flow/strip-declare-module/actual.js diff --git a/test/core/fixtures/transformation/flow/strip-declare-statements/actual.js b/packages/babel/test/fixtures/transformation/flow/strip-declare-statements/actual.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-declare-statements/actual.js rename to packages/babel/test/fixtures/transformation/flow/strip-declare-statements/actual.js diff --git a/test/core/fixtures/transformation/flow/strip-directive/actual.js b/packages/babel/test/fixtures/transformation/flow/strip-directive/actual.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-directive/actual.js rename to packages/babel/test/fixtures/transformation/flow/strip-directive/actual.js diff --git a/test/core/fixtures/transformation/flow/strip-directive/expected.js b/packages/babel/test/fixtures/transformation/flow/strip-directive/expected.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-directive/expected.js rename to packages/babel/test/fixtures/transformation/flow/strip-directive/expected.js diff --git a/test/core/fixtures/transformation/flow/strip-interfaces-module-and-script/actual.js b/packages/babel/test/fixtures/transformation/flow/strip-interfaces-module-and-script/actual.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-interfaces-module-and-script/actual.js rename to packages/babel/test/fixtures/transformation/flow/strip-interfaces-module-and-script/actual.js diff --git a/test/core/fixtures/transformation/flow/strip-interfaces-module-and-script/expected.js b/packages/babel/test/fixtures/transformation/flow/strip-interfaces-module-and-script/expected.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-interfaces-module-and-script/expected.js rename to packages/babel/test/fixtures/transformation/flow/strip-interfaces-module-and-script/expected.js diff --git a/test/core/fixtures/transformation/flow/strip-qualified-generic-type/actual.js b/packages/babel/test/fixtures/transformation/flow/strip-qualified-generic-type/actual.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-qualified-generic-type/actual.js rename to packages/babel/test/fixtures/transformation/flow/strip-qualified-generic-type/actual.js diff --git a/test/core/fixtures/transformation/flow/strip-qualified-generic-type/expected.js b/packages/babel/test/fixtures/transformation/flow/strip-qualified-generic-type/expected.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-qualified-generic-type/expected.js rename to packages/babel/test/fixtures/transformation/flow/strip-qualified-generic-type/expected.js diff --git a/test/core/fixtures/transformation/flow/strip-string-literal-types/actual.js b/packages/babel/test/fixtures/transformation/flow/strip-string-literal-types/actual.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-string-literal-types/actual.js rename to packages/babel/test/fixtures/transformation/flow/strip-string-literal-types/actual.js diff --git a/test/core/fixtures/transformation/flow/strip-string-literal-types/expected.js b/packages/babel/test/fixtures/transformation/flow/strip-string-literal-types/expected.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-string-literal-types/expected.js rename to packages/babel/test/fixtures/transformation/flow/strip-string-literal-types/expected.js diff --git a/test/core/fixtures/transformation/flow/strip-tuples/actual.js b/packages/babel/test/fixtures/transformation/flow/strip-tuples/actual.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-tuples/actual.js rename to packages/babel/test/fixtures/transformation/flow/strip-tuples/actual.js diff --git a/test/core/fixtures/transformation/flow/strip-tuples/expected.js b/packages/babel/test/fixtures/transformation/flow/strip-tuples/expected.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-tuples/expected.js rename to packages/babel/test/fixtures/transformation/flow/strip-tuples/expected.js diff --git a/test/core/fixtures/transformation/flow/strip-type-alias/actual.js b/packages/babel/test/fixtures/transformation/flow/strip-type-alias/actual.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-type-alias/actual.js rename to packages/babel/test/fixtures/transformation/flow/strip-type-alias/actual.js diff --git a/test/core/fixtures/transformation/flow/strip-type-annotations/actual.js b/packages/babel/test/fixtures/transformation/flow/strip-type-annotations/actual.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-type-annotations/actual.js rename to packages/babel/test/fixtures/transformation/flow/strip-type-annotations/actual.js diff --git a/test/core/fixtures/transformation/flow/strip-type-annotations/expected.js b/packages/babel/test/fixtures/transformation/flow/strip-type-annotations/expected.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-type-annotations/expected.js rename to packages/babel/test/fixtures/transformation/flow/strip-type-annotations/expected.js diff --git a/test/core/fixtures/transformation/flow/strip-typecasts/actual.js b/packages/babel/test/fixtures/transformation/flow/strip-typecasts/actual.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-typecasts/actual.js rename to packages/babel/test/fixtures/transformation/flow/strip-typecasts/actual.js diff --git a/test/core/fixtures/transformation/flow/strip-typecasts/expected.js b/packages/babel/test/fixtures/transformation/flow/strip-typecasts/expected.js similarity index 100% rename from test/core/fixtures/transformation/flow/strip-typecasts/expected.js rename to packages/babel/test/fixtures/transformation/flow/strip-typecasts/expected.js diff --git a/test/core/fixtures/transformation/flow/type-comments/actual.js b/packages/babel/test/fixtures/transformation/flow/type-comments/actual.js similarity index 100% rename from test/core/fixtures/transformation/flow/type-comments/actual.js rename to packages/babel/test/fixtures/transformation/flow/type-comments/actual.js diff --git a/test/core/fixtures/transformation/flow/type-comments/expected.js b/packages/babel/test/fixtures/transformation/flow/type-comments/expected.js similarity index 100% rename from test/core/fixtures/transformation/flow/type-comments/expected.js rename to packages/babel/test/fixtures/transformation/flow/type-comments/expected.js diff --git a/test/core/fixtures/transformation/jscript/arrow-function/exec.js b/packages/babel/test/fixtures/transformation/jscript/arrow-function/exec.js similarity index 100% rename from test/core/fixtures/transformation/jscript/arrow-function/exec.js rename to packages/babel/test/fixtures/transformation/jscript/arrow-function/exec.js diff --git a/test/core/fixtures/transformation/jscript/options.json b/packages/babel/test/fixtures/transformation/jscript/options.json similarity index 100% rename from test/core/fixtures/transformation/jscript/options.json rename to packages/babel/test/fixtures/transformation/jscript/options.json diff --git a/test/core/fixtures/transformation/jscript/simple-class/actual.js b/packages/babel/test/fixtures/transformation/jscript/simple-class/actual.js similarity index 100% rename from test/core/fixtures/transformation/jscript/simple-class/actual.js rename to packages/babel/test/fixtures/transformation/jscript/simple-class/actual.js diff --git a/test/core/fixtures/transformation/jscript/simple-class/expected.js b/packages/babel/test/fixtures/transformation/jscript/simple-class/expected.js similarity index 100% rename from test/core/fixtures/transformation/jscript/simple-class/expected.js rename to packages/babel/test/fixtures/transformation/jscript/simple-class/expected.js diff --git a/test/core/fixtures/transformation/jscript/simple-class/options.json b/packages/babel/test/fixtures/transformation/jscript/simple-class/options.json similarity index 100% rename from test/core/fixtures/transformation/jscript/simple-class/options.json rename to packages/babel/test/fixtures/transformation/jscript/simple-class/options.json diff --git a/test/core/fixtures/transformation/jscript/var-named-function-expression/actual.js b/packages/babel/test/fixtures/transformation/jscript/var-named-function-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/jscript/var-named-function-expression/actual.js rename to packages/babel/test/fixtures/transformation/jscript/var-named-function-expression/actual.js diff --git a/test/core/fixtures/transformation/jscript/var-named-function-expression/expected.js b/packages/babel/test/fixtures/transformation/jscript/var-named-function-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/jscript/var-named-function-expression/expected.js rename to packages/babel/test/fixtures/transformation/jscript/var-named-function-expression/expected.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/completion-statements/actual.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/completion-statements/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/completion-statements/actual.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/completion-statements/actual.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/completion-statements/expected.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/completion-statements/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/completion-statements/expected.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/completion-statements/expected.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1408/actual.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1408/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1408/actual.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1408/actual.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1408/exec.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1408/exec.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1408/exec.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1408/exec.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1408/expected.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1408/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1408/expected.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1408/expected.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1408/imported.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1408/imported.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1408/imported.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1408/imported.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1409/actual.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1409/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1409/actual.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1409/actual.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1409/exec.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1409/exec.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1409/exec.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1409/exec.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1409/expected.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1409/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1409/expected.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1409/expected.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1520/actual.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1520/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1520/actual.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1520/actual.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1520/expected.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1520/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1520/expected.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1520/expected.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1522/actual.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1522/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1522/actual.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1522/actual.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1522/exec.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1522/exec.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1522/exec.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1522/exec.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1522/expected.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1522/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1522/expected.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1522/expected.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1522/y.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1522/y.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1522/y.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1522/y.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1523/actual.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1523/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1523/actual.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1523/actual.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1523/expected.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1523/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1523/expected.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1523/expected.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1524/actual.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1524/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1524/actual.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1524/actual.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1524/expected.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1524/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1524/expected.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1524/expected.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1546/actual.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1546/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1546/actual.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1546/actual.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/issue-1546/expected.js b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1546/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/issue-1546/expected.js rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/issue-1546/expected.js diff --git a/test/core/fixtures/transformation/minification.dead-code-elimination/options.json b/packages/babel/test/fixtures/transformation/minification.dead-code-elimination/options.json similarity index 100% rename from test/core/fixtures/transformation/minification.dead-code-elimination/options.json rename to packages/babel/test/fixtures/transformation/minification.dead-code-elimination/options.json diff --git a/test/core/fixtures/transformation/minification.member-expression-literals/invalid-identifiers/actual.js b/packages/babel/test/fixtures/transformation/minification.member-expression-literals/invalid-identifiers/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.member-expression-literals/invalid-identifiers/actual.js rename to packages/babel/test/fixtures/transformation/minification.member-expression-literals/invalid-identifiers/actual.js diff --git a/test/core/fixtures/transformation/minification.member-expression-literals/invalid-identifiers/expected.js b/packages/babel/test/fixtures/transformation/minification.member-expression-literals/invalid-identifiers/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.member-expression-literals/invalid-identifiers/expected.js rename to packages/babel/test/fixtures/transformation/minification.member-expression-literals/invalid-identifiers/expected.js diff --git a/test/core/fixtures/transformation/minification.member-expression-literals/options.json b/packages/babel/test/fixtures/transformation/minification.member-expression-literals/options.json similarity index 100% rename from test/core/fixtures/transformation/minification.member-expression-literals/options.json rename to packages/babel/test/fixtures/transformation/minification.member-expression-literals/options.json diff --git a/test/core/fixtures/transformation/minification.member-expression-literals/valid-identifiers/actual.js b/packages/babel/test/fixtures/transformation/minification.member-expression-literals/valid-identifiers/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.member-expression-literals/valid-identifiers/actual.js rename to packages/babel/test/fixtures/transformation/minification.member-expression-literals/valid-identifiers/actual.js diff --git a/test/core/fixtures/transformation/minification.member-expression-literals/valid-identifiers/expected.js b/packages/babel/test/fixtures/transformation/minification.member-expression-literals/valid-identifiers/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.member-expression-literals/valid-identifiers/expected.js rename to packages/babel/test/fixtures/transformation/minification.member-expression-literals/valid-identifiers/expected.js diff --git a/test/core/fixtures/transformation/minification.property-literals/invalid-identifiers/actual.js b/packages/babel/test/fixtures/transformation/minification.property-literals/invalid-identifiers/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.property-literals/invalid-identifiers/actual.js rename to packages/babel/test/fixtures/transformation/minification.property-literals/invalid-identifiers/actual.js diff --git a/test/core/fixtures/transformation/minification.property-literals/invalid-identifiers/expected.js b/packages/babel/test/fixtures/transformation/minification.property-literals/invalid-identifiers/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.property-literals/invalid-identifiers/expected.js rename to packages/babel/test/fixtures/transformation/minification.property-literals/invalid-identifiers/expected.js diff --git a/test/core/fixtures/transformation/minification.property-literals/options.json b/packages/babel/test/fixtures/transformation/minification.property-literals/options.json similarity index 100% rename from test/core/fixtures/transformation/minification.property-literals/options.json rename to packages/babel/test/fixtures/transformation/minification.property-literals/options.json diff --git a/test/core/fixtures/transformation/minification.property-literals/valid-identifiers/actual.js b/packages/babel/test/fixtures/transformation/minification.property-literals/valid-identifiers/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.property-literals/valid-identifiers/actual.js rename to packages/babel/test/fixtures/transformation/minification.property-literals/valid-identifiers/actual.js diff --git a/test/core/fixtures/transformation/minification.property-literals/valid-identifiers/expected.js b/packages/babel/test/fixtures/transformation/minification.property-literals/valid-identifiers/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.property-literals/valid-identifiers/expected.js rename to packages/babel/test/fixtures/transformation/minification.property-literals/valid-identifiers/expected.js diff --git a/test/core/fixtures/transformation/minification.remove-console/expression-nested/actual.js b/packages/babel/test/fixtures/transformation/minification.remove-console/expression-nested/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.remove-console/expression-nested/actual.js rename to packages/babel/test/fixtures/transformation/minification.remove-console/expression-nested/actual.js diff --git a/test/core/fixtures/transformation/minification.remove-console/expression-nested/expected.js b/packages/babel/test/fixtures/transformation/minification.remove-console/expression-nested/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.remove-console/expression-nested/expected.js rename to packages/babel/test/fixtures/transformation/minification.remove-console/expression-nested/expected.js diff --git a/test/core/fixtures/transformation/minification.remove-console/expression-top-level/actual.js b/packages/babel/test/fixtures/transformation/minification.remove-console/expression-top-level/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.remove-console/expression-top-level/actual.js rename to packages/babel/test/fixtures/transformation/minification.remove-console/expression-top-level/actual.js diff --git a/test/core/fixtures/transformation/minification.remove-console/expression-top-level/expected.js b/packages/babel/test/fixtures/transformation/minification.remove-console/expression-top-level/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.remove-console/expression-top-level/expected.js rename to packages/babel/test/fixtures/transformation/minification.remove-console/expression-top-level/expected.js diff --git a/test/core/fixtures/transformation/minification.remove-console/options.json b/packages/babel/test/fixtures/transformation/minification.remove-console/options.json similarity index 100% rename from test/core/fixtures/transformation/minification.remove-console/options.json rename to packages/babel/test/fixtures/transformation/minification.remove-console/options.json diff --git a/test/core/fixtures/transformation/minification.remove-console/statement-nested/actual.js b/packages/babel/test/fixtures/transformation/minification.remove-console/statement-nested/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.remove-console/statement-nested/actual.js rename to packages/babel/test/fixtures/transformation/minification.remove-console/statement-nested/actual.js diff --git a/test/core/fixtures/transformation/minification.remove-console/statement-nested/expected.js b/packages/babel/test/fixtures/transformation/minification.remove-console/statement-nested/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.remove-console/statement-nested/expected.js rename to packages/babel/test/fixtures/transformation/minification.remove-console/statement-nested/expected.js diff --git a/test/core/fixtures/transformation/minification.remove-console/statement-top-level/actual.js b/packages/babel/test/fixtures/transformation/minification.remove-console/statement-top-level/actual.js similarity index 100% rename from test/core/fixtures/transformation/minification.remove-console/statement-top-level/actual.js rename to packages/babel/test/fixtures/transformation/minification.remove-console/statement-top-level/actual.js diff --git a/test/core/fixtures/transformation/minification.remove-console/statement-top-level/expected.js b/packages/babel/test/fixtures/transformation/minification.remove-console/statement-top-level/expected.js similarity index 100% rename from test/core/fixtures/transformation/minification.remove-console/statement-top-level/expected.js rename to packages/babel/test/fixtures/transformation/minification.remove-console/statement-top-level/expected.js diff --git a/test/core/fixtures/transformation/misc/enforce-newline-modules-blacklist/actual.js b/packages/babel/test/fixtures/transformation/misc/enforce-newline-modules-blacklist/actual.js similarity index 100% rename from test/core/fixtures/transformation/misc/enforce-newline-modules-blacklist/actual.js rename to packages/babel/test/fixtures/transformation/misc/enforce-newline-modules-blacklist/actual.js diff --git a/test/core/fixtures/transformation/misc/enforce-newline-modules-blacklist/expected.js b/packages/babel/test/fixtures/transformation/misc/enforce-newline-modules-blacklist/expected.js similarity index 100% rename from test/core/fixtures/transformation/misc/enforce-newline-modules-blacklist/expected.js rename to packages/babel/test/fixtures/transformation/misc/enforce-newline-modules-blacklist/expected.js diff --git a/test/core/fixtures/transformation/misc/enforce-newline-modules-blacklist/options.json b/packages/babel/test/fixtures/transformation/misc/enforce-newline-modules-blacklist/options.json similarity index 100% rename from test/core/fixtures/transformation/misc/enforce-newline-modules-blacklist/options.json rename to packages/babel/test/fixtures/transformation/misc/enforce-newline-modules-blacklist/options.json diff --git a/test/core/fixtures/transformation/misc/options.json b/packages/babel/test/fixtures/transformation/misc/options.json similarity index 100% rename from test/core/fixtures/transformation/misc/options.json rename to packages/babel/test/fixtures/transformation/misc/options.json diff --git a/test/core/fixtures/transformation/misc/regression-1130/actual.js b/packages/babel/test/fixtures/transformation/misc/regression-1130/actual.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1130/actual.js rename to packages/babel/test/fixtures/transformation/misc/regression-1130/actual.js diff --git a/test/core/fixtures/transformation/misc/regression-1130/expected.js b/packages/babel/test/fixtures/transformation/misc/regression-1130/expected.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1130/expected.js rename to packages/babel/test/fixtures/transformation/misc/regression-1130/expected.js diff --git a/test/core/fixtures/transformation/misc/regression-1149/actual.js b/packages/babel/test/fixtures/transformation/misc/regression-1149/actual.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1149/actual.js rename to packages/babel/test/fixtures/transformation/misc/regression-1149/actual.js diff --git a/test/core/fixtures/transformation/misc/regression-1149/expected.js b/packages/babel/test/fixtures/transformation/misc/regression-1149/expected.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1149/expected.js rename to packages/babel/test/fixtures/transformation/misc/regression-1149/expected.js diff --git a/test/core/fixtures/transformation/misc/regression-1155/actual.js b/packages/babel/test/fixtures/transformation/misc/regression-1155/actual.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1155/actual.js rename to packages/babel/test/fixtures/transformation/misc/regression-1155/actual.js diff --git a/test/core/fixtures/transformation/misc/regression-1155/expected.js b/packages/babel/test/fixtures/transformation/misc/regression-1155/expected.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1155/expected.js rename to packages/babel/test/fixtures/transformation/misc/regression-1155/expected.js diff --git a/test/core/fixtures/transformation/misc/regression-1168/actual.js b/packages/babel/test/fixtures/transformation/misc/regression-1168/actual.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1168/actual.js rename to packages/babel/test/fixtures/transformation/misc/regression-1168/actual.js diff --git a/test/core/fixtures/transformation/misc/regression-1168/expected.js b/packages/babel/test/fixtures/transformation/misc/regression-1168/expected.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1168/expected.js rename to packages/babel/test/fixtures/transformation/misc/regression-1168/expected.js diff --git a/test/core/fixtures/transformation/misc/regression-1169/actual.js b/packages/babel/test/fixtures/transformation/misc/regression-1169/actual.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1169/actual.js rename to packages/babel/test/fixtures/transformation/misc/regression-1169/actual.js diff --git a/test/core/fixtures/transformation/misc/regression-1169/expected.js b/packages/babel/test/fixtures/transformation/misc/regression-1169/expected.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1169/expected.js rename to packages/babel/test/fixtures/transformation/misc/regression-1169/expected.js diff --git a/test/core/fixtures/transformation/misc/regression-1199/actual.js b/packages/babel/test/fixtures/transformation/misc/regression-1199/actual.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1199/actual.js rename to packages/babel/test/fixtures/transformation/misc/regression-1199/actual.js diff --git a/test/core/fixtures/transformation/misc/regression-1199/expected.js b/packages/babel/test/fixtures/transformation/misc/regression-1199/expected.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1199/expected.js rename to packages/babel/test/fixtures/transformation/misc/regression-1199/expected.js diff --git a/test/core/fixtures/transformation/misc/regression-1489/actual.js b/packages/babel/test/fixtures/transformation/misc/regression-1489/actual.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1489/actual.js rename to packages/babel/test/fixtures/transformation/misc/regression-1489/actual.js diff --git a/test/core/fixtures/transformation/misc/regression-1489/expected.js b/packages/babel/test/fixtures/transformation/misc/regression-1489/expected.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1489/expected.js rename to packages/babel/test/fixtures/transformation/misc/regression-1489/expected.js diff --git a/test/core/fixtures/transformation/misc/regression-1489/options.json b/packages/babel/test/fixtures/transformation/misc/regression-1489/options.json similarity index 100% rename from test/core/fixtures/transformation/misc/regression-1489/options.json rename to packages/babel/test/fixtures/transformation/misc/regression-1489/options.json diff --git a/test/core/fixtures/transformation/misc/regression-lodash-tostring-import/actual.js b/packages/babel/test/fixtures/transformation/misc/regression-lodash-tostring-import/actual.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-lodash-tostring-import/actual.js rename to packages/babel/test/fixtures/transformation/misc/regression-lodash-tostring-import/actual.js diff --git a/test/core/fixtures/transformation/misc/regression-lodash-tostring-import/expected.js b/packages/babel/test/fixtures/transformation/misc/regression-lodash-tostring-import/expected.js similarity index 100% rename from test/core/fixtures/transformation/misc/regression-lodash-tostring-import/expected.js rename to packages/babel/test/fixtures/transformation/misc/regression-lodash-tostring-import/expected.js diff --git a/test/core/fixtures/transformation/misc/shebang/actual.js b/packages/babel/test/fixtures/transformation/misc/shebang/actual.js similarity index 100% rename from test/core/fixtures/transformation/misc/shebang/actual.js rename to packages/babel/test/fixtures/transformation/misc/shebang/actual.js diff --git a/test/core/fixtures/transformation/misc/shebang/expected.js b/packages/babel/test/fixtures/transformation/misc/shebang/expected.js similarity index 100% rename from test/core/fixtures/transformation/misc/shebang/expected.js rename to packages/babel/test/fixtures/transformation/misc/shebang/expected.js diff --git a/test/core/fixtures/transformation/optimisation.modules.system/options.json b/packages/babel/test/fixtures/transformation/optimisation.modules.system/options.json similarity index 100% rename from test/core/fixtures/transformation/optimisation.modules.system/options.json rename to packages/babel/test/fixtures/transformation/optimisation.modules.system/options.json diff --git a/test/core/fixtures/transformation/optimisation.modules.system/setters/actual.js b/packages/babel/test/fixtures/transformation/optimisation.modules.system/setters/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.modules.system/setters/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.modules.system/setters/actual.js diff --git a/test/core/fixtures/transformation/optimisation.modules.system/setters/expected.js b/packages/babel/test/fixtures/transformation/optimisation.modules.system/setters/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.modules.system/setters/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.modules.system/setters/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/children/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/children/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/children/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/children/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/children/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/children/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/children/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/children/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/constructor/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/constructor/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/constructor/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/constructor/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/constructor/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/constructor/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/constructor/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/constructor/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/deep-constant-violation/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/deep-constant-violation/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/deep-constant-violation/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/deep-constant-violation/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/deep-constant-violation/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/deep-constant-violation/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/deep-constant-violation/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/deep-constant-violation/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/dont-hoist-to-same-function/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/dont-hoist-to-same-function/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/dont-hoist-to-same-function/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/dont-hoist-to-same-function/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/dont-hoist-to-same-function/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/dont-hoist-to-same-function/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/dont-hoist-to-same-function/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/dont-hoist-to-same-function/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/function-parameter/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/function-parameter/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/function-parameter/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/function-parameter/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/function-parameter/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/function-parameter/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/function-parameter/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/function-parameter/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/global-reference/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/global-reference/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/global-reference/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/global-reference/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/global-reference/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/global-reference/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/global-reference/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/global-reference/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/html-element/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/html-element/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/html-element/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/html-element/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/html-element/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/html-element/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/html-element/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/html-element/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/inline-elements/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/inline-elements/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/inline-elements/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/inline-elements/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/inline-elements/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/inline-elements/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/inline-elements/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/inline-elements/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/inline-elements/options.json b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/inline-elements/options.json similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/inline-elements/options.json rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/inline-elements/options.json diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/inner-declaration/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/inner-declaration/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/inner-declaration/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/inner-declaration/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/inner-declaration/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/inner-declaration/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/inner-declaration/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/inner-declaration/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/options.json b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/options.json similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/options.json rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/options.json diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/parameter-reference/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/parameter-reference/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/parameter-reference/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/parameter-reference/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/parameter-reference/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/parameter-reference/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/parameter-reference/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/parameter-reference/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/reassignment/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/reassignment/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/reassignment/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/reassignment/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/reassignment/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/reassignment/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/reassignment/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/reassignment/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/ref-deopt/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/ref-deopt/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/ref-deopt/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/ref-deopt/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/ref-deopt/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/ref-deopt/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/ref-deopt/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/ref-deopt/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/spread-deopt/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/spread-deopt/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/spread-deopt/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/spread-deopt/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.constant-elements/spread-deopt/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/spread-deopt/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.constant-elements/spread-deopt/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/spread-deopt/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/component-with-props/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component-with-props/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/component-with-props/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component-with-props/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/component-with-props/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component-with-props/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/component-with-props/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component-with-props/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/component/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/component/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/component/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/component/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/html-element-with-props/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element-with-props/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/html-element-with-props/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element-with-props/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/html-element-with-props/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element-with-props/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/html-element-with-props/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element-with-props/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/html-element/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/html-element/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/html-element/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/html-element/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/key/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/key/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/key/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/key/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/key/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/key/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/key/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/key/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/nested-components/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-components/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/nested-components/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-components/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/nested-components/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-components/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/nested-components/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-components/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/nested-html-elements/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-html-elements/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/nested-html-elements/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-html-elements/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/nested-html-elements/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-html-elements/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/nested-html-elements/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-html-elements/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/nested/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/nested/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/nested/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/nested/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/options.json b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/options.json similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/options.json rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/options.json diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/ref-deopt/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/ref-deopt/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/ref-deopt/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/ref-deopt/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/ref-deopt/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/ref-deopt/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/ref-deopt/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/ref-deopt/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-component-with-props/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component-with-props/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-component-with-props/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component-with-props/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-component-with-props/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component-with-props/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-component-with-props/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component-with-props/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-component/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-component/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-component/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-component/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element-with-props/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element-with-props/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element-with-props/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element-with-props/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element-with-props/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element-with-props/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element-with-props/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element-with-props/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/shorthand-attributes/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/shorthand-attributes/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/shorthand-attributes/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/shorthand-attributes/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/shorthand-attributes/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/shorthand-attributes/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/shorthand-attributes/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/shorthand-attributes/expected.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/spread-deopt/actual.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/spread-deopt/actual.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/spread-deopt/actual.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/spread-deopt/actual.js diff --git a/test/core/fixtures/transformation/optimisation.react.inline-elements/spread-deopt/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/spread-deopt/expected.js similarity index 100% rename from test/core/fixtures/transformation/optimisation.react.inline-elements/spread-deopt/expected.js rename to packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/spread-deopt/expected.js diff --git a/test/core/fixtures/transformation/react-compat/convert-component/actual.js b/packages/babel/test/fixtures/transformation/react-compat/convert-component/actual.js similarity index 100% rename from test/core/fixtures/transformation/react-compat/convert-component/actual.js rename to packages/babel/test/fixtures/transformation/react-compat/convert-component/actual.js diff --git a/test/core/fixtures/transformation/react-compat/convert-component/expected.js b/packages/babel/test/fixtures/transformation/react-compat/convert-component/expected.js similarity index 100% rename from test/core/fixtures/transformation/react-compat/convert-component/expected.js rename to packages/babel/test/fixtures/transformation/react-compat/convert-component/expected.js diff --git a/test/core/fixtures/transformation/react-compat/convert-tags/actual.js b/packages/babel/test/fixtures/transformation/react-compat/convert-tags/actual.js similarity index 100% rename from test/core/fixtures/transformation/react-compat/convert-tags/actual.js rename to packages/babel/test/fixtures/transformation/react-compat/convert-tags/actual.js diff --git a/test/core/fixtures/transformation/react-compat/convert-tags/expected.js b/packages/babel/test/fixtures/transformation/react-compat/convert-tags/expected.js similarity index 100% rename from test/core/fixtures/transformation/react-compat/convert-tags/expected.js rename to packages/babel/test/fixtures/transformation/react-compat/convert-tags/expected.js diff --git a/test/core/fixtures/transformation/react-compat/options.json b/packages/babel/test/fixtures/transformation/react-compat/options.json similarity index 100% rename from test/core/fixtures/transformation/react-compat/options.json rename to packages/babel/test/fixtures/transformation/react-compat/options.json diff --git a/test/core/fixtures/transformation/react/.should-not-strip-nbsp-even-coupled-with-other-whitespace/actual.js b/packages/babel/test/fixtures/transformation/react/.should-not-strip-nbsp-even-coupled-with-other-whitespace/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/.should-not-strip-nbsp-even-coupled-with-other-whitespace/actual.js rename to packages/babel/test/fixtures/transformation/react/.should-not-strip-nbsp-even-coupled-with-other-whitespace/actual.js diff --git a/test/core/fixtures/transformation/react/.should-not-strip-nbsp-even-coupled-with-other-whitespace/expected.js b/packages/babel/test/fixtures/transformation/react/.should-not-strip-nbsp-even-coupled-with-other-whitespace/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/.should-not-strip-nbsp-even-coupled-with-other-whitespace/expected.js rename to packages/babel/test/fixtures/transformation/react/.should-not-strip-nbsp-even-coupled-with-other-whitespace/expected.js diff --git a/test/core/fixtures/transformation/react/.should-not-strip-tags-with-a-single-child-of-nbsp/actual.js b/packages/babel/test/fixtures/transformation/react/.should-not-strip-tags-with-a-single-child-of-nbsp/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/.should-not-strip-tags-with-a-single-child-of-nbsp/actual.js rename to packages/babel/test/fixtures/transformation/react/.should-not-strip-tags-with-a-single-child-of-nbsp/actual.js diff --git a/test/core/fixtures/transformation/react/.should-not-strip-tags-with-a-single-child-of-nbsp/expected.js b/packages/babel/test/fixtures/transformation/react/.should-not-strip-tags-with-a-single-child-of-nbsp/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/.should-not-strip-tags-with-a-single-child-of-nbsp/expected.js rename to packages/babel/test/fixtures/transformation/react/.should-not-strip-tags-with-a-single-child-of-nbsp/expected.js diff --git a/test/core/fixtures/transformation/react/.should-properly-handle-comments-adjacent-to-children/actual.js b/packages/babel/test/fixtures/transformation/react/.should-properly-handle-comments-adjacent-to-children/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/.should-properly-handle-comments-adjacent-to-children/actual.js rename to packages/babel/test/fixtures/transformation/react/.should-properly-handle-comments-adjacent-to-children/actual.js diff --git a/test/core/fixtures/transformation/react/.should-properly-handle-comments-adjacent-to-children/expected.js b/packages/babel/test/fixtures/transformation/react/.should-properly-handle-comments-adjacent-to-children/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/.should-properly-handle-comments-adjacent-to-children/expected.js rename to packages/babel/test/fixtures/transformation/react/.should-properly-handle-comments-adjacent-to-children/expected.js diff --git a/test/core/fixtures/transformation/react/.should-properly-handle-comments-between-props/actual.js b/packages/babel/test/fixtures/transformation/react/.should-properly-handle-comments-between-props/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/.should-properly-handle-comments-between-props/actual.js rename to packages/babel/test/fixtures/transformation/react/.should-properly-handle-comments-between-props/actual.js diff --git a/test/core/fixtures/transformation/react/.should-properly-handle-comments-between-props/expected.js b/packages/babel/test/fixtures/transformation/react/.should-properly-handle-comments-between-props/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/.should-properly-handle-comments-between-props/expected.js rename to packages/babel/test/fixtures/transformation/react/.should-properly-handle-comments-between-props/expected.js diff --git a/test/core/fixtures/transformation/react/adds-appropriate-newlines-when-using-spread-attribute/actual.js b/packages/babel/test/fixtures/transformation/react/adds-appropriate-newlines-when-using-spread-attribute/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/adds-appropriate-newlines-when-using-spread-attribute/actual.js rename to packages/babel/test/fixtures/transformation/react/adds-appropriate-newlines-when-using-spread-attribute/actual.js diff --git a/test/core/fixtures/transformation/react/adds-appropriate-newlines-when-using-spread-attribute/expected.js b/packages/babel/test/fixtures/transformation/react/adds-appropriate-newlines-when-using-spread-attribute/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/adds-appropriate-newlines-when-using-spread-attribute/expected.js rename to packages/babel/test/fixtures/transformation/react/adds-appropriate-newlines-when-using-spread-attribute/expected.js diff --git a/test/core/fixtures/transformation/react/arrow-functions/actual.js b/packages/babel/test/fixtures/transformation/react/arrow-functions/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/arrow-functions/actual.js rename to packages/babel/test/fixtures/transformation/react/arrow-functions/actual.js diff --git a/test/core/fixtures/transformation/react/arrow-functions/expected.js b/packages/babel/test/fixtures/transformation/react/arrow-functions/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/arrow-functions/expected.js rename to packages/babel/test/fixtures/transformation/react/arrow-functions/expected.js diff --git a/test/core/fixtures/transformation/react/arrow-functions/options.json b/packages/babel/test/fixtures/transformation/react/arrow-functions/options.json similarity index 100% rename from test/core/fixtures/transformation/react/arrow-functions/options.json rename to packages/babel/test/fixtures/transformation/react/arrow-functions/options.json diff --git a/test/core/fixtures/transformation/react/concatenates-adjacent-string-literals/actual.js b/packages/babel/test/fixtures/transformation/react/concatenates-adjacent-string-literals/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/concatenates-adjacent-string-literals/actual.js rename to packages/babel/test/fixtures/transformation/react/concatenates-adjacent-string-literals/actual.js diff --git a/test/core/fixtures/transformation/react/concatenates-adjacent-string-literals/expected.js b/packages/babel/test/fixtures/transformation/react/concatenates-adjacent-string-literals/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/concatenates-adjacent-string-literals/expected.js rename to packages/babel/test/fixtures/transformation/react/concatenates-adjacent-string-literals/expected.js diff --git a/test/core/fixtures/transformation/react/display-name-assignment-expression/actual.js b/packages/babel/test/fixtures/transformation/react/display-name-assignment-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/display-name-assignment-expression/actual.js rename to packages/babel/test/fixtures/transformation/react/display-name-assignment-expression/actual.js diff --git a/test/core/fixtures/transformation/react/display-name-assignment-expression/expected.js b/packages/babel/test/fixtures/transformation/react/display-name-assignment-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/display-name-assignment-expression/expected.js rename to packages/babel/test/fixtures/transformation/react/display-name-assignment-expression/expected.js diff --git a/test/core/fixtures/transformation/react/display-name-export-default/actual.js b/packages/babel/test/fixtures/transformation/react/display-name-export-default/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/display-name-export-default/actual.js rename to packages/babel/test/fixtures/transformation/react/display-name-export-default/actual.js diff --git a/test/core/fixtures/transformation/react/display-name-export-default/expected.js b/packages/babel/test/fixtures/transformation/react/display-name-export-default/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/display-name-export-default/expected.js rename to packages/babel/test/fixtures/transformation/react/display-name-export-default/expected.js diff --git a/test/core/fixtures/transformation/react/display-name-if-missing/actual.js b/packages/babel/test/fixtures/transformation/react/display-name-if-missing/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/display-name-if-missing/actual.js rename to packages/babel/test/fixtures/transformation/react/display-name-if-missing/actual.js diff --git a/test/core/fixtures/transformation/react/display-name-if-missing/expected.js b/packages/babel/test/fixtures/transformation/react/display-name-if-missing/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/display-name-if-missing/expected.js rename to packages/babel/test/fixtures/transformation/react/display-name-if-missing/expected.js diff --git a/test/core/fixtures/transformation/react/display-name-object-declaration/actual.js b/packages/babel/test/fixtures/transformation/react/display-name-object-declaration/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/display-name-object-declaration/actual.js rename to packages/babel/test/fixtures/transformation/react/display-name-object-declaration/actual.js diff --git a/test/core/fixtures/transformation/react/display-name-object-declaration/expected.js b/packages/babel/test/fixtures/transformation/react/display-name-object-declaration/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/display-name-object-declaration/expected.js rename to packages/babel/test/fixtures/transformation/react/display-name-object-declaration/expected.js diff --git a/test/core/fixtures/transformation/react/display-name-property-assignment/actual.js b/packages/babel/test/fixtures/transformation/react/display-name-property-assignment/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/display-name-property-assignment/actual.js rename to packages/babel/test/fixtures/transformation/react/display-name-property-assignment/actual.js diff --git a/test/core/fixtures/transformation/react/display-name-property-assignment/expected.js b/packages/babel/test/fixtures/transformation/react/display-name-property-assignment/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/display-name-property-assignment/expected.js rename to packages/babel/test/fixtures/transformation/react/display-name-property-assignment/expected.js diff --git a/test/core/fixtures/transformation/react/display-name-variable-declaration/actual.js b/packages/babel/test/fixtures/transformation/react/display-name-variable-declaration/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/display-name-variable-declaration/actual.js rename to packages/babel/test/fixtures/transformation/react/display-name-variable-declaration/actual.js diff --git a/test/core/fixtures/transformation/react/display-name-variable-declaration/expected.js b/packages/babel/test/fixtures/transformation/react/display-name-variable-declaration/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/display-name-variable-declaration/expected.js rename to packages/babel/test/fixtures/transformation/react/display-name-variable-declaration/expected.js diff --git a/test/core/fixtures/transformation/react/dont-coerce-expression-containers/actual.js b/packages/babel/test/fixtures/transformation/react/dont-coerce-expression-containers/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/dont-coerce-expression-containers/actual.js rename to packages/babel/test/fixtures/transformation/react/dont-coerce-expression-containers/actual.js diff --git a/test/core/fixtures/transformation/react/dont-coerce-expression-containers/expected.js b/packages/babel/test/fixtures/transformation/react/dont-coerce-expression-containers/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/dont-coerce-expression-containers/expected.js rename to packages/babel/test/fixtures/transformation/react/dont-coerce-expression-containers/expected.js diff --git a/test/core/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/actual.js b/packages/babel/test/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/actual.js rename to packages/babel/test/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/actual.js diff --git a/test/core/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/expected.js b/packages/babel/test/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/expected.js rename to packages/babel/test/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/expected.js diff --git a/test/core/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/options.json b/packages/babel/test/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/options.json similarity index 100% rename from test/core/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/options.json rename to packages/babel/test/fixtures/transformation/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/options.json diff --git a/test/core/fixtures/transformation/react/honor-custom-jsx-comment/actual.js b/packages/babel/test/fixtures/transformation/react/honor-custom-jsx-comment/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/honor-custom-jsx-comment/actual.js rename to packages/babel/test/fixtures/transformation/react/honor-custom-jsx-comment/actual.js diff --git a/test/core/fixtures/transformation/react/honor-custom-jsx-comment/expected.js b/packages/babel/test/fixtures/transformation/react/honor-custom-jsx-comment/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/honor-custom-jsx-comment/expected.js rename to packages/babel/test/fixtures/transformation/react/honor-custom-jsx-comment/expected.js diff --git a/test/core/fixtures/transformation/react/honor-custom-jsx-pragma-option/actual.js b/packages/babel/test/fixtures/transformation/react/honor-custom-jsx-pragma-option/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/honor-custom-jsx-pragma-option/actual.js rename to packages/babel/test/fixtures/transformation/react/honor-custom-jsx-pragma-option/actual.js diff --git a/test/core/fixtures/transformation/react/honor-custom-jsx-pragma-option/expected.js b/packages/babel/test/fixtures/transformation/react/honor-custom-jsx-pragma-option/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/honor-custom-jsx-pragma-option/expected.js rename to packages/babel/test/fixtures/transformation/react/honor-custom-jsx-pragma-option/expected.js diff --git a/test/core/fixtures/transformation/react/honor-custom-jsx-pragma-option/options.json b/packages/babel/test/fixtures/transformation/react/honor-custom-jsx-pragma-option/options.json similarity index 100% rename from test/core/fixtures/transformation/react/honor-custom-jsx-pragma-option/options.json rename to packages/babel/test/fixtures/transformation/react/honor-custom-jsx-pragma-option/options.json diff --git a/test/core/fixtures/transformation/react/jsx-with-retainlines-option/actual.js b/packages/babel/test/fixtures/transformation/react/jsx-with-retainlines-option/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/jsx-with-retainlines-option/actual.js rename to packages/babel/test/fixtures/transformation/react/jsx-with-retainlines-option/actual.js diff --git a/test/core/fixtures/transformation/react/jsx-with-retainlines-option/expected.js b/packages/babel/test/fixtures/transformation/react/jsx-with-retainlines-option/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/jsx-with-retainlines-option/expected.js rename to packages/babel/test/fixtures/transformation/react/jsx-with-retainlines-option/expected.js diff --git a/test/core/fixtures/transformation/react/jsx-with-retainlines-option/options.json b/packages/babel/test/fixtures/transformation/react/jsx-with-retainlines-option/options.json similarity index 100% rename from test/core/fixtures/transformation/react/jsx-with-retainlines-option/options.json rename to packages/babel/test/fixtures/transformation/react/jsx-with-retainlines-option/options.json diff --git a/test/core/fixtures/transformation/react/jsx-without-retainlines-option/actual.js b/packages/babel/test/fixtures/transformation/react/jsx-without-retainlines-option/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/jsx-without-retainlines-option/actual.js rename to packages/babel/test/fixtures/transformation/react/jsx-without-retainlines-option/actual.js diff --git a/test/core/fixtures/transformation/react/jsx-without-retainlines-option/expected.js b/packages/babel/test/fixtures/transformation/react/jsx-without-retainlines-option/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/jsx-without-retainlines-option/expected.js rename to packages/babel/test/fixtures/transformation/react/jsx-without-retainlines-option/expected.js diff --git a/test/core/fixtures/transformation/react/optimisation.react.constant-elements/actual.js b/packages/babel/test/fixtures/transformation/react/optimisation.react.constant-elements/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/optimisation.react.constant-elements/actual.js rename to packages/babel/test/fixtures/transformation/react/optimisation.react.constant-elements/actual.js diff --git a/test/core/fixtures/transformation/react/optimisation.react.constant-elements/expected.js b/packages/babel/test/fixtures/transformation/react/optimisation.react.constant-elements/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/optimisation.react.constant-elements/expected.js rename to packages/babel/test/fixtures/transformation/react/optimisation.react.constant-elements/expected.js diff --git a/test/core/fixtures/transformation/react/optimisation.react.constant-elements/options.json b/packages/babel/test/fixtures/transformation/react/optimisation.react.constant-elements/options.json similarity index 100% rename from test/core/fixtures/transformation/react/optimisation.react.constant-elements/options.json rename to packages/babel/test/fixtures/transformation/react/optimisation.react.constant-elements/options.json diff --git a/test/core/fixtures/transformation/react/options.json b/packages/babel/test/fixtures/transformation/react/options.json similarity index 100% rename from test/core/fixtures/transformation/react/options.json rename to packages/babel/test/fixtures/transformation/react/options.json diff --git a/test/core/fixtures/transformation/react/should-allow-constructor-as-prop/actual.js b/packages/babel/test/fixtures/transformation/react/should-allow-constructor-as-prop/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/should-allow-constructor-as-prop/actual.js rename to packages/babel/test/fixtures/transformation/react/should-allow-constructor-as-prop/actual.js diff --git a/test/core/fixtures/transformation/react/should-allow-constructor-as-prop/expected.js b/packages/babel/test/fixtures/transformation/react/should-allow-constructor-as-prop/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/should-allow-constructor-as-prop/expected.js rename to packages/babel/test/fixtures/transformation/react/should-allow-constructor-as-prop/expected.js diff --git a/test/core/fixtures/transformation/react/should-allow-deeper-js-namespacing/actual.js b/packages/babel/test/fixtures/transformation/react/should-allow-deeper-js-namespacing/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/should-allow-deeper-js-namespacing/actual.js rename to packages/babel/test/fixtures/transformation/react/should-allow-deeper-js-namespacing/actual.js diff --git a/test/core/fixtures/transformation/react/should-allow-deeper-js-namespacing/expected.js b/packages/babel/test/fixtures/transformation/react/should-allow-deeper-js-namespacing/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/should-allow-deeper-js-namespacing/expected.js rename to packages/babel/test/fixtures/transformation/react/should-allow-deeper-js-namespacing/expected.js diff --git a/test/core/fixtures/transformation/react/should-allow-js-namespacing/actual.js b/packages/babel/test/fixtures/transformation/react/should-allow-js-namespacing/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/should-allow-js-namespacing/actual.js rename to packages/babel/test/fixtures/transformation/react/should-allow-js-namespacing/actual.js diff --git a/test/core/fixtures/transformation/react/should-allow-js-namespacing/blacklist.js b/packages/babel/test/fixtures/transformation/react/should-allow-js-namespacing/blacklist.js similarity index 100% rename from test/core/fixtures/transformation/react/should-allow-js-namespacing/blacklist.js rename to packages/babel/test/fixtures/transformation/react/should-allow-js-namespacing/blacklist.js diff --git a/test/core/fixtures/transformation/react/should-allow-js-namespacing/expected.js b/packages/babel/test/fixtures/transformation/react/should-allow-js-namespacing/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/should-allow-js-namespacing/expected.js rename to packages/babel/test/fixtures/transformation/react/should-allow-js-namespacing/expected.js diff --git a/test/core/fixtures/transformation/react/should-avoid-wrapping-in-extra-parens-if-not-needed/actual.js b/packages/babel/test/fixtures/transformation/react/should-avoid-wrapping-in-extra-parens-if-not-needed/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/should-avoid-wrapping-in-extra-parens-if-not-needed/actual.js rename to packages/babel/test/fixtures/transformation/react/should-avoid-wrapping-in-extra-parens-if-not-needed/actual.js diff --git a/test/core/fixtures/transformation/react/should-avoid-wrapping-in-extra-parens-if-not-needed/expected.js b/packages/babel/test/fixtures/transformation/react/should-avoid-wrapping-in-extra-parens-if-not-needed/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/should-avoid-wrapping-in-extra-parens-if-not-needed/expected.js rename to packages/babel/test/fixtures/transformation/react/should-avoid-wrapping-in-extra-parens-if-not-needed/expected.js diff --git a/test/core/fixtures/transformation/react/should-convert-simple-tags/actual.js b/packages/babel/test/fixtures/transformation/react/should-convert-simple-tags/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/should-convert-simple-tags/actual.js rename to packages/babel/test/fixtures/transformation/react/should-convert-simple-tags/actual.js diff --git a/test/core/fixtures/transformation/react/should-convert-simple-tags/expected.js b/packages/babel/test/fixtures/transformation/react/should-convert-simple-tags/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/should-convert-simple-tags/expected.js rename to packages/babel/test/fixtures/transformation/react/should-convert-simple-tags/expected.js diff --git a/test/core/fixtures/transformation/react/should-convert-simple-text/actual.js b/packages/babel/test/fixtures/transformation/react/should-convert-simple-text/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/should-convert-simple-text/actual.js rename to packages/babel/test/fixtures/transformation/react/should-convert-simple-text/actual.js diff --git a/test/core/fixtures/transformation/react/should-convert-simple-text/expected.js b/packages/babel/test/fixtures/transformation/react/should-convert-simple-text/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/should-convert-simple-text/expected.js rename to packages/babel/test/fixtures/transformation/react/should-convert-simple-text/expected.js diff --git a/test/core/fixtures/transformation/react/should-disallow-xml-namespacing/actual.js b/packages/babel/test/fixtures/transformation/react/should-disallow-xml-namespacing/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/should-disallow-xml-namespacing/actual.js rename to packages/babel/test/fixtures/transformation/react/should-disallow-xml-namespacing/actual.js diff --git a/test/core/fixtures/transformation/react/should-disallow-xml-namespacing/options.json b/packages/babel/test/fixtures/transformation/react/should-disallow-xml-namespacing/options.json similarity index 100% rename from test/core/fixtures/transformation/react/should-disallow-xml-namespacing/options.json rename to packages/babel/test/fixtures/transformation/react/should-disallow-xml-namespacing/options.json diff --git a/test/core/fixtures/transformation/react/should-handle-attributed-elements/actual.js b/packages/babel/test/fixtures/transformation/react/should-handle-attributed-elements/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/should-handle-attributed-elements/actual.js rename to packages/babel/test/fixtures/transformation/react/should-handle-attributed-elements/actual.js diff --git a/test/core/fixtures/transformation/react/should-handle-attributed-elements/expected.js b/packages/babel/test/fixtures/transformation/react/should-handle-attributed-elements/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/should-handle-attributed-elements/expected.js rename to packages/babel/test/fixtures/transformation/react/should-handle-attributed-elements/expected.js diff --git a/test/core/fixtures/transformation/react/should-handle-has-own-property-correctly/actual.js b/packages/babel/test/fixtures/transformation/react/should-handle-has-own-property-correctly/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/should-handle-has-own-property-correctly/actual.js rename to packages/babel/test/fixtures/transformation/react/should-handle-has-own-property-correctly/actual.js diff --git a/test/core/fixtures/transformation/react/should-handle-has-own-property-correctly/expected.js b/packages/babel/test/fixtures/transformation/react/should-handle-has-own-property-correctly/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/should-handle-has-own-property-correctly/expected.js rename to packages/babel/test/fixtures/transformation/react/should-handle-has-own-property-correctly/expected.js diff --git a/test/core/fixtures/transformation/react/should-have-correct-comma-in-nested-children/actual.js b/packages/babel/test/fixtures/transformation/react/should-have-correct-comma-in-nested-children/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/should-have-correct-comma-in-nested-children/actual.js rename to packages/babel/test/fixtures/transformation/react/should-have-correct-comma-in-nested-children/actual.js diff --git a/test/core/fixtures/transformation/react/should-have-correct-comma-in-nested-children/expected.js b/packages/babel/test/fixtures/transformation/react/should-have-correct-comma-in-nested-children/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/should-have-correct-comma-in-nested-children/expected.js rename to packages/babel/test/fixtures/transformation/react/should-have-correct-comma-in-nested-children/expected.js diff --git a/test/core/fixtures/transformation/react/should-insert-commas-after-expressions-before-whitespace/actual.js b/packages/babel/test/fixtures/transformation/react/should-insert-commas-after-expressions-before-whitespace/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/should-insert-commas-after-expressions-before-whitespace/actual.js rename to packages/babel/test/fixtures/transformation/react/should-insert-commas-after-expressions-before-whitespace/actual.js diff --git a/test/core/fixtures/transformation/react/should-insert-commas-after-expressions-before-whitespace/expected.js b/packages/babel/test/fixtures/transformation/react/should-insert-commas-after-expressions-before-whitespace/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/should-insert-commas-after-expressions-before-whitespace/expected.js rename to packages/babel/test/fixtures/transformation/react/should-insert-commas-after-expressions-before-whitespace/expected.js diff --git a/test/core/fixtures/transformation/react/should-transform-known-hyphenated-tags/actual.js b/packages/babel/test/fixtures/transformation/react/should-transform-known-hyphenated-tags/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/should-transform-known-hyphenated-tags/actual.js rename to packages/babel/test/fixtures/transformation/react/should-transform-known-hyphenated-tags/actual.js diff --git a/test/core/fixtures/transformation/react/should-transform-known-hyphenated-tags/expected.js b/packages/babel/test/fixtures/transformation/react/should-transform-known-hyphenated-tags/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/should-transform-known-hyphenated-tags/expected.js rename to packages/babel/test/fixtures/transformation/react/should-transform-known-hyphenated-tags/expected.js diff --git a/test/core/fixtures/transformation/react/wraps-props-in-react-spread-for-first-spread-attributes/actual.js b/packages/babel/test/fixtures/transformation/react/wraps-props-in-react-spread-for-first-spread-attributes/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/wraps-props-in-react-spread-for-first-spread-attributes/actual.js rename to packages/babel/test/fixtures/transformation/react/wraps-props-in-react-spread-for-first-spread-attributes/actual.js diff --git a/test/core/fixtures/transformation/react/wraps-props-in-react-spread-for-first-spread-attributes/expected.js b/packages/babel/test/fixtures/transformation/react/wraps-props-in-react-spread-for-first-spread-attributes/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/wraps-props-in-react-spread-for-first-spread-attributes/expected.js rename to packages/babel/test/fixtures/transformation/react/wraps-props-in-react-spread-for-first-spread-attributes/expected.js diff --git a/test/core/fixtures/transformation/react/wraps-props-in-react-spread-for-last-spread-attributes/actual.js b/packages/babel/test/fixtures/transformation/react/wraps-props-in-react-spread-for-last-spread-attributes/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/wraps-props-in-react-spread-for-last-spread-attributes/actual.js rename to packages/babel/test/fixtures/transformation/react/wraps-props-in-react-spread-for-last-spread-attributes/actual.js diff --git a/test/core/fixtures/transformation/react/wraps-props-in-react-spread-for-last-spread-attributes/expected.js b/packages/babel/test/fixtures/transformation/react/wraps-props-in-react-spread-for-last-spread-attributes/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/wraps-props-in-react-spread-for-last-spread-attributes/expected.js rename to packages/babel/test/fixtures/transformation/react/wraps-props-in-react-spread-for-last-spread-attributes/expected.js diff --git a/test/core/fixtures/transformation/react/wraps-props-in-react-spread-for-middle-spread-attributes/actual.js b/packages/babel/test/fixtures/transformation/react/wraps-props-in-react-spread-for-middle-spread-attributes/actual.js similarity index 100% rename from test/core/fixtures/transformation/react/wraps-props-in-react-spread-for-middle-spread-attributes/actual.js rename to packages/babel/test/fixtures/transformation/react/wraps-props-in-react-spread-for-middle-spread-attributes/actual.js diff --git a/test/core/fixtures/transformation/react/wraps-props-in-react-spread-for-middle-spread-attributes/expected.js b/packages/babel/test/fixtures/transformation/react/wraps-props-in-react-spread-for-middle-spread-attributes/expected.js similarity index 100% rename from test/core/fixtures/transformation/react/wraps-props-in-react-spread-for-middle-spread-attributes/expected.js rename to packages/babel/test/fixtures/transformation/react/wraps-props-in-react-spread-for-middle-spread-attributes/expected.js diff --git a/test/core/fixtures/transformation/regenerator/default-parameters/exec.js b/packages/babel/test/fixtures/transformation/regenerator/default-parameters/exec.js similarity index 100% rename from test/core/fixtures/transformation/regenerator/default-parameters/exec.js rename to packages/babel/test/fixtures/transformation/regenerator/default-parameters/exec.js diff --git a/test/core/fixtures/transformation/regenerator/destructuring-parameters/exec.js b/packages/babel/test/fixtures/transformation/regenerator/destructuring-parameters/exec.js similarity index 100% rename from test/core/fixtures/transformation/regenerator/destructuring-parameters/exec.js rename to packages/babel/test/fixtures/transformation/regenerator/destructuring-parameters/exec.js diff --git a/test/core/fixtures/transformation/regenerator/destructuring/exec.js b/packages/babel/test/fixtures/transformation/regenerator/destructuring/exec.js similarity index 100% rename from test/core/fixtures/transformation/regenerator/destructuring/exec.js rename to packages/babel/test/fixtures/transformation/regenerator/destructuring/exec.js diff --git a/test/core/fixtures/transformation/regenerator/rest-parameters/exec.js b/packages/babel/test/fixtures/transformation/regenerator/rest-parameters/exec.js similarity index 100% rename from test/core/fixtures/transformation/regenerator/rest-parameters/exec.js rename to packages/babel/test/fixtures/transformation/regenerator/rest-parameters/exec.js diff --git a/test/core/fixtures/transformation/runtime/aliased-constructors/actual.js b/packages/babel/test/fixtures/transformation/runtime/aliased-constructors/actual.js similarity index 100% rename from test/core/fixtures/transformation/runtime/aliased-constructors/actual.js rename to packages/babel/test/fixtures/transformation/runtime/aliased-constructors/actual.js diff --git a/test/core/fixtures/transformation/runtime/aliased-constructors/expected.js b/packages/babel/test/fixtures/transformation/runtime/aliased-constructors/expected.js similarity index 100% rename from test/core/fixtures/transformation/runtime/aliased-constructors/expected.js rename to packages/babel/test/fixtures/transformation/runtime/aliased-constructors/expected.js diff --git a/test/core/fixtures/transformation/runtime/catch-all/actual.js b/packages/babel/test/fixtures/transformation/runtime/catch-all/actual.js similarity index 100% rename from test/core/fixtures/transformation/runtime/catch-all/actual.js rename to packages/babel/test/fixtures/transformation/runtime/catch-all/actual.js diff --git a/test/core/fixtures/transformation/runtime/catch-all/expected.js b/packages/babel/test/fixtures/transformation/runtime/catch-all/expected.js similarity index 100% rename from test/core/fixtures/transformation/runtime/catch-all/expected.js rename to packages/babel/test/fixtures/transformation/runtime/catch-all/expected.js diff --git a/test/core/fixtures/transformation/runtime/es6-for-of/actual.js b/packages/babel/test/fixtures/transformation/runtime/es6-for-of/actual.js similarity index 100% rename from test/core/fixtures/transformation/runtime/es6-for-of/actual.js rename to packages/babel/test/fixtures/transformation/runtime/es6-for-of/actual.js diff --git a/test/core/fixtures/transformation/runtime/es6-for-of/expected.js b/packages/babel/test/fixtures/transformation/runtime/es6-for-of/expected.js similarity index 100% rename from test/core/fixtures/transformation/runtime/es6-for-of/expected.js rename to packages/babel/test/fixtures/transformation/runtime/es6-for-of/expected.js diff --git a/test/core/fixtures/transformation/runtime/es7-array-comprehensions/actual.js b/packages/babel/test/fixtures/transformation/runtime/es7-array-comprehensions/actual.js similarity index 100% rename from test/core/fixtures/transformation/runtime/es7-array-comprehensions/actual.js rename to packages/babel/test/fixtures/transformation/runtime/es7-array-comprehensions/actual.js diff --git a/test/core/fixtures/transformation/runtime/es7-array-comprehensions/expected.js b/packages/babel/test/fixtures/transformation/runtime/es7-array-comprehensions/expected.js similarity index 100% rename from test/core/fixtures/transformation/runtime/es7-array-comprehensions/expected.js rename to packages/babel/test/fixtures/transformation/runtime/es7-array-comprehensions/expected.js diff --git a/test/core/fixtures/transformation/runtime/full/actual.js b/packages/babel/test/fixtures/transformation/runtime/full/actual.js similarity index 100% rename from test/core/fixtures/transformation/runtime/full/actual.js rename to packages/babel/test/fixtures/transformation/runtime/full/actual.js diff --git a/test/core/fixtures/transformation/runtime/full/expected.js b/packages/babel/test/fixtures/transformation/runtime/full/expected.js similarity index 100% rename from test/core/fixtures/transformation/runtime/full/expected.js rename to packages/babel/test/fixtures/transformation/runtime/full/expected.js diff --git a/test/core/fixtures/transformation/runtime/modules-amd/actual.js b/packages/babel/test/fixtures/transformation/runtime/modules-amd/actual.js similarity index 100% rename from test/core/fixtures/transformation/runtime/modules-amd/actual.js rename to packages/babel/test/fixtures/transformation/runtime/modules-amd/actual.js diff --git a/test/core/fixtures/transformation/runtime/modules-amd/expected.js b/packages/babel/test/fixtures/transformation/runtime/modules-amd/expected.js similarity index 100% rename from test/core/fixtures/transformation/runtime/modules-amd/expected.js rename to packages/babel/test/fixtures/transformation/runtime/modules-amd/expected.js diff --git a/test/core/fixtures/transformation/runtime/modules-amd/options.json b/packages/babel/test/fixtures/transformation/runtime/modules-amd/options.json similarity index 100% rename from test/core/fixtures/transformation/runtime/modules-amd/options.json rename to packages/babel/test/fixtures/transformation/runtime/modules-amd/options.json diff --git a/test/core/fixtures/transformation/runtime/modules-common/actual.js b/packages/babel/test/fixtures/transformation/runtime/modules-common/actual.js similarity index 100% rename from test/core/fixtures/transformation/runtime/modules-common/actual.js rename to packages/babel/test/fixtures/transformation/runtime/modules-common/actual.js diff --git a/test/core/fixtures/transformation/runtime/modules-common/expected.js b/packages/babel/test/fixtures/transformation/runtime/modules-common/expected.js similarity index 100% rename from test/core/fixtures/transformation/runtime/modules-common/expected.js rename to packages/babel/test/fixtures/transformation/runtime/modules-common/expected.js diff --git a/test/core/fixtures/transformation/runtime/modules-system/actual.js b/packages/babel/test/fixtures/transformation/runtime/modules-system/actual.js similarity index 100% rename from test/core/fixtures/transformation/runtime/modules-system/actual.js rename to packages/babel/test/fixtures/transformation/runtime/modules-system/actual.js diff --git a/test/core/fixtures/transformation/runtime/modules-system/expected.js b/packages/babel/test/fixtures/transformation/runtime/modules-system/expected.js similarity index 100% rename from test/core/fixtures/transformation/runtime/modules-system/expected.js rename to packages/babel/test/fixtures/transformation/runtime/modules-system/expected.js diff --git a/test/core/fixtures/transformation/runtime/modules-system/options.json b/packages/babel/test/fixtures/transformation/runtime/modules-system/options.json similarity index 100% rename from test/core/fixtures/transformation/runtime/modules-system/options.json rename to packages/babel/test/fixtures/transformation/runtime/modules-system/options.json diff --git a/test/core/fixtures/transformation/runtime/modules-umd/actual.js b/packages/babel/test/fixtures/transformation/runtime/modules-umd/actual.js similarity index 100% rename from test/core/fixtures/transformation/runtime/modules-umd/actual.js rename to packages/babel/test/fixtures/transformation/runtime/modules-umd/actual.js diff --git a/test/core/fixtures/transformation/runtime/modules-umd/expected.js b/packages/babel/test/fixtures/transformation/runtime/modules-umd/expected.js similarity index 100% rename from test/core/fixtures/transformation/runtime/modules-umd/expected.js rename to packages/babel/test/fixtures/transformation/runtime/modules-umd/expected.js diff --git a/test/core/fixtures/transformation/runtime/modules-umd/options.json b/packages/babel/test/fixtures/transformation/runtime/modules-umd/options.json similarity index 100% rename from test/core/fixtures/transformation/runtime/modules-umd/options.json rename to packages/babel/test/fixtures/transformation/runtime/modules-umd/options.json diff --git a/test/core/fixtures/transformation/runtime/options.json b/packages/babel/test/fixtures/transformation/runtime/options.json similarity index 100% rename from test/core/fixtures/transformation/runtime/options.json rename to packages/babel/test/fixtures/transformation/runtime/options.json diff --git a/test/core/fixtures/transformation/runtime/regenerator-runtime/actual.js b/packages/babel/test/fixtures/transformation/runtime/regenerator-runtime/actual.js similarity index 100% rename from test/core/fixtures/transformation/runtime/regenerator-runtime/actual.js rename to packages/babel/test/fixtures/transformation/runtime/regenerator-runtime/actual.js diff --git a/test/core/fixtures/transformation/runtime/regenerator-runtime/expected.js b/packages/babel/test/fixtures/transformation/runtime/regenerator-runtime/expected.js similarity index 100% rename from test/core/fixtures/transformation/runtime/regenerator-runtime/expected.js rename to packages/babel/test/fixtures/transformation/runtime/regenerator-runtime/expected.js diff --git a/test/core/fixtures/transformation/runtime/symbol-iterator-in/actual.js b/packages/babel/test/fixtures/transformation/runtime/symbol-iterator-in/actual.js similarity index 100% rename from test/core/fixtures/transformation/runtime/symbol-iterator-in/actual.js rename to packages/babel/test/fixtures/transformation/runtime/symbol-iterator-in/actual.js diff --git a/test/core/fixtures/transformation/runtime/symbol-iterator-in/expected.js b/packages/babel/test/fixtures/transformation/runtime/symbol-iterator-in/expected.js similarity index 100% rename from test/core/fixtures/transformation/runtime/symbol-iterator-in/expected.js rename to packages/babel/test/fixtures/transformation/runtime/symbol-iterator-in/expected.js diff --git a/test/core/fixtures/transformation/runtime/symbol-iterator/actual.js b/packages/babel/test/fixtures/transformation/runtime/symbol-iterator/actual.js similarity index 100% rename from test/core/fixtures/transformation/runtime/symbol-iterator/actual.js rename to packages/babel/test/fixtures/transformation/runtime/symbol-iterator/actual.js diff --git a/test/core/fixtures/transformation/runtime/symbol-iterator/expected.js b/packages/babel/test/fixtures/transformation/runtime/symbol-iterator/expected.js similarity index 100% rename from test/core/fixtures/transformation/runtime/symbol-iterator/expected.js rename to packages/babel/test/fixtures/transformation/runtime/symbol-iterator/expected.js diff --git a/test/core/fixtures/transformation/source-maps/arrow-function/actual.js b/packages/babel/test/fixtures/transformation/source-maps/arrow-function/actual.js similarity index 100% rename from test/core/fixtures/transformation/source-maps/arrow-function/actual.js rename to packages/babel/test/fixtures/transformation/source-maps/arrow-function/actual.js diff --git a/test/core/fixtures/transformation/source-maps/arrow-function/expected.js b/packages/babel/test/fixtures/transformation/source-maps/arrow-function/expected.js similarity index 100% rename from test/core/fixtures/transformation/source-maps/arrow-function/expected.js rename to packages/babel/test/fixtures/transformation/source-maps/arrow-function/expected.js diff --git a/test/core/fixtures/transformation/source-maps/arrow-function/source-mappings.json b/packages/babel/test/fixtures/transformation/source-maps/arrow-function/source-mappings.json similarity index 100% rename from test/core/fixtures/transformation/source-maps/arrow-function/source-mappings.json rename to packages/babel/test/fixtures/transformation/source-maps/arrow-function/source-mappings.json diff --git a/test/core/fixtures/transformation/source-maps/class/actual.js b/packages/babel/test/fixtures/transformation/source-maps/class/actual.js similarity index 100% rename from test/core/fixtures/transformation/source-maps/class/actual.js rename to packages/babel/test/fixtures/transformation/source-maps/class/actual.js diff --git a/test/core/fixtures/transformation/source-maps/class/expected.js b/packages/babel/test/fixtures/transformation/source-maps/class/expected.js similarity index 100% rename from test/core/fixtures/transformation/source-maps/class/expected.js rename to packages/babel/test/fixtures/transformation/source-maps/class/expected.js diff --git a/test/core/fixtures/transformation/source-maps/class/source-mappings.json b/packages/babel/test/fixtures/transformation/source-maps/class/source-mappings.json similarity index 100% rename from test/core/fixtures/transformation/source-maps/class/source-mappings.json rename to packages/babel/test/fixtures/transformation/source-maps/class/source-mappings.json diff --git a/test/core/fixtures/transformation/source-maps/full/actual.js b/packages/babel/test/fixtures/transformation/source-maps/full/actual.js similarity index 100% rename from test/core/fixtures/transformation/source-maps/full/actual.js rename to packages/babel/test/fixtures/transformation/source-maps/full/actual.js diff --git a/test/core/fixtures/transformation/source-maps/full/expected.js b/packages/babel/test/fixtures/transformation/source-maps/full/expected.js similarity index 100% rename from test/core/fixtures/transformation/source-maps/full/expected.js rename to packages/babel/test/fixtures/transformation/source-maps/full/expected.js diff --git a/test/core/fixtures/transformation/source-maps/full/source-map.json b/packages/babel/test/fixtures/transformation/source-maps/full/source-map.json similarity index 100% rename from test/core/fixtures/transformation/source-maps/full/source-map.json rename to packages/babel/test/fixtures/transformation/source-maps/full/source-map.json diff --git a/test/core/fixtures/transformation/source-maps/inline/actual.js b/packages/babel/test/fixtures/transformation/source-maps/inline/actual.js similarity index 100% rename from test/core/fixtures/transformation/source-maps/inline/actual.js rename to packages/babel/test/fixtures/transformation/source-maps/inline/actual.js diff --git a/test/core/fixtures/transformation/source-maps/inline/expected.js b/packages/babel/test/fixtures/transformation/source-maps/inline/expected.js similarity index 100% rename from test/core/fixtures/transformation/source-maps/inline/expected.js rename to packages/babel/test/fixtures/transformation/source-maps/inline/expected.js diff --git a/test/core/fixtures/transformation/source-maps/inline/options.json b/packages/babel/test/fixtures/transformation/source-maps/inline/options.json similarity index 100% rename from test/core/fixtures/transformation/source-maps/inline/options.json rename to packages/babel/test/fixtures/transformation/source-maps/inline/options.json diff --git a/test/core/fixtures/transformation/source-maps/options.json b/packages/babel/test/fixtures/transformation/source-maps/options.json similarity index 100% rename from test/core/fixtures/transformation/source-maps/options.json rename to packages/babel/test/fixtures/transformation/source-maps/options.json diff --git a/test/core/fixtures/transformation/spec.function-name/assignment/actual.js b/packages/babel/test/fixtures/transformation/spec.function-name/assignment/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/assignment/actual.js rename to packages/babel/test/fixtures/transformation/spec.function-name/assignment/actual.js diff --git a/test/core/fixtures/transformation/spec.function-name/assignment/expected.js b/packages/babel/test/fixtures/transformation/spec.function-name/assignment/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/assignment/expected.js rename to packages/babel/test/fixtures/transformation/spec.function-name/assignment/expected.js diff --git a/test/core/fixtures/transformation/spec.function-name/basic/actual.js b/packages/babel/test/fixtures/transformation/spec.function-name/basic/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/basic/actual.js rename to packages/babel/test/fixtures/transformation/spec.function-name/basic/actual.js diff --git a/test/core/fixtures/transformation/spec.function-name/basic/expected.js b/packages/babel/test/fixtures/transformation/spec.function-name/basic/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/basic/expected.js rename to packages/babel/test/fixtures/transformation/spec.function-name/basic/expected.js diff --git a/test/core/fixtures/transformation/spec.function-name/class-method/actual.js b/packages/babel/test/fixtures/transformation/spec.function-name/class-method/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/class-method/actual.js rename to packages/babel/test/fixtures/transformation/spec.function-name/class-method/actual.js diff --git a/test/core/fixtures/transformation/spec.function-name/class-method/expected.js b/packages/babel/test/fixtures/transformation/spec.function-name/class-method/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/class-method/expected.js rename to packages/babel/test/fixtures/transformation/spec.function-name/class-method/expected.js diff --git a/test/core/fixtures/transformation/spec.function-name/collisions/actual.js b/packages/babel/test/fixtures/transformation/spec.function-name/collisions/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/collisions/actual.js rename to packages/babel/test/fixtures/transformation/spec.function-name/collisions/actual.js diff --git a/test/core/fixtures/transformation/spec.function-name/collisions/expected.js b/packages/babel/test/fixtures/transformation/spec.function-name/collisions/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/collisions/expected.js rename to packages/babel/test/fixtures/transformation/spec.function-name/collisions/expected.js diff --git a/test/core/fixtures/transformation/spec.function-name/eval/actual.js b/packages/babel/test/fixtures/transformation/spec.function-name/eval/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/eval/actual.js rename to packages/babel/test/fixtures/transformation/spec.function-name/eval/actual.js diff --git a/test/core/fixtures/transformation/spec.function-name/eval/expected.js b/packages/babel/test/fixtures/transformation/spec.function-name/eval/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/eval/expected.js rename to packages/babel/test/fixtures/transformation/spec.function-name/eval/expected.js diff --git a/test/core/fixtures/transformation/spec.function-name/export/actual.js b/packages/babel/test/fixtures/transformation/spec.function-name/export/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/export/actual.js rename to packages/babel/test/fixtures/transformation/spec.function-name/export/actual.js diff --git a/test/core/fixtures/transformation/spec.function-name/export/expected.js b/packages/babel/test/fixtures/transformation/spec.function-name/export/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/export/expected.js rename to packages/babel/test/fixtures/transformation/spec.function-name/export/expected.js diff --git a/test/core/fixtures/transformation/spec.function-name/export/options.json b/packages/babel/test/fixtures/transformation/spec.function-name/export/options.json similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/export/options.json rename to packages/babel/test/fixtures/transformation/spec.function-name/export/options.json diff --git a/test/core/fixtures/transformation/spec.function-name/global/actual.js b/packages/babel/test/fixtures/transformation/spec.function-name/global/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/global/actual.js rename to packages/babel/test/fixtures/transformation/spec.function-name/global/actual.js diff --git a/test/core/fixtures/transformation/spec.function-name/global/expected.js b/packages/babel/test/fixtures/transformation/spec.function-name/global/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/global/expected.js rename to packages/babel/test/fixtures/transformation/spec.function-name/global/expected.js diff --git a/test/core/fixtures/transformation/spec.function-name/modules-2/actual.js b/packages/babel/test/fixtures/transformation/spec.function-name/modules-2/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/modules-2/actual.js rename to packages/babel/test/fixtures/transformation/spec.function-name/modules-2/actual.js diff --git a/test/core/fixtures/transformation/spec.function-name/modules-2/expected.js b/packages/babel/test/fixtures/transformation/spec.function-name/modules-2/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/modules-2/expected.js rename to packages/babel/test/fixtures/transformation/spec.function-name/modules-2/expected.js diff --git a/test/core/fixtures/transformation/spec.function-name/modules-3/actual.js b/packages/babel/test/fixtures/transformation/spec.function-name/modules-3/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/modules-3/actual.js rename to packages/babel/test/fixtures/transformation/spec.function-name/modules-3/actual.js diff --git a/test/core/fixtures/transformation/spec.function-name/modules-3/expected.js b/packages/babel/test/fixtures/transformation/spec.function-name/modules-3/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/modules-3/expected.js rename to packages/babel/test/fixtures/transformation/spec.function-name/modules-3/expected.js diff --git a/test/core/fixtures/transformation/spec.function-name/modules/actual.js b/packages/babel/test/fixtures/transformation/spec.function-name/modules/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/modules/actual.js rename to packages/babel/test/fixtures/transformation/spec.function-name/modules/actual.js diff --git a/test/core/fixtures/transformation/spec.function-name/modules/expected.js b/packages/babel/test/fixtures/transformation/spec.function-name/modules/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/modules/expected.js rename to packages/babel/test/fixtures/transformation/spec.function-name/modules/expected.js diff --git a/test/core/fixtures/transformation/spec.function-name/object/actual.js b/packages/babel/test/fixtures/transformation/spec.function-name/object/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/object/actual.js rename to packages/babel/test/fixtures/transformation/spec.function-name/object/actual.js diff --git a/test/core/fixtures/transformation/spec.function-name/object/expected.js b/packages/babel/test/fixtures/transformation/spec.function-name/object/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/object/expected.js rename to packages/babel/test/fixtures/transformation/spec.function-name/object/expected.js diff --git a/test/core/fixtures/transformation/spec.function-name/options.json b/packages/babel/test/fixtures/transformation/spec.function-name/options.json similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/options.json rename to packages/babel/test/fixtures/transformation/spec.function-name/options.json diff --git a/test/core/fixtures/transformation/spec.function-name/own-bindings/actual.js b/packages/babel/test/fixtures/transformation/spec.function-name/own-bindings/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/own-bindings/actual.js rename to packages/babel/test/fixtures/transformation/spec.function-name/own-bindings/actual.js diff --git a/test/core/fixtures/transformation/spec.function-name/own-bindings/expected.js b/packages/babel/test/fixtures/transformation/spec.function-name/own-bindings/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/own-bindings/expected.js rename to packages/babel/test/fixtures/transformation/spec.function-name/own-bindings/expected.js diff --git a/test/core/fixtures/transformation/spec.function-name/self-reference/actual.js b/packages/babel/test/fixtures/transformation/spec.function-name/self-reference/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/self-reference/actual.js rename to packages/babel/test/fixtures/transformation/spec.function-name/self-reference/actual.js diff --git a/test/core/fixtures/transformation/spec.function-name/self-reference/expected.js b/packages/babel/test/fixtures/transformation/spec.function-name/self-reference/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/self-reference/expected.js rename to packages/babel/test/fixtures/transformation/spec.function-name/self-reference/expected.js diff --git a/test/core/fixtures/transformation/spec.function-name/shorthand-property/actual.js b/packages/babel/test/fixtures/transformation/spec.function-name/shorthand-property/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/shorthand-property/actual.js rename to packages/babel/test/fixtures/transformation/spec.function-name/shorthand-property/actual.js diff --git a/test/core/fixtures/transformation/spec.function-name/shorthand-property/expected.js b/packages/babel/test/fixtures/transformation/spec.function-name/shorthand-property/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/shorthand-property/expected.js rename to packages/babel/test/fixtures/transformation/spec.function-name/shorthand-property/expected.js diff --git a/test/core/fixtures/transformation/spec.function-name/smoke/exec.js b/packages/babel/test/fixtures/transformation/spec.function-name/smoke/exec.js similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/smoke/exec.js rename to packages/babel/test/fixtures/transformation/spec.function-name/smoke/exec.js diff --git a/test/core/fixtures/transformation/spec.function-name/smoke/options.json b/packages/babel/test/fixtures/transformation/spec.function-name/smoke/options.json similarity index 100% rename from test/core/fixtures/transformation/spec.function-name/smoke/options.json rename to packages/babel/test/fixtures/transformation/spec.function-name/smoke/options.json diff --git a/test/core/fixtures/transformation/spec.proto-to-assign/assignment-expression/actual.js b/packages/babel/test/fixtures/transformation/spec.proto-to-assign/assignment-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.proto-to-assign/assignment-expression/actual.js rename to packages/babel/test/fixtures/transformation/spec.proto-to-assign/assignment-expression/actual.js diff --git a/test/core/fixtures/transformation/spec.proto-to-assign/assignment-expression/expected.js b/packages/babel/test/fixtures/transformation/spec.proto-to-assign/assignment-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.proto-to-assign/assignment-expression/expected.js rename to packages/babel/test/fixtures/transformation/spec.proto-to-assign/assignment-expression/expected.js diff --git a/test/core/fixtures/transformation/spec.proto-to-assign/assignment-statement/actual.js b/packages/babel/test/fixtures/transformation/spec.proto-to-assign/assignment-statement/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.proto-to-assign/assignment-statement/actual.js rename to packages/babel/test/fixtures/transformation/spec.proto-to-assign/assignment-statement/actual.js diff --git a/test/core/fixtures/transformation/spec.proto-to-assign/assignment-statement/expected.js b/packages/babel/test/fixtures/transformation/spec.proto-to-assign/assignment-statement/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.proto-to-assign/assignment-statement/expected.js rename to packages/babel/test/fixtures/transformation/spec.proto-to-assign/assignment-statement/expected.js diff --git a/test/core/fixtures/transformation/spec.proto-to-assign/class/actual.js b/packages/babel/test/fixtures/transformation/spec.proto-to-assign/class/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.proto-to-assign/class/actual.js rename to packages/babel/test/fixtures/transformation/spec.proto-to-assign/class/actual.js diff --git a/test/core/fixtures/transformation/spec.proto-to-assign/class/expected.js b/packages/babel/test/fixtures/transformation/spec.proto-to-assign/class/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.proto-to-assign/class/expected.js rename to packages/babel/test/fixtures/transformation/spec.proto-to-assign/class/expected.js diff --git a/test/core/fixtures/transformation/spec.proto-to-assign/object-literal/actual.js b/packages/babel/test/fixtures/transformation/spec.proto-to-assign/object-literal/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.proto-to-assign/object-literal/actual.js rename to packages/babel/test/fixtures/transformation/spec.proto-to-assign/object-literal/actual.js diff --git a/test/core/fixtures/transformation/spec.proto-to-assign/object-literal/expected.js b/packages/babel/test/fixtures/transformation/spec.proto-to-assign/object-literal/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.proto-to-assign/object-literal/expected.js rename to packages/babel/test/fixtures/transformation/spec.proto-to-assign/object-literal/expected.js diff --git a/test/core/fixtures/transformation/spec.proto-to-assign/options.json b/packages/babel/test/fixtures/transformation/spec.proto-to-assign/options.json similarity index 100% rename from test/core/fixtures/transformation/spec.proto-to-assign/options.json rename to packages/babel/test/fixtures/transformation/spec.proto-to-assign/options.json diff --git a/test/core/fixtures/transformation/spec.undefined-to-void/basic/actual.js b/packages/babel/test/fixtures/transformation/spec.undefined-to-void/basic/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.undefined-to-void/basic/actual.js rename to packages/babel/test/fixtures/transformation/spec.undefined-to-void/basic/actual.js diff --git a/test/core/fixtures/transformation/spec.undefined-to-void/basic/expected.js b/packages/babel/test/fixtures/transformation/spec.undefined-to-void/basic/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.undefined-to-void/basic/expected.js rename to packages/babel/test/fixtures/transformation/spec.undefined-to-void/basic/expected.js diff --git a/test/core/fixtures/transformation/spec.undefined-to-void/member-expression/actual.js b/packages/babel/test/fixtures/transformation/spec.undefined-to-void/member-expression/actual.js similarity index 100% rename from test/core/fixtures/transformation/spec.undefined-to-void/member-expression/actual.js rename to packages/babel/test/fixtures/transformation/spec.undefined-to-void/member-expression/actual.js diff --git a/test/core/fixtures/transformation/spec.undefined-to-void/member-expression/expected.js b/packages/babel/test/fixtures/transformation/spec.undefined-to-void/member-expression/expected.js similarity index 100% rename from test/core/fixtures/transformation/spec.undefined-to-void/member-expression/expected.js rename to packages/babel/test/fixtures/transformation/spec.undefined-to-void/member-expression/expected.js diff --git a/test/core/fixtures/transformation/spec.undefined-to-void/options.json b/packages/babel/test/fixtures/transformation/spec.undefined-to-void/options.json similarity index 100% rename from test/core/fixtures/transformation/spec.undefined-to-void/options.json rename to packages/babel/test/fixtures/transformation/spec.undefined-to-void/options.json diff --git a/test/core/fixtures/transformation/strict/leading-comments-with-existing/actual.js b/packages/babel/test/fixtures/transformation/strict/leading-comments-with-existing/actual.js similarity index 100% rename from test/core/fixtures/transformation/strict/leading-comments-with-existing/actual.js rename to packages/babel/test/fixtures/transformation/strict/leading-comments-with-existing/actual.js diff --git a/test/core/fixtures/transformation/strict/leading-comments-with-existing/expected.js b/packages/babel/test/fixtures/transformation/strict/leading-comments-with-existing/expected.js similarity index 100% rename from test/core/fixtures/transformation/strict/leading-comments-with-existing/expected.js rename to packages/babel/test/fixtures/transformation/strict/leading-comments-with-existing/expected.js diff --git a/test/core/fixtures/transformation/strict/leading-comments/actual.js b/packages/babel/test/fixtures/transformation/strict/leading-comments/actual.js similarity index 100% rename from test/core/fixtures/transformation/strict/leading-comments/actual.js rename to packages/babel/test/fixtures/transformation/strict/leading-comments/actual.js diff --git a/test/core/fixtures/transformation/strict/leading-comments/expected.js b/packages/babel/test/fixtures/transformation/strict/leading-comments/expected.js similarity index 100% rename from test/core/fixtures/transformation/strict/leading-comments/expected.js rename to packages/babel/test/fixtures/transformation/strict/leading-comments/expected.js diff --git a/test/core/fixtures/transformation/strict/undefined-this-arrow-function/actual.js b/packages/babel/test/fixtures/transformation/strict/undefined-this-arrow-function/actual.js similarity index 100% rename from test/core/fixtures/transformation/strict/undefined-this-arrow-function/actual.js rename to packages/babel/test/fixtures/transformation/strict/undefined-this-arrow-function/actual.js diff --git a/test/core/fixtures/transformation/strict/undefined-this-arrow-function/expected.js b/packages/babel/test/fixtures/transformation/strict/undefined-this-arrow-function/expected.js similarity index 100% rename from test/core/fixtures/transformation/strict/undefined-this-arrow-function/expected.js rename to packages/babel/test/fixtures/transformation/strict/undefined-this-arrow-function/expected.js diff --git a/test/core/fixtures/transformation/strict/undefined-this-root-call/actual.js b/packages/babel/test/fixtures/transformation/strict/undefined-this-root-call/actual.js similarity index 100% rename from test/core/fixtures/transformation/strict/undefined-this-root-call/actual.js rename to packages/babel/test/fixtures/transformation/strict/undefined-this-root-call/actual.js diff --git a/test/core/fixtures/transformation/strict/undefined-this-root-call/expected.js b/packages/babel/test/fixtures/transformation/strict/undefined-this-root-call/expected.js similarity index 100% rename from test/core/fixtures/transformation/strict/undefined-this-root-call/expected.js rename to packages/babel/test/fixtures/transformation/strict/undefined-this-root-call/expected.js diff --git a/test/core/fixtures/transformation/strict/undefined-this-root-declaration/actual.js b/packages/babel/test/fixtures/transformation/strict/undefined-this-root-declaration/actual.js similarity index 100% rename from test/core/fixtures/transformation/strict/undefined-this-root-declaration/actual.js rename to packages/babel/test/fixtures/transformation/strict/undefined-this-root-declaration/actual.js diff --git a/test/core/fixtures/transformation/strict/undefined-this-root-declaration/expected.js b/packages/babel/test/fixtures/transformation/strict/undefined-this-root-declaration/expected.js similarity index 100% rename from test/core/fixtures/transformation/strict/undefined-this-root-declaration/expected.js rename to packages/babel/test/fixtures/transformation/strict/undefined-this-root-declaration/expected.js diff --git a/test/core/fixtures/transformation/strict/undefined-this-root-reference/actual.js b/packages/babel/test/fixtures/transformation/strict/undefined-this-root-reference/actual.js similarity index 100% rename from test/core/fixtures/transformation/strict/undefined-this-root-reference/actual.js rename to packages/babel/test/fixtures/transformation/strict/undefined-this-root-reference/actual.js diff --git a/test/core/fixtures/transformation/strict/undefined-this-root-reference/expected.js b/packages/babel/test/fixtures/transformation/strict/undefined-this-root-reference/expected.js similarity index 100% rename from test/core/fixtures/transformation/strict/undefined-this-root-reference/expected.js rename to packages/babel/test/fixtures/transformation/strict/undefined-this-root-reference/expected.js diff --git a/test/core/fixtures/transformation/strict/use-strict-add/actual.js b/packages/babel/test/fixtures/transformation/strict/use-strict-add/actual.js similarity index 100% rename from test/core/fixtures/transformation/strict/use-strict-add/actual.js rename to packages/babel/test/fixtures/transformation/strict/use-strict-add/actual.js diff --git a/test/core/fixtures/transformation/strict/use-strict-add/expected.js b/packages/babel/test/fixtures/transformation/strict/use-strict-add/expected.js similarity index 100% rename from test/core/fixtures/transformation/strict/use-strict-add/expected.js rename to packages/babel/test/fixtures/transformation/strict/use-strict-add/expected.js diff --git a/test/core/fixtures/transformation/strict/use-strict-exists/actual.js b/packages/babel/test/fixtures/transformation/strict/use-strict-exists/actual.js similarity index 100% rename from test/core/fixtures/transformation/strict/use-strict-exists/actual.js rename to packages/babel/test/fixtures/transformation/strict/use-strict-exists/actual.js diff --git a/test/core/fixtures/transformation/strict/use-strict-exists/expected.js b/packages/babel/test/fixtures/transformation/strict/use-strict-exists/expected.js similarity index 100% rename from test/core/fixtures/transformation/strict/use-strict-exists/expected.js rename to packages/babel/test/fixtures/transformation/strict/use-strict-exists/expected.js diff --git a/test/core/fixtures/transformation/validation.undeclared-variable-check/declared/exec.js b/packages/babel/test/fixtures/transformation/validation.undeclared-variable-check/declared/exec.js similarity index 100% rename from test/core/fixtures/transformation/validation.undeclared-variable-check/declared/exec.js rename to packages/babel/test/fixtures/transformation/validation.undeclared-variable-check/declared/exec.js diff --git a/test/core/fixtures/transformation/validation.undeclared-variable-check/options.json b/packages/babel/test/fixtures/transformation/validation.undeclared-variable-check/options.json similarity index 100% rename from test/core/fixtures/transformation/validation.undeclared-variable-check/options.json rename to packages/babel/test/fixtures/transformation/validation.undeclared-variable-check/options.json diff --git a/test/core/fixtures/transformation/validation.undeclared-variable-check/undeclared-shorthand-property/exec.js b/packages/babel/test/fixtures/transformation/validation.undeclared-variable-check/undeclared-shorthand-property/exec.js similarity index 100% rename from test/core/fixtures/transformation/validation.undeclared-variable-check/undeclared-shorthand-property/exec.js rename to packages/babel/test/fixtures/transformation/validation.undeclared-variable-check/undeclared-shorthand-property/exec.js diff --git a/test/core/fixtures/transformation/validation.undeclared-variable-check/undeclared-shorthand-property/options.json b/packages/babel/test/fixtures/transformation/validation.undeclared-variable-check/undeclared-shorthand-property/options.json similarity index 100% rename from test/core/fixtures/transformation/validation.undeclared-variable-check/undeclared-shorthand-property/options.json rename to packages/babel/test/fixtures/transformation/validation.undeclared-variable-check/undeclared-shorthand-property/options.json diff --git a/test/core/fixtures/transformation/validation.undeclared-variable-check/undeclared/exec.js b/packages/babel/test/fixtures/transformation/validation.undeclared-variable-check/undeclared/exec.js similarity index 100% rename from test/core/fixtures/transformation/validation.undeclared-variable-check/undeclared/exec.js rename to packages/babel/test/fixtures/transformation/validation.undeclared-variable-check/undeclared/exec.js diff --git a/test/core/fixtures/transformation/validation.undeclared-variable-check/undeclared/options.json b/packages/babel/test/fixtures/transformation/validation.undeclared-variable-check/undeclared/options.json similarity index 100% rename from test/core/fixtures/transformation/validation.undeclared-variable-check/undeclared/options.json rename to packages/babel/test/fixtures/transformation/validation.undeclared-variable-check/undeclared/options.json diff --git a/test/core/fixtures/transformation/validation/for-in-assignment/actual.js b/packages/babel/test/fixtures/transformation/validation/for-in-assignment/actual.js similarity index 100% rename from test/core/fixtures/transformation/validation/for-in-assignment/actual.js rename to packages/babel/test/fixtures/transformation/validation/for-in-assignment/actual.js diff --git a/test/core/fixtures/transformation/validation/for-in-assignment/options.json b/packages/babel/test/fixtures/transformation/validation/for-in-assignment/options.json similarity index 100% rename from test/core/fixtures/transformation/validation/for-in-assignment/options.json rename to packages/babel/test/fixtures/transformation/validation/for-in-assignment/options.json diff --git a/test/core/fixtures/transformation/validation/for-of-assignment/actual.js b/packages/babel/test/fixtures/transformation/validation/for-of-assignment/actual.js similarity index 100% rename from test/core/fixtures/transformation/validation/for-of-assignment/actual.js rename to packages/babel/test/fixtures/transformation/validation/for-of-assignment/actual.js diff --git a/test/core/fixtures/transformation/validation/for-of-assignment/options.json b/packages/babel/test/fixtures/transformation/validation/for-of-assignment/options.json similarity index 100% rename from test/core/fixtures/transformation/validation/for-of-assignment/options.json rename to packages/babel/test/fixtures/transformation/validation/for-of-assignment/options.json diff --git a/test/core/generation.js b/packages/babel/test/generation.js similarity index 71% rename from test/core/generation.js rename to packages/babel/test/generation.js index 657983c214..49f1960271 100644 --- a/test/core/generation.js +++ b/packages/babel/test/generation.js @@ -1,9 +1,9 @@ -var generate = require("../../lib/babel/generation"); +var generate = require("../lib/generation"); var assert = require("assert"); var helper = require("./_helper"); -var parse = require("../../lib/babel/helpers/parse"); +var parse = require("../lib/helpers/parse"); var chai = require("chai"); -var t = require("../../lib/babel/types"); +var t = require("../lib/types"); var _ = require("lodash"); suite("generation", function () { @@ -22,11 +22,11 @@ suite("generation", function () { _.each(helper.get("generation"), function (testSuite) { suite("generation/" + testSuite.title, function () { _.each(testSuite.tests, function (task) { - test(task.title, !task.disabled && function () { + test(task.title, !task.disabled && function (done) { var expect = task.expect; var actual = task.actual; - var actualAst = parse(actual.code, { + parse(actual.code, { filename: actual.loc, nonStandard: true, strictMode: false, @@ -38,10 +38,11 @@ _.each(helper.get("generation"), function (testSuite) { "es7.exportExtensions": true, "es7.functionBind": true } - }); - var actualCode = generate(actualAst, task.options, actual.code).code; - - chai.expect(actualCode).to.equal(expect.code, actual.loc + " !== " + expect.loc); + }).then(function (actualAst) { + var actualCode = generate(actualAst, task.options, actual.code).code; + chai.expect(actualCode).to.equal(expect.code, actual.loc + " !== " + expect.loc); + done(); + }, done); }); }); }); diff --git a/packages/babel/test/mocha.opts b/packages/babel/test/mocha.opts new file mode 100644 index 0000000000..850a6c2f64 --- /dev/null +++ b/packages/babel/test/mocha.opts @@ -0,0 +1,2 @@ +--reporter dot +--ui tdd diff --git a/packages/babel/test/tmp/bar2.js b/packages/babel/test/tmp/bar2.js new file mode 100644 index 0000000000..26c2d21a78 --- /dev/null +++ b/packages/babel/test/tmp/bar2.js @@ -0,0 +1,2 @@ +var bar = () => console.log("bar"); +bar(); \ No newline at end of file diff --git a/packages/babel/test/tmp/foo2.js b/packages/babel/test/tmp/foo2.js new file mode 100644 index 0000000000..4c4e8d7d6d --- /dev/null +++ b/packages/babel/test/tmp/foo2.js @@ -0,0 +1,5 @@ +import "./bar2"; +import "./not_node_modules"; + +var foo = () => console.log("foo"); +foo(); \ No newline at end of file diff --git a/packages/babel/test/tmp/not_node_modules.jsx b/packages/babel/test/tmp/not_node_modules.jsx new file mode 100644 index 0000000000..d46284bf2d --- /dev/null +++ b/packages/babel/test/tmp/not_node_modules.jsx @@ -0,0 +1,10 @@ +/* +The purpose of this file is to test that the node_modules check in the require +hook doesn't mistakenly exclude something like "not_node_modules". To pass, this +file merely needs to be transpiled. The transpiled code won't, and doesn't need +to, execute without error. It won't execute because React will be undefined. +*/ +try { + ; +} +catch (e) {} \ No newline at end of file diff --git a/test/core/traceur.js b/packages/babel/test/traceur.js similarity index 97% rename from test/core/traceur.js rename to packages/babel/test/traceur.js index 548b6aa902..18985a8f51 100644 --- a/test/core/traceur.js +++ b/packages/babel/test/traceur.js @@ -5,7 +5,7 @@ var _ = require("lodash"); require("./_transformation-helper")({ name: "traceur", - loc: __dirname + "/../../vendor/traceur/test/feature", + loc: __dirname + "/../../../vendor/traceur/test/feature", ignoreSuites: [ // weird environmental issue make these hard to test diff --git a/test/core/transformation.js b/packages/babel/test/transformation.js similarity index 100% rename from test/core/transformation.js rename to packages/babel/test/transformation.js diff --git a/test/core/traverse.js b/packages/babel/test/traverse.js similarity index 98% rename from test/core/traverse.js rename to packages/babel/test/traverse.js index 6c9013aaec..d33dc90934 100644 --- a/test/core/traverse.js +++ b/packages/babel/test/traverse.js @@ -1,4 +1,4 @@ -var traverse = require("../../lib/babel/traversal"); +var traverse = require("../lib/traversal"); var assert = require("assert"); var _ = require("lodash"); diff --git a/test/core/types.js b/packages/babel/test/types.js similarity index 100% rename from test/core/types.js rename to packages/babel/test/types.js diff --git a/test/core/util.js b/packages/babel/test/util.js similarity index 84% rename from test/core/util.js rename to packages/babel/test/util.js index 06a3acf8da..1fccf8ec77 100644 --- a/test/core/util.js +++ b/packages/babel/test/util.js @@ -1,7 +1,7 @@ var assert = require("assert"); -var util = require("../../lib/babel/util"); -var parse = require("../../lib/babel/helpers/parse"); -var t = require("../../lib/babel/types"); +var util = require("../lib/util"); +var parse = require("../lib/helpers/parse"); +var t = require("../lib/types"); suite("util", function () { test("invalid template", function () { @@ -12,18 +12,27 @@ suite("util", function () { test("templates do not recurse", function () { var key = __filename; - var KEY = parse("replacedKey").program.body[0].expression; - var VALUE = parse("+KEY").program.body[0].expression; - util.templates[key] = util.parseTemplate(key, "KEY = VALUE;"); - var result = util.template(key, { KEY: KEY, VALUE: VALUE }); - delete util.templates[key]; - assert.strictEqual( - result.right.argument.name, - "KEY", - "template should not recurse into replaced nodes, replacing KEY inside VALUE" - ); + return parse("replacedKey").then(function (result) { + var KEY = result.program.body[0].expression; + + return parse("+KEY").then(function (result) { + var VALUE = result.program.body[0].expression; + + return util.parseTemplate(key, "KEY = VALUE;").then(function (template) { + util.templates[key] = template; + var result = util.template(key, { KEY: KEY, VALUE: VALUE }); + delete util.templates[key]; + + assert.strictEqual( + result.right.argument.name, + "KEY", + "template should not recurse into replaced nodes, replacing KEY inside VALUE" + ); + }); + }); + }); }); test("canCompile", function () { diff --git a/packages/babylon/README.md b/packages/babylon/README.md new file mode 100644 index 0000000000..d8da1c161c --- /dev/null +++ b/packages/babylon/README.md @@ -0,0 +1,7 @@ +

+ babylon +

+ +

+ Babylon is a streaming parser for Babel. +

diff --git a/packages/babylon/package.json b/packages/babylon/package.json new file mode 100644 index 0000000000..767cde522a --- /dev/null +++ b/packages/babylon/package.json @@ -0,0 +1,12 @@ +{ + "name": "babylon", + "description": "", + "author": "Sebastian McKenzie ", + "homepage": "https://babeljs.io/", + "license": "MIT", + "repository": "babel/babel", + "main": "lib/index.js", + "dependencies": { + "bluebird": "^2.9.33" + } +} diff --git a/packages/babylon/src/expression.js b/packages/babylon/src/expression.js new file mode 100755 index 0000000000..2126431a17 --- /dev/null +++ b/packages/babylon/src/expression.js @@ -0,0 +1,867 @@ +// A recursive descent parser operates by defining functions for all +// syntactic elements, and recursively calling those, each function +// advancing the input stream and returning an AST node. Precedence +// of constructs (for example, the fact that `!x[1]` means `!(x[1])` +// instead of `(!x)[1]` is handled by the fact that the parser +// function that parses unary prefix operators is called first, and +// in turn calls the function that parses `[]` subscripts — that +// way, it'll receive the node for `x[1]` already parsed, and wraps +// *that* in the unary operator node. +// +// Acorn uses an [operator precedence parser][opp] to handle binary +// operator precedence, because it is much more compact than using +// the technique outlined above, which uses different, nesting +// functions to specify precedence, for all of the ten binary +// precedence levels that JavaScript defines. +// +// [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser + +import {types as tt} from "./tokentype"; +import {Parser} from "./state"; +import {reservedWords} from "./identifier"; +import {has} from "./util"; + +const pp = Parser.prototype; + +// Check if property name clashes with already added. +// Object/class getters and setters are not allowed to clash — +// either with each other or with an init property — and in +// strict mode, init properties are also not allowed to be repeated. + +pp.checkPropClash = function (prop, propHash) { + if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand)) + return; + let key = prop.key, name; + switch (key.type) { + case "Identifier": name = key.name; break; + case "Literal": name = String(key.value); break; + default: return; + } + let kind = prop.kind; + if (this.options.ecmaVersion >= 6) { + if (name === "__proto__" && kind === "init") { + if (propHash.proto) this.raise(key.start, "Redefinition of __proto__ property"); + propHash.proto = true; + } + return; + } + let other; + if (propHash[name]) { + other = propHash[name]; + let isGetSet = kind !== "init"; + if ((this.strict || isGetSet) && other[kind] || !(isGetSet ^ other.init)) + this.raise(key.start, "Redefinition of property"); + } else { + other = propHash[name] = { + init: false, + get: false, + set: false + }; + } + other[kind] = true; +}; + +// ### Expression parsing + +// These nest, from the most general expression type at the top to +// 'atomic', nondivisible expression types at the bottom. Most of +// the functions will simply let the function (s) below them parse, +// and, *if* the syntactic construct they handle is present, wrap +// the AST node that the inner parser gave them in another node. + +// Parse a full expression. The optional arguments are used to +// forbid the `in` operator (in for loops initalization expressions) +// and provide reference for storing '=' operator inside shorthand +// property assignment in contexts where both object expression +// and object pattern might appear (so it's possible to raise +// delayed syntax error at correct position). + +pp.parseExpression = function (noIn, refShorthandDefaultPos) { + let startPos = this.start, startLoc = this.startLoc; + let expr = this.parseMaybeAssign(noIn, refShorthandDefaultPos); + if (this.type === tt.comma) { + let node = this.startNodeAt(startPos, startLoc); + node.expressions = [expr]; + while (this.eat(tt.comma)) { + node.expressions.push(this.parseMaybeAssign(noIn, refShorthandDefaultPos)); + } + return this.finishNode(node, "SequenceExpression"); + } + return expr; +}; + +// Parse an assignment expression. This includes applications of +// operators like `+=`. + +pp.parseMaybeAssign = function (noIn, refShorthandDefaultPos, afterLeftParse) { + if (this.type === tt._yield && this.inGenerator) { + return this.parseYield(); + } + + let failOnShorthandAssign; + if (!refShorthandDefaultPos) { + refShorthandDefaultPos = {start: 0}; + failOnShorthandAssign = true; + } else { + failOnShorthandAssign = false; + } + let startPos = this.start, startLoc = this.startLoc; + if (this.type === tt.parenL || this.type === tt.name) + this.potentialArrowAt = this.start; + let left = this.parseMaybeConditional(noIn, refShorthandDefaultPos); + if (afterLeftParse) left = afterLeftParse.call(this, left, startPos, startLoc); + if (this.type.isAssign) { + let node = this.startNodeAt(startPos, startLoc); + node.operator = this.value; + node.left = this.type === tt.eq ? this.toAssignable(left) : left; + refShorthandDefaultPos.start = 0; // reset because shorthand default was used correctly + this.checkLVal(left); + if (left.parenthesizedExpression) { + let errorMsg; + if (left.type === "ObjectPattern") { + errorMsg = "`({a}) = 0` use `({a} = 0)`"; + } else if (left.type === "ArrayPattern") { + errorMsg = "`([a]) = 0` use `([a] = 0)`"; + } + if (errorMsg) { + this.raise(left.start, `You're trying to assign to a parenthesized expression, eg. instead of ${errorMsg}`); + } + } + this.next(); + node.right = this.parseMaybeAssign(noIn); + return this.finishNode(node, "AssignmentExpression"); + } else if (failOnShorthandAssign && refShorthandDefaultPos.start) { + this.unexpected(refShorthandDefaultPos.start); + } + return left; +}; + +// Parse a ternary conditional (`?:`) operator. + +pp.parseMaybeConditional = function (noIn, refShorthandDefaultPos) { + let startPos = this.start, startLoc = this.startLoc; + let expr = this.parseExprOps(noIn, refShorthandDefaultPos); + if (refShorthandDefaultPos && refShorthandDefaultPos.start) return expr; + if (this.eat(tt.question)) { + let node = this.startNodeAt(startPos, startLoc); + node.test = expr; + node.consequent = this.parseMaybeAssign(); + this.expect(tt.colon); + node.alternate = this.parseMaybeAssign(noIn); + return this.finishNode(node, "ConditionalExpression"); + } + return expr; +}; + +// Start the precedence parser. + +pp.parseExprOps = function (noIn, refShorthandDefaultPos) { + let startPos = this.start, startLoc = this.startLoc; + let expr = this.parseMaybeUnary(refShorthandDefaultPos); + if (refShorthandDefaultPos && refShorthandDefaultPos.start) return expr; + return this.parseExprOp(expr, startPos, startLoc, -1, noIn); +}; + +// Parse binary operators with the operator precedence parsing +// algorithm. `left` is the left-hand side of the operator. +// `minPrec` provides context that allows the function to stop and +// defer further parser to one of its callers when it encounters an +// operator that has a lower precedence than the set it is parsing. + +pp.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) { + let prec = this.type.binop; + if (prec != null && (!noIn || this.type !== tt._in)) { + if (prec > minPrec) { + let node = this.startNodeAt(leftStartPos, leftStartLoc); + node.left = left; + node.operator = this.value; + let op = this.type; + this.next(); + let startPos = this.start, startLoc = this.startLoc; + node.right = this.parseExprOp(this.parseMaybeUnary(), startPos, startLoc, op.rightAssociative ? prec - 1 : prec, noIn); + this.finishNode(node, (op === tt.logicalOR || op === tt.logicalAND) ? "LogicalExpression" : "BinaryExpression"); + return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn); + } + } + return left; +}; + +// Parse unary operators, both prefix and postfix. + +pp.parseMaybeUnary = function (refShorthandDefaultPos) { + if (this.type.prefix) { + let node = this.startNode(), update = this.type === tt.incDec; + node.operator = this.value; + node.prefix = true; + this.next(); + node.argument = this.parseMaybeUnary(); + if (refShorthandDefaultPos && refShorthandDefaultPos.start) this.unexpected(refShorthandDefaultPos.start); + if (update) this.checkLVal(node.argument); + else if (this.strict && node.operator === "delete" && + node.argument.type === "Identifier") + this.raise(node.start, "Deleting local variable in strict mode"); + return this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression"); + } + let startPos = this.start, startLoc = this.startLoc; + let expr = this.parseExprSubscripts(refShorthandDefaultPos); + if (refShorthandDefaultPos && refShorthandDefaultPos.start) return expr; + while (this.type.postfix && !this.canInsertSemicolon()) { + let node = this.startNodeAt(startPos, startLoc); + node.operator = this.value; + node.prefix = false; + node.argument = expr; + this.checkLVal(expr); + this.next(); + expr = this.finishNode(node, "UpdateExpression"); + } + return expr; +}; + +// Parse call, dot, and `[]`-subscript expressions. + +pp.parseExprSubscripts = function (refShorthandDefaultPos) { + let startPos = this.start, startLoc = this.startLoc; + let expr = this.parseExprAtom(refShorthandDefaultPos); + if (refShorthandDefaultPos && refShorthandDefaultPos.start) { + return expr; + } else { + return this.parseSubscripts(expr, startPos, startLoc); + } +}; + +pp.parseSubscripts = function(base, startPos, startLoc, noCalls) { + for (;;) { + if (!noCalls && this.eat(tt.doubleColon)) { + let node = this.startNodeAt(startPos, startLoc); + node.object = base; + node.callee = this.parseNoCallExpr(); + return this.parseSubscripts(this.finishNode(node, "BindExpression"), startPos, startLoc, noCalls); + } else if (this.eat(tt.dot)) { + let node = this.startNodeAt(startPos, startLoc); + node.object = base; + node.property = this.parseIdent(true); + node.computed = false; + base = this.finishNode(node, "MemberExpression"); + } else if (this.eat(tt.bracketL)) { + let node = this.startNodeAt(startPos, startLoc); + node.object = base; + node.property = this.parseExpression(); + node.computed = true; + this.expect(tt.bracketR); + base = this.finishNode(node, "MemberExpression"); + } else if (!noCalls && this.eat(tt.parenL)) { + let node = this.startNodeAt(startPos, startLoc); + node.callee = base; + node.arguments = this.parseExprList(tt.parenR, this.options.features["es7.trailingFunctionCommas"]); + base = this.finishNode(node, "CallExpression"); + } else if (this.type === tt.backQuote) { + let node = this.startNodeAt(startPos, startLoc); + node.tag = base; + node.quasi = this.parseTemplate(); + base = this.finishNode(node, "TaggedTemplateExpression"); + } else { + return base; + } + } +}; + +// Parse a no-call expression (like argument of `new` or `::` operators). + +pp.parseNoCallExpr = function () { + let startPos = this.start, startLoc = this.startLoc; + return this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true); +}; + +// Parse an atomic expression — either a single token that is an +// expression, an expression started by a keyword like `function` or +// `new`, or an expression wrapped in punctuation like `()`, `[]`, +// or `{}`. + +pp.parseExprAtom = function (refShorthandDefaultPos) { + let node, canBeArrow = this.potentialArrowAt === this.start; + switch (this.type) { + case tt._super: + if (!this.inFunction) + this.raise(this.start, "'super' outside of function or class"); + case tt._this: + let type = this.type === tt._this ? "ThisExpression" : "Super"; + node = this.startNode(); + this.next(); + return this.finishNode(node, type); + + case tt._yield: + if (this.inGenerator) this.unexpected(); + + case tt._do: + if (this.options.features["es7.doExpressions"]) { + let node = this.startNode(); + this.next(); + var oldInFunction = this.inFunction; + var oldLabels = this.labels; + this.labels = []; + this.inFunction = false; + node.body = this.parseBlock(); + this.inFunction = oldInFunction; + this.labels = oldLabels; + return this.finishNode(node, "DoExpression"); + } + + case tt.name: + let startPos = this.start, startLoc = this.startLoc; + node = this.startNode(); + let id = this.parseIdent(true); + + // + if (this.options.features["es7.asyncFunctions"]) { + // async functions! + if (id.name === "async" && !this.canInsertSemicolon()) { + // arrow functions + if (this.type === tt.parenL) { + let expr = this.parseParenAndDistinguishExpression(startPos, startLoc, true, true); + if (expr && expr.type === "ArrowFunctionExpression") { + return expr; + } else { + node.callee = id; + if (!expr) { + node.arguments = []; + } else if (expr.type === "SequenceExpression") { + node.arguments = expr.expressions; + } else { + node.arguments = [expr]; + } + return this.parseSubscripts(this.finishNode(node, "CallExpression"), startPos, startLoc); + } + } else if (this.type === tt.name) { + id = this.parseIdent(); + this.expect(tt.arrow); + return this.parseArrowExpression(node, [id], true); + } + + // normal functions + if (this.type === tt._function && !this.canInsertSemicolon()) { + this.next(); + return this.parseFunction(node, false, false, true); + } + } else if (id.name === "await") { + if (this.inAsync) return this.parseAwait(node); + } + } + // + + if (canBeArrow && !this.canInsertSemicolon() && this.eat(tt.arrow)) + return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id]); + + return id; + + case tt.regexp: + let value = this.value; + node = this.parseLiteral(value.value); + node.regex = {pattern: value.pattern, flags: value.flags}; + return node; + + case tt.num: case tt.string: + return this.parseLiteral(this.value); + + case tt._null: case tt._true: case tt._false: + node = this.startNode(); + node.value = this.type === tt._null ? null : this.type === tt._true; + node.raw = this.type.keyword; + this.next(); + return this.finishNode(node, "Literal"); + + case tt.parenL: + return this.parseParenAndDistinguishExpression(null, null, canBeArrow); + + case tt.bracketL: + node = this.startNode(); + this.next(); + // check whether this is array comprehension or regular array + if ((this.options.ecmaVersion >= 7 || this.options.features["es7.comprehensions"]) && this.type === tt._for) { + return this.parseComprehension(node, false); + } + node.elements = this.parseExprList(tt.bracketR, true, true, refShorthandDefaultPos); + return this.finishNode(node, "ArrayExpression"); + + case tt.braceL: + return this.parseObj(false, refShorthandDefaultPos); + + case tt._function: + node = this.startNode(); + this.next(); + return this.parseFunction(node, false); + + case tt.at: + this.parseDecorators(); + + case tt._class: + node = this.startNode(); + this.takeDecorators(node); + return this.parseClass(node, false); + + case tt._new: + return this.parseNew(); + + case tt.backQuote: + return this.parseTemplate(); + + case tt.doubleColon: + node = this.startNode(); + this.next(); + node.object = null; + let callee = node.callee = this.parseNoCallExpr(); + if (callee.type === "MemberExpression") { + return this.finishNode(node, "BindExpression"); + } else { + this.raise(callee.start, "Binding should be performed on object property."); + } + + default: + this.unexpected(); + } +}; + +pp.parseLiteral = function (value) { + let node = this.startNode(); + node.value = value; + node.raw = this.input.slice(this.start, this.end); + this.next(); + return this.finishNode(node, "Literal"); +}; + +pp.parseParenExpression = function () { + this.expect(tt.parenL); + let val = this.parseExpression(); + this.expect(tt.parenR); + return val; +}; + +pp.parseParenAndDistinguishExpression = function (startPos, startLoc, canBeArrow, isAsync) { + startPos = startPos || this.start; + startLoc = startLoc || this.startLoc; + let val; + if (this.options.ecmaVersion >= 6) { + this.next(); + + if ((this.options.features["es7.comprehensions"] || this.options.ecmaVersion >= 7) && this.type === tt._for) { + return this.parseComprehension(this.startNodeAt(startPos, startLoc), true); + } + + let innerStartPos = this.start, innerStartLoc = this.startLoc; + let exprList = [], first = true; + let refShorthandDefaultPos = {start: 0}, spreadStart, innerParenStart, optionalCommaStart; + while (this.type !== tt.parenR) { + if (first) { + first = false; + } else { + this.expect(tt.comma); + if (this.type === tt.parenR && this.options.features["es7.trailingFunctionCommas"]) { + optionalCommaStart = this.start; + break; + } + } + + if (this.type === tt.ellipsis) { + let spreadNodeStartPos = this.start, spreadNodeStartLoc = this.startLoc; + spreadStart = this.start; + exprList.push(this.parseParenItem(this.parseRest(), spreadNodeStartLoc, spreadNodeStartPos)); + break; + } else { + if (this.type === tt.parenL && !innerParenStart) { + innerParenStart = this.start; + } + exprList.push(this.parseMaybeAssign(false, refShorthandDefaultPos, this.parseParenItem)); + } + } + let innerEndPos = this.start, innerEndLoc = this.startLoc; + this.expect(tt.parenR); + + if (canBeArrow && !this.canInsertSemicolon() && this.eat(tt.arrow)) { + if (innerParenStart) this.unexpected(innerParenStart); + return this.parseParenArrowList(startPos, startLoc, exprList, isAsync); + } + + if (!exprList.length) { + if (isAsync) { + return; + } else { + this.unexpected(this.lastTokStart); + } + } + if (optionalCommaStart) this.unexpected(optionalCommaStart); + if (spreadStart) this.unexpected(spreadStart); + if (refShorthandDefaultPos.start) this.unexpected(refShorthandDefaultPos.start); + + if (exprList.length > 1) { + val = this.startNodeAt(innerStartPos, innerStartLoc); + val.expressions = exprList; + this.finishNodeAt(val, "SequenceExpression", innerEndPos, innerEndLoc); + } else { + val = exprList[0]; + } + } else { + val = this.parseParenExpression(); + } + + val.parenthesizedExpression = true; + return val; +}; + +pp.parseParenArrowList = function (startPos, startLoc, exprList, isAsync) { + return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, isAsync); +}; + +pp.parseParenItem = function (node) { + return node; +}; + +// New's precedence is slightly tricky. It must allow its argument +// to be a `[]` or dot subscript expression, but not a call — at +// least, not without wrapping it in parentheses. Thus, it uses the + +pp.parseNew = function () { + let node = this.startNode(); + let meta = this.parseIdent(true); + + if (this.options.ecmaVersion >= 6 && this.eat(tt.dot)) { + node.meta = meta; + node.property = this.parseIdent(true); + + if (node.property.name !== "target") { + this.raise(node.property.start, "The only valid meta property for new is new.target"); + } + + return this.finishNode(node, "MetaProperty"); + } + + node.callee = this.parseNoCallExpr(); + + if (this.eat(tt.parenL)) { + node.arguments = this.parseExprList(tt.parenR, this.options.features["es7.trailingFunctionCommas"]); + } else { + node.arguments = []; + } + + return this.finishNode(node, "NewExpression"); +}; + +// Parse template expression. + +pp.parseTemplateElement = function () { + let elem = this.startNode(); + elem.value = { + raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, "\n"), + cooked: this.value + }; + this.next(); + elem.tail = this.type === tt.backQuote; + return this.finishNode(elem, "TemplateElement"); +}; + +pp.parseTemplate = function () { + let node = this.startNode(); + this.next(); + node.expressions = []; + let curElt = this.parseTemplateElement(); + node.quasis = [curElt]; + while (!curElt.tail) { + this.expect(tt.dollarBraceL); + node.expressions.push(this.parseExpression()); + this.expect(tt.braceR); + node.quasis.push(curElt = this.parseTemplateElement()); + } + this.next(); + return this.finishNode(node, "TemplateLiteral"); +}; + +// Parse an object literal or binding pattern. + +pp.parseObj = function (isPattern, refShorthandDefaultPos) { + let node = this.startNode(), first = true, propHash = Object.create(null); + node.properties = []; + let decorators = []; + this.next(); + while (!this.eat(tt.braceR)) { + if (first) { + first = false; + } else { + this.expect(tt.comma); + if (this.afterTrailingComma(tt.braceR)) break; + } + + while (this.type === tt.at) { + decorators.push(this.parseDecorator()); + } + + let prop = this.startNode(), isGenerator = false, isAsync = false, startPos, startLoc; + if (decorators.length) { + prop.decorators = decorators; + decorators = []; + } + if (this.options.features["es7.objectRestSpread"] && this.type === tt.ellipsis) { + prop = this.parseSpread(); + prop.type = "SpreadProperty"; + node.properties.push(prop); + continue; + } + if (this.options.ecmaVersion >= 6) { + prop.method = false; + prop.shorthand = false; + if (isPattern || refShorthandDefaultPos) { + startPos = this.start; + startLoc = this.startLoc; + } + if (!isPattern) + isGenerator = this.eat(tt.star); + } + if (this.options.features["es7.asyncFunctions"] && this.isContextual("async")) { + if (isGenerator || isPattern) this.unexpected(); + var asyncId = this.parseIdent(); + if (this.type === tt.colon || this.type === tt.parenL) { + prop.key = asyncId; + } else { + isAsync = true; + this.parsePropertyName(prop); + } + } else { + this.parsePropertyName(prop); + } + this.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, refShorthandDefaultPos); + this.checkPropClash(prop, propHash); + node.properties.push(this.finishNode(prop, "Property")); + } + if (decorators.length) { + this.raise(this.start, "You have trailing decorators with no property"); + } + return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression"); +}; + +pp.parseObjPropValue = function (prop, startPos, startLoc, isGenerator, isAsync, isPattern, refShorthandDefaultPos) { + if (this.eat(tt.colon)) { + prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refShorthandDefaultPos); + prop.kind = "init"; + } else if (this.options.ecmaVersion >= 6 && this.type === tt.parenL) { + if (isPattern) this.unexpected(); + prop.kind = "init"; + prop.method = true; + prop.value = this.parseMethod(isGenerator, isAsync); + } else if (this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" && + (prop.key.name === "get" || prop.key.name === "set") && + (this.type !== tt.comma && this.type !== tt.braceR)) { + if (isGenerator || isAsync || isPattern) this.unexpected(); + prop.kind = prop.key.name; + this.parsePropertyName(prop); + prop.value = this.parseMethod(false); + let paramCount = prop.kind === "get" ? 0 : 1; + if (prop.value.params.length !== paramCount) { + let start = prop.value.start; + if (prop.kind === "get") + this.raise(start, "getter should have no params"); + else + this.raise(start, "setter should have exactly one param"); + } + } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === "Identifier") { + prop.kind = "init"; + if (isPattern) { + if (this.isKeyword(prop.key.name) || + (this.strict && (reservedWords.strictBind(prop.key.name) || reservedWords.strict(prop.key.name))) || + (!this.options.allowReserved && this.isReservedWord(prop.key.name))) + this.raise(prop.key.start, "Binding " + prop.key.name); + prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key); + } else if (this.type === tt.eq && refShorthandDefaultPos) { + if (!refShorthandDefaultPos.start) + refShorthandDefaultPos.start = this.start; + prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key); + } else { + prop.value = prop.key; + } + prop.shorthand = true; + } else { + this.unexpected(); + } +}; + +pp.parsePropertyName = function (prop) { + if (this.options.ecmaVersion >= 6) { + if (this.eat(tt.bracketL)) { + prop.computed = true; + prop.key = this.parseMaybeAssign(); + this.expect(tt.bracketR); + return prop.key; + } else { + prop.computed = false; + } + } + return prop.key = (this.type === tt.num || this.type === tt.string) ? this.parseExprAtom() : this.parseIdent(true); +}; + +// Initialize empty function node. + +pp.initFunction = function (node, isAsync) { + node.id = null; + if (this.options.ecmaVersion >= 6) { + node.generator = false; + node.expression = false; + } + if (this.options.features["es7.asyncFunctions"]) { + node.async = !!isAsync; + } +}; + +// Parse object or class method. + +pp.parseMethod = function (isGenerator, isAsync) { + let node = this.startNode(); + this.initFunction(node, isAsync); + this.expect(tt.parenL); + node.params = this.parseBindingList(tt.parenR, false, this.options.features["es7.trailingFunctionCommas"]); + if (this.options.ecmaVersion >= 6) { + node.generator = isGenerator; + } + this.parseFunctionBody(node); + return this.finishNode(node, "FunctionExpression"); +}; + +// Parse arrow function expression with given parameters. + +pp.parseArrowExpression = function (node, params, isAsync) { + this.initFunction(node, isAsync); + node.params = this.toAssignableList(params, true); + this.parseFunctionBody(node, true); + return this.finishNode(node, "ArrowFunctionExpression"); +}; + +// Parse function body and check parameters. + +pp.parseFunctionBody = function (node, allowExpression) { + let isExpression = allowExpression && this.type !== tt.braceL; + + var oldInAsync = this.inAsync; + this.inAsync = node.async; + if (isExpression) { + node.body = this.parseMaybeAssign(); + node.expression = true; + } else { + // Start a new scope with regard to labels and the `inFunction` + // flag (restore them to their old value afterwards). + let oldInFunc = this.inFunction, oldInGen = this.inGenerator, oldLabels = this.labels; + this.inFunction = true; this.inGenerator = node.generator; this.labels = []; + node.body = this.parseBlock(true); + node.expression = false; + this.inFunction = oldInFunc; this.inGenerator = oldInGen; this.labels = oldLabels; + } + this.inAsync = oldInAsync; + + // If this is a strict mode function, verify that argument names + // are not repeated, and it does not try to bind the words `eval` + // or `arguments`. + if (this.strict || !isExpression && node.body.body.length && this.isUseStrict(node.body.body[0])) { + let nameHash = Object.create(null), oldStrict = this.strict; + this.strict = true; + if (node.id) + this.checkLVal(node.id, true); + for (let i = 0; i < node.params.length; i++) + this.checkLVal(node.params[i], true, nameHash); + this.strict = oldStrict; + } +}; + +// Parses a comma-separated list of expressions, and returns them as +// an array. `close` is the token type that ends the list, and +// `allowEmpty` can be turned on to allow subsequent commas with +// nothing in between them to be parsed as `null` (which is needed +// for array literals). + +pp.parseExprList = function (close, allowTrailingComma, allowEmpty, refShorthandDefaultPos) { + let elts = [], first = true; + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(tt.comma); + if (allowTrailingComma && this.afterTrailingComma(close)) break; + } + + let elt; + if (allowEmpty && this.type === tt.comma) { + elt = null; + } else if (this.type === tt.ellipsis) { + elt = this.parseSpread(refShorthandDefaultPos); + } else { + elt = this.parseMaybeAssign(false, refShorthandDefaultPos); + } + elts.push(elt); + } + return elts; +}; + +// Parse the next token as an identifier. If `liberal` is true (used +// when parsing properties), it will also convert keywords into +// identifiers. + +pp.parseIdent = function (liberal) { + let node = this.startNode(); + if (liberal && this.options.allowReserved === "never") liberal = false; + if (this.type === tt.name) { + if (!liberal && + ((!this.options.allowReserved && this.isReservedWord(this.value)) || + (this.strict && reservedWords.strict(this.value)) && + (this.options.ecmaVersion >= 6 || + this.input.slice(this.start, this.end).indexOf("\\") === -1))) + this.raise(this.start, "The keyword '" + this.value + "' is reserved"); + node.name = this.value; + } else if (liberal && this.type.keyword) { + node.name = this.type.keyword; + } else { + this.unexpected(); + } + this.next(); + return this.finishNode(node, "Identifier"); +}; + +// Parses await expression inside async function. + +pp.parseAwait = function (node) { + if (this.eat(tt.semi) || this.canInsertSemicolon()) { + this.unexpected(); + } + node.all = this.eat(tt.star); + node.argument = this.parseMaybeUnary(); + return this.finishNode(node, "AwaitExpression"); +}; + +// Parses yield expression inside generator. + +pp.parseYield = function () { + let node = this.startNode(); + this.next(); + if (this.type === tt.semi || this.canInsertSemicolon() || (this.type !== tt.star && !this.type.startsExpr)) { + node.delegate = false; + node.argument = null; + } else { + node.delegate = this.eat(tt.star); + node.argument = this.parseMaybeAssign(); + } + return this.finishNode(node, "YieldExpression"); +}; + +// Parses array and generator comprehensions. + +pp.parseComprehension = function (node, isGenerator) { + node.blocks = []; + while (this.type === tt._for) { + let block = this.startNode(); + this.next(); + this.expect(tt.parenL); + block.left = this.parseBindingAtom(); + this.checkLVal(block.left, true); + this.expectContextual("of"); + block.right = this.parseExpression(); + this.expect(tt.parenR); + node.blocks.push(this.finishNode(block, "ComprehensionBlock")); + } + node.filter = this.eat(tt._if) ? this.parseParenExpression() : null; + node.body = this.parseExpression(); + this.expect(isGenerator ? tt.parenR : tt.bracketR); + node.generator = isGenerator; + return this.finishNode(node, "ComprehensionExpression"); +}; diff --git a/src/acorn/src/identifier.js b/packages/babylon/src/identifier.js similarity index 77% rename from src/acorn/src/identifier.js rename to packages/babylon/src/identifier.js index 11713b05d6..a656c92320 100755 --- a/src/acorn/src/identifier.js +++ b/packages/babylon/src/identifier.js @@ -8,10 +8,10 @@ // It starts by sorting the words by length. function makePredicate(words) { - words = words.split(" ") - return function(str) { - return words.indexOf(str) >= 0 - } + words = words.split(" "); + return function (str) { + return words.indexOf(str) >= 0; + }; } // Reserved word lists for various dialects of the language @@ -22,16 +22,16 @@ export const reservedWords = { 6: makePredicate("enum await"), strict: makePredicate("implements interface let package private protected public static yield"), strictBind: makePredicate("eval arguments") -} +}; // And the keywords -var ecma5AndLessKeywords = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this" +var ecma5AndLessKeywords = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this"; export const keywords = { 5: makePredicate(ecma5AndLessKeywords), 6: makePredicate(ecma5AndLessKeywords + " let const class extends export import yield super") -} +}; // ## Character categories @@ -41,57 +41,75 @@ export const keywords = { // code point above 128. // Generated by `tools/generate-identifier-regex.js`. -let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0-\u08b2\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua7ad\ua7b0\ua7b1\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab5f\uab64\uab65\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc" -let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e4-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d01-\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19b0-\u19c0\u19c8\u19c9\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\u1dfc-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2d\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f" +let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0-\u08b2\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua7ad\ua7b0\ua7b1\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab5f\uab64\uab65\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; +let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e4-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d01-\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19b0-\u19c0\u19c8\u19c9\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\u1dfc-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2d\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; -const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]") -const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]") +const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); -nonASCIIidentifierStartChars = nonASCIIidentifierChars = null +nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; // These are a run-length and offset encoded representation of the // >0xffff code points that are a valid part of identifiers. The // offset starts at 0x10000, and each pair of numbers represents an // offset to the next range, and then a size of the range. They were // generated by tools/generate-identifier-regex.js -var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,6,37,11,29,3,35,5,7,2,4,43,157,99,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,98,21,11,25,71,55,7,1,65,0,16,3,2,2,2,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,955,52,76,44,33,24,27,35,42,34,4,0,13,47,15,3,22,0,38,17,2,24,133,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,32,4,287,47,21,1,2,0,185,46,82,47,21,0,60,42,502,63,32,0,449,56,1288,920,104,110,2962,1070,13266,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,16481,1,3071,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,1340,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,16355,541] -var astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,16,9,83,11,168,11,6,9,8,2,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,316,19,13,9,214,6,3,8,112,16,16,9,82,12,9,9,535,9,20855,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,4305,6,792618,239] +var astralIdentifierStartCodes = [ + 0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 17, 26, 6, 37, 11, 29, 3, 35, 5, + 7, 2, 4, 43, 157, 99, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, + 98, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 26, 45, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, + 17, 111, 72, 955, 52, 76, 44, 33, 24, 27, 35, 42, 34, 4, 0, 13, 47, 15, 3, 22, 0, 38, 17, 2, 24, 133, 46, 39, 7, + 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 32, 4, 287, 47, 21, 1, 2, 0, 185, 46, 82, 47, 21, 0, 60, 42, 502, 63, 32, 0, + 449, 56, 1288, 920, 104, 110, 2962, 1070, 13266, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 881, 68, 12, + 0, 67, 12, 16481, 1, 3071, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, + 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, + 24, 2, 30, 2, 24, 2, 7, 4149, 196, 1340, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, + 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, + 4, 2, 16, 4421, 42710, 42, 4148, 12, 221, 16355, 541 +]; +var astralIdentifierCodes = [ + 509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 1306, 2, 54, 14, 32, 9, 16, 3, 46, 10, + 54, 9, 7, 2, 37, 13, 2, 9, 52, 0, 13, 2, 49, 13, 16, 9, 83, 11, 168, 11, 6, 9, 8, 2, 57, 0, 2, 6, 3, 1, 3, 2, 10, + 0, 11, 1, 3, 6, 4, 4, 316, 19, 13, 9, 214, 6, 3, 8, 112, 16, 16, 9, 82, 12, 9, 9, 535, 9, 20855, 9, 135, 4, 60, 6, + 26, 9, 1016, 45, 17, 3, 19723, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 4305, 6, 792618, 239 +]; // This has a complexity linear to the value of the code. The // assumption is that looking up astral identifier characters is // rare. function isInAstralSet(code, set) { - let pos = 0x10000 + let pos = 0x10000; for (let i = 0; i < set.length; i += 2) { - pos += set[i] - if (pos > code) return false - pos += set[i + 1] - if (pos >= code) return true + pos += set[i]; + if (pos > code) return false; + + pos += set[i + 1]; + if (pos >= code) return true; } } // Test whether a given character code starts an identifier. export function isIdentifierStart(code, astral) { - if (code < 65) return code === 36 - if (code < 91) return true - if (code < 97) return code === 95 - if (code < 123) return true - if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)) - if (astral === false) return false - return isInAstralSet(code, astralIdentifierStartCodes) + if (code < 65) return code === 36; + if (code < 91) return true; + if (code < 97) return code === 95; + if (code < 123) return true; + if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); + if (astral === false) return false; + return isInAstralSet(code, astralIdentifierStartCodes); } // Test whether a given character is part of an identifier. export function isIdentifierChar(code, astral) { - if (code < 48) return code === 36 - if (code < 58) return true - if (code < 65) return false - if (code < 91) return true - if (code < 97) return code === 95 - if (code < 123) return true - if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)) - if (astral === false) return false - return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes) + if (code < 48) return code === 36; + if (code < 58) return true; + if (code < 65) return false; + if (code < 91) return true; + if (code < 97) return code === 95; + if (code < 123) return true; + if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); + if (astral === false) return false; + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); } diff --git a/packages/babylon/src/index.js b/packages/babylon/src/index.js new file mode 100755 index 0000000000..6b0541ea41 --- /dev/null +++ b/packages/babylon/src/index.js @@ -0,0 +1,57 @@ +// Acorn is a tiny, fast JavaScript parser written in JavaScript. +// +// Acorn was written by Marijn Haverbeke, Ingvar Stepanyan, and +// various contributors and released under an MIT license. +// +// Git repositories for Acorn are available at +// +// http://marijnhaverbeke.nl/git/acorn +// https://github.com/marijnh/acorn.git +// +// Please use the [github bug tracker][ghbt] to report issues. +// +// [ghbt]: https://github.com/marijnh/acorn/issues +// +// This file defines the main parser interface. The library also comes +// with a [error-tolerant parser][dammit] and an +// [abstract syntax tree walker][walk], defined in other files. +// +// [dammit]: acorn_loose.js +// [walk]: util/walk.js + +import {Parser, plugins} from "./state"; +import {getOptions} from "./options"; +import "./parseutil"; +import "./statement"; +import "./lval"; +import "./expression"; +import "./lookahead"; +import "./tokentype"; +import "./tokencontext"; + +export {Parser, plugins} from "./state"; +export {defaultOptions} from "./options"; +export {SourceLocation} from "./location"; +export {getLineInfo} from "./location"; +export {Node} from "./node"; +export {TokenType, types as tokTypes} from "./tokentype"; +export {TokContext, types as tokContexts} from "./tokencontext"; +export {isIdentifierChar, isIdentifierStart} from "./identifier"; +export {Token} from "./tokenize"; +export {isNewLine, lineBreak, lineBreakG} from "./whitespace"; + +import flowPlugin from "./plugins/flow"; +import jsxPlugin from "./plugins/jsx"; +plugins.flow = flowPlugin; +plugins.jsx = jsxPlugin; + +// The main exported interface (under `self.acorn` when in the +// browser) is a `parse` function that takes a code string and +// returns an abstract syntax tree as specified by [Mozilla parser +// API][api]. +// +// [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API + +export function parse(input, options) { + return new Parser(getOptions(options), input).parse(); +} diff --git a/packages/babylon/src/location.js b/packages/babylon/src/location.js new file mode 100755 index 0000000000..5ab0028460 --- /dev/null +++ b/packages/babylon/src/location.js @@ -0,0 +1,67 @@ +import {Parser} from "./state"; +import {lineBreakG} from "./whitespace"; + +// These are used when `options.locations` is on, for the +// `startLoc` and `endLoc` properties. + +export class Position { + constructor(line, col) { + this.line = line; + this.column = col; + } + + offset(n) { + return new Position(this.line, this.column + n); + } +} + +export class SourceLocation { + constructor(p, start, end) { + this.start = start; + this.end = end; + if (p.sourceFile !== null) this.source = p.sourceFile; + } +} + +// The `getLineInfo` function is mostly useful when the +// `locations` option is off (for performance reasons) and you +// want to find the line/column position for a given character +// offset. `input` should be the code string that the offset refers +// into. + +export function getLineInfo(input, offset) { + for (let line = 1, cur = 0; ;) { + lineBreakG.lastIndex = cur; + let match = lineBreakG.exec(input); + if (match && match.index < offset) { + ++line; + cur = match.index + match[0].length; + } else { + return new Position(line, offset - cur); + } + } +} + +const pp = Parser.prototype; + +// This function is used to raise exceptions on parse errors. It +// takes an offset integer (into the current `input`) to indicate +// the location of the error, attaches the position to the end +// of the error message, and then raises a `SyntaxError` with that +// message. + +pp.raise = function (pos, message) { + let loc = getLineInfo(this.input, pos); + message += ` (${loc.line}:${loc.column})`; + let err = new SyntaxError(message); + err.pos = pos; + err.loc = loc; + err.raisedAt = this.pos; + throw err; +}; + +pp.curPosition = function () { + if (this.options.locations) { + return new Position(this.curLine, this.pos - this.lineStart); + } +}; diff --git a/src/acorn/src/lookahead.js b/packages/babylon/src/lookahead.js similarity index 61% rename from src/acorn/src/lookahead.js rename to packages/babylon/src/lookahead.js index cd3a9c7d08..f6f456cfa3 100644 --- a/src/acorn/src/lookahead.js +++ b/packages/babylon/src/lookahead.js @@ -1,6 +1,6 @@ -import {Parser} from "./state" +import {Parser} from "./state"; -const pp = Parser.prototype +const pp = Parser.prototype; var STATE_KEYS = [ "lastTokStartLoc", @@ -27,21 +27,21 @@ var STATE_KEYS = [ ]; pp.getState = function () { - var state = {} + var state = {}; for (var i = 0; i < STATE_KEYS.length; i++) { - var key = STATE_KEYS[i] - state[key] = this[key] + var key = STATE_KEYS[i]; + state[key] = this[key]; } - state.context = this.context.slice() - state.labels = this.labels.slice() - return state + state.context = this.context.slice(); + state.labels = this.labels.slice(); + return state; }; -pp.lookahead = function() { +pp.lookahead = function () { var old = this.getState(); - this.isLookahead = true - this.next() - this.isLookahead = false + this.isLookahead = true; + this.next(); + this.isLookahead = false; var curr = this.getState(); for (var key in old) this[key] = old[key]; return curr; diff --git a/packages/babylon/src/lval.js b/packages/babylon/src/lval.js new file mode 100755 index 0000000000..6a6dc98b7f --- /dev/null +++ b/packages/babylon/src/lval.js @@ -0,0 +1,210 @@ +import {types as tt} from "./tokentype"; +import {Parser} from "./state"; +import {reservedWords} from "./identifier"; +import {has} from "./util"; + +const pp = Parser.prototype; + +// Convert existing expression atom to assignable pattern +// if possible. + +pp.toAssignable = function (node, isBinding) { + if (this.options.ecmaVersion >= 6 && node) { + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + break; + + case "ObjectExpression": + node.type = "ObjectPattern"; + for (let i = 0; i < node.properties.length; i++) { + let prop = node.properties[i]; + if (prop.type === "SpreadProperty") continue; + if (prop.kind !== "init") this.raise(prop.key.start, "Object pattern can't contain getter or setter"); + this.toAssignable(prop.value, isBinding); + } + break; + + case "ArrayExpression": + node.type = "ArrayPattern"; + this.toAssignableList(node.elements, isBinding); + break; + + case "AssignmentExpression": + if (node.operator === "=") { + node.type = "AssignmentPattern"; + delete node.operator; + } else { + this.raise(node.left.end, "Only '=' operator can be used for specifying default value."); + } + break; + + case "MemberExpression": + if (!isBinding) break; + + default: + this.raise(node.start, "Assigning to rvalue"); + } + } + return node; +}; + +// Convert list of expression atoms to binding list. + +pp.toAssignableList = function (exprList, isBinding) { + let end = exprList.length; + if (end) { + let last = exprList[end - 1]; + if (last && last.type === "RestElement") { + --end; + } else if (last && last.type === "SpreadElement") { + last.type = "RestElement"; + let arg = last.argument; + this.toAssignable(arg, isBinding); + if (arg.type !== "Identifier" && arg.type !== "MemberExpression" && arg.type !== "ArrayPattern") { + this.unexpected(arg.start); + } + --end; + } + } + for (let i = 0; i < end; i++) { + let elt = exprList[i]; + if (elt) this.toAssignable(elt, isBinding); + } + return exprList; +}; + +// Parses spread element. + +pp.parseSpread = function (refShorthandDefaultPos) { + let node = this.startNode(); + this.next(); + node.argument = this.parseMaybeAssign(refShorthandDefaultPos); + return this.finishNode(node, "SpreadElement"); +}; + +pp.parseRest = function () { + let node = this.startNode(); + this.next(); + node.argument = this.type === tt.name || this.type === tt.bracketL ? this.parseBindingAtom() : this.unexpected(); + return this.finishNode(node, "RestElement"); +}; + +// Parses lvalue (assignable) atom. + +pp.parseBindingAtom = function () { + if (this.options.ecmaVersion < 6) return this.parseIdent(); + switch (this.type) { + case tt.name: + return this.parseIdent(); + + case tt.bracketL: + let node = this.startNode(); + this.next(); + node.elements = this.parseBindingList(tt.bracketR, true, true); + return this.finishNode(node, "ArrayPattern"); + + case tt.braceL: + return this.parseObj(true); + + default: + this.unexpected(); + } +}; + +pp.parseBindingList = function (close, allowEmpty, allowTrailingComma) { + var elts = [], first = true; + while (!this.eat(close)) { + if (first) first = false; + else this.expect(tt.comma); + if (allowEmpty && this.type === tt.comma) { + elts.push(null); + } else if (allowTrailingComma && this.afterTrailingComma(close)) { + break; + } else if (this.type === tt.ellipsis) { + elts.push(this.parseAssignableListItemTypes(this.parseRest())); + this.expect(close); + break; + } else { + var left = this.parseMaybeDefault(); + this.parseAssignableListItemTypes(left); + elts.push(this.parseMaybeDefault(null, null, left)); + } + } + return elts; +}; + +pp.parseAssignableListItemTypes = function (param) { + return param; +}; + +// Parses assignment pattern around given atom if possible. + +pp.parseMaybeDefault = function (startPos, startLoc, left) { + startLoc = startLoc || this.startLoc; + startPos = startPos || this.start; + left = left || this.parseBindingAtom(); + if (!this.eat(tt.eq)) return left; + + let node = this.startNodeAt(startPos, startLoc); + node.operator = "="; + node.left = left; + node.right = this.parseMaybeAssign(); + return this.finishNode(node, "AssignmentPattern"); +}; + +// Verify that a node is an lval — something that can be assigned +// to. + +pp.checkLVal = function (expr, isBinding, checkClashes) { + switch (expr.type) { + case "Identifier": + if (this.strict && (reservedWords.strictBind(expr.name) || reservedWords.strict(expr.name))) + this.raise(expr.start, (isBinding ? "Binding " : "Assigning to ") + expr.name + " in strict mode"); + if (checkClashes) { + if (checkClashes[expr.name]) { + this.raise(expr.start, "Argument name clash in strict mode"); + } else { + checkClashes[expr.name] = true; + } + } + break; + + case "MemberExpression": + if (isBinding) this.raise(expr.start, (isBinding ? "Binding" : "Assigning to") + " member expression"); + break; + + case "ObjectPattern": + for (let i = 0; i < expr.properties.length; i++) { + var prop = expr.properties[i]; + if (prop.type === "Property") prop = prop.value; + this.checkLVal(prop, isBinding, checkClashes); + } + break; + + case "ArrayPattern": + for (let i = 0; i < expr.elements.length; i++) { + let elem = expr.elements[i]; + if (elem) this.checkLVal(elem, isBinding, checkClashes); + } + break; + + case "AssignmentPattern": + this.checkLVal(expr.left, isBinding, checkClashes); + break; + + case "SpreadProperty": + case "RestElement": + this.checkLVal(expr.argument, isBinding, checkClashes); + break; + + case "ParenthesizedExpression": + this.checkLVal(expr.expression, isBinding, checkClashes); + break; + + default: + this.raise(expr.start, (isBinding ? "Binding" : "Assigning to") + " rvalue"); + } +}; diff --git a/packages/babylon/src/node.js b/packages/babylon/src/node.js new file mode 100755 index 0000000000..e58a28dc55 --- /dev/null +++ b/packages/babylon/src/node.js @@ -0,0 +1,48 @@ +import {Parser} from "./state"; +import {SourceLocation} from "./location"; + +// Start an AST node, attaching a start offset. + +const pp = Parser.prototype; + +export class Node { + constructor(parser, pos, loc) { + this.type = ""; + this.start = pos; + this.end = 0; + if (parser.options.locations) + this.loc = new SourceLocation(parser, loc); + if (parser.options.directSourceFile) + this.sourceFile = parser.options.directSourceFile; + if (parser.options.ranges) + this.range = [pos, 0]; + } +} + +pp.startNode = function () { + return new Node(this, this.start, this.startLoc); +}; + +pp.startNodeAt = function (pos, loc) { + return new Node(this, pos, loc); +}; + +function finishNodeAt(node, type, pos, loc) { + node.type = type; + node.end = pos; + if (this.options.locations) node.loc.end = loc; + if (this.options.ranges) node.range[1] = pos; + return node; +} + +// Finish an AST node, adding `type` and `end` properties. + +pp.finishNode = function (node, type) { + return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc); +}; + +// Finish node at given position + +pp.finishNodeAt = function (node, type, pos, loc) { + return finishNodeAt.call(this, node, type, pos, loc); +}; diff --git a/src/acorn/src/options.js b/packages/babylon/src/options.js similarity index 89% rename from src/acorn/src/options.js rename to packages/babylon/src/options.js index 6a81762f40..88ea8fce47 100755 --- a/src/acorn/src/options.js +++ b/packages/babylon/src/options.js @@ -1,5 +1,5 @@ -import {has, isArray} from "./util" -import {SourceLocation} from "./location" +import {has} from "./util"; +import {SourceLocation} from "./location"; // A second optional argument can be given to further configure // the parser process. These options are recognized: @@ -85,38 +85,37 @@ export const defaultOptions = { // Babel-specific options features: {}, strictMode: null -} +}; // Interpret and default an options object export function getOptions(opts) { - let options = {} + let options = {}; for (let opt in defaultOptions) - options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt] + options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]; - if (isArray(options.onToken)) { - let tokens = options.onToken - options.onToken = (token) => tokens.push(token) + if (Array.isArray(options.onToken)) { + let tokens = options.onToken; + options.onToken = (token) => tokens.push(token); } - if (isArray(options.onComment)) - options.onComment = pushComment(options, options.onComment) + if (Array.isArray(options.onComment)) + options.onComment = pushComment(options, options.onComment); - return options + return options; } function pushComment(options, array) { return function (block, text, start, end, startLoc, endLoc) { let comment = { - type: block ? 'Block' : 'Line', + type: block ? "Block" : "Line", value: text, start: start, end: end - } + }; if (options.locations) - comment.loc = new SourceLocation(this, startLoc, endLoc) + comment.loc = new SourceLocation(this, startLoc, endLoc); if (options.ranges) - comment.range = [start, end] - array.push(comment) - } + comment.range = [start, end]; + array.push(comment); + }; } - diff --git a/src/acorn/src/parseutil.js b/packages/babylon/src/parseutil.js similarity index 59% rename from src/acorn/src/parseutil.js rename to packages/babylon/src/parseutil.js index 3d464a22dc..2fae5e6729 100755 --- a/src/acorn/src/parseutil.js +++ b/packages/babylon/src/parseutil.js @@ -1,89 +1,89 @@ -import {types as tt} from "./tokentype" -import {Parser} from "./state" -import {lineBreak} from "./whitespace" +import {types as tt} from "./tokentype"; +import {Parser} from "./state"; +import {lineBreak} from "./whitespace"; -const pp = Parser.prototype +const pp = Parser.prototype; // ## Parser utilities // Test whether a statement node is the string literal `"use strict"`. -pp.isUseStrict = function(stmt) { +pp.isUseStrict = function (stmt) { return this.options.ecmaVersion >= 5 && stmt.type === "ExpressionStatement" && - stmt.expression.type === "Literal" && stmt.expression.value === "use strict" -} + stmt.expression.type === "Literal" && stmt.expression.value === "use strict"; +}; // Predicate that tests whether the next token is of the given // type, and if yes, consumes it as a side effect. -pp.eat = function(type) { +pp.eat = function (type) { if (this.type === type) { - this.next() - return true + this.next(); + return true; } else { - return false + return false; } -} +}; // Tests whether parsed token is a contextual keyword. -pp.isContextual = function(name) { - return this.type === tt.name && this.value === name -} +pp.isContextual = function (name) { + return this.type === tt.name && this.value === name; +}; // Consumes contextual keyword if possible. -pp.eatContextual = function(name) { - return this.value === name && this.eat(tt.name) -} +pp.eatContextual = function (name) { + return this.value === name && this.eat(tt.name); +}; // Asserts that following token is given contextual keyword. -pp.expectContextual = function(name) { - if (!this.eatContextual(name)) this.unexpected() -} +pp.expectContextual = function (name) { + if (!this.eatContextual(name)) this.unexpected(); +}; // Test whether a semicolon can be inserted at the current position. -pp.canInsertSemicolon = function() { +pp.canInsertSemicolon = function () { return this.type === tt.eof || this.type === tt.braceR || - lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) -} + lineBreak.test(this.input.slice(this.lastTokEnd, this.start)); +}; -pp.insertSemicolon = function() { +pp.insertSemicolon = function () { if (this.canInsertSemicolon()) { if (this.options.onInsertedSemicolon) - this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc) - return true + this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc); + return true; } -} +}; // Consume a semicolon, or, failing that, see if we are allowed to // pretend that there is a semicolon at this position. -pp.semicolon = function() { - if (!this.eat(tt.semi) && !this.insertSemicolon()) this.unexpected() -} +pp.semicolon = function () { + if (!this.eat(tt.semi) && !this.insertSemicolon()) this.unexpected(); +}; -pp.afterTrailingComma = function(tokType) { - if (this.type == tokType) { +pp.afterTrailingComma = function (tokType) { + if (this.type === tokType) { if (this.options.onTrailingComma) - this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc) - this.next() - return true + this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc); + this.next(); + return true; } -} +}; // Expect a token of a given type. If found, consume it, otherwise, // raise an unexpected token error. -pp.expect = function(type) { - this.eat(type) || this.unexpected() -} +pp.expect = function (type) { + return this.eat(type) || this.unexpected(); +}; // Raise an unexpected token error. -pp.unexpected = function(pos) { - this.raise(pos != null ? pos : this.start, "Unexpected token") -} +pp.unexpected = function (pos) { + this.raise(pos != null ? pos : this.start, "Unexpected token"); +}; diff --git a/packages/babylon/src/plugins/flow.js b/packages/babylon/src/plugins/flow.js new file mode 100644 index 0000000000..a219d6b37d --- /dev/null +++ b/packages/babylon/src/plugins/flow.js @@ -0,0 +1,823 @@ +import { types as tt } from "../tokentype"; +import { Parser } from "../state"; + +var pp = Parser.prototype; + +pp.isRelational = function (op) { + return this.type === tt.relational && this.value === op; +}; + +pp.expectRelational = function (op) { + if (this.isRelational(op)) { + this.next(); + } else { + this.unexpected(); + } +}; + +pp.flowParseTypeInitialiser = function (tok) { + var oldInType = this.inType; + this.inType = true; + this.expect(tok || tt.colon); + var type = this.flowParseType(); + this.inType = oldInType; + return type; +}; + +pp.flowParseDeclareClass = function (node) { + this.next(); + this.flowParseInterfaceish(node, true); + return this.finishNode(node, "DeclareClass"); +}; + +pp.flowParseDeclareFunction = function (node) { + this.next(); + + var id = node.id = this.parseIdent(); + + var typeNode = this.startNode(); + var typeContainer = this.startNode(); + + if (this.isRelational("<")) { + typeNode.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + typeNode.typeParameters = null; + } + + this.expect(tt.parenL); + var tmp = this.flowParseFunctionTypeParams(); + typeNode.params = tmp.params; + typeNode.rest = tmp.rest; + this.expect(tt.parenR); + typeNode.returnType = this.flowParseTypeInitialiser(); + + typeContainer.typeAnnotation = this.finishNode(typeNode, "FunctionTypeAnnotation"); + id.typeAnnotation = this.finishNode(typeContainer, "TypeAnnotation"); + + this.finishNode(id, id.type); + + this.semicolon(); + + return this.finishNode(node, "DeclareFunction"); +}; + +pp.flowParseDeclare = function (node) { + if (this.type === tt._class) { + return this.flowParseDeclareClass(node); + } else if (this.type === tt._function) { + return this.flowParseDeclareFunction(node); + } else if (this.type === tt._var) { + return this.flowParseDeclareVariable(node); + } else if (this.isContextual("module")) { + return this.flowParseDeclareModule(node); + } else { + this.unexpected(); + } +}; + +pp.flowParseDeclareVariable = function (node) { + this.next(); + node.id = this.flowParseTypeAnnotatableIdentifier(); + this.semicolon(); + return this.finishNode(node, "DeclareVariable"); +}; + +pp.flowParseDeclareModule = function (node) { + this.next(); + + if (this.type === tt.string) { + node.id = this.parseExprAtom(); + } else { + node.id = this.parseIdent(); + } + + var bodyNode = node.body = this.startNode(); + var body = bodyNode.body = []; + this.expect(tt.braceL); + while (this.type !== tt.braceR) { + var node2 = this.startNode(); + + // todo: declare check + this.next(); + + body.push(this.flowParseDeclare(node2)); + } + this.expect(tt.braceR); + + this.finishNode(bodyNode, "BlockStatement"); + return this.finishNode(node, "DeclareModule"); +}; + + +// Interfaces + +pp.flowParseInterfaceish = function (node, allowStatic) { + node.id = this.parseIdent(); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + + node.extends = []; + + if (this.eat(tt._extends)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while(this.eat(tt.comma)); + } + + node.body = this.flowParseObjectType(allowStatic); +}; + +pp.flowParseInterfaceExtends = function () { + var node = this.startNode(); + + node.id = this.parseIdent(); + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + + return this.finishNode(node, "InterfaceExtends"); +}; + +pp.flowParseInterface = function (node) { + this.flowParseInterfaceish(node, false); + return this.finishNode(node, "InterfaceDeclaration"); +}; + +// Type aliases + +pp.flowParseTypeAlias = function (node) { + node.id = this.parseIdent(); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + + node.right = this.flowParseTypeInitialiser(tt.eq); + this.semicolon(); + + return this.finishNode(node, "TypeAlias"); +}; + +// Type annotations + +pp.flowParseTypeParameterDeclaration = function () { + var node = this.startNode(); + node.params = []; + + this.expectRelational("<"); + while (!this.isRelational(">")) { + node.params.push(this.flowParseTypeAnnotatableIdentifier()); + if (!this.isRelational(">")) { + this.expect(tt.comma); + } + } + this.expectRelational(">"); + + return this.finishNode(node, "TypeParameterDeclaration"); +}; + +pp.flowParseTypeParameterInstantiation = function () { + var node = this.startNode(), oldInType = this.inType; + node.params = []; + + this.inType = true; + + this.expectRelational("<"); + while (!this.isRelational(">")) { + node.params.push(this.flowParseType()); + if (!this.isRelational(">")) { + this.expect(tt.comma); + } + } + this.expectRelational(">"); + + this.inType = oldInType; + + return this.finishNode(node, "TypeParameterInstantiation"); +}; + +pp.flowParseObjectPropertyKey = function () { + return (this.type === tt.num || this.type === tt.string) ? this.parseExprAtom() : this.parseIdent(true); +}; + +pp.flowParseObjectTypeIndexer = function (node, isStatic) { + node.static = isStatic; + + this.expect(tt.bracketL); + node.id = this.flowParseObjectPropertyKey(); + node.key = this.flowParseTypeInitialiser(); + this.expect(tt.bracketR); + node.value = this.flowParseTypeInitialiser(); + + this.flowObjectTypeSemicolon(); + return this.finishNode(node, "ObjectTypeIndexer"); +}; + +pp.flowParseObjectTypeMethodish = function (node) { + node.params = []; + node.rest = null; + node.typeParameters = null; + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + + this.expect(tt.parenL); + while (this.type === tt.name) { + node.params.push(this.flowParseFunctionTypeParam()); + if (this.type !== tt.parenR) { + this.expect(tt.comma); + } + } + + if (this.eat(tt.ellipsis)) { + node.rest = this.flowParseFunctionTypeParam(); + } + this.expect(tt.parenR); + node.returnType = this.flowParseTypeInitialiser(); + + return this.finishNode(node, "FunctionTypeAnnotation"); +}; + +pp.flowParseObjectTypeMethod = function (startPos, startLoc, isStatic, key) { + var node = this.startNodeAt(startPos, startLoc); + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(startPos, startLoc)); + node.static = isStatic; + node.key = key; + node.optional = false; + this.flowObjectTypeSemicolon(); + return this.finishNode(node, "ObjectTypeProperty"); +}; + +pp.flowParseObjectTypeCallProperty = function (node, isStatic) { + var valueNode = this.startNode(); + node.static = isStatic; + node.value = this.flowParseObjectTypeMethodish(valueNode); + this.flowObjectTypeSemicolon(); + return this.finishNode(node, "ObjectTypeCallProperty"); +}; + +pp.flowParseObjectType = function (allowStatic) { + var nodeStart = this.startNode(); + var node; + var optional = false; + var propertyKey; + var isStatic; + + nodeStart.callProperties = []; + nodeStart.properties = []; + nodeStart.indexers = []; + + this.expect(tt.braceL); + + while (this.type !== tt.braceR) { + var startPos = this.start, startLoc = this.startLoc; + node = this.startNode(); + if (allowStatic && this.isContextual("static")) { + this.next(); + isStatic = true; + } + + if (this.type === tt.bracketL) { + nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic)); + } else if (this.type === tt.parenL || this.isRelational("<")) { + nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, allowStatic)); + } else { + if (isStatic && this.type === tt.colon) { + propertyKey = this.parseIdent(); + } else { + propertyKey = this.flowParseObjectPropertyKey(); + } + if (this.isRelational("<") || this.type === tt.parenL) { + // This is a method property + nodeStart.properties.push(this.flowParseObjectTypeMethod(startPos, startLoc, isStatic, propertyKey)); + } else { + if (this.eat(tt.question)) { + optional = true; + } + node.key = propertyKey; + node.value = this.flowParseTypeInitialiser(); + node.optional = optional; + node.static = isStatic; + this.flowObjectTypeSemicolon(); + nodeStart.properties.push(this.finishNode(node, "ObjectTypeProperty")); + } + } + } + + this.expect(tt.braceR); + + return this.finishNode(nodeStart, "ObjectTypeAnnotation"); +}; + +pp.flowObjectTypeSemicolon = function () { + if (!this.eat(tt.semi) && !this.eat(tt.comma) && this.type !== tt.braceR) { + this.unexpected(); + } +}; + +pp.flowParseGenericType = function (startPos, startLoc, id) { + var node = this.startNodeAt(startPos, startLoc); + + node.typeParameters = null; + node.id = id; + + while (this.eat(tt.dot)) { + var node2 = this.startNodeAt(startPos, startLoc); + node2.qualification = node.id; + node2.id = this.parseIdent(); + node.id = this.finishNode(node2, "QualifiedTypeIdentifier"); + } + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } + + return this.finishNode(node, "GenericTypeAnnotation"); +}; + +pp.flowParseTypeofType = function () { + var node = this.startNode(); + this.expect(tt._typeof); + node.argument = this.flowParsePrimaryType(); + return this.finishNode(node, "TypeofTypeAnnotation"); +}; + +pp.flowParseTupleType = function () { + var node = this.startNode(); + node.types = []; + this.expect(tt.bracketL); + // We allow trailing commas + while (this.pos < this.input.length && this.type !== tt.bracketR) { + node.types.push(this.flowParseType()); + if (this.type === tt.bracketR) break; + this.expect(tt.comma); + } + this.expect(tt.bracketR); + return this.finishNode(node, "TupleTypeAnnotation"); +}; + +pp.flowParseFunctionTypeParam = function () { + var optional = false; + var node = this.startNode(); + node.name = this.parseIdent(); + if (this.eat(tt.question)) { + optional = true; + } + node.optional = optional; + node.typeAnnotation = this.flowParseTypeInitialiser(); + return this.finishNode(node, "FunctionTypeParam"); +}; + +pp.flowParseFunctionTypeParams = function () { + var ret = { params: [], rest: null }; + while (this.type === tt.name) { + ret.params.push(this.flowParseFunctionTypeParam()); + if (this.type !== tt.parenR) { + this.expect(tt.comma); + } + } + if (this.eat(tt.ellipsis)) { + ret.rest = this.flowParseFunctionTypeParam(); + } + return ret; +}; + +pp.flowIdentToTypeAnnotation = function (startPos, startLoc, node, id) { + switch (id.name) { + case "any": + return this.finishNode(node, "AnyTypeAnnotation"); + + case "void": + return this.finishNode(node, "VoidTypeAnnotation"); + + case "bool": + case "boolean": + return this.finishNode(node, "BooleanTypeAnnotation"); + + case "mixed": + return this.finishNode(node, "MixedTypeAnnotation"); + + case "number": + return this.finishNode(node, "NumberTypeAnnotation"); + + case "string": + return this.finishNode(node, "StringTypeAnnotation"); + + default: + return this.flowParseGenericType(startPos, startLoc, id); + } +}; + +// The parsing of types roughly parallels the parsing of expressions, and +// primary types are kind of like primary expressions...they're the +// primitives with which other types are constructed. +pp.flowParsePrimaryType = function () { + var startPos = this.start, startLoc = this.startLoc; + var node = this.startNode(); + var tmp; + var type; + var isGroupedType = false; + + switch (this.type) { + case tt.name: + return this.flowIdentToTypeAnnotation(startPos, startLoc, node, this.parseIdent()); + + case tt.braceL: + return this.flowParseObjectType(); + + case tt.bracketL: + return this.flowParseTupleType(); + + case tt.relational: + if (this.value === "<") { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + this.expect(tt.parenL); + tmp = this.flowParseFunctionTypeParams(); + node.params = tmp.params; + node.rest = tmp.rest; + this.expect(tt.parenR); + + this.expect(tt.arrow); + + node.returnType = this.flowParseType(); + + return this.finishNode(node, "FunctionTypeAnnotation"); + } + + case tt.parenL: + this.next(); + + // Check to see if this is actually a grouped type + if (this.type !== tt.parenR && this.type !== tt.ellipsis) { + if (this.type === tt.name) { + var token = this.lookahead().type; + isGroupedType = token !== tt.question && token !== tt.colon; + } else { + isGroupedType = true; + } + } + + if (isGroupedType) { + type = this.flowParseType(); + this.expect(tt.parenR); + + // If we see a => next then someone was probably confused about + // function types, so we can provide a better error message + if (this.eat(tt.arrow)) { + this.raise(node, + "Unexpected token =>. It looks like " + + "you are trying to write a function type, but you ended up " + + "writing a grouped type followed by an =>, which is a syntax " + + "error. Remember, function type parameters are named so function " + + "types look like (name1: type1, name2: type2) => returnType. You " + + "probably wrote (type1) => returnType" + ); + } + + return type; + } + + tmp = this.flowParseFunctionTypeParams(); + node.params = tmp.params; + node.rest = tmp.rest; + + this.expect(tt.parenR); + + this.expect(tt.arrow); + + node.returnType = this.flowParseType(); + node.typeParameters = null; + + return this.finishNode(node, "FunctionTypeAnnotation"); + + case tt.string: + node.value = this.value; + node.raw = this.input.slice(this.start, this.end); + this.next(); + return this.finishNode(node, "StringLiteralTypeAnnotation"); + + default: + if (this.type.keyword === "typeof") { + return this.flowParseTypeofType(); + } + } + + this.unexpected(); +}; + +pp.flowParsePostfixType = function () { + var node = this.startNode(); + var type = node.elementType = this.flowParsePrimaryType(); + if (this.type === tt.bracketL) { + this.expect(tt.bracketL); + this.expect(tt.bracketR); + return this.finishNode(node, "ArrayTypeAnnotation"); + } else { + return type; + } +}; + +pp.flowParsePrefixType = function () { + var node = this.startNode(); + if (this.eat(tt.question)) { + node.typeAnnotation = this.flowParsePrefixType(); + return this.finishNode(node, "NullableTypeAnnotation"); + } else { + return this.flowParsePostfixType(); + } +}; + +pp.flowParseIntersectionType = function () { + var node = this.startNode(); + var type = this.flowParsePrefixType(); + node.types = [type]; + while (this.eat(tt.bitwiseAND)) { + node.types.push(this.flowParsePrefixType()); + } + return node.types.length === 1 ? type : this.finishNode(node, "IntersectionTypeAnnotation"); +}; + +pp.flowParseUnionType = function () { + var node = this.startNode(); + var type = this.flowParseIntersectionType(); + node.types = [type]; + while (this.eat(tt.bitwiseOR)) { + node.types.push(this.flowParseIntersectionType()); + } + return node.types.length === 1 ? type : this.finishNode(node, "UnionTypeAnnotation"); +}; + +pp.flowParseType = function () { + var oldInType = this.inType; + this.inType = true; + var type = this.flowParseUnionType(); + this.inType = oldInType; + return type; +}; + +pp.flowParseTypeAnnotation = function () { + var node = this.startNode(); + node.typeAnnotation = this.flowParseTypeInitialiser(); + return this.finishNode(node, "TypeAnnotation"); +}; + +pp.flowParseTypeAnnotatableIdentifier = function (requireTypeAnnotation, canBeOptionalParam) { + var ident = this.parseIdent(); + var isOptionalParam = false; + + if (canBeOptionalParam && this.eat(tt.question)) { + this.expect(tt.question); + isOptionalParam = true; + } + + if (requireTypeAnnotation || this.type === tt.colon) { + ident.typeAnnotation = this.flowParseTypeAnnotation(); + this.finishNode(ident, ident.type); + } + + if (isOptionalParam) { + ident.optional = true; + this.finishNode(ident, ident.type); + } + + return ident; +}; + +export default function (instance) { + // function name(): string {} + instance.extend("parseFunctionBody", function (inner) { + return function (node, allowExpression) { + if (this.type === tt.colon) { + node.returnType = this.flowParseTypeAnnotation(); + } + + return inner.call(this, node, allowExpression); + }; + }); + + instance.extend("parseStatement", function (inner) { + return function (declaration, topLevel) { + // strict mode handling of `interface` since it's a reserved word + if (this.strict && this.type === tt.name && this.value === "interface") { + var node = this.startNode(); + this.next(); + return this.flowParseInterface(node); + } else { + return inner.call(this, declaration, topLevel); + } + }; + }); + + instance.extend("parseExpressionStatement", function (inner) { + return function (node, expr) { + if (expr.type === "Identifier") { + if (expr.name === "declare") { + if (this.type === tt._class || this.type === tt.name || this.type === tt._function || this.type === tt._var) { + return this.flowParseDeclare(node); + } + } else if (this.type === tt.name) { + if (expr.name === "interface") { + return this.flowParseInterface(node); + } else if (expr.name === "type") { + return this.flowParseTypeAlias(node); + } + } + } + + return inner.call(this, node, expr); + }; + }); + + instance.extend("shouldParseExportDeclaration", function (inner) { + return function () { + return this.isContextual("type") || inner.call(this); + }; + }); + + instance.extend("parseParenItem", function () { + return function (node, startLoc, startPos) { + if (this.type === tt.colon) { + var typeCastNode = this.startNodeAt(startLoc, startPos); + typeCastNode.expression = node; + typeCastNode.typeAnnotation = this.flowParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TypeCastExpression"); + } else { + return node; + } + }; + }); + + instance.extend("parseClassId", function (inner) { + return function (node, isStatement) { + inner.call(this, node, isStatement); + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + }; + }); + + // don't consider `void` to be a keyword as then it'll use the void token type + // and set startExpr + instance.extend("isKeyword", function (inner) { + return function (name) { + if (this.inType && name === "void") { + return false; + } else { + return inner.call(this, name); + } + }; + }); + + instance.extend("readToken", function (inner) { + return function (code) { + if (this.inType && (code === 62 || code === 60)) { + return this.finishOp(tt.relational, 1); + } else { + return inner.call(this, code); + } + }; + }); + + instance.extend("jsx_readToken", function (inner) { + return function () { + if (!this.inType) return inner.call(this); + }; + }); + + instance.extend("parseParenArrowList", function (inner) { + return function (startPos, startLoc, exprList, isAsync) { + for (var i = 0; i < exprList.length; i++) { + var listItem = exprList[i]; + if (listItem.type === "TypeCastExpression") { + var expr = listItem.expression; + expr.typeAnnotation = listItem.typeAnnotation; + exprList[i] = expr; + } + } + return inner.call(this, startPos, startLoc, exprList, isAsync); + }; + }); + + instance.extend("parseClassProperty", function (inner) { + return function (node) { + if (this.type === tt.colon) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + return inner.call(this, node); + }; + }); + + instance.extend("isClassProperty", function (inner) { + return function () { + return this.type === tt.colon || inner.call(this); + }; + }); + + instance.extend("parseClassMethod", function () { + return function (classBody, method, isGenerator, isAsync) { + var typeParameters; + if (this.isRelational("<")) { + typeParameters = this.flowParseTypeParameterDeclaration(); + } + method.value = this.parseMethod(isGenerator, isAsync); + method.value.typeParameters = typeParameters; + classBody.body.push(this.finishNode(method, "MethodDefinition")); + }; + }); + + instance.extend("parseClassSuper", function (inner) { + return function (node, isStatement) { + inner.call(this, node, isStatement); + if (node.superClass && this.isRelational("<")) { + node.superTypeParameters = this.flowParseTypeParameterInstantiation(); + } + if (this.isContextual("implements")) { + this.next(); + var implemented = node.implements = []; + do { + let node = this.startNode(); + node.id = this.parseIdent(); + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + implemented.push(this.finishNode(node, "ClassImplements")); + } while(this.eat(tt.comma)) + } + }; + }); + + instance.extend("parseObjPropValue", function (inner) { + return function (prop) { + var typeParameters; + if (this.isRelational("<")) { + typeParameters = this.flowParseTypeParameterDeclaration(); + if (this.type !== tt.parenL) this.unexpected(); + } + inner.apply(this, arguments); + prop.value.typeParameters = typeParameters; + }; + }); + + instance.extend("parseAssignableListItemTypes", function () { + return function (param) { + if (this.eat(tt.question)) { + param.optional = true; + } + if (this.type === tt.colon) { + param.typeAnnotation = this.flowParseTypeAnnotation(); + } + this.finishNode(param, param.type); + return param; + }; + }); + + instance.extend("parseImportSpecifiers", function (inner) { + return function (node) { + node.isType = false; + if (this.isContextual("type")) { + var startPos = this.start, startLoc = this.startLoc; + var typeId = this.parseIdent(); + if ((this.type === tt.name && this.value !== "from") || this.type === tt.braceL || this.type === tt.star) { + node.isType = true; + } else { + node.specifiers.push(this.parseImportSpecifierDefault(typeId, startPos, startLoc)); + if (this.isContextual("from")) return; + this.eat(tt.comma); + } + } + inner.call(this, node); + }; + }); + + // function foo() {} + instance.extend("parseFunctionParams", function (inner) { + return function (node) { + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + inner.call(this, node); + }; + }); + + // var foo: string = bar + instance.extend("parseVarHead", function (inner) { + return function (decl) { + inner.call(this, decl); + if (this.type === tt.colon) { + decl.id.typeAnnotation = this.flowParseTypeAnnotation(); + this.finishNode(decl.id, decl.id.type); + } + }; + }); +}; diff --git a/packages/babylon/src/plugins/jsx/index.js b/packages/babylon/src/plugins/jsx/index.js new file mode 100644 index 0000000000..19ff2e3697 --- /dev/null +++ b/packages/babylon/src/plugins/jsx/index.js @@ -0,0 +1,421 @@ +import XHTMLEntities from "./xhtml"; +import { TokenType, types as tt } from "../../tokentype"; +import { TokContext, types as tc } from "../../tokencontext"; +import { Parser } from "../../state"; +import { isIdentifierChar, isIdentifierStart } from "../../identifier"; +import { isNewLine, lineBreak, lineBreakG } from "../../whitespace"; + +const HEX_NUMBER = /^[\da-fA-F]+$/; +const DECIMAL_NUMBER = /^\d+$/; + +tc.j_oTag = new TokContext("...", true, true); + +tt.jsxName = new TokenType("jsxName"); +tt.jsxText = new TokenType("jsxText", { beforeExpr: true }); +tt.jsxTagStart = new TokenType("jsxTagStart"); +tt.jsxTagEnd = new TokenType("jsxTagEnd"); + +tt.jsxTagStart.updateContext = function() { + this.context.push(tc.j_expr); // treat as beginning of JSX expression + this.context.push(tc.j_oTag); // start opening tag context + this.exprAllowed = false; +}; + +tt.jsxTagEnd.updateContext = function(prevType) { + var out = this.context.pop(); + if (out === tc.j_oTag && prevType === tt.slash || out === tc.j_cTag) { + this.context.pop(); + this.exprAllowed = this.curContext() === tc.j_expr; + } else { + this.exprAllowed = true; + } +}; + +var pp = Parser.prototype; + +// Reads inline JSX contents token. + +pp.jsxReadToken = function() { + var out = "", chunkStart = this.pos; + for (;;) { + if (this.pos >= this.input.length) + this.raise(this.start, "Unterminated JSX contents"); + var ch = this.input.charCodeAt(this.pos); + + switch (ch) { + case 60: // "<" + case 123: // "{" + if (this.pos === this.start) { + if (ch === 60 && this.exprAllowed) { + ++this.pos; + return this.finishToken(tt.jsxTagStart); + } + return this.getTokenFromCode(ch); + } + out += this.input.slice(chunkStart, this.pos); + return this.finishToken(tt.jsxText, out); + + case 38: // "&" + out += this.input.slice(chunkStart, this.pos); + out += this.jsxReadEntity(); + chunkStart = this.pos; + break; + + default: + if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.pos); + out += this.jsxReadNewLine(true); + chunkStart = this.pos; + } else { + ++this.pos; + } + } + } +}; + +pp.jsxReadNewLine = function(normalizeCRLF) { + var ch = this.input.charCodeAt(this.pos); + var out; + ++this.pos; + if (ch === 13 && this.input.charCodeAt(this.pos) === 10) { + ++this.pos; + out = normalizeCRLF ? "\n" : "\r\n"; + } else { + out = String.fromCharCode(ch); + } + if (this.options.locations) { + ++this.curLine; + this.lineStart = this.pos; + } + + return out; +}; + +pp.jsxReadString = function(quote) { + var out = "", chunkStart = ++this.pos; + for (;;) { + if (this.pos >= this.input.length) + this.raise(this.start, "Unterminated string constant"); + var ch = this.input.charCodeAt(this.pos); + if (ch === quote) break; + if (ch === 38) { // "&" + out += this.input.slice(chunkStart, this.pos); + out += this.jsxReadEntity(); + chunkStart = this.pos; + } else if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.pos); + out += this.jsxReadNewLine(false); + chunkStart = this.pos; + } else { + ++this.pos; + } + } + out += this.input.slice(chunkStart, this.pos++); + return this.finishToken(tt.string, out); +}; + +pp.jsxReadEntity = function() { + var str = "", count = 0, entity; + var ch = this.input[this.pos]; + if (ch !== "&") + this.raise(this.pos, "Entity must start with an ampersand"); + var startPos = ++this.pos; + while (this.pos < this.input.length && count++ < 10) { + ch = this.input[this.pos++]; + if (ch === ";") { + if (str[0] === "#") { + if (str[1] === "x") { + str = str.substr(2); + if (HEX_NUMBER.test(str)) + entity = String.fromCharCode(parseInt(str, 16)); + } else { + str = str.substr(1); + if (DECIMAL_NUMBER.test(str)) + entity = String.fromCharCode(parseInt(str, 10)); + } + } else { + entity = XHTMLEntities[str]; + } + break; + } + str += ch; + } + if (!entity) { + this.pos = startPos; + return "&"; + } + return entity; +}; + + +// Read a JSX identifier (valid tag or attribute name). +// +// Optimized version since JSX identifiers can"t contain +// escape characters and so can be read as single slice. +// Also assumes that first character was already checked +// by isIdentifierStart in readToken. + +pp.jsxReadWord = function() { + var ch, start = this.pos; + do { + ch = this.input.charCodeAt(++this.pos); + } while (isIdentifierChar(ch) || ch === 45); // "-" + return this.finishToken(tt.jsxName, this.input.slice(start, this.pos)); +}; + +// Transforms JSX element name to string. + +function getQualifiedJSXName(object) { + if (object.type === "JSXIdentifier") + return object.name; + + if (object.type === "JSXNamespacedName") + return object.namespace.name + ":" + object.name.name; + + if (object.type === "JSXMemberExpression") + return getQualifiedJSXName(object.object) + "." + + getQualifiedJSXName(object.property); +} + +// Parse next token as JSX identifier + +pp.jsxParseIdentifier = function() { + var node = this.startNode(); + if (this.type === tt.jsxName) + node.name = this.value; + else if (this.type.keyword) + node.name = this.type.keyword; + else + this.unexpected(); + this.next(); + return this.finishNode(node, "JSXIdentifier"); +}; + +// Parse namespaced identifier. + +pp.jsxParseNamespacedName = function() { + var startPos = this.start, startLoc = this.startLoc; + var name = this.jsxParseIdentifier(); + if (!this.eat(tt.colon)) return name; + var node = this.startNodeAt(startPos, startLoc); + node.namespace = name; + node.name = this.jsxParseIdentifier(); + return this.finishNode(node, "JSXNamespacedName"); +}; + +// Parses element name in any form - namespaced, member +// or single identifier. + +pp.jsxParseElementName = function() { + var startPos = this.start, startLoc = this.startLoc; + var node = this.jsxParseNamespacedName(); + while (this.eat(tt.dot)) { + var newNode = this.startNodeAt(startPos, startLoc); + newNode.object = node; + newNode.property = this.jsxParseIdentifier(); + node = this.finishNode(newNode, "JSXMemberExpression"); + } + return node; +}; + +// Parses any type of JSX attribute value. + +pp.jsxParseAttributeValue = function() { + switch (this.type) { + case tt.braceL: + var node = this.jsxParseExpressionContainer(); + if (node.expression.type === "JSXEmptyExpression") + this.raise(node.start, "JSX attributes must only be assigned a non-empty expression"); + return node; + + case tt.jsxTagStart: + case tt.string: + return this.parseExprAtom(); + + default: + this.raise(this.start, "JSX value should be either an expression or a quoted JSX text"); + } +}; + +// JSXEmptyExpression is unique type since it doesn"t actually parse anything, +// and so it should start at the end of last read token (left brace) and finish +// at the beginning of the next one (right brace). + +pp.jsxParseEmptyExpression = function() { + var tmp = this.start; + this.start = this.lastTokEnd; + this.lastTokEnd = tmp; + + tmp = this.startLoc; + this.startLoc = this.lastTokEndLoc; + this.lastTokEndLoc = tmp; + + return this.finishNode(this.startNode(), "JSXEmptyExpression"); +}; + +// Parses JSX expression enclosed into curly brackets. + + +pp.jsxParseExpressionContainer = function() { + var node = this.startNode(); + this.next(); + node.expression = this.type === tt.braceR + ? this.jsxParseEmptyExpression() + : this.parseExpression(); + this.expect(tt.braceR); + return this.finishNode(node, "JSXExpressionContainer"); +}; + +// Parses following JSX attribute name-value pair. + +pp.jsxParseAttribute = function() { + var node = this.startNode(); + if (this.eat(tt.braceL)) { + this.expect(tt.ellipsis); + node.argument = this.parseMaybeAssign(); + this.expect(tt.braceR); + return this.finishNode(node, "JSXSpreadAttribute"); + } + node.name = this.jsxParseNamespacedName(); + node.value = this.eat(tt.eq) ? this.jsxParseAttributeValue() : null; + return this.finishNode(node, "JSXAttribute"); +}; + +// Parses JSX opening tag starting after "<". + +pp.jsxParseOpeningElementAt = function(startPos, startLoc) { + var node = this.startNodeAt(startPos, startLoc); + node.attributes = []; + node.name = this.jsxParseElementName(); + while (this.type !== tt.slash && this.type !== tt.jsxTagEnd) + node.attributes.push(this.jsxParseAttribute()); + node.selfClosing = this.eat(tt.slash); + this.expect(tt.jsxTagEnd); + return this.finishNode(node, "JSXOpeningElement"); +}; + +// Parses JSX closing tag starting after ""); + } + } + + node.openingElement = openingElement; + node.closingElement = closingElement; + node.children = children; + if (this.type === tt.relational && this.value === "<") { + this.raise(this.start, "Adjacent JSX elements must be wrapped in an enclosing tag"); + } + return this.finishNode(node, "JSXElement"); +}; + +// Parses entire JSX element from current position. + +pp.jsxParseElement = function() { + var startPos = this.start, startLoc = this.startLoc; + this.next(); + return this.jsxParseElementAt(startPos, startLoc); +}; + +export default function(instance) { + instance.extend("parseExprAtom", function(inner) { + return function(refShortHandDefaultPos) { + if (this.type === tt.jsxText) + return this.parseLiteral(this.value); + else if (this.type === tt.jsxTagStart) + return this.jsxParseElement(); + else + return inner.call(this, refShortHandDefaultPos); + }; + }); + + instance.extend("readToken", function(inner) { + return function(code) { + var context = this.curContext(); + + if (context === tc.j_expr) return this.jsxReadToken(); + + if (context === tc.j_oTag || context === tc.j_cTag) { + if (isIdentifierStart(code)) return this.jsxReadWord(); + + if (code === 62) { + ++this.pos; + return this.finishToken(tt.jsxTagEnd); + } + + if ((code === 34 || code === 39) && context === tc.j_oTag) + return this.jsxReadString(code); + } + + if (code === 60 && this.exprAllowed) { + ++this.pos; + return this.finishToken(tt.jsxTagStart); + } + return inner.call(this, code); + }; + }); + + instance.extend("updateContext", function(inner) { + return function(prevType) { + if (this.type === tt.braceL) { + var curContext = this.curContext(); + if (curContext === tc.j_oTag) this.context.push(tc.b_expr); + else if (curContext === tc.j_expr) this.context.push(tc.b_tmpl); + else inner.call(this, prevType); + this.exprAllowed = true; + } else if (this.type === tt.slash && prevType === tt.jsxTagStart) { + this.context.length -= 2; // do not consider JSX expr -> JSX open tag -> ... anymore + this.context.push(tc.j_cTag); // reconsider as closing tag context + this.exprAllowed = false; + } else { + return inner.call(this, prevType); + } + }; + }); +}; diff --git a/packages/babylon/src/plugins/jsx/xhtml.js b/packages/babylon/src/plugins/jsx/xhtml.js new file mode 100644 index 0000000000..232f8b1b1a --- /dev/null +++ b/packages/babylon/src/plugins/jsx/xhtml.js @@ -0,0 +1,255 @@ +export default { + quot: "\u0022", + amp: "&", + apos: "\u0027", + lt: "<", + gt: ">", + nbsp: "\u00A0", + iexcl: "\u00A1", + cent: "\u00A2", + pound: "\u00A3", + curren: "\u00A4", + yen: "\u00A5", + brvbar: "\u00A6", + sect: "\u00A7", + uml: "\u00A8", + copy: "\u00A9", + ordf: "\u00AA", + laquo: "\u00AB", + not: "\u00AC", + shy: "\u00AD", + reg: "\u00AE", + macr: "\u00AF", + deg: "\u00B0", + plusmn: "\u00B1", + sup2: "\u00B2", + sup3: "\u00B3", + acute: "\u00B4", + micro: "\u00B5", + para: "\u00B6", + middot: "\u00B7", + cedil: "\u00B8", + sup1: "\u00B9", + ordm: "\u00BA", + raquo: "\u00BB", + frac14: "\u00BC", + frac12: "\u00BD", + frac34: "\u00BE", + iquest: "\u00BF", + Agrave: "\u00C0", + Aacute: "\u00C1", + Acirc: "\u00C2", + Atilde: "\u00C3", + Auml: "\u00C4", + Aring: "\u00C5", + AElig: "\u00C6", + Ccedil: "\u00C7", + Egrave: "\u00C8", + Eacute: "\u00C9", + Ecirc: "\u00CA", + Euml: "\u00CB", + Igrave: "\u00CC", + Iacute: "\u00CD", + Icirc: "\u00CE", + Iuml: "\u00CF", + ETH: "\u00D0", + Ntilde: "\u00D1", + Ograve: "\u00D2", + Oacute: "\u00D3", + Ocirc: "\u00D4", + Otilde: "\u00D5", + Ouml: "\u00D6", + times: "\u00D7", + Oslash: "\u00D8", + Ugrave: "\u00D9", + Uacute: "\u00DA", + Ucirc: "\u00DB", + Uuml: "\u00DC", + Yacute: "\u00DD", + THORN: "\u00DE", + szlig: "\u00DF", + agrave: "\u00E0", + aacute: "\u00E1", + acirc: "\u00E2", + atilde: "\u00E3", + auml: "\u00E4", + aring: "\u00E5", + aelig: "\u00E6", + ccedil: "\u00E7", + egrave: "\u00E8", + eacute: "\u00E9", + ecirc: "\u00EA", + euml: "\u00EB", + igrave: "\u00EC", + iacute: "\u00ED", + icirc: "\u00EE", + iuml: "\u00EF", + eth: "\u00F0", + ntilde: "\u00F1", + ograve: "\u00F2", + oacute: "\u00F3", + ocirc: "\u00F4", + otilde: "\u00F5", + ouml: "\u00F6", + divide: "\u00F7", + oslash: "\u00F8", + ugrave: "\u00F9", + uacute: "\u00FA", + ucirc: "\u00FB", + uuml: "\u00FC", + yacute: "\u00FD", + thorn: "\u00FE", + yuml: "\u00FF", + OElig: "\u0152", + oelig: "\u0153", + Scaron: "\u0160", + scaron: "\u0161", + Yuml: "\u0178", + fnof: "\u0192", + circ: "\u02C6", + tilde: "\u02DC", + Alpha: "\u0391", + Beta: "\u0392", + Gamma: "\u0393", + Delta: "\u0394", + Epsilon: "\u0395", + Zeta: "\u0396", + Eta: "\u0397", + Theta: "\u0398", + Iota: "\u0399", + Kappa: "\u039A", + Lambda: "\u039B", + Mu: "\u039C", + Nu: "\u039D", + Xi: "\u039E", + Omicron: "\u039F", + Pi: "\u03A0", + Rho: "\u03A1", + Sigma: "\u03A3", + Tau: "\u03A4", + Upsilon: "\u03A5", + Phi: "\u03A6", + Chi: "\u03A7", + Psi: "\u03A8", + Omega: "\u03A9", + alpha: "\u03B1", + beta: "\u03B2", + gamma: "\u03B3", + delta: "\u03B4", + epsilon: "\u03B5", + zeta: "\u03B6", + eta: "\u03B7", + theta: "\u03B8", + iota: "\u03B9", + kappa: "\u03BA", + lambda: "\u03BB", + mu: "\u03BC", + nu: "\u03BD", + xi: "\u03BE", + omicron: "\u03BF", + pi: "\u03C0", + rho: "\u03C1", + sigmaf: "\u03C2", + sigma: "\u03C3", + tau: "\u03C4", + upsilon: "\u03C5", + phi: "\u03C6", + chi: "\u03C7", + psi: "\u03C8", + omega: "\u03C9", + thetasym: "\u03D1", + upsih: "\u03D2", + piv: "\u03D6", + ensp: "\u2002", + emsp: "\u2003", + thinsp: "\u2009", + zwnj: "\u200C", + zwj: "\u200D", + lrm: "\u200E", + rlm: "\u200F", + ndash: "\u2013", + mdash: "\u2014", + lsquo: "\u2018", + rsquo: "\u2019", + sbquo: "\u201A", + ldquo: "\u201C", + rdquo: "\u201D", + bdquo: "\u201E", + dagger: "\u2020", + Dagger: "\u2021", + bull: "\u2022", + hellip: "\u2026", + permil: "\u2030", + prime: "\u2032", + Prime: "\u2033", + lsaquo: "\u2039", + rsaquo: "\u203A", + oline: "\u203E", + frasl: "\u2044", + euro: "\u20AC", + image: "\u2111", + weierp: "\u2118", + real: "\u211C", + trade: "\u2122", + alefsym: "\u2135", + larr: "\u2190", + uarr: "\u2191", + rarr: "\u2192", + darr: "\u2193", + harr: "\u2194", + crarr: "\u21B5", + lArr: "\u21D0", + uArr: "\u21D1", + rArr: "\u21D2", + dArr: "\u21D3", + hArr: "\u21D4", + forall: "\u2200", + part: "\u2202", + exist: "\u2203", + empty: "\u2205", + nabla: "\u2207", + isin: "\u2208", + notin: "\u2209", + ni: "\u220B", + prod: "\u220F", + sum: "\u2211", + minus: "\u2212", + lowast: "\u2217", + radic: "\u221A", + prop: "\u221D", + infin: "\u221E", + ang: "\u2220", + and: "\u2227", + or: "\u2228", + cap: "\u2229", + cup: "\u222A", + "int": "\u222B", + there4: "\u2234", + sim: "\u223C", + cong: "\u2245", + asymp: "\u2248", + ne: "\u2260", + equiv: "\u2261", + le: "\u2264", + ge: "\u2265", + sub: "\u2282", + sup: "\u2283", + nsub: "\u2284", + sube: "\u2286", + supe: "\u2287", + oplus: "\u2295", + otimes: "\u2297", + perp: "\u22A5", + sdot: "\u22C5", + lceil: "\u2308", + rceil: "\u2309", + lfloor: "\u230A", + rfloor: "\u230B", + lang: "\u2329", + rang: "\u232A", + loz: "\u25CA", + spades: "\u2660", + clubs: "\u2663", + hearts: "\u2665", + diams: "\u2666" +}; diff --git a/packages/babylon/src/state.js b/packages/babylon/src/state.js new file mode 100755 index 0000000000..651e485a7e --- /dev/null +++ b/packages/babylon/src/state.js @@ -0,0 +1,88 @@ +import {reservedWords, keywords} from "./identifier"; +import {types as tt} from "./tokentype"; +import {lineBreak} from "./whitespace"; + +export function Parser(options, input, startPos) { + this.options = options; + this.sourceFile = this.options.sourceFile || null; + this.isKeyword = keywords[this.options.ecmaVersion >= 6 ? 6 : 5]; + this.isReservedWord = reservedWords[this.options.ecmaVersion]; + this.input = input; + this.loadPlugins(this.options.plugins); + + // Set up token state + + // The current position of the tokenizer in the input. + if (startPos) { + this.pos = startPos; + this.lineStart = Math.max(0, this.input.lastIndexOf("\n", startPos)); + this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length; + } else { + this.pos = this.lineStart = 0; + this.curLine = 1; + } + + // Properties of the current token: + // Its type + this.type = tt.eof; + // For tokens that include more information than their type, the value + this.value = null; + // Its start and end offset + this.start = this.end = this.pos; + // And, if locations are used, the {line, column} object + // corresponding to those offsets + this.startLoc = this.endLoc = this.curPosition(); + + // Position information for the previous token + this.lastTokEndLoc = this.lastTokStartLoc = null; + this.lastTokStart = this.lastTokEnd = this.pos; + + // The context stack is used to superficially track syntactic + // context to predict whether a regular expression is allowed in a + // given position. + this.context = this.initialContext(); + this.exprAllowed = true; + + // Figure out if it's a module code. + this.inModule = this.options.sourceType === "module"; + this.strict = this.options.strictMode === false ? false : this.inModule; + + // Used to signify the start of a potential arrow function + this.potentialArrowAt = -1; + + // Flags to track whether we are in a function, a generator. + this.inFunction = this.inGenerator = false; + // Labels in scope. + this.labels = []; + + this.decorators = []; + + // If enabled, skip leading hashbang line. + if (this.pos === 0 && this.options.allowHashBang && this.input.slice(0, 2) === "#!") { + this.skipLineComment(2); + } +} + +Parser.prototype.extend = function (name, f) { + this[name] = f(this[name]); +}; + +// Registered plugins + +export const plugins = {}; + +Parser.prototype.loadPlugins = function (plugins) { + for (let name in plugins) { + let plugin = exports.plugins[name]; + if (!plugin) throw new Error(`Plugin '${name}' not found`); + plugin(this, plugins[name]); + } +}; + +Parser.prototype.parse = function () { + return new Promise((resolve) => { + let node = this.options.program || this.startNode(); + this.nextToken(); + resolve(this.parseTopLevel(node)); + }); +}; diff --git a/packages/babylon/src/statement.js b/packages/babylon/src/statement.js new file mode 100755 index 0000000000..e62a54c2d4 --- /dev/null +++ b/packages/babylon/src/statement.js @@ -0,0 +1,806 @@ +import {types as tt} from "./tokentype"; +import {Parser} from "./state"; +import {lineBreak} from "./whitespace"; + +const pp = Parser.prototype; + +// ### Statement parsing + +// Parse a program. Initializes the parser, reads any number of +// statements, and wraps them in a Program node. Optionally takes a +// `program` argument. If present, the statements will be appended +// to its body instead of creating a new node. + +pp.parseTopLevel = function (node) { + let first = true; + if (!node.body) node.body = []; + while (this.type !== tt.eof) { + let stmt = this.parseStatement(true, true); + node.body.push(stmt); + if (first) { + if (this.isUseStrict(stmt)) this.setStrict(true); + first = false; + } + } + this.next(); + if (this.options.ecmaVersion >= 6) { + node.sourceType = this.options.sourceType; + } + return this.finishNode(node, "Program"); +}; + +const loopLabel = {kind: "loop"}, switchLabel = {kind: "switch"}; + +// Parse a single statement. +// +// If expecting a statement and finding a slash operator, parse a +// regular expression literal. This is to handle cases like +// `if (foo) /blah/.exec(foo)`, where looking at the previous token +// does not help. + +pp.parseStatement = function (declaration, topLevel) { + if (this.type === tt.at) { + this.parseDecorators(true); + } + + let starttype = this.type, node = this.startNode(); + + // Most types of statements are recognized by the keyword they + // start with. Many are trivial to parse, some require a bit of + // complexity. + + switch (starttype) { + case tt._break: case tt._continue: return this.parseBreakContinueStatement(node, starttype.keyword); + case tt._debugger: return this.parseDebuggerStatement(node); + case tt._do: return this.parseDoStatement(node); + case tt._for: return this.parseForStatement(node); + case tt._function: + if (!declaration && this.options.ecmaVersion >= 6) this.unexpected(); + return this.parseFunctionStatement(node); + + case tt._class: + if (!declaration) this.unexpected(); + this.takeDecorators(node); + return this.parseClass(node, true); + + case tt._if: return this.parseIfStatement(node); + case tt._return: return this.parseReturnStatement(node); + case tt._switch: return this.parseSwitchStatement(node); + case tt._throw: return this.parseThrowStatement(node); + case tt._try: return this.parseTryStatement(node); + case tt._let: case tt._const: if (!declaration) this.unexpected(); // NOTE: falls through to _var + case tt._var: return this.parseVarStatement(node, starttype); + case tt._while: return this.parseWhileStatement(node); + case tt._with: return this.parseWithStatement(node); + case tt.braceL: return this.parseBlock(); + case tt.semi: return this.parseEmptyStatement(node); + case tt._export: + case tt._import: + if (!this.options.allowImportExportEverywhere) { + if (!topLevel) + this.raise(this.start, "'import' and 'export' may only appear at the top level"); + + if (!this.inModule) + this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); + } + return starttype === tt._import ? this.parseImport(node) : this.parseExport(node); + + case tt.name: + if (this.options.features["es7.asyncFunctions"] && this.value === "async") { + var lookahead = this.lookahead(); + if (lookahead.type === tt._function && !this.canInsertSemicolon.call(lookahead)) { + this.next(); + this.expect(tt._function); + return this.parseFunction(node, true, false, true); + } + } + + // If the statement does not start with a statement keyword or a + // brace, it's an ExpressionStatement or LabeledStatement. We + // simply start parsing an expression, and afterwards, if the + // next token is a colon and the expression was a simple + // Identifier node, we switch to interpreting it as a label. + default: + let maybeName = this.value, expr = this.parseExpression(); + + if (starttype === tt.name && expr.type === "Identifier" && this.eat(tt.colon)) { + return this.parseLabeledStatement(node, maybeName, expr); + } else { + return this.parseExpressionStatement(node, expr); + } + } +}; + +pp.takeDecorators = function (node) { + if (this.decorators.length) { + node.decorators = this.decorators; + this.decorators = []; + } +}; + +pp.parseDecorators = function (allowExport) { + while (this.type === tt.at) { + this.decorators.push(this.parseDecorator()); + } + + if (allowExport && this.type === tt._export) { + return; + } + + if (this.type !== tt._class) { + this.raise(this.start, "Leading decorators must be attached to a class declaration"); + } +}; + +pp.parseDecorator = function () { + if (!this.options.features["es7.decorators"]) { + this.unexpected(); + } + let node = this.startNode(); + this.next(); + node.expression = this.parseMaybeAssign(); + return this.finishNode(node, "Decorator"); +}; + +pp.parseBreakContinueStatement = function (node, keyword) { + let isBreak = keyword === "break"; + this.next(); + + if (this.eat(tt.semi) || this.insertSemicolon()) { + node.label = null; + } else if (this.type !== tt.name) { + this.unexpected(); + } else { + node.label = this.parseIdent(); + this.semicolon(); + } + + // Verify that there is an actual destination to break or + // continue to. + for (var i = 0; i < this.labels.length; ++i) { + let lab = this.labels[i]; + if (node.label == null || lab.name === node.label.name) { + if (lab.kind != null && (isBreak || lab.kind === "loop")) break; + if (node.label && isBreak) break; + } + } + if (i === this.labels.length) this.raise(node.start, "Unsyntactic " + keyword); + return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement"); +}; + +pp.parseDebuggerStatement = function (node) { + this.next(); + this.semicolon(); + return this.finishNode(node, "DebuggerStatement"); +}; + +pp.parseDoStatement = function (node) { + this.next(); + this.labels.push(loopLabel); + node.body = this.parseStatement(false); + this.labels.pop(); + this.expect(tt._while); + node.test = this.parseParenExpression(); + if (this.options.ecmaVersion >= 6) { + this.eat(tt.semi); + } else { + this.semicolon(); + } + return this.finishNode(node, "DoWhileStatement"); +}; + +// Disambiguating between a `for` and a `for`/`in` or `for`/`of` +// loop is non-trivial. Basically, we have to parse the init `var` +// statement or expression, disallowing the `in` operator (see +// the second parameter to `parseExpression`), and then check +// whether the next token is `in` or `of`. When there is no init +// part (semicolon immediately after the opening parenthesis), it +// is a regular `for` loop. + +pp.parseForStatement = function (node) { + this.next(); + this.labels.push(loopLabel); + this.expect(tt.parenL); + + if (this.type === tt.semi) { + return this.parseFor(node, null); + } + + if (this.type === tt._var || this.type === tt._let || this.type === tt._const) { + let init = this.startNode(), varKind = this.type; + this.next(); + this.parseVar(init, true, varKind); + this.finishNode(init, "VariableDeclaration"); + if ((this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init.declarations.length === 1 && + !(varKind !== tt._var && init.declarations[0].init)) + return this.parseForIn(node, init); + return this.parseFor(node, init); + } + + let refShorthandDefaultPos = {start: 0}; + let init = this.parseExpression(true, refShorthandDefaultPos); + if (this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) { + this.toAssignable(init); + this.checkLVal(init); + return this.parseForIn(node, init); + } else if (refShorthandDefaultPos.start) { + this.unexpected(refShorthandDefaultPos.start); + } + return this.parseFor(node, init); +}; + +pp.parseFunctionStatement = function (node) { + this.next(); + return this.parseFunction(node, true); +}; + +pp.parseIfStatement = function (node) { + this.next(); + node.test = this.parseParenExpression(); + node.consequent = this.parseStatement(false); + node.alternate = this.eat(tt._else) ? this.parseStatement(false) : null; + return this.finishNode(node, "IfStatement"); +}; + +pp.parseReturnStatement = function (node) { + if (!this.inFunction && !this.options.allowReturnOutsideFunction) { + this.raise(this.start, "'return' outside of function"); + } + + this.next(); + + // In `return` (and `break`/`continue`), the keywords with + // optional arguments, we eagerly look for a semicolon or the + // possibility to insert one. + + if (this.eat(tt.semi) || this.insertSemicolon()) { + node.argument = null; + } else { + node.argument = this.parseExpression(); + this.semicolon(); + } + + return this.finishNode(node, "ReturnStatement"); +}; + +pp.parseSwitchStatement = function (node) { + this.next(); + node.discriminant = this.parseParenExpression(); + node.cases = []; + this.expect(tt.braceL); + this.labels.push(switchLabel); + + // Statements under must be grouped (by label) in SwitchCase + // nodes. `cur` is used to keep the node that we are currently + // adding statements to. + + for (var cur, sawDefault; this.type !== tt.braceR; ) { + if (this.type === tt._case || this.type === tt._default) { + let isCase = this.type === tt._case; + if (cur) this.finishNode(cur, "SwitchCase"); + node.cases.push(cur = this.startNode()); + cur.consequent = []; + this.next(); + if (isCase) { + cur.test = this.parseExpression(); + } else { + if (sawDefault) this.raise(this.lastTokStart, "Multiple default clauses"); + sawDefault = true; + cur.test = null; + } + this.expect(tt.colon); + } else { + if (!cur) this.unexpected(); + cur.consequent.push(this.parseStatement(true)); + } + } + if (cur) this.finishNode(cur, "SwitchCase"); + this.next(); // Closing brace + this.labels.pop(); + return this.finishNode(node, "SwitchStatement"); +}; + +pp.parseThrowStatement = function (node) { + this.next(); + if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) + this.raise(this.lastTokEnd, "Illegal newline after throw"); + node.argument = this.parseExpression(); + this.semicolon(); + return this.finishNode(node, "ThrowStatement"); +}; + +// Reused empty array added for node fields that are always empty. + +var empty = []; + +pp.parseTryStatement = function (node) { + this.next(); + node.block = this.parseBlock(); + node.handler = null; + if (this.type === tt._catch) { + let clause = this.startNode(); + this.next(); + this.expect(tt.parenL); + clause.param = this.parseBindingAtom(); + this.checkLVal(clause.param, true); + this.expect(tt.parenR); + clause.body = this.parseBlock(); + node.handler = this.finishNode(clause, "CatchClause"); + } + + node.guardedHandlers = empty; + node.finalizer = this.eat(tt._finally) ? this.parseBlock() : null; + + if (!node.handler && !node.finalizer) { + this.raise(node.start, "Missing catch or finally clause"); + } + + return this.finishNode(node, "TryStatement"); +}; + +pp.parseVarStatement = function (node, kind) { + this.next(); + this.parseVar(node, false, kind); + this.semicolon(); + return this.finishNode(node, "VariableDeclaration"); +}; + +pp.parseWhileStatement = function (node) { + this.next(); + node.test = this.parseParenExpression(); + this.labels.push(loopLabel); + node.body = this.parseStatement(false); + this.labels.pop(); + return this.finishNode(node, "WhileStatement"); +}; + +pp.parseWithStatement = function (node) { + if (this.strict) this.raise(this.start, "'with' in strict mode"); + this.next(); + node.object = this.parseParenExpression(); + node.body = this.parseStatement(false); + return this.finishNode(node, "WithStatement"); +}; + +pp.parseEmptyStatement = function (node) { + this.next(); + return this.finishNode(node, "EmptyStatement"); +}; + +pp.parseLabeledStatement = function (node, maybeName, expr) { + for (let i = 0; i < this.labels.length; ++i){ + if (this.labels[i].name === maybeName) { + this.raise(expr.start, `Label '${maybeName}' is already declared`); + } + } + + let kind = this.type.isLoop ? "loop" : this.type === tt._switch ? "switch" : null; + for (let i = this.labels.length - 1; i >= 0; i--) { + let label = this.labels[i]; + if (label.statementStart === node.start) { + label.statementStart = this.start; + label.kind = kind; + } else { + break; + } + } + + this.labels.push({name: maybeName, kind: kind, statementStart: this.start}); + node.body = this.parseStatement(true); + this.labels.pop(); + node.label = expr; + return this.finishNode(node, "LabeledStatement"); +}; + +pp.parseExpressionStatement = function (node, expr) { + node.expression = expr; + this.semicolon(); + return this.finishNode(node, "ExpressionStatement"); +}; + +// Parse a semicolon-enclosed block of statements, handling `"use +// strict"` declarations when `allowStrict` is true (used for +// function bodies). + +pp.parseBlock = function (allowStrict) { + let node = this.startNode(), first = true, oldStrict; + node.body = []; + this.expect(tt.braceL); + while (!this.eat(tt.braceR)) { + let stmt = this.parseStatement(true); + node.body.push(stmt); + if (first && allowStrict && this.isUseStrict(stmt)) { + oldStrict = this.strict; + this.setStrict(this.strict = true); + } + first = false; + } + if (oldStrict === false) this.setStrict(false); + return this.finishNode(node, "BlockStatement"); +}; + +// Parse a regular `for` loop. The disambiguation code in +// `parseStatement` will already have parsed the init statement or +// expression. + +pp.parseFor = function (node, init) { + node.init = init; + this.expect(tt.semi); + node.test = this.type === tt.semi ? null : this.parseExpression(); + this.expect(tt.semi); + node.update = this.type === tt.parenR ? null : this.parseExpression(); + this.expect(tt.parenR); + node.body = this.parseStatement(false); + this.labels.pop(); + return this.finishNode(node, "ForStatement"); +}; + +// Parse a `for`/`in` and `for`/`of` loop, which are almost +// same from parser's perspective. + +pp.parseForIn = function (node, init) { + let type = this.type === tt._in ? "ForInStatement" : "ForOfStatement"; + this.next(); + node.left = init; + node.right = this.parseExpression(); + this.expect(tt.parenR); + node.body = this.parseStatement(false); + this.labels.pop(); + return this.finishNode(node, type); +}; + +// Parse a list of variable declarations. + +pp.parseVar = function (node, isFor, kind) { + node.declarations = []; + node.kind = kind.keyword; + for (;;) { + let decl = this.startNode(); + this.parseVarHead(decl); + if (this.eat(tt.eq)) { + decl.init = this.parseMaybeAssign(isFor); + } else if (kind === tt._const && !(this.type === tt._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) { + this.unexpected(); + } else if (decl.id.type !== "Identifier" && !(isFor && (this.type === tt._in || this.isContextual("of")))) { + this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value"); + } else { + decl.init = null; + } + node.declarations.push(this.finishNode(decl, "VariableDeclarator")); + if (!this.eat(tt.comma)) break; + } + return node; +}; + +pp.parseVarHead = function (decl) { + decl.id = this.parseBindingAtom(); + this.checkLVal(decl.id, true); +}; + +// Parse a function declaration or literal (depending on the +// `isStatement` parameter). + +pp.parseFunction = function (node, isStatement, allowExpressionBody, isAsync) { + this.initFunction(node, isAsync); + if (this.options.ecmaVersion >= 6) { + node.generator = this.eat(tt.star); + } + + if (isStatement || this.type === tt.name) { + node.id = this.parseIdent(); + } + + this.parseFunctionParams(node); + this.parseFunctionBody(node, allowExpressionBody); + return this.finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression"); +}; + +pp.parseFunctionParams = function (node) { + this.expect(tt.parenL); + node.params = this.parseBindingList(tt.parenR, false, this.options.features["es7.trailingFunctionCommas"]); +}; + +// Parse a class declaration or literal (depending on the +// `isStatement` parameter). + +pp.parseClass = function (node, isStatement) { + this.next(); + this.parseClassId(node, isStatement); + this.parseClassSuper(node); + var classBody = this.startNode(); + let hadConstructor = false; + classBody.body = []; + this.expect(tt.braceL); + let decorators = []; + while (!this.eat(tt.braceR)) { + if (this.eat(tt.semi)) continue; + if (this.type === tt.at) { + decorators.push(this.parseDecorator()); + continue; + } + var method = this.startNode(); + if (decorators.length) { + method.decorators = decorators; + decorators = []; + } + let isMaybeStatic = this.type === tt.name && this.value === "static"; + var isGenerator = this.eat(tt.star), isAsync = false; + this.parsePropertyName(method); + method.static = isMaybeStatic && this.type !== tt.parenL; + if (method.static) { + if (isGenerator) this.unexpected(); + isGenerator = this.eat(tt.star); + this.parsePropertyName(method); + } + if (!isGenerator && method.key.type === "Identifier" && !method.computed && this.isClassProperty()) { + classBody.body.push(this.parseClassProperty(method)); + continue; + } + if (this.options.features["es7.asyncFunctions"] && this.type !== tt.parenL && + !method.computed && method.key.type === "Identifier" && method.key.name === "async") { + isAsync = true; + this.parsePropertyName(method); + } + let isGetSet = false; + method.kind = "method"; + if (!method.computed) { + let {key} = method; + if (!isAsync && !isGenerator && key.type === "Identifier" && this.type !== tt.parenL && (key.name === "get" || key.name === "set")) { + isGetSet = true; + method.kind = key.name; + key = this.parsePropertyName(method); + } + if (!method.static && (key.type === "Identifier" && key.name === "constructor" || + key.type === "Literal" && key.value === "constructor")) { + if (hadConstructor) this.raise(key.start, "Duplicate constructor in the same class"); + if (isGetSet) this.raise(key.start, "Constructor can't have get/set modifier"); + if (isGenerator) this.raise(key.start, "Constructor can't be a generator"); + if (isAsync) this.raise(key.start, "Constructor can't be an async function"); + method.kind = "constructor"; + hadConstructor = true; + } + } + if (method.kind === "constructor" && method.decorators) { + this.raise(method.start, "You can't attach decorators to a class constructor"); + } + this.parseClassMethod(classBody, method, isGenerator, isAsync); + if (isGetSet) { + let paramCount = method.kind === "get" ? 0 : 1; + if (method.value.params.length !== paramCount) { + let start = method.value.start; + if (method.kind === "get") { + this.raise(start, "getter should have no params"); + } else { + this.raise(start, "setter should have exactly one param"); + } + } + } + } + + if (decorators.length) { + this.raise(this.start, "You have trailing decorators with no method"); + } + + node.body = this.finishNode(classBody, "ClassBody"); + return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression"); +}; + +pp.isClassProperty = function () { + return this.type === tt.eq || (this.type === tt.semi || this.canInsertSemicolon()); +}; + +pp.parseClassProperty = function (node) { + if (this.type === tt.eq) { + if (!this.options.features["es7.classProperties"]) this.unexpected(); + this.next(); + node.value = this.parseMaybeAssign(); + } else { + node.value = null; + } + this.semicolon(); + return this.finishNode(node, "ClassProperty"); +}; + +pp.parseClassMethod = function (classBody, method, isGenerator, isAsync) { + method.value = this.parseMethod(isGenerator, isAsync); + classBody.body.push(this.finishNode(method, "MethodDefinition")); +}; + +pp.parseClassId = function (node, isStatement) { + node.id = this.type === tt.name ? this.parseIdent() : isStatement ? this.unexpected() : null; +}; + +pp.parseClassSuper = function (node) { + node.superClass = this.eat(tt._extends) ? this.parseExprSubscripts() : null; +}; + +// Parses module export declaration. + +pp.parseExport = function (node) { + this.next(); + // export * from '...' + if (this.type === tt.star) { + let specifier = this.startNode(); + this.next(); + if (this.options.features["es7.exportExtensions"] && this.eatContextual("as")) { + specifier.exported = this.parseIdent(); + node.specifiers = [this.finishNode(specifier, "ExportNamespaceSpecifier")]; + this.parseExportSpecifiersMaybe(node); + this.parseExportFrom(node); + } else { + this.parseExportFrom(node); + return this.finishNode(node, "ExportAllDeclaration"); + } + } else if (this.options.features["es7.exportExtensions"] && this.isExportDefaultSpecifier()) { + let specifier = this.startNode(); + specifier.exported = this.parseIdent(true); + node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + if (this.type === tt.comma && this.lookahead().type === tt.star) { + this.expect(tt.comma); + let specifier = this.startNode(); + this.expect(tt.star); + this.expectContextual("as"); + specifier.exported = this.parseIdent(); + node.specifiers.push(this.finishNode(specifier, "ExportNamespaceSpecifier")); + } else { + this.parseExportSpecifiersMaybe(node); + } + this.parseExportFrom(node); + } else if (this.eat(tt._default)) { // export default ... + let expr = this.parseMaybeAssign(); + let needsSemi = true; + if (expr.type === "FunctionExpression" || expr.type === "ClassExpression") { + needsSemi = false; + if (expr.id) { + expr.type = expr.type === "FunctionExpression" ? "FunctionDeclaration" : "ClassDeclaration"; + } + } + node.declaration = expr; + if (needsSemi) this.semicolon(); + this.checkExport(node); + return this.finishNode(node, "ExportDefaultDeclaration"); + } else if (this.type.keyword || this.shouldParseExportDeclaration()) { + node.declaration = this.parseStatement(true); + node.specifiers = []; + node.source = null; + } else { // export { x, y as z } [from '...'] + node.declaration = null; + node.specifiers = this.parseExportSpecifiers(); + if (this.eatContextual("from")) { + node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected(); + } else { + node.source = null; + } + this.semicolon(); + } + this.checkExport(node); + return this.finishNode(node, "ExportNamedDeclaration"); +}; + +pp.isExportDefaultSpecifier = function () { + if (this.type === tt.name) { + return this.value !== "type" && this.value !== "async"; + } + + if (this.type !== tt._default) { + return false; + } + + var lookahead = this.lookahead(); + return lookahead.type === tt.comma || (lookahead.type === tt.name && lookahead.value === "from"); +}; + +pp.parseExportSpecifiersMaybe = function (node) { + if (this.eat(tt.comma)) { + node.specifiers = node.specifiers.concat(this.parseExportSpecifiers()); + } +}; + +pp.parseExportFrom = function (node) { + this.expectContextual("from"); + node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected(); + this.semicolon(); + this.checkExport(node); +}; + +pp.shouldParseExportDeclaration = function () { + return this.options.features["es7.asyncFunctions"] && this.isContextual("async"); +}; + +pp.checkExport = function (node) { + if (this.decorators.length) { + var isClass = node.declaration && (node.declaration.type === "ClassDeclaration" || node.declaration.type === "ClassExpression"); + if (!node.declaration || !isClass) { + this.raise(node.start, "You can only use decorators on an export when exporting a class"); + } + this.takeDecorators(node.declaration); + } +}; + +// Parses a comma-separated list of module exports. + +pp.parseExportSpecifiers = function () { + let nodes = [], first = true; + // export { x, y as z } [from '...'] + this.expect(tt.braceL); + + while (!this.eat(tt.braceR)) { + if (first) { + first = false; + } else { + this.expect(tt.comma); + if (this.afterTrailingComma(tt.braceR)) break; + } + + let node = this.startNode(); + node.local = this.parseIdent(this.type === tt._default); + node.exported = this.eatContextual("as") ? this.parseIdent(true) : node.local; + nodes.push(this.finishNode(node, "ExportSpecifier")); + } + + return nodes; +}; + +// Parses import declaration. + +pp.parseImport = function (node) { + this.next(); + + // import '...' + if (this.type === tt.string) { + node.specifiers = []; + node.source = this.parseExprAtom(); + } else { + node.specifiers = []; + this.parseImportSpecifiers(node); + this.expectContextual("from"); + node.source = this.type === tt.string ? this.parseExprAtom() : this.unexpected(); + } + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); +}; + +// Parses a comma-separated list of module imports. + +pp.parseImportSpecifiers = function (node) { + var first = true; + if (this.type === tt.name) { + // import defaultObj, { x, y as z } from '...' + var startPos = this.start, startLoc = this.startLoc; + node.specifiers.push(this.parseImportSpecifierDefault(this.parseIdent(), startPos, startLoc)); + if (!this.eat(tt.comma)) return; + } + + if (this.type === tt.star) { + let specifier = this.startNode(); + this.next(); + this.expectContextual("as"); + specifier.local = this.parseIdent(); + this.checkLVal(specifier.local, true); + node.specifiers.push(this.finishNode(specifier, "ImportNamespaceSpecifier")); + return; + } + + this.expect(tt.braceL); + while (!this.eat(tt.braceR)) { + if (first) { + first = false; + } else { + this.expect(tt.comma); + if (this.afterTrailingComma(tt.braceR)) break; + } + + let specifier = this.startNode(); + specifier.imported = this.parseIdent(true); + specifier.local = this.eatContextual("as") ? this.parseIdent() : specifier.imported; + this.checkLVal(specifier.local, true); + node.specifiers.push(this.finishNode(specifier, "ImportSpecifier")); + } +}; + +pp.parseImportSpecifierDefault = function (id, startPos, startLoc) { + var node = this.startNodeAt(startPos, startLoc); + node.local = id; + this.checkLVal(node.local, true); + return this.finishNode(node, "ImportDefaultSpecifier"); +}; diff --git a/packages/babylon/src/tokencontext.js b/packages/babylon/src/tokencontext.js new file mode 100755 index 0000000000..8395160c8d --- /dev/null +++ b/packages/babylon/src/tokencontext.js @@ -0,0 +1,118 @@ +// The algorithm used to determine whether a regexp can appear at a +// given point in the program is loosely based on sweet.js' approach. +// See https://github.com/mozilla/sweet.js/wiki/design + +import {Parser} from "./state"; +import {types as tt} from "./tokentype"; +import {lineBreak} from "./whitespace"; + +export class TokContext { + constructor(token, isExpr, preserveSpace, override) { + this.token = token; + this.isExpr = !!isExpr; + this.preserveSpace = !!preserveSpace; + this.override = override; + } +} + +export const types = { + b_stat: new TokContext("{", false), + b_expr: new TokContext("{", true), + b_tmpl: new TokContext("${", true), + p_stat: new TokContext("(", false), + p_expr: new TokContext("(", true), + q_tmpl: new TokContext("`", true, true, p => p.readTmplToken()), + f_expr: new TokContext("function", true) +}; + +const pp = Parser.prototype; + +pp.initialContext = function () { + return [types.b_stat]; +}; + +pp.braceIsBlock = function (prevType) { + if (prevType === tt.colon) { + let parent = this.curContext(); + if (parent === types.b_stat || parent === types.b_expr) + return !parent.isExpr; + } + + if (prevType === tt._return) + return lineBreak.test(this.input.slice(this.lastTokEnd, this.start)); + + if (prevType === tt._else || prevType === tt.semi || prevType === tt.eof) + return true; + + if (prevType === tt.braceL) + return this.curContext() === types.b_stat; + + return !this.exprAllowed; +}; + +pp.updateContext = function (prevType) { + let update, type = this.type; + if (type.keyword && prevType === tt.dot) { + this.exprAllowed = false; + } else if (update = type.updateContext) { + update.call(this, prevType); + } else { + this.exprAllowed = type.beforeExpr; + } +}; + +// Token-specific context update code + +tt.parenR.updateContext = tt.braceR.updateContext = function () { + if (this.context.length === 1) { + this.exprAllowed = true; + return; + } + + let out = this.context.pop(); + if (out === types.b_stat && this.curContext() === types.f_expr) { + this.context.pop(); + this.exprAllowed = false; + } else if (out === types.b_tmpl) { + this.exprAllowed = true; + } else { + this.exprAllowed = !out.isExpr; + } +}; + +tt.braceL.updateContext = function (prevType) { + this.context.push(this.braceIsBlock(prevType) ? types.b_stat : types.b_expr); + this.exprAllowed = true; +}; + +tt.dollarBraceL.updateContext = function () { + this.context.push(types.b_tmpl); + this.exprAllowed = true; +}; + +tt.parenL.updateContext = function (prevType) { + let statementParens = prevType === tt._if || prevType === tt._for || prevType === tt._with || prevType === tt._while; + this.context.push(statementParens ? types.p_stat : types.p_expr); + this.exprAllowed = true; +}; + +tt.incDec.updateContext = function () { + // tokExprAllowed stays unchanged +}; + +tt._function.updateContext = function () { + if (this.curContext() !== types.b_stat) { + this.context.push(types.f_expr); + } + + this.exprAllowed = false; +}; + +tt.backQuote.updateContext = function () { + if (this.curContext() === types.q_tmpl) { + this.context.pop(); + } else { + this.context.push(types.q_tmpl); + } + this.exprAllowed = false; +}; diff --git a/packages/babylon/src/tokenize.js b/packages/babylon/src/tokenize.js new file mode 100755 index 0000000000..8cade26638 --- /dev/null +++ b/packages/babylon/src/tokenize.js @@ -0,0 +1,730 @@ +import {isIdentifierStart, isIdentifierChar} from "./identifier"; +import {types as tt, keywords as keywordTypes} from "./tokentype"; +import {Parser} from "./state"; +import {SourceLocation} from "./location"; +import {lineBreak, lineBreakG, isNewLine, nonASCIIwhitespace} from "./whitespace"; + +// Object type used to represent tokens. Note that normally, tokens +// simply exist as properties on the parser object. This is only +// used for the onToken callback and the external tokenizer. + +export class Token { + constructor(p) { + this.type = p.type; + this.value = p.value; + this.start = p.start; + this.end = p.end; + + if (p.options.locations) { + this.loc = new SourceLocation(p, p.startLoc, p.endLoc); + } + + if (p.options.ranges) { + this.range = [p.start, p.end]; + } + } +} + +// ## Tokenizer + +const pp = Parser.prototype; + +// Are we running under Rhino? +const isRhino = typeof Packages === "object" && Object.prototype.toString.call(Packages) === "[object JavaPackage]"; + +// Move to the next token + +pp.next = function () { + if (this.options.onToken && !this.isLookahead) + this.options.onToken(new Token(this)); + + this.lastTokEnd = this.end; + this.lastTokStart = this.start; + this.lastTokEndLoc = this.endLoc; + this.lastTokStartLoc = this.startLoc; + this.nextToken(); +}; + +pp.getToken = function () { + this.next(); + return new Token(this); +}; + +// Toggle strict mode. Re-reads the next number or string to please +// pedantic tests (`"use strict"; 010;` should fail). + +pp.setStrict = function (strict) { + this.strict = strict; + if (this.type !== tt.num && this.type !== tt.string) return; + this.pos = this.start; + if (this.options.locations) { + while (this.pos < this.lineStart) { + this.lineStart = this.input.lastIndexOf("\n", this.lineStart - 2) + 1; + --this.curLine; + } + } + this.nextToken(); +}; + +pp.curContext = function () { + return this.context[this.context.length - 1]; +}; + +// Read a single token, updating the parser object's token-related +// properties. + +pp.nextToken = function () { + let curContext = this.curContext(); + if (!curContext || !curContext.preserveSpace) this.skipSpace(); + + this.start = this.pos; + if (this.options.locations) this.startLoc = this.curPosition(); + if (this.pos >= this.input.length) return this.finishToken(tt.eof); + + if (curContext.override) return curContext.override(this); + else this.readToken(this.fullCharCodeAtPos()); +}; + +pp.readToken = function (code) { + // Identifier or keyword. '\uXXXX' sequences are allowed in + // identifiers, so '\' also dispatches to that. + if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\' */) + return this.readWord(); + + return this.getTokenFromCode(code); +}; + +pp.fullCharCodeAtPos = function () { + let code = this.input.charCodeAt(this.pos); + if (code <= 0xd7ff || code >= 0xe000) return code; + + let next = this.input.charCodeAt(this.pos + 1); + return (code << 10) + next - 0x35fdc00; +}; + +pp.skipBlockComment = function () { + let startLoc = this.options.onComment && this.curPosition(); + let start = this.pos, end = this.input.indexOf("*/", this.pos += 2); + if (end === -1) this.raise(this.pos - 2, "Unterminated comment"); + this.pos = end + 2; + if (this.options.locations) { + lineBreakG.lastIndex = start; + let match; + while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) { + ++this.curLine; + this.lineStart = match.index + match[0].length; + } + } + if (this.options.onComment) + this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos, + startLoc, this.curPosition()); +}; + +pp.skipLineComment = function (startSkip) { + let start = this.pos; + let startLoc = this.options.onComment && this.curPosition(); + let ch = this.input.charCodeAt(this.pos+=startSkip); + while (this.pos < this.input.length && ch !== 10 && ch !== 13 && ch !== 8232 && ch !== 8233) { + ++this.pos; + ch = this.input.charCodeAt(this.pos); + } + if (this.options.onComment) + this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos, + startLoc, this.curPosition()); +}; + +// Called at the start of the parse and after every token. Skips +// whitespace and comments, and. + +pp.skipSpace = function() { + loop: while (this.pos < this.input.length) { + let ch = this.input.charCodeAt(this.pos); + switch (ch) { + case 32: case 160: // ' ' + ++this.pos; + break; + case 13: + if (this.input.charCodeAt(this.pos + 1) === 10) { + ++this.pos; + } + case 10: case 8232: case 8233: + ++this.pos; + if (this.options.locations) { + ++this.curLine; + this.lineStart = this.pos; + } + break; + case 47: // '/' + switch (this.input.charCodeAt(this.pos + 1)) { + case 42: // '*' + this.skipBlockComment(); + break; + case 47: + this.skipLineComment(2); + break; + default: + break loop; + } + break; + default: + if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) { + ++this.pos; + } else { + break loop; + } + } + } +}; + +// Called at the end of every token. Sets `end`, `val`, and +// maintains `context` and `exprAllowed`, and skips the space after +// the token, so that the next one's `start` will point at the +// right position. + +pp.finishToken = function (type, val) { + this.end = this.pos; + if (this.options.locations) this.endLoc = this.curPosition(); + let prevType = this.type; + this.type = type; + this.value = val; + + this.updateContext(prevType); +}; + +// ### Token reading + +// This is the function that is called to fetch the next token. It +// is somewhat obscure, because it works in character codes rather +// than characters, and because operator parsing has been inlined +// into it. +// +// All in the name of speed. +// +pp.readToken_dot = function () { + let next = this.input.charCodeAt(this.pos + 1); + if (next >= 48 && next <= 57) return this.readNumber(true); + + let next2 = this.input.charCodeAt(this.pos + 2); + if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.' + this.pos += 3; + return this.finishToken(tt.ellipsis); + } else { + ++this.pos; + return this.finishToken(tt.dot); + } +}; + +pp.readToken_slash = function () { // '/' + let next = this.input.charCodeAt(this.pos + 1); + if (this.exprAllowed) { + ++this.pos; + return this.readRegexp(); + } + if (next === 61) return this.finishOp(tt.assign, 2); + return this.finishOp(tt.slash, 1); +}; + +pp.readToken_mult_modulo = function (code) { // '%*' + var type = code === 42 ? tt.star : tt.modulo; + var width = 1; + var next = this.input.charCodeAt(this.pos + 1); + + if (next === 42) { // '*' + width++; + next = this.input.charCodeAt(this.pos + 2); + type = tt.exponent; + } + + if (next === 61) { + width++; + type = tt.assign; + } + + return this.finishOp(type, width); +}; + +pp.readToken_pipe_amp = function (code) { // '|&' + let next = this.input.charCodeAt(this.pos + 1); + if (next === code) return this.finishOp(code === 124 ? tt.logicalOR : tt.logicalAND, 2); + if (next === 61) return this.finishOp(tt.assign, 2); + return this.finishOp(code === 124 ? tt.bitwiseOR : tt.bitwiseAND, 1); +}; + +pp.readToken_caret = function () { // '^' + let next = this.input.charCodeAt(this.pos + 1); + if (next === 61) { + return this.finishOp(tt.assign, 2); + } else { + return this.finishOp(tt.bitwiseXOR, 1); + } +}; + +pp.readToken_plus_min = function (code) { // '+-' + let next = this.input.charCodeAt(this.pos + 1); + + if (next === code) { + if (next === 45 && this.input.charCodeAt(this.pos + 2) === 62 && lineBreak.test(this.input.slice(this.lastTokEnd, this.pos))) { + // A `-->` line comment + this.skipLineComment(3); + this.skipSpace(); + return this.nextToken(); + } + return this.finishOp(tt.incDec, 2); + } + + if (next === 61) { + return this.finishOp(tt.assign, 2); + } else { + return this.finishOp(tt.plusMin, 1); + } +}; + +pp.readToken_lt_gt = function (code) { // '<>' + let next = this.input.charCodeAt(this.pos + 1); + let size = 1; + + if (next === code) { + size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2; + if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1); + return this.finishOp(tt.bitShift, size); + } + + if (next === 33 && code === 60 && this.input.charCodeAt(this.pos + 2) === 45 && this.input.charCodeAt(this.pos + 3) === 45) { + if (this.inModule) this.unexpected(); + // `` line comment - this.skipLineComment(3) - this.skipSpace() - return this.nextToken() - } - return this.finishOp(tt.incDec, 2) - } - if (next === 61) return this.finishOp(tt.assign, 2) - return this.finishOp(tt.plusMin, 1) -} - -pp.readToken_lt_gt = function(code) { // '<>' - let next = this.input.charCodeAt(this.pos + 1) - let size = 1 - if (next === code) { - size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2 - if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1) - return this.finishOp(tt.bitShift, size) - } - if (next == 33 && code == 60 && this.input.charCodeAt(this.pos + 2) == 45 && - this.input.charCodeAt(this.pos + 3) == 45) { - if (this.inModule) this.unexpected() - // `