From 4011703af516298001e5063718f12c2cf01541d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Thu, 29 Jul 2021 14:18:21 +0900 Subject: [PATCH] fix(testing): Allow using it with stable rustc (#1974) testing_macros: - Make `#[fixture]` relative to cargo manifest dir. --- .cargo/config | 46 ------------- .cargo/config.toml | 37 +++++++++++ CONTRIBUTING.md | 65 +++++++++---------- Cargo.lock | 46 ++++++------- Cargo.toml | 20 +++--- bundler/Cargo.toml | 16 ++--- bundler/tests/deno.rs | 2 +- ecmascript/Cargo.toml | 14 ++-- ecmascript/codegen/Cargo.toml | 6 +- ecmascript/codegen/tests/fixture.rs | 2 +- ecmascript/dep-graph/Cargo.toml | 6 +- ecmascript/ext-transforms/Cargo.toml | 6 +- ecmascript/jsdoc/Cargo.toml | 6 +- ecmascript/loader/Cargo.toml | 4 +- ecmascript/minifier/Cargo.toml | 14 ++-- ecmascript/minifier/tests/compress.rs | 6 +- ecmascript/minifier/tests/hygiene.rs | 2 +- ecmascript/parser/Cargo.toml | 4 +- ecmascript/parser/tests/comments.rs | 6 +- ecmascript/parser/tests/typescript.rs | 6 +- ecmascript/preset-env/Cargo.toml | 12 ++-- ecmascript/transforms/Cargo.toml | 26 ++++---- ecmascript/transforms/base/Cargo.toml | 10 +-- ecmascript/transforms/base/tests/fixture.rs | 4 +- .../transforms/base/tests/ts_resolver.rs | 4 +- ecmascript/transforms/classes/Cargo.toml | 6 +- ecmascript/transforms/compat/Cargo.toml | 14 ++-- ecmascript/transforms/module/Cargo.toml | 16 ++--- ecmascript/transforms/optimization/Cargo.toml | 22 +++---- .../transforms/optimization/tests/fixture.rs | 6 +- ecmascript/transforms/proposal/Cargo.toml | 18 ++--- ecmascript/transforms/react/Cargo.toml | 18 ++--- ecmascript/transforms/react/src/jsx/tests.rs | 2 +- .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../.complicated-scope-script/input.js | 0 .../.complicated-scope-script/options.json | 0 .../.complicated-scope-script/output.js | 0 .../autoImport/after-polyfills-2/input.mjs | 0 .../autoImport/after-polyfills-2/output.mjs | 0 .../after-polyfills-compiled-to-cjs/input.mjs | 0 .../options.json | 0 .../after-polyfills-compiled-to-cjs/output.js | 0 .../autoImport/after-polyfills/input.mjs | 0 .../autoImport/after-polyfills/output.mjs | 0 .../input.js | 0 .../options.json | 0 .../output.mjs | 0 .../complicated-scope-module/input.js | 0 .../complicated-scope-module/options.json | 0 .../complicated-scope-module/output.mjs | 0 .../autoImport/import-source-pragma/input.js | 0 .../import-source-pragma/output.mjs | 0 .../fixture/autoImport/import-source/input.js | 0 .../autoImport/import-source/options.json | 0 .../autoImport/import-source/output.mjs | 0 .../jsx/fixture/autoImport/no-jsx/input.js | 0 .../jsx/fixture/autoImport/no-jsx/output.mjs | 0 .../jsx/fixture/autoImport/options.json | 0 .../fixture/autoImport/react-defined/input.js | 0 .../autoImport/react-defined/options.json | 0 .../autoImport/react-defined/output.mjs | 0 .../jsx/fixture/issue-1446/input.js | 0 .../jsx/fixture/issue-1446/output.mjs | 0 .../jsx/fixture/issue-1799/case1/input.js | 0 .../jsx/fixture/issue-1799/case1/output.mjs | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.stderr | 0 .../input.js | 0 .../options.json | 0 .../output.stderr | 0 .../input.js | 0 .../options.json | 0 .../output.stderr | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.mjs | 0 .../output.stderr | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.mjs | 0 .../output.stderr | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.mjs | 0 .../output.stderr | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../react-automatic/.arrow-functions/input.js | 0 .../.arrow-functions/output.mjs | 0 .../.jsx-with-retainlines-option/input.js | 0 .../.jsx-with-retainlines-option/options.json | 0 .../.jsx-with-retainlines-option/output.mjs | 0 .../input.js | 0 .../options.json | 0 .../output.mjs | 0 .../.should-add-quotes-es3/input.js | 0 .../.should-add-quotes-es3/options.json | 0 .../.should-add-quotes-es3/output.mjs | 0 .../.should-add-quotes-es3/output.stderr | 0 .../input.js | 0 .../options.json | 0 .../output.mjs | 0 .../input.js | 0 .../options.json | 0 .../output.mjs | 0 .../input.js | 0 .../input.js | 0 .../options.json | 0 .../output.stderr | 0 .../input.js | 0 .../output.mjs | 0 .../react-automatic/assignment/input.js | 0 .../react-automatic/assignment/output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../input.mjs | 0 .../options.json | 0 .../output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../react-automatic/duplicate-props/input.js | 0 .../duplicate-props/output.mjs | 0 .../react-automatic/flattens-spread/input.js | 0 .../flattens-spread/output.mjs | 0 .../handle-fragments-with-key/input.js | 0 .../handle-fragments-with-key/output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../react-automatic/handle-fragments/input.js | 0 .../handle-fragments/output.mjs | 0 .../handle-nonstatic-children/input.js | 0 .../handle-nonstatic-children/output.mjs | 0 .../handle-static-children/input.js | 0 .../handle-static-children/output.mjs | 0 .../jsx-without-retainlines-option/input.js | 0 .../jsx-without-retainlines-option/output.mjs | 0 .../key-undefined-works/input.js | 0 .../key-undefined-works/output.mjs | 0 .../jsx/fixture/react-automatic/options.json | 0 .../input.js | 0 .../output.mjs | 0 .../should-allow-constructor-as-prop/input.js | 0 .../output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../should-allow-js-namespacing/blacklist.js | 0 .../should-allow-js-namespacing/input.js | 0 .../should-allow-js-namespacing/output.mjs | 0 .../should-allow-nested-fragments/input.js | 0 .../should-allow-nested-fragments/output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../should-convert-simple-tags/input.js | 0 .../should-convert-simple-tags/output.mjs | 0 .../should-convert-simple-text/input.js | 0 .../should-convert-simple-text/output.mjs | 0 .../should-disallow-spread-children/input.js | 0 .../options.json | 0 .../output.mjs | 0 .../output.stderr | 0 .../should-disallow-xml-namespacing/input.js | 0 .../options.json | 0 .../output.mjs | 0 .../output.stderr | 0 .../should-escape-xhtml-jsxattribute/input.js | 0 .../options.json | 0 .../output.mjs | 0 .../should-escape-xhtml-jsxtext/input.js | 0 .../should-escape-xhtml-jsxtext/options.json | 0 .../should-escape-xhtml-jsxtext/output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../output.stderr | 0 .../input.js | 0 .../output.mjs | 0 .../output.stderr | 0 .../input.js | 0 .../output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../should-properly-handle-keys/input.js | 0 .../should-properly-handle-keys/output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../should-quote-jsx-attributes/input.js | 0 .../should-quote-jsx-attributes/output.mjs | 0 .../should-quote-jsx-attributes/output.stderr | 0 .../input.js | 0 .../options.json | 0 .../output.mjs | 0 .../input.js | 0 .../options.json | 0 .../output.mjs | 0 .../output.stderr | 0 .../input.js | 0 .../output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../react-automatic/this-tag-name/input.js | 0 .../react-automatic/this-tag-name/output.mjs | 0 .../react-automatic/weird-symbols/input.js | 0 .../react-automatic/weird-symbols/output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../input.js | 0 .../output.mjs | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../fixture/react/.arrow-functions/input.js | 0 .../fixture/react/.arrow-functions/output.js | 0 .../react/.assignment-babel-7/input.js | 0 .../react/.assignment-babel-7/options.json | 0 .../react/.assignment-babel-7/output.js | 0 .../react/.avoids-spread-babel-7/input.js | 0 .../react/.avoids-spread-babel-7/options.json | 0 .../react/.avoids-spread-babel-7/output.js | 0 .../.jsx-with-retainlines-option/input.js | 0 .../.jsx-with-retainlines-option/options.json | 0 .../.jsx-with-retainlines-option/output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../react/.should-add-quotes-es3/input.js | 0 .../react/.should-add-quotes-es3/options.json | 0 .../react/.should-add-quotes-es3/output.js | 0 .../input.js | 0 .../input.js | 0 .../options.json | 0 .../output.stderr | 0 .../input.js | 0 .../options.json | 0 .../output.stderr | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../jsx/fixture/react/assignment/input.js | 0 .../jsx/fixture/react/assignment/options.json | 0 .../jsx/fixture/react/assignment/output.js | 0 .../input.js | 0 .../output.js | 0 .../input.mjs | 0 .../options.json | 0 .../output.mjs | 0 .../react/does-not-add-source-self/input.mjs | 0 .../does-not-add-source-self/options.json | 0 .../react/does-not-add-source-self/output.mjs | 0 .../input.js | 0 .../output.js | 0 .../fixture/react/duplicate-props/input.js | 0 .../fixture/react/duplicate-props/output.js | 0 .../fixture/react/flattens-spread/input.js | 0 .../fixture/react/flattens-spread/output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../react/honor-custom-jsx-comment/input.js | 0 .../react/honor-custom-jsx-comment/output.js | 0 .../honor-custom-jsx-pragma-option/input.js | 0 .../options.json | 0 .../honor-custom-jsx-pragma-option/output.js | 0 .../jsx-without-retainlines-option/input.js | 0 .../jsx-without-retainlines-option/output.js | 0 .../jsx/fixture/react/options.json | 0 .../input.js | 0 .../output.js | 0 .../should-allow-constructor-as-prop/input.js | 0 .../output.js | 0 .../input.js | 0 .../output.js | 0 .../input.js | 0 .../output.js | 0 .../should-allow-js-namespacing/blacklist.js | 0 .../should-allow-js-namespacing/input.js | 0 .../should-allow-js-namespacing/output.js | 0 .../should-allow-nested-fragments/input.js | 0 .../should-allow-nested-fragments/output.js | 0 .../input.js | 0 .../output.js | 0 .../should-allow-pragmafrag-and-frag/input.js | 0 .../output.js | 0 .../input.js | 0 .../output.js | 0 .../react/should-convert-simple-tags/input.js | 0 .../should-convert-simple-tags/output.js | 0 .../react/should-convert-simple-text/input.js | 0 .../should-convert-simple-text/output.js | 0 .../should-disallow-spread-children/input.js | 0 .../options.json | 0 .../output.mjs | 0 .../output.stderr | 0 .../should-disallow-xml-namespacing/input.js | 0 .../options.json | 0 .../output.mjs | 0 .../output.stderr | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../should-escape-xhtml-jsxattribute/input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../should-escape-xhtml-jsxtext/input.js | 0 .../should-escape-xhtml-jsxtext/options.json | 0 .../should-escape-xhtml-jsxtext/output.js | 0 .../input.js | 0 .../output.js | 0 .../input.js | 0 .../output.js | 0 .../input.js | 0 .../output.js | 0 .../input.js | 0 .../output.js | 0 .../input.js | 0 .../output.js | 0 .../input.js | 0 .../output.js | 0 .../input.js | 0 .../output.js | 0 .../input.js | 0 .../output.js | 0 .../input.js | 0 .../output.js | 0 .../should-quote-jsx-attributes/input.js | 0 .../should-quote-jsx-attributes/output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.mjs | 0 .../output.stderr | 0 .../input.js | 0 .../output.js | 0 .../jsx/fixture/react/this-tag-name/input.js | 0 .../jsx/fixture/react/this-tag-name/output.js | 0 .../jsx/fixture/react/weird-symbols/input.js | 0 .../jsx/fixture/react/weird-symbols/output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../.issue-12478-automatic/input.js | 0 .../.issue-12478-automatic/options.json | 0 .../.issue-12478-automatic/output.js | 0 .../.issue-12478-automatic/plugin.js | 0 .../regression/.issue-12478-classic/input.js | 0 .../.issue-12478-classic/options.json | 0 .../regression/.issue-12478-classic/output.js | 0 .../regression/.issue-12478-classic/plugin.js | 0 .../input.js | 0 .../options.json | 0 .../output.js | 0 .../.invalid-use-builtins-false/input.js | 0 .../.invalid-use-builtins-false/options.json | 0 .../.invalid-use-builtins-false/output.stderr | 0 .../.invalid-use-builtins-true/input.js | 0 .../.invalid-use-builtins-true/options.json | 0 .../.invalid-use-builtins-true/output.stderr | 0 .../.invalid-use-spread-false/input.js | 0 .../.invalid-use-spread-false/options.json | 0 .../.invalid-use-spread-false/output.stderr | 0 .../.invalid-use-spread-true/input.js | 0 .../.invalid-use-spread-true/options.json | 0 .../.invalid-use-spread-true/output.stderr | 0 .../runtime/.defaults-to-automatic/input.js | 0 .../.defaults-to-automatic/options.json | 0 .../runtime/.defaults-to-automatic/output.js | 0 .../fixture/runtime/.invalid-runtime/input.js | 0 .../runtime/.invalid-runtime/options.json | 0 .../runtime/.invalid-runtime/output.stderr | 0 .../runtime/.runtime-automatic/input.js | 0 .../runtime/.runtime-automatic/options.json | 0 .../runtime/.runtime-automatic/output.js | 0 .../jsx/fixture/runtime/classic/input.js | 0 .../jsx/fixture/runtime/classic/options.json | 0 .../jsx/fixture/runtime/classic/output.js | 0 .../defaults-to-classis-babel-7/input.js | 0 .../defaults-to-classis-babel-7/options.json | 0 .../defaults-to-classis-babel-7/output.js | 0 .../runtime/pragma-runtime-classsic/input.js | 0 .../pragma-runtime-classsic/options.json | 0 .../runtime/pragma-runtime-classsic/output.js | 0 .../.transform-to-babel-extend/input.js | 0 .../.transform-to-babel-extend/options.json | 0 .../.transform-to-babel-extend/output.js | 0 .../.transform-to-object-assign/input.js | 0 .../.transform-to-object-assign/options.json | 0 .../.transform-to-object-assign/output.js | 0 .../jsx/fixture/spread-transform/options.json | 0 ecmascript/transforms/testing/Cargo.toml | 12 ++-- ecmascript/transforms/typescript/Cargo.toml | 20 +++--- ecmascript/utils/Cargo.toml | 4 +- testing/Cargo.toml | 4 +- testing/macros/Cargo.toml | 2 +- testing/macros/src/fixture.rs | 14 ++-- testing/macros/src/lib.rs | 8 +-- testing/macros/tests/test.rs | 12 ++-- tests/projects.rs | 2 +- 469 files changed, 274 insertions(+), 276 deletions(-) delete mode 100644 .cargo/config create mode 100644 .cargo/config.toml rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/.after-polyfills-script-not-supported/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/.after-polyfills-script-not-supported/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/.after-polyfills-script-not-supported/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/.auto-import-react-source-type-script/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/.auto-import-react-source-type-script/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/.auto-import-react-source-type-script/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/.complicated-scope-script/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/.complicated-scope-script/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/.complicated-scope-script/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/after-polyfills-2/input.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/after-polyfills-2/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/input.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/after-polyfills/input.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/after-polyfills/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/auto-import-react-source-type-module/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/auto-import-react-source-type-module/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/auto-import-react-source-type-module/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/complicated-scope-module/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/complicated-scope-module/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/complicated-scope-module/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/import-source-pragma/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/import-source-pragma/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/import-source/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/import-source/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/import-source/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/no-jsx/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/no-jsx/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/react-defined/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/react-defined/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/autoImport/react-defined/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/issue-1446/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/issue-1446/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/issue-1799/case1/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/issue-1799/case1/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/.false-default-pragma-automatic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/.false-default-pragma-automatic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/.false-default-pragma-automatic-runtime/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/.false-pragma-option-automatic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/.false-pragma-option-automatic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/.false-pragma-option-automatic-runtime/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/.true-pragma-option-automatic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/.true-pragma-option-automatic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/.true-pragma-option-automatic-runtime/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/false-default-pragma-classic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/false-default-pragma-classic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/false-default-pragma-classic-runtime/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/false-pragma-comment-automatic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/false-pragma-comment-automatic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/false-pragma-comment-automatic-runtime/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/false-pragma-comment-automatic-runtime/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/false-pragma-comment-classic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/false-pragma-comment-classic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/false-pragma-comment-classic-runtime/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/false-pragma-option-classic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/false-pragma-option-classic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/false-pragma-option-classic-runtime/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-default-pragma-automatic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-default-pragma-automatic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-default-pragma-automatic-runtime/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-default-pragma-classic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-default-pragma-classic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-default-pragma-classic-runtime/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-pragma-comment-automatic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-pragma-comment-automatic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-pragma-comment-automatic-runtime/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-pragma-comment-automatic-runtime/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-pragma-comment-classic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-pragma-comment-classic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-pragma-comment-classic-runtime/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-pragma-option-classic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-pragma-option-classic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/true-pragma-option-classic-runtime/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-default-pragma-automatic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-default-pragma-automatic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-default-pragma-automatic-runtime/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-default-pragma-classic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-default-pragma-classic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-default-pragma-classic-runtime/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-pragma-comment-classic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-pragma-comment-classic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-pragma-comment-classic-runtime/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-pragma-option-classic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-pragma-option-classic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/pure/unset-pragma-option-classic-runtime/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.arrow-functions/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.arrow-functions/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.jsx-with-retainlines-option/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.jsx-with-retainlines-option/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.jsx-with-retainlines-option/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.optimisation.react.constant-elements/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.optimisation.react.constant-elements/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.optimisation.react.constant-elements/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.should-add-quotes-es3/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.should-add-quotes-es3/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.should-add-quotes-es3/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.should-add-quotes-es3/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.should-properly-handle-comments-adjacent-to-children/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/adds-appropriate-newlines-when-using-spread-attribute/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/adds-appropriate-newlines-when-using-spread-attribute/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/assignment/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/assignment/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/concatenates-adjacent-string-literals/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/concatenates-adjacent-string-literals/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/does-not-add-source-self-automatic/input.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/does-not-add-source-self-automatic/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/does-not-add-source-self-automatic/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/dont-coerce-expression-containers/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/dont-coerce-expression-containers/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/duplicate-props/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/duplicate-props/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/flattens-spread/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/flattens-spread/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/handle-fragments-with-key/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/handle-fragments-with-key/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/handle-fragments-with-no-children/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/handle-fragments-with-no-children/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/handle-fragments/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/handle-fragments/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/handle-nonstatic-children/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/handle-nonstatic-children/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/handle-static-children/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/handle-static-children/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/jsx-without-retainlines-option/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/jsx-without-retainlines-option/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/key-undefined-works/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/key-undefined-works/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/pragma-works-with-no-space-at-the-end/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/pragma-works-with-no-space-at-the-end/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-allow-constructor-as-prop/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-allow-constructor-as-prop/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-allow-deeper-js-namespacing/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-allow-deeper-js-namespacing/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-allow-elements-as-attributes/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-allow-elements-as-attributes/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-allow-js-namespacing/blacklist.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-allow-js-namespacing/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-allow-js-namespacing/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-allow-nested-fragments/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-allow-nested-fragments/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-avoid-wrapping-in-extra-parens-if-not-needed/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-avoid-wrapping-in-extra-parens-if-not-needed/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-convert-simple-tags/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-convert-simple-tags/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-convert-simple-text/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-convert-simple-text/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-disallow-spread-children/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-disallow-spread-children/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-disallow-spread-children/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-disallow-spread-children/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-disallow-xml-namespacing/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-disallow-xml-namespacing/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-disallow-xml-namespacing/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-disallow-xml-namespacing/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-handle-attributed-elements/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-handle-attributed-elements/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-handle-has-own-property-correctly/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-handle-has-own-property-correctly/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-have-correct-comma-in-nested-children/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-have-correct-comma-in-nested-children/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-insert-commas-after-expressions-before-whitespace/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-insert-commas-after-expressions-before-whitespace/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-not-strip-nbsp-even-coupled-with-other-whitespace/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-not-strip-nbsp-even-coupled-with-other-whitespace/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-not-strip-tags-with-a-single-child-of-nbsp/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-not-strip-tags-with-a-single-child-of-nbsp/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-properly-handle-comments-between-props/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-properly-handle-comments-between-props/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-properly-handle-keys/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-properly-handle-keys/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-properly-handle-null-prop-spread/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-properly-handle-null-prop-spread/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-quote-jsx-attributes/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-quote-jsx-attributes/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-quote-jsx-attributes/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-transform-known-hyphenated-tags/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-transform-known-hyphenated-tags/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-use-createElement-when-key-comes-after-spread/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-use-createElement-when-key-comes-after-spread/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-use-jsx-when-key-comes-before-spread/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/should-use-jsx-when-key-comes-before-spread/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/this-tag-name/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/this-tag-name/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/weird-symbols/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/weird-symbols/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-last-spread-attributes/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-last-spread-attributes/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-middle-spread-attributes/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-middle-spread-attributes/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.arrow-functions/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.arrow-functions/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.assignment-babel-7/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.assignment-babel-7/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.assignment-babel-7/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.avoids-spread-babel-7/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.avoids-spread-babel-7/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.avoids-spread-babel-7/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.jsx-with-retainlines-option/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.jsx-with-retainlines-option/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.jsx-with-retainlines-option/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.optimisation.react.constant-elements/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.optimisation.react.constant-elements/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.optimisation.react.constant-elements/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.should-add-quotes-es3/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.should-add-quotes-es3/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.should-add-quotes-es3/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.should-properly-handle-comments-adjacent-to-children/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.should-warn-when-importSource-is-set/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.should-warn-when-importSource-is-set/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.should-warn-when-importSource-is-set/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/assignment/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/assignment/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/assignment/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/concatenates-adjacent-string-literals/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/concatenates-adjacent-string-literals/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/does-not-add-source-self-babel-7/input.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/does-not-add-source-self-babel-7/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/does-not-add-source-self-babel-7/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/does-not-add-source-self/input.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/does-not-add-source-self/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/does-not-add-source-self/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/dont-coerce-expression-containers/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/dont-coerce-expression-containers/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/duplicate-props/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/duplicate-props/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/flattens-spread/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/flattens-spread/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/honor-custom-jsx-comment/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/honor-custom-jsx-comment/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/honor-custom-jsx-pragma-option/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/honor-custom-jsx-pragma-option/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/honor-custom-jsx-pragma-option/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/jsx-without-retainlines-option/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/jsx-without-retainlines-option/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/pragma-works-with-no-space-at-the-end/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/pragma-works-with-no-space-at-the-end/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-constructor-as-prop/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-constructor-as-prop/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-deeper-js-namespacing/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-deeper-js-namespacing/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-elements-as-attributes/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-elements-as-attributes/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-js-namespacing/blacklist.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-js-namespacing/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-js-namespacing/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-nested-fragments/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-nested-fragments/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-no-pragmafrag-if-frag-unused/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-no-pragmafrag-if-frag-unused/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-pragmafrag-and-frag/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-allow-pragmafrag-and-frag/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-avoid-wrapping-in-extra-parens-if-not-needed/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-avoid-wrapping-in-extra-parens-if-not-needed/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-convert-simple-tags/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-convert-simple-tags/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-convert-simple-text/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-convert-simple-text/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-disallow-spread-children/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-disallow-spread-children/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-disallow-spread-children/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-disallow-spread-children/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-disallow-xml-namespacing/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-disallow-xml-namespacing/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-disallow-xml-namespacing/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-disallow-xml-namespacing/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-escape-xhtml-jsxattribute/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-escape-xhtml-jsxattribute/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-escape-xhtml-jsxattribute/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-escape-xhtml-jsxtext/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-escape-xhtml-jsxtext/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-escape-xhtml-jsxtext/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-handle-attributed-elements/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-handle-attributed-elements/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-handle-has-own-property-correctly/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-handle-has-own-property-correctly/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-have-correct-comma-in-nested-children/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-have-correct-comma-in-nested-children/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-insert-commas-after-expressions-before-whitespace/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-insert-commas-after-expressions-before-whitespace/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-not-add-quotes-to-identifier-names/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-not-add-quotes-to-identifier-names/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-not-mangle-expressioncontainer-attribute-values/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-not-mangle-expressioncontainer-attribute-values/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-not-strip-nbsp-even-coupled-with-other-whitespace/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-not-strip-nbsp-even-coupled-with-other-whitespace/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-not-strip-tags-with-a-single-child-of-nbsp/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-not-strip-tags-with-a-single-child-of-nbsp/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-properly-handle-comments-between-props/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-properly-handle-comments-between-props/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-quote-jsx-attributes/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-quote-jsx-attributes/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-support-xml-namespaces-if-flag/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-support-xml-namespaces-if-flag/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-support-xml-namespaces-if-flag/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/output.mjs (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-transform-known-hyphenated-tags/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/should-transform-known-hyphenated-tags/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/this-tag-name/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/this-tag-name/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/weird-symbols/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/weird-symbols/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/regression/.issue-12478-automatic/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/regression/.issue-12478-automatic/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/regression/.issue-12478-automatic/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/regression/.issue-12478-automatic/plugin.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/regression/.issue-12478-classic/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/regression/.issue-12478-classic/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/regression/.issue-12478-classic/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/regression/.issue-12478-classic/plugin.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/removed-options/.invalid-use-builtins-false/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/removed-options/.invalid-use-builtins-false/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/removed-options/.invalid-use-builtins-false/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/removed-options/.invalid-use-builtins-true/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/removed-options/.invalid-use-builtins-true/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/removed-options/.invalid-use-builtins-true/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/removed-options/.invalid-use-spread-false/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/removed-options/.invalid-use-spread-false/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/removed-options/.invalid-use-spread-false/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/removed-options/.invalid-use-spread-true/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/removed-options/.invalid-use-spread-true/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/removed-options/.invalid-use-spread-true/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/.defaults-to-automatic/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/.defaults-to-automatic/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/.defaults-to-automatic/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/.invalid-runtime/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/.invalid-runtime/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/.invalid-runtime/output.stderr (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/.runtime-automatic/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/.runtime-automatic/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/.runtime-automatic/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/classic/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/classic/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/classic/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/defaults-to-classis-babel-7/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/defaults-to-classis-babel-7/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/defaults-to-classis-babel-7/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/pragma-runtime-classsic/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/pragma-runtime-classsic/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/runtime/pragma-runtime-classsic/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/spread-transform/.transform-to-babel-extend/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/spread-transform/.transform-to-babel-extend/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/spread-transform/.transform-to-babel-extend/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/spread-transform/.transform-to-object-assign/input.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/spread-transform/.transform-to-object-assign/options.json (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/spread-transform/.transform-to-object-assign/output.js (100%) rename ecmascript/transforms/react/{src => tests}/jsx/fixture/spread-transform/options.json (100%) diff --git a/.cargo/config b/.cargo/config deleted file mode 100644 index c8647dadb82..00000000000 --- a/.cargo/config +++ /dev/null @@ -1,46 +0,0 @@ - -[build] -rustflags = [ - "--cfg", "procmacro2_semver_exempt", - "-C", "target-feature=+sse2,+aes", -] - -rustdocflags = [ - "--cfg", "procmacro2_semver_exempt", -] - -[target.aarch64-apple-darwin] -rustflags = [ - "--cfg", "procmacro2_semver_exempt", -] - -[target.aarch64-unknown-linux-gnu] -rustflags = [ - "--cfg", "procmacro2_semver_exempt", -] -linker = "aarch64-linux-gnu-gcc" - -[target.aarch64-unknown-linux-musl] -linker = "aarch64-linux-gnu-gcc" -rustflags = ["--cfg", "procmacro2_semver_exempt", "-C", "target-feature=-crt-static", "-C", "link-arg=-lgcc"] - -[target.armv7-unknown-linux-gnueabihf] -rustflags = [ - "--cfg", "procmacro2_semver_exempt", -] -linker = "arm-linux-gnueabihf-gcc" - -[target.aarch64-linux-android] -rustflags = [ - "--cfg", "procmacro2_semver_exempt", -] - -[target.aarch64-pc-windows-msvc] -rustflags = [ - "--cfg", "procmacro2_semver_exempt", -] - -[target.wasm32-unknown-unknown] -rustflags = [ - "--cfg", "procmacro2_semver_exempt", -] \ No newline at end of file diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 00000000000..d3ddcd121d6 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,37 @@ + +[build] + +rustdocflags = [] +rustflags = [ + "-C", + "target-feature=+sse2,+aes", +] + +[target.aarch64-apple-darwin] +rustflags = [] + +[target.aarch64-unknown-linux-gnu] +linker = "aarch64-linux-gnu-gcc" +rustflags = [] + +[target.aarch64-unknown-linux-musl] +linker = "aarch64-linux-gnu-gcc" +rustflags = [ + "-C", + "target-feature=-crt-static", + "-C", + "link-arg=-lgcc", +] + +[target.armv7-unknown-linux-gnueabihf] +linker = "arm-linux-gnueabihf-gcc" +rustflags = [] + +[target.aarch64-linux-android] +rustflags = [] + +[target.aarch64-pc-windows-msvc] +rustflags = [] + +[target.wasm32-unknown-unknown] +rustflags = [] diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4043dfc2a53..47fbbe02267 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -58,22 +58,22 @@ passes the test-suite at all times. Your basic steps to get going: -- Fork swc and create a branch from master for the issue you are working on. -- Make sure you have the `make` utility installed, along with Rust and C/C++ - compilers. -- Please adhere to the code style that you see around the location you are - working on. -- [Commit as you go][githelp]. -- Include tests that cover all non-trivial code. The existing tests - in `test/` provide templates on how to test swc's behavior in a - sandbox-environment. The internal crate `testing` provides a vast amount - of helpers to minimize boilerplate. See [`testing/lib.rs`] for an - introduction to writing tests. -- Make sure `cargo test` passes. -- All code changes are expected to comply with the formatting suggested by `rustfmt`. - You can use `rustup component add --toolchain nightly rustfmt-preview` to install `rustfmt` and use - `rustfmt +nightly --unstable-features --skip-children` on the changed files to automatically format your code. -- Push your commits to GitHub and create a pull request against swc's `master` branch. +- Fork swc and create a branch from master for the issue you are working on. +- Make sure you have the `make` utility installed, along with Rust and C/C++ + compilers. +- Please adhere to the code style that you see around the location you are + working on. +- [Commit as you go][githelp]. +- Include tests that cover all non-trivial code. The existing tests + in `test/` provide templates on how to test swc's behavior in a + sandbox-environment. The internal crate `testing` provides a vast amount + of helpers to minimize boilerplate. See [`testing/lib.rs`] for an + introduction to writing tests. +- Make sure `cargo test` passes. +- All code changes are expected to comply with the formatting suggested by `rustfmt`. + You can use `rustup component add --toolchain nightly rustfmt-preview` to install `rustfmt` and use + `rustfmt +nightly --unstable-features --skip-children` on the changed files to automatically format your code. +- Push your commits to GitHub and create a pull request against swc's `master` branch. ## Getting your development environment set up @@ -95,7 +95,6 @@ After cloning the project there are a few steps required to get the project runn 3. Setup some environment variables which is required for tests. ```bash - export RUSTFLAGS='--cfg procmacro2_semver_exempt' export RUST_BACKTRACE=full export PATH="$PATH:$PWD/ecmascript/transforms/node_modules/.bin" ``` @@ -149,27 +148,27 @@ updated sort][lru] is good for finding issues like this. Contributors with sufficient permissions on the Rust-repository can help by adding labels to triage issues: -- Yellow, **A**-prefixed labels state which **area** of the project an issue - relates to. +- Yellow, **A**-prefixed labels state which **area** of the project an issue + relates to. -- Magenta, **B**-prefixed labels identify bugs which are **blockers**. +- Magenta, **B**-prefixed labels identify bugs which are **blockers**. -- Red, **C**-prefixed labels represent the **category** of an issue. - In particular, **C-feature-request** marks _proposals_ for new features. If - an issue is **C-feature-request**, but is not **Feature accepted**, - then it was not thoroughly discussed, and might need some additional design - or perhaps should be implemented as an external subcommand first. Ping - @swc-projcet/swc if you want to send a PR for an such issue. +- Red, **C**-prefixed labels represent the **category** of an issue. + In particular, **C-feature-request** marks _proposals_ for new features. If + an issue is **C-feature-request**, but is not **Feature accepted**, + then it was not thoroughly discussed, and might need some additional design + or perhaps should be implemented as an external subcommand first. Ping + @swc-projcet/swc if you want to send a PR for an such issue. -- Green, **E**-prefixed labels explain the level of **experience** or - **effort** necessary to fix the issue. [**E-mentor**][e-mentor] issues also - have some instructions on how to get started. +- Green, **E**-prefixed labels explain the level of **experience** or + **effort** necessary to fix the issue. [**E-mentor**][e-mentor] issues also + have some instructions on how to get started. -- Purple gray, **O**-prefixed labels are the **operating system** or platform - that this issue is specific to. +- Purple gray, **O**-prefixed labels are the **operating system** or platform + that this issue is specific to. -- Orange, **P**-prefixed labels indicate a bug's **priority**. -- Light orange, **L**-prefixed labels indicate language related to the bug. +- Orange, **P**-prefixed labels indicate a bug's **priority**. +- Light orange, **L**-prefixed labels indicate language related to the bug. [gist]: https://gist.github.com/ [new-issues]: https://github.com/swc-project/swc/issues/new diff --git a/Cargo.lock b/Cargo.lock index 15260f18f1e..0e8de482d6e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -912,7 +912,7 @@ dependencies = [ [[package]] name = "jsdoc" -version = "0.32.0" +version = "0.33.0" dependencies = [ "anyhow", "dashmap", @@ -2260,7 +2260,7 @@ checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" [[package]] name = "swc" -version = "0.31.0" +version = "0.32.0" dependencies = [ "ahash 0.7.4", "anyhow", @@ -2351,7 +2351,7 @@ dependencies = [ [[package]] name = "swc_bundler" -version = "0.47.0" +version = "0.48.0" dependencies = [ "ahash 0.7.4", "anyhow", @@ -2430,7 +2430,7 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "0.63.0" +version = "0.64.0" dependencies = [ "bitflags", "num-bigint", @@ -2456,7 +2456,7 @@ dependencies = [ [[package]] name = "swc_ecma_dep_graph" -version = "0.32.0" +version = "0.33.0" dependencies = [ "swc_atoms", "swc_common", @@ -2468,7 +2468,7 @@ dependencies = [ [[package]] name = "swc_ecma_ext_transforms" -version = "0.22.0" +version = "0.23.0" dependencies = [ "phf", "swc_atoms", @@ -2481,7 +2481,7 @@ dependencies = [ [[package]] name = "swc_ecma_loader" -version = "0.11.1" +version = "0.12.0" dependencies = [ "anyhow", "dashmap", @@ -2500,7 +2500,7 @@ dependencies = [ [[package]] name = "swc_ecma_minifier" -version = "0.13.0" +version = "0.14.0" dependencies = [ "ansi_term 0.12.1", "anyhow", @@ -2528,7 +2528,7 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "0.64.0" +version = "0.65.0" dependencies = [ "either", "enum_kind", @@ -2552,7 +2552,7 @@ dependencies = [ [[package]] name = "swc_ecma_preset_env" -version = "0.30.0" +version = "0.31.0" dependencies = [ "dashmap", "fxhash", @@ -2578,7 +2578,7 @@ dependencies = [ [[package]] name = "swc_ecma_transforms" -version = "0.60.0" +version = "0.61.0" dependencies = [ "pretty_assertions 0.6.1", "sourcemap", @@ -2605,7 +2605,7 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "0.23.1" +version = "0.24.0" dependencies = [ "fxhash", "once_cell", @@ -2624,7 +2624,7 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "0.9.0" +version = "0.10.0" dependencies = [ "swc_atoms", "swc_common", @@ -2636,7 +2636,7 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "0.26.0" +version = "0.27.0" dependencies = [ "arrayvec", "fxhash", @@ -2672,7 +2672,7 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_module" -version = "0.27.0" +version = "0.28.0" dependencies = [ "Inflector", "anyhow", @@ -2695,7 +2695,7 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "0.30.0" +version = "0.31.0" dependencies = [ "dashmap", "fxhash", @@ -2722,7 +2722,7 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.27.0" +version = "0.28.0" dependencies = [ "either", "fxhash", @@ -2744,7 +2744,7 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.28.0" +version = "0.29.0" dependencies = [ "base64 0.13.0", "dashmap", @@ -2770,7 +2770,7 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_testing" -version = "0.23.0" +version = "0.24.0" dependencies = [ "ansi_term 0.12.1", "serde", @@ -2788,7 +2788,7 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.29.0" +version = "0.30.0" dependencies = [ "fxhash", "serde", @@ -2810,7 +2810,7 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.40.1" +version = "0.41.0" dependencies = [ "once_cell", "scoped-tls", @@ -2835,7 +2835,7 @@ dependencies = [ [[package]] name = "swc_ecmascript" -version = "0.47.0" +version = "0.48.0" dependencies = [ "swc_ecma_ast", "swc_ecma_codegen", @@ -2933,7 +2933,7 @@ dependencies = [ [[package]] name = "testing" -version = "0.11.0" +version = "0.12.0" dependencies = [ "ansi_term 0.12.1", "difference", diff --git a/Cargo.toml b/Cargo.toml index c080d4a01bb..fe11f6e1bff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "swc" repository = "https://github.com/swc-project/swc.git" -version = "0.31.0" +version = "0.32.0" [lib] name = "swc" @@ -29,15 +29,15 @@ serde = {version = "1", features = ["derive"]} serde_json = "1" sourcemap = "6" swc_atoms = {version = "0.2", path = "./atoms"} -swc_bundler = {version = "0.47.0", path = "./bundler"} +swc_bundler = {version = "0.48.0", path = "./bundler"} swc_common = {version = "0.11.0", path = "./common", features = ["sourcemap", "concurrent"]} swc_ecma_ast = {version = "0.49.0", path = "./ecmascript/ast"} -swc_ecma_codegen = {version = "0.63.0", path = "./ecmascript/codegen"} -swc_ecma_ext_transforms = {version = "0.22.0", path = "./ecmascript/ext-transforms"} -swc_ecma_loader = {version = "0.11.0", path = "./ecmascript/loader", features = ["lru", "node", "tsc"]} -swc_ecma_parser = {version = "0.64.0", path = "./ecmascript/parser"} -swc_ecma_preset_env = {version = "0.30.0", path = "./ecmascript/preset-env"} -swc_ecma_transforms = {version = "0.60.0", path = "./ecmascript/transforms", features = [ +swc_ecma_codegen = {version = "0.64.0", path = "./ecmascript/codegen"} +swc_ecma_ext_transforms = {version = "0.23.0", path = "./ecmascript/ext-transforms"} +swc_ecma_loader = {version = "0.12.0", path = "./ecmascript/loader", features = ["lru", "node", "tsc"]} +swc_ecma_parser = {version = "0.65.0", path = "./ecmascript/parser"} +swc_ecma_preset_env = {version = "0.31.0", path = "./ecmascript/preset-env"} +swc_ecma_transforms = {version = "0.61.0", path = "./ecmascript/transforms", features = [ "compat", "module", "optimization", @@ -45,14 +45,14 @@ swc_ecma_transforms = {version = "0.60.0", path = "./ecmascript/transforms", fea "react", "typescript", ]} -swc_ecma_utils = {version = "0.40.0", path = "./ecmascript/utils"} +swc_ecma_utils = {version = "0.41.0", path = "./ecmascript/utils"} swc_ecma_visit = {version = "0.35.0", path = "./ecmascript/visit"} swc_node_base = {version = "0.2.0", path = "./node/base"} swc_visit = {version = "0.2.3", path = "./visit"} [dev-dependencies] rayon = "1" -testing = {version = "0.11.0", path = "./testing"} +testing = {version = "0.12.0", path = "./testing"} walkdir = "2" [[example]] diff --git a/bundler/Cargo.toml b/bundler/Cargo.toml index cb9b2a1921a..b9c5b55578d 100644 --- a/bundler/Cargo.toml +++ b/bundler/Cargo.toml @@ -9,7 +9,7 @@ include = ["Cargo.toml", "build.rs", "src/**/*.rs", "src/**/*.js"] license = "Apache-2.0/MIT" name = "swc_bundler" repository = "https://github.com/swc-project/swc.git" -version = "0.47.0" +version = "0.48.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] @@ -34,11 +34,11 @@ retain_mut = "0.1.2" swc_atoms = {version = "0.2.4", path = "../atoms"} swc_common = {version = "0.11.0", path = "../common"} swc_ecma_ast = {version = "0.49.0", path = "../ecmascript/ast"} -swc_ecma_codegen = {version = "0.63.0", path = "../ecmascript/codegen"} -swc_ecma_loader = {version = "0.11.0", path = "../ecmascript/loader"} -swc_ecma_parser = {version = "0.64.0", path = "../ecmascript/parser"} -swc_ecma_transforms = {version = "0.60.0", path = "../ecmascript/transforms", features = ["optimization"]} -swc_ecma_utils = {version = "0.40.0", path = "../ecmascript/utils"} +swc_ecma_codegen = {version = "0.64.0", path = "../ecmascript/codegen"} +swc_ecma_loader = {version = "0.12.0", path = "../ecmascript/loader"} +swc_ecma_parser = {version = "0.65.0", path = "../ecmascript/parser"} +swc_ecma_transforms = {version = "0.61.0", path = "../ecmascript/transforms", features = ["optimization"]} +swc_ecma_utils = {version = "0.41.0", path = "../ecmascript/utils"} swc_ecma_visit = {version = "0.35.0", path = "../ecmascript/visit"} [dev-dependencies] @@ -46,8 +46,8 @@ hex = "0.4" ntest = "0.7.2" reqwest = {version = "0.10.8", features = ["blocking"]} sha-1 = "0.9" -swc_ecma_transforms = {version = "0.60.0", path = "../ecmascript/transforms", features = ["react", "typescript"]} +swc_ecma_transforms = {version = "0.61.0", path = "../ecmascript/transforms", features = ["react", "typescript"]} tempfile = "3.1.0" -testing = {version = "0.11.0", path = "../testing"} +testing = {version = "0.12.0", path = "../testing"} url = "2.1.1" walkdir = "2" diff --git a/bundler/tests/deno.rs b/bundler/tests/deno.rs index 59ff4e49df8..a5e2c6dcce9 100644 --- a/bundler/tests/deno.rs +++ b/bundler/tests/deno.rs @@ -1160,7 +1160,7 @@ impl Visit for ExportCollector { } } -#[testing::fixture("deno-exec/**/entry.ts")] +#[testing::fixture("tests/deno-exec/**/entry.ts")] fn exec(input: PathBuf) { let dir = tempfile::tempdir().expect("failed to crate temp file"); let path = dir.path().join("main.js"); diff --git a/ecmascript/Cargo.toml b/ecmascript/Cargo.toml index f2db8a7fdb8..a9e21c1001b 100644 --- a/ecmascript/Cargo.toml +++ b/ecmascript/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecmascript" repository = "https://github.com/swc-project/swc.git" -version = "0.47.0" +version = "0.48.0" [package.metadata.docs.rs] all-features = true @@ -32,12 +32,12 @@ typescript = ["typescript-parser", "swc_ecma_transforms/typescript"] [dependencies] swc_ecma_ast = {version = "0.49.0", path = "./ast"} -swc_ecma_codegen = {version = "0.63.0", path = "./codegen", optional = true} -swc_ecma_dep_graph = {version = "0.32.0", path = "./dep-graph", optional = true} -swc_ecma_minifier = {version = "0.13.0", path = "./minifier", optional = true} -swc_ecma_parser = {version = "0.64.0", path = "./parser", optional = true, default-features = false} -swc_ecma_transforms = {version = "0.60.0", path = "./transforms", optional = true} -swc_ecma_utils = {version = "0.40.0", path = "./utils", optional = true} +swc_ecma_codegen = {version = "0.64.0", path = "./codegen", optional = true} +swc_ecma_dep_graph = {version = "0.33.0", path = "./dep-graph", optional = true} +swc_ecma_minifier = {version = "0.14.0", path = "./minifier", optional = true} +swc_ecma_parser = {version = "0.65.0", path = "./parser", optional = true, default-features = false} +swc_ecma_transforms = {version = "0.61.0", path = "./transforms", optional = true} +swc_ecma_utils = {version = "0.41.0", path = "./utils", optional = true} swc_ecma_visit = {version = "0.35.0", path = "./visit", optional = true} [dev-dependencies] diff --git a/ecmascript/codegen/Cargo.toml b/ecmascript/codegen/Cargo.toml index 94fee34e337..69d6fba9b07 100644 --- a/ecmascript/codegen/Cargo.toml +++ b/ecmascript/codegen/Cargo.toml @@ -7,7 +7,7 @@ include = ["Cargo.toml", "src/**/*.rs"] license = "Apache-2.0/MIT" name = "swc_ecma_codegen" repository = "https://github.com/swc-project/swc.git" -version = "0.63.0" +version = "0.64.0" [dependencies] bitflags = "1" @@ -17,8 +17,8 @@ swc_atoms = {version = "0.2", path = "../../atoms"} swc_common = {version = "0.11.0", path = "../../common"} swc_ecma_ast = {version = "0.49.0", path = "../ast"} swc_ecma_codegen_macros = {version = "0.5.2", path = "./macros"} -swc_ecma_parser = {version = "0.64.0", path = "../parser"} +swc_ecma_parser = {version = "0.65.0", path = "../parser"} [dev-dependencies] swc_common = {version = "0.11.0", path = "../../common", features = ["sourcemap"]} -testing = {version = "0.11.0", path = "../../testing"} +testing = {version = "0.12.0", path = "../../testing"} diff --git a/ecmascript/codegen/tests/fixture.rs b/ecmascript/codegen/tests/fixture.rs index d1ec6b0d019..826cd63162e 100644 --- a/ecmascript/codegen/tests/fixture.rs +++ b/ecmascript/codegen/tests/fixture.rs @@ -6,7 +6,7 @@ use swc_ecma_codegen::{text_writer::JsWriter, Emitter}; use swc_ecma_parser::{lexer::Lexer, Parser, Syntax}; use testing::{run_test2, NormalizedOutput}; -#[testing::fixture("fixture/**/input.ts")] +#[testing::fixture("tests/fixture/**/input.ts")] fn test_fixture(input: PathBuf) { let dir = input.parent().unwrap(); let output = dir.join(format!( diff --git a/ecmascript/dep-graph/Cargo.toml b/ecmascript/dep-graph/Cargo.toml index 16695b518d0..3ed66801a63 100644 --- a/ecmascript/dep-graph/Cargo.toml +++ b/ecmascript/dep-graph/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecma_dep_graph" repository = "https://github.com/swc-project/swc.git" -version = "0.32.0" +version = "0.33.0" [dependencies] swc_atoms = {version = "0.2", path = "../../atoms"} @@ -15,5 +15,5 @@ swc_ecma_ast = {version = "0.49.0", path = "../ast"} swc_ecma_visit = {version = "0.35.0", path = "../visit"} [dev-dependencies] -swc_ecma_parser = {version = "0.64.0", path = "../parser"} -testing = {version = "0.11.0", path = "../../testing"} +swc_ecma_parser = {version = "0.65.0", path = "../parser"} +testing = {version = "0.12.0", path = "../../testing"} diff --git a/ecmascript/ext-transforms/Cargo.toml b/ecmascript/ext-transforms/Cargo.toml index 701a3d67a70..9b00b8b85a4 100644 --- a/ecmascript/ext-transforms/Cargo.toml +++ b/ecmascript/ext-transforms/Cargo.toml @@ -5,7 +5,7 @@ documentation = "https://rustdoc.swc.rs/swc_ecma_ext_transforms/" edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecma_ext_transforms" -version = "0.22.0" +version = "0.23.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -14,6 +14,6 @@ phf = {version = "0.8.0", features = ["macros"]} swc_atoms = {version = "0.2", path = "../../atoms"} swc_common = {version = "0.11.0", path = "../../common"} swc_ecma_ast = {version = "0.49.0", path = "../ast"} -swc_ecma_parser = {version = "0.64.0", path = "../parser"} -swc_ecma_utils = {version = "0.40.0", path = "../utils"} +swc_ecma_parser = {version = "0.65.0", path = "../parser"} +swc_ecma_utils = {version = "0.41.0", path = "../utils"} swc_ecma_visit = {version = "0.35.0", path = "../visit"} diff --git a/ecmascript/jsdoc/Cargo.toml b/ecmascript/jsdoc/Cargo.toml index f51b6ab8566..33f675671f0 100644 --- a/ecmascript/jsdoc/Cargo.toml +++ b/ecmascript/jsdoc/Cargo.toml @@ -5,7 +5,7 @@ documentation = "https://rustdoc.swc.rs/jsdoc/" edition = "2018" license = "Apache-2.0/MIT" name = "jsdoc" -version = "0.32.0" +version = "0.33.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -19,6 +19,6 @@ swc_common = {version = "0.11.0", path = "../../common"} anyhow = "1" dashmap = "4.0.2" swc_ecma_ast = {version = "0.49.0", path = "../ast"} -swc_ecma_parser = {version = "0.64.0", path = "../parser"} -testing = {version = "0.11.0", path = "../../testing"} +swc_ecma_parser = {version = "0.65.0", path = "../parser"} +testing = {version = "0.12.0", path = "../../testing"} walkdir = "2" diff --git a/ecmascript/loader/Cargo.toml b/ecmascript/loader/Cargo.toml index 2e0aa27516a..7e8556fd93b 100644 --- a/ecmascript/loader/Cargo.toml +++ b/ecmascript/loader/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecma_loader" repository = "https://github.com/swc-project/swc.git" -version = "0.11.1" +version = "0.12.0" [package.metadata.docs.rs] all-features = true @@ -33,7 +33,7 @@ swc_ecma_ast = {version = "0.49.0", path = "../ast"} swc_ecma_visit = {version = "0.35.0", path = "../visit"} [dev-dependencies] -testing = {version = "0.11.0", path = "../../testing"} +testing = {version = "0.12.0", path = "../../testing"} [target.'cfg(windows)'.dependencies] normpath = {version = "0.2", optional = true} diff --git a/ecmascript/minifier/Cargo.toml b/ecmascript/minifier/Cargo.toml index 5c796789c9c..bb3f3e12cc0 100644 --- a/ecmascript/minifier/Cargo.toml +++ b/ecmascript/minifier/Cargo.toml @@ -7,7 +7,7 @@ include = ["Cargo.toml", "src/**/*.rs", "src/lists/*.json"] license = "Apache-2.0/MIT" name = "swc_ecma_minifier" repository = "https://github.com/swc-project/swc.git" -version = "0.13.0" +version = "0.14.0" [features] debug = [] @@ -25,16 +25,16 @@ serde_regex = "1.1.0" swc_atoms = {version = "0.2", path = "../../atoms"} swc_common = {version = "0.11.0", path = "../../common"} swc_ecma_ast = {version = "0.49.0", path = "../ast"} -swc_ecma_codegen = {version = "0.63.0", path = "../codegen"} -swc_ecma_parser = {version = "0.64.0", path = "../parser"} -swc_ecma_transforms = {version = "0.60.0", path = "../transforms/", features = ["optimization"]} -swc_ecma_transforms_base = {version = "0.23.0", path = "../transforms/base"} -swc_ecma_utils = {version = "0.40.0", path = "../utils"} +swc_ecma_codegen = {version = "0.64.0", path = "../codegen"} +swc_ecma_parser = {version = "0.65.0", path = "../parser"} +swc_ecma_transforms = {version = "0.61.0", path = "../transforms/", features = ["optimization"]} +swc_ecma_transforms_base = {version = "0.24.0", path = "../transforms/base"} +swc_ecma_utils = {version = "0.41.0", path = "../utils"} swc_ecma_visit = {version = "0.35.0", path = "../visit"} [dev-dependencies] ansi_term = "0.12.1" anyhow = "1" pretty_assertions = "0.6.1" -testing = {version = "0.11.0", path = "../../testing"} +testing = {version = "0.12.0", path = "../../testing"} walkdir = "2.3.1" diff --git a/ecmascript/minifier/tests/compress.rs b/ecmascript/minifier/tests/compress.rs index 28e5f023eb5..774f1444dab 100644 --- a/ecmascript/minifier/tests/compress.rs +++ b/ecmascript/minifier/tests/compress.rs @@ -199,7 +199,7 @@ fn stdout_of(code: &str) -> Result { Ok(String::from_utf8_lossy(&actual_output.stdout).to_string()) } -#[testing::fixture("compress/fixture/**/input.js")] +#[testing::fixture("tests/compress/fixture/**/input.js")] fn base_fixture(input: PathBuf) { let dir = input.parent().unwrap(); let config = dir.join("config.json"); @@ -229,7 +229,7 @@ fn base_fixture(input: PathBuf) { } /// Tests used to prevent regressions. -#[testing::fixture("compress/exec/**/input.js")] +#[testing::fixture("tests/compress/exec/**/input.js")] fn base_exec(input: PathBuf) { let dir = input.parent().unwrap(); let config = dir.join("config.json"); @@ -266,7 +266,7 @@ fn base_exec(input: PathBuf) { } /// Tests ported from terser. -#[testing::fixture("terser/compress/**/input.js")] +#[testing::fixture("tests/terser/compress/**/input.js")] fn fixture(input: PathBuf) { if is_ignored(&input) { return; diff --git a/ecmascript/minifier/tests/hygiene.rs b/ecmascript/minifier/tests/hygiene.rs index 016f3986fc3..236ac7aa993 100644 --- a/ecmascript/minifier/tests/hygiene.rs +++ b/ecmascript/minifier/tests/hygiene.rs @@ -13,7 +13,7 @@ use testing::assert_eq; use testing::run_test2; use testing::DebugUsingDisplay; -#[testing::fixture("hygiene/identical/**/*.js")] +#[testing::fixture("tests/hygiene/identical/**/*.js")] fn identical(input: PathBuf) { run_test2(false, |cm, handler| { let fm = cm.load_file(&input).expect("failed to load input.js"); diff --git a/ecmascript/parser/Cargo.toml b/ecmascript/parser/Cargo.toml index 407de157c04..85d29d59313 100644 --- a/ecmascript/parser/Cargo.toml +++ b/ecmascript/parser/Cargo.toml @@ -7,7 +7,7 @@ include = ["Cargo.toml", "src/**/*.rs", "examples/**/*.rs"] license = "Apache-2.0/MIT" name = "swc_ecma_parser" repository = "https://github.com/swc-project/swc.git" -version = "0.64.0" +version = "0.65.0" [package.metadata.docs.rs] all-features = true @@ -35,7 +35,7 @@ unicode-xid = "0.2" env_logger = "0.7" pretty_assertions = "0.6" serde_json = "1" -testing = {version = "0.11.0", path = "../../testing"} +testing = {version = "0.12.0", path = "../../testing"} walkdir = "2" [[example]] diff --git a/ecmascript/parser/tests/comments.rs b/ecmascript/parser/tests/comments.rs index 41a731a9ed3..831c3807b75 100644 --- a/ecmascript/parser/tests/comments.rs +++ b/ecmascript/parser/tests/comments.rs @@ -18,9 +18,9 @@ use swc_ecma_visit::VisitWith; use testing::fixture; use testing::Tester; -#[fixture("comments/**/input.js")] -#[fixture("comments/**/input.ts")] -#[fixture("comments/**/input.tsx")] +#[fixture("tests/comments/**/input.js")] +#[fixture("tests/comments/**/input.ts")] +#[fixture("tests/comments/**/input.tsx")] fn test(input: PathBuf) { let ext = input.extension().unwrap(); let ext = ext.to_string_lossy(); diff --git a/ecmascript/parser/tests/typescript.rs b/ecmascript/parser/tests/typescript.rs index 7093e6a5496..0f7b8cfdead 100644 --- a/ecmascript/parser/tests/typescript.rs +++ b/ecmascript/parser/tests/typescript.rs @@ -17,8 +17,8 @@ use testing::StdErr; #[path = "common/mod.rs"] mod common; -#[testing::fixture("typescript/**/*.ts")] -#[testing::fixture("typescript/**/*.tsx")] +#[testing::fixture("tests/typescript/**/*.ts")] +#[testing::fixture("tests/typescript/**/*.tsx")] fn spec(file: PathBuf) { let file_name = file .display() @@ -196,7 +196,7 @@ where output } -#[testing::fixture("typescript-errors/**/*.ts")] +#[testing::fixture("tests/typescript-errors/**/*.ts")] fn errors(file: PathBuf) { let file_name = file.display().to_string(); diff --git a/ecmascript/preset-env/Cargo.toml b/ecmascript/preset-env/Cargo.toml index 02d9c0ce988..eb27e0b460c 100644 --- a/ecmascript/preset-env/Cargo.toml +++ b/ecmascript/preset-env/Cargo.toml @@ -5,7 +5,7 @@ documentation = "https://rustdoc.swc.rs/swc_ecma_preset_env/" edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecma_preset_env" -version = "0.30.0" +version = "0.31.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -22,13 +22,13 @@ string_enum = {version = "0.3.1", path = "../../macros/string_enum"} swc_atoms = {version = "0.2", path = "../../atoms"} swc_common = {version = "0.11.0", path = "../../common"} swc_ecma_ast = {version = "0.49.0", path = "../ast"} -swc_ecma_transforms = {version = "0.60.0", path = "../transforms", features = ["compat", "proposal"]} -swc_ecma_utils = {version = "0.40.0", path = "../utils"} +swc_ecma_transforms = {version = "0.61.0", path = "../transforms", features = ["compat", "proposal"]} +swc_ecma_utils = {version = "0.41.0", path = "../utils"} swc_ecma_visit = {version = "0.35.0", path = "../visit"} walkdir = "2" [dev-dependencies] pretty_assertions = "0.6" -swc_ecma_codegen = {version = "0.63.0", path = "../codegen"} -swc_ecma_parser = {version = "0.64.0", path = "../parser"} -testing = {version = "0.11.0", path = "../../testing"} +swc_ecma_codegen = {version = "0.64.0", path = "../codegen"} +swc_ecma_parser = {version = "0.65.0", path = "../parser"} +testing = {version = "0.12.0", path = "../../testing"} diff --git a/ecmascript/transforms/Cargo.toml b/ecmascript/transforms/Cargo.toml index 43f6f11c98f..428ce076de6 100644 --- a/ecmascript/transforms/Cargo.toml +++ b/ecmascript/transforms/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecma_transforms" repository = "https://github.com/swc-project/swc.git" -version = "0.60.0" +version = "0.61.0" [package.metadata.docs.rs] all-features = true @@ -24,23 +24,23 @@ typescript = ["swc_ecma_transforms_typescript"] swc_atoms = {version = "0.2.0", path = "../../atoms"} swc_common = {version = "0.11.0", path = "../../common"} swc_ecma_ast = {version = "0.49.0", path = "../ast"} -swc_ecma_parser = {version = "0.64.0", path = "../parser"} -swc_ecma_transforms_base = {version = "0.23.0", path = "./base"} -swc_ecma_transforms_compat = {version = "0.26.0", path = "./compat", optional = true} -swc_ecma_transforms_module = {version = "0.27.0", path = "./module", optional = true} -swc_ecma_transforms_optimization = {version = "0.30.0", path = "./optimization", optional = true} -swc_ecma_transforms_proposal = {version = "0.27.0", path = "./proposal", optional = true} -swc_ecma_transforms_react = {version = "0.28.0", path = "./react", optional = true} -swc_ecma_transforms_typescript = {version = "0.29.0", path = "./typescript", optional = true} -swc_ecma_utils = {version = "0.40.0", path = "../utils"} +swc_ecma_parser = {version = "0.65.0", path = "../parser"} +swc_ecma_transforms_base = {version = "0.24.0", path = "./base"} +swc_ecma_transforms_compat = {version = "0.27.0", path = "./compat", optional = true} +swc_ecma_transforms_module = {version = "0.28.0", path = "./module", optional = true} +swc_ecma_transforms_optimization = {version = "0.31.0", path = "./optimization", optional = true} +swc_ecma_transforms_proposal = {version = "0.28.0", path = "./proposal", optional = true} +swc_ecma_transforms_react = {version = "0.29.0", path = "./react", optional = true} +swc_ecma_transforms_typescript = {version = "0.30.0", path = "./typescript", optional = true} +swc_ecma_utils = {version = "0.41.0", path = "../utils"} swc_ecma_visit = {version = "0.35.0", path = "../visit"} unicode-xid = "0.2" [dev-dependencies] pretty_assertions = "0.6" sourcemap = "6" -swc_ecma_codegen = {version = "0.63.0", path = "../codegen"} -swc_ecma_transforms_testing = {version = "0.23.0", path = "./testing"} +swc_ecma_codegen = {version = "0.64.0", path = "../codegen"} +swc_ecma_transforms_testing = {version = "0.24.0", path = "./testing"} tempfile = "3" -testing = {version = "0.11.0", path = "../../testing"} +testing = {version = "0.12.0", path = "../../testing"} walkdir = "2" diff --git a/ecmascript/transforms/base/Cargo.toml b/ecmascript/transforms/base/Cargo.toml index b4654ac3a24..0d7e973faed 100644 --- a/ecmascript/transforms/base/Cargo.toml +++ b/ecmascript/transforms/base/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecma_transforms_base" repository = "https://github.com/swc-project/swc.git" -version = "0.23.1" +version = "0.24.0" [dependencies] fxhash = "0.2.1" @@ -17,10 +17,10 @@ smallvec = "1.6.0" swc_atoms = {version = "0.2", path = "../../../atoms"} swc_common = {version = "0.11.0", path = "../../../common"} swc_ecma_ast = {version = "0.49.0", path = "../../ast"} -swc_ecma_parser = {version = "0.64.0", path = "../../parser"} -swc_ecma_utils = {version = "0.40.0", path = "../../utils"} +swc_ecma_parser = {version = "0.65.0", path = "../../parser"} +swc_ecma_utils = {version = "0.41.0", path = "../../utils"} swc_ecma_visit = {version = "0.35.0", path = "../../visit"} [dev-dependencies] -swc_ecma_codegen = {version = "0.63.0", path = "../../codegen"} -testing = {version = "0.11.0", path = "../../../testing"} +swc_ecma_codegen = {version = "0.64.0", path = "../../codegen"} +testing = {version = "0.12.0", path = "../../../testing"} diff --git a/ecmascript/transforms/base/tests/fixture.rs b/ecmascript/transforms/base/tests/fixture.rs index 25fdc25b982..37e98dcadc0 100644 --- a/ecmascript/transforms/base/tests/fixture.rs +++ b/ecmascript/transforms/base/tests/fixture.rs @@ -75,14 +75,14 @@ where .unwrap(); } -#[fixture("resolver/**/input.js")] +#[fixture("tests/resolver/**/input.js")] fn test_resolver(input: PathBuf) { run(Syntax::default(), &input, || { chain!(resolver(), hygiene(), fixer(None)) }); } -#[fixture("ts-resolver/**/input.ts")] +#[fixture("tests/ts-resolver/**/input.ts")] fn test_ts_resolver(input: PathBuf) { run(Syntax::Typescript(Default::default()), &input, || { let top_level_mark = Mark::fresh(Mark::root()); diff --git a/ecmascript/transforms/base/tests/ts_resolver.rs b/ecmascript/transforms/base/tests/ts_resolver.rs index f1271c070a3..f001f738c08 100644 --- a/ecmascript/transforms/base/tests/ts_resolver.rs +++ b/ecmascript/transforms/base/tests/ts_resolver.rs @@ -15,8 +15,8 @@ use swc_ecma_visit::Visit; use swc_ecma_visit::VisitWith; use testing::fixture; -#[fixture("../../../parser/tests/typescript/**/*.ts")] -#[fixture("../../../parser/tests/typescript/**/*.tsx")] +#[fixture("../../parser/tests/typescript/**/*.ts")] +#[fixture("../../parser/tests/typescript/**/*.tsx")] fn no_empty(input: PathBuf) { eprintln!("{}", input.display()); diff --git a/ecmascript/transforms/classes/Cargo.toml b/ecmascript/transforms/classes/Cargo.toml index 274ce90705e..0888673c3fd 100644 --- a/ecmascript/transforms/classes/Cargo.toml +++ b/ecmascript/transforms/classes/Cargo.toml @@ -6,12 +6,12 @@ edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecma_transforms_classes" repository = "https://github.com/swc-project/swc.git" -version = "0.9.0" +version = "0.10.0" [dependencies] swc_atoms = {version = "0.2.6", path = "../../../atoms"} swc_common = {version = "0.11.0", path = "../../../common"} swc_ecma_ast = {version = "0.49.0", path = "../../ast"} -swc_ecma_transforms_base = {version = "0.23.0", path = "../base"} -swc_ecma_utils = {version = "0.40.0", path = "../../utils"} +swc_ecma_transforms_base = {version = "0.24.0", path = "../base"} +swc_ecma_utils = {version = "0.41.0", path = "../../utils"} swc_ecma_visit = {version = "0.35.0", path = "../../visit"} diff --git a/ecmascript/transforms/compat/Cargo.toml b/ecmascript/transforms/compat/Cargo.toml index 71e56419856..78e0542031f 100644 --- a/ecmascript/transforms/compat/Cargo.toml +++ b/ecmascript/transforms/compat/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecma_transforms_compat" repository = "https://github.com/swc-project/swc.git" -version = "0.26.0" +version = "0.27.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] @@ -21,13 +21,13 @@ smallvec = "1.6.0" swc_atoms = {version = "0.2.5", path = "../../../atoms"} swc_common = {version = "0.11.0", path = "../../../common"} swc_ecma_ast = {version = "0.49.0", path = "../../ast"} -swc_ecma_transforms_base = {version = "0.23.0", path = "../base"} -swc_ecma_transforms_classes = {version = "0.9.0", path = "../classes"} +swc_ecma_transforms_base = {version = "0.24.0", path = "../base"} +swc_ecma_transforms_classes = {version = "0.10.0", path = "../classes"} swc_ecma_transforms_macros = {version = "0.2.1", path = "../macros"} -swc_ecma_utils = {version = "0.40.0", path = "../../utils"} +swc_ecma_utils = {version = "0.41.0", path = "../../utils"} swc_ecma_visit = {version = "0.35.0", path = "../../visit"} [dev-dependencies] -swc_ecma_parser = {version = "0.64.0", path = "../../parser"} -swc_ecma_transforms_testing = {version = "0.23.0", path = "../testing"} -testing = {version = "0.11.0", path = "../../../testing"} +swc_ecma_parser = {version = "0.65.0", path = "../../parser"} +swc_ecma_transforms_testing = {version = "0.24.0", path = "../testing"} +testing = {version = "0.12.0", path = "../../../testing"} diff --git a/ecmascript/transforms/module/Cargo.toml b/ecmascript/transforms/module/Cargo.toml index 58052e251b8..88fe0606246 100644 --- a/ecmascript/transforms/module/Cargo.toml +++ b/ecmascript/transforms/module/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecma_transforms_module" repository = "https://github.com/swc-project/swc.git" -version = "0.27.0" +version = "0.28.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] @@ -19,13 +19,13 @@ serde = {version = "1.0.118", features = ["derive"]} swc_atoms = {version = "0.2", path = "../../../atoms"} swc_common = {version = "0.11.0", path = "../../../common"} swc_ecma_ast = {version = "0.49.0", path = "../../ast"} -swc_ecma_loader = {version = "0.11.0", path = "../../loader", features = ["node"]} -swc_ecma_parser = {version = "0.64.0", path = "../../parser"} -swc_ecma_transforms_base = {version = "0.23.0", path = "../base"} -swc_ecma_utils = {version = "0.40.0", path = "../../utils"} +swc_ecma_loader = {version = "0.12.0", path = "../../loader", features = ["node"]} +swc_ecma_parser = {version = "0.65.0", path = "../../parser"} +swc_ecma_transforms_base = {version = "0.24.0", path = "../base"} +swc_ecma_utils = {version = "0.41.0", path = "../../utils"} swc_ecma_visit = {version = "0.35.0", path = "../../visit"} [dev-dependencies] -swc_ecma_transforms_compat = {version = "0.26.0", path = "../compat"} -swc_ecma_transforms_testing = {version = "0.23.0", path = "../testing/"} -testing = {version = "0.11.0", path = "../../../testing/"} +swc_ecma_transforms_compat = {version = "0.27.0", path = "../compat"} +swc_ecma_transforms_testing = {version = "0.24.0", path = "../testing/"} +testing = {version = "0.12.0", path = "../../../testing/"} diff --git a/ecmascript/transforms/optimization/Cargo.toml b/ecmascript/transforms/optimization/Cargo.toml index eca56adfab9..c4a447ee0d3 100644 --- a/ecmascript/transforms/optimization/Cargo.toml +++ b/ecmascript/transforms/optimization/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecma_transforms_optimization" repository = "https://github.com/swc-project/swc.git" -version = "0.30.0" +version = "0.31.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] @@ -20,16 +20,16 @@ serde_json = "1.0.61" swc_atoms = {version = "0.2", path = "../../../atoms"} swc_common = {version = "0.11.0", path = "../../../common"} swc_ecma_ast = {version = "0.49.0", path = "../../ast"} -swc_ecma_parser = {version = "0.64.0", path = "../../parser"} -swc_ecma_transforms_base = {version = "0.23.0", path = "../base"} -swc_ecma_utils = {version = "0.40.0", path = "../../utils"} +swc_ecma_parser = {version = "0.65.0", path = "../../parser"} +swc_ecma_transforms_base = {version = "0.24.0", path = "../base"} +swc_ecma_utils = {version = "0.41.0", path = "../../utils"} swc_ecma_visit = {version = "0.35.0", path = "../../visit"} [dev-dependencies] -swc_ecma_transforms_compat = {version = "0.26.0", path = "../compat"} -swc_ecma_transforms_module = {version = "0.27.0", path = "../module"} -swc_ecma_transforms_proposal = {version = "0.27.0", path = "../proposal"} -swc_ecma_transforms_react = {version = "0.28.0", path = "../react"} -swc_ecma_transforms_testing = {version = "0.23.0", path = "../testing"} -swc_ecma_transforms_typescript = {version = "0.29.0", path = "../typescript"} -testing = {version = "0.11.0", path = "../../../testing"} +swc_ecma_transforms_compat = {version = "0.27.0", path = "../compat"} +swc_ecma_transforms_module = {version = "0.28.0", path = "../module"} +swc_ecma_transforms_proposal = {version = "0.28.0", path = "../proposal"} +swc_ecma_transforms_react = {version = "0.29.0", path = "../react"} +swc_ecma_transforms_testing = {version = "0.24.0", path = "../testing"} +swc_ecma_transforms_typescript = {version = "0.30.0", path = "../typescript"} +testing = {version = "0.12.0", path = "../../../testing"} diff --git a/ecmascript/transforms/optimization/tests/fixture.rs b/ecmascript/transforms/optimization/tests/fixture.rs index 0b5189a665c..46dcb6a0863 100644 --- a/ecmascript/transforms/optimization/tests/fixture.rs +++ b/ecmascript/transforms/optimization/tests/fixture.rs @@ -6,7 +6,7 @@ use swc_ecma_transforms_optimization::simplify::dce::dce; use swc_ecma_transforms_optimization::simplify::expr_simplifier; use swc_ecma_transforms_testing::test_fixture; -#[testing::fixture("dce/**/input.js")] +#[testing::fixture("tests/dce/**/input.js")] fn dce_single_pass(input: PathBuf) { let output = input.with_file_name("output.js"); @@ -22,7 +22,7 @@ fn dce_single_pass(input: PathBuf) { ); } -#[testing::fixture("dce/**/input.js")] +#[testing::fixture("tests/dce/**/input.js")] fn dce_repeated(input: PathBuf) { let output = input.with_file_name("output.full.js"); @@ -38,7 +38,7 @@ fn dce_repeated(input: PathBuf) { ); } -#[testing::fixture("expr-simplifier/**/input.js")] +#[testing::fixture("tests/expr-simplifier/**/input.js")] fn expr(input: PathBuf) { let output = input.with_file_name("output.js"); diff --git a/ecmascript/transforms/proposal/Cargo.toml b/ecmascript/transforms/proposal/Cargo.toml index 484c2ed53bd..3cd5d702c05 100644 --- a/ecmascript/transforms/proposal/Cargo.toml +++ b/ecmascript/transforms/proposal/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecma_transforms_proposal" repository = "https://github.com/swc-project/swc.git" -version = "0.27.0" +version = "0.28.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -22,14 +22,14 @@ smallvec = "1.6.0" swc_atoms = {version = "0.2", path = "../../../atoms"} swc_common = {version = "0.11.0", path = "../../../common"} swc_ecma_ast = {version = "0.49.0", path = "../../ast"} -swc_ecma_loader = {version = "0.11.0", path = "../../loader", optional = true} -swc_ecma_parser = {version = "0.64.0", path = "../../parser"} -swc_ecma_transforms_base = {version = "0.23.0", path = "../base"} -swc_ecma_transforms_classes = {version = "0.9.0", path = "../classes"} -swc_ecma_utils = {version = "0.40.0", path = "../../utils"} +swc_ecma_loader = {version = "0.12.0", path = "../../loader", optional = true} +swc_ecma_parser = {version = "0.65.0", path = "../../parser"} +swc_ecma_transforms_base = {version = "0.24.0", path = "../base"} +swc_ecma_transforms_classes = {version = "0.10.0", path = "../classes"} +swc_ecma_utils = {version = "0.41.0", path = "../../utils"} swc_ecma_visit = {version = "0.35.0", path = "../../visit"} [dev-dependencies] -swc_ecma_transforms_compat = {version = "0.26.0", path = "../compat"} -swc_ecma_transforms_module = {version = "0.27.0", path = "../module"} -swc_ecma_transforms_testing = {version = "0.23.0", path = "../testing"} +swc_ecma_transforms_compat = {version = "0.27.0", path = "../compat"} +swc_ecma_transforms_module = {version = "0.28.0", path = "../module"} +swc_ecma_transforms_testing = {version = "0.24.0", path = "../testing"} diff --git a/ecmascript/transforms/react/Cargo.toml b/ecmascript/transforms/react/Cargo.toml index aef8bc0437e..40d36aca30d 100644 --- a/ecmascript/transforms/react/Cargo.toml +++ b/ecmascript/transforms/react/Cargo.toml @@ -7,7 +7,7 @@ include = ["Cargo.toml", "src/**/*.rs"] license = "Apache-2.0/MIT" name = "swc_ecma_transforms_react" repository = "https://github.com/swc-project/swc.git" -version = "0.28.0" +version = "0.29.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] @@ -22,14 +22,14 @@ string_enum = {version = "0.3.1", path = "../../../macros/string_enum"} swc_atoms = {version = "0.2", path = "../../../atoms"} swc_common = {version = "0.11.0", path = "../../../common"} swc_ecma_ast = {version = "0.49.0", path = "../../ast"} -swc_ecma_parser = {version = "0.64.0", path = "../../parser"} -swc_ecma_transforms_base = {version = "0.23.0", path = "../base"} -swc_ecma_utils = {version = "0.40.0", path = "../../utils"} +swc_ecma_parser = {version = "0.65.0", path = "../../parser"} +swc_ecma_transforms_base = {version = "0.24.0", path = "../base"} +swc_ecma_utils = {version = "0.41.0", path = "../../utils"} swc_ecma_visit = {version = "0.35.0", path = "../../visit"} [dev-dependencies] -swc_ecma_codegen = {version = "0.63.0", path = "../../codegen/"} -swc_ecma_transforms_compat = {version = "0.26.0", path = "../compat/"} -swc_ecma_transforms_module = {version = "0.27.0", path = "../module"} -swc_ecma_transforms_testing = {version = "0.23.0", path = "../testing/"} -testing = {version = "0.11.0", path = "../../../testing"} +swc_ecma_codegen = {version = "0.64.0", path = "../../codegen/"} +swc_ecma_transforms_compat = {version = "0.27.0", path = "../compat/"} +swc_ecma_transforms_module = {version = "0.28.0", path = "../module"} +swc_ecma_transforms_testing = {version = "0.24.0", path = "../testing/"} +testing = {version = "0.12.0", path = "../../../testing"} diff --git a/ecmascript/transforms/react/src/jsx/tests.rs b/ecmascript/transforms/react/src/jsx/tests.rs index 4d700befd3a..ce561780aa4 100644 --- a/ecmascript/transforms/react/src/jsx/tests.rs +++ b/ecmascript/transforms/react/src/jsx/tests.rs @@ -1294,7 +1294,7 @@ exports.default = RandomComponent; "# ); -#[testing::fixture("fixture/**/input.js")] +#[testing::fixture("tests/jsx/fixture/**/input.js")] fn fixture(input: PathBuf) { let mut output = input.with_file_name("output.js"); if !output.exists() { diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/.after-polyfills-script-not-supported/input.js b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/.after-polyfills-script-not-supported/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/.after-polyfills-script-not-supported/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/.after-polyfills-script-not-supported/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/.after-polyfills-script-not-supported/options.json b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/.after-polyfills-script-not-supported/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/.after-polyfills-script-not-supported/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/.after-polyfills-script-not-supported/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/.after-polyfills-script-not-supported/output.js b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/.after-polyfills-script-not-supported/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/.after-polyfills-script-not-supported/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/.after-polyfills-script-not-supported/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/.auto-import-react-source-type-script/input.js b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/.auto-import-react-source-type-script/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/.auto-import-react-source-type-script/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/.auto-import-react-source-type-script/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/.auto-import-react-source-type-script/options.json b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/.auto-import-react-source-type-script/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/.auto-import-react-source-type-script/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/.auto-import-react-source-type-script/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/.auto-import-react-source-type-script/output.js b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/.auto-import-react-source-type-script/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/.auto-import-react-source-type-script/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/.auto-import-react-source-type-script/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/.complicated-scope-script/input.js b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/.complicated-scope-script/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/.complicated-scope-script/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/.complicated-scope-script/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/.complicated-scope-script/options.json b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/.complicated-scope-script/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/.complicated-scope-script/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/.complicated-scope-script/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/.complicated-scope-script/output.js b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/.complicated-scope-script/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/.complicated-scope-script/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/.complicated-scope-script/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/after-polyfills-2/input.mjs b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/after-polyfills-2/input.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/after-polyfills-2/input.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/after-polyfills-2/input.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/after-polyfills-2/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/after-polyfills-2/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/after-polyfills-2/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/after-polyfills-2/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/input.mjs b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/input.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/input.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/input.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/options.json b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/output.js b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/after-polyfills-compiled-to-cjs/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/after-polyfills/input.mjs b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/after-polyfills/input.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/after-polyfills/input.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/after-polyfills/input.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/after-polyfills/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/after-polyfills/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/after-polyfills/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/after-polyfills/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/auto-import-react-source-type-module/input.js b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/auto-import-react-source-type-module/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/auto-import-react-source-type-module/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/auto-import-react-source-type-module/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/auto-import-react-source-type-module/options.json b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/auto-import-react-source-type-module/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/auto-import-react-source-type-module/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/auto-import-react-source-type-module/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/auto-import-react-source-type-module/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/auto-import-react-source-type-module/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/auto-import-react-source-type-module/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/auto-import-react-source-type-module/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/complicated-scope-module/input.js b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/complicated-scope-module/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/complicated-scope-module/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/complicated-scope-module/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/complicated-scope-module/options.json b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/complicated-scope-module/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/complicated-scope-module/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/complicated-scope-module/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/complicated-scope-module/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/complicated-scope-module/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/complicated-scope-module/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/complicated-scope-module/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/import-source-pragma/input.js b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/import-source-pragma/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/import-source-pragma/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/import-source-pragma/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/import-source-pragma/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/import-source-pragma/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/import-source-pragma/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/import-source-pragma/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/import-source/input.js b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/import-source/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/import-source/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/import-source/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/import-source/options.json b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/import-source/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/import-source/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/import-source/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/import-source/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/import-source/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/import-source/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/import-source/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/no-jsx/input.js b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/no-jsx/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/no-jsx/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/no-jsx/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/no-jsx/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/no-jsx/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/no-jsx/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/no-jsx/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/options.json b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/react-defined/input.js b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/react-defined/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/react-defined/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/react-defined/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/react-defined/options.json b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/react-defined/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/react-defined/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/react-defined/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/autoImport/react-defined/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/autoImport/react-defined/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/autoImport/react-defined/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/autoImport/react-defined/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/issue-1446/input.js b/ecmascript/transforms/react/tests/jsx/fixture/issue-1446/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/issue-1446/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/issue-1446/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/issue-1446/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/issue-1446/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/issue-1446/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/issue-1446/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/issue-1799/case1/input.js b/ecmascript/transforms/react/tests/jsx/fixture/issue-1799/case1/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/issue-1799/case1/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/issue-1799/case1/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/issue-1799/case1/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/issue-1799/case1/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/issue-1799/case1/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/issue-1799/case1/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/.false-default-pragma-automatic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/.false-default-pragma-automatic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/.false-default-pragma-automatic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/.false-default-pragma-automatic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/.false-default-pragma-automatic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/.false-default-pragma-automatic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/.false-default-pragma-automatic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/.false-default-pragma-automatic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/.false-default-pragma-automatic-runtime/output.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/.false-default-pragma-automatic-runtime/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/.false-default-pragma-automatic-runtime/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/.false-default-pragma-automatic-runtime/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/.false-pragma-option-automatic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/.false-pragma-option-automatic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/.false-pragma-option-automatic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/.false-pragma-option-automatic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/.false-pragma-option-automatic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/.false-pragma-option-automatic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/.false-pragma-option-automatic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/.false-pragma-option-automatic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/.false-pragma-option-automatic-runtime/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/pure/.false-pragma-option-automatic-runtime/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/.false-pragma-option-automatic-runtime/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/pure/.false-pragma-option-automatic-runtime/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/.true-pragma-option-automatic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/.true-pragma-option-automatic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/.true-pragma-option-automatic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/.true-pragma-option-automatic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/.true-pragma-option-automatic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/.true-pragma-option-automatic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/.true-pragma-option-automatic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/.true-pragma-option-automatic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/.true-pragma-option-automatic-runtime/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/pure/.true-pragma-option-automatic-runtime/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/.true-pragma-option-automatic-runtime/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/pure/.true-pragma-option-automatic-runtime/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/pure/.unset-pragma-option-automatic-runtime/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/false-default-pragma-classic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/false-default-pragma-classic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/false-default-pragma-classic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/false-default-pragma-classic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/false-default-pragma-classic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/false-default-pragma-classic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/false-default-pragma-classic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/false-default-pragma-classic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/false-default-pragma-classic-runtime/output.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/false-default-pragma-classic-runtime/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/false-default-pragma-classic-runtime/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/false-default-pragma-classic-runtime/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-comment-automatic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-comment-automatic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-comment-automatic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-comment-automatic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-comment-automatic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-comment-automatic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-comment-automatic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-comment-automatic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-comment-automatic-runtime/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-comment-automatic-runtime/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-comment-automatic-runtime/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-comment-automatic-runtime/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-comment-automatic-runtime/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-comment-automatic-runtime/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-comment-automatic-runtime/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-comment-automatic-runtime/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-comment-classic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-comment-classic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-comment-classic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-comment-classic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-comment-classic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-comment-classic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-comment-classic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-comment-classic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-comment-classic-runtime/output.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-comment-classic-runtime/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-comment-classic-runtime/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-comment-classic-runtime/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-option-classic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-option-classic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-option-classic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-option-classic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-option-classic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-option-classic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-option-classic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-option-classic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-option-classic-runtime/output.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-option-classic-runtime/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/false-pragma-option-classic-runtime/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/false-pragma-option-classic-runtime/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-default-pragma-automatic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-default-pragma-automatic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-default-pragma-automatic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-default-pragma-automatic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-default-pragma-automatic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-default-pragma-automatic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-default-pragma-automatic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-default-pragma-automatic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-default-pragma-automatic-runtime/output.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-default-pragma-automatic-runtime/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-default-pragma-automatic-runtime/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-default-pragma-automatic-runtime/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-default-pragma-classic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-default-pragma-classic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-default-pragma-classic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-default-pragma-classic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-default-pragma-classic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-default-pragma-classic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-default-pragma-classic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-default-pragma-classic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-default-pragma-classic-runtime/output.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-default-pragma-classic-runtime/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-default-pragma-classic-runtime/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-default-pragma-classic-runtime/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-comment-automatic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-comment-automatic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-comment-automatic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-comment-automatic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-comment-automatic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-comment-automatic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-comment-automatic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-comment-automatic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-comment-automatic-runtime/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-comment-automatic-runtime/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-comment-automatic-runtime/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-comment-automatic-runtime/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-comment-automatic-runtime/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-comment-automatic-runtime/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-comment-automatic-runtime/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-comment-automatic-runtime/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-comment-classic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-comment-classic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-comment-classic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-comment-classic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-comment-classic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-comment-classic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-comment-classic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-comment-classic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-comment-classic-runtime/output.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-comment-classic-runtime/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-comment-classic-runtime/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-comment-classic-runtime/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-option-classic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-option-classic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-option-classic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-option-classic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-option-classic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-option-classic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-option-classic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-option-classic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-option-classic-runtime/output.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-option-classic-runtime/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/true-pragma-option-classic-runtime/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/true-pragma-option-classic-runtime/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-default-pragma-automatic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-default-pragma-automatic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-default-pragma-automatic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-default-pragma-automatic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-default-pragma-automatic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-default-pragma-automatic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-default-pragma-automatic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-default-pragma-automatic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-default-pragma-automatic-runtime/output.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-default-pragma-automatic-runtime/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-default-pragma-automatic-runtime/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-default-pragma-automatic-runtime/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-default-pragma-classic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-default-pragma-classic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-default-pragma-classic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-default-pragma-classic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-default-pragma-classic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-default-pragma-classic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-default-pragma-classic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-default-pragma-classic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-default-pragma-classic-runtime/output.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-default-pragma-classic-runtime/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-default-pragma-classic-runtime/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-default-pragma-classic-runtime/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-comment-automatic-runtime/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-comment-classic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-comment-classic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-comment-classic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-comment-classic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-comment-classic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-comment-classic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-comment-classic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-comment-classic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-comment-classic-runtime/output.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-comment-classic-runtime/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-comment-classic-runtime/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-comment-classic-runtime/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-option-classic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-option-classic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-option-classic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-option-classic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-option-classic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-option-classic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-option-classic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-option-classic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-option-classic-runtime/output.js b/ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-option-classic-runtime/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/pure/unset-pragma-option-classic-runtime/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/pure/unset-pragma-option-classic-runtime/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.arrow-functions/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.arrow-functions/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.arrow-functions/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.arrow-functions/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.arrow-functions/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.arrow-functions/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.arrow-functions/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.arrow-functions/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.jsx-with-retainlines-option/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.jsx-with-retainlines-option/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.jsx-with-retainlines-option/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.jsx-with-retainlines-option/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.jsx-with-retainlines-option/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.jsx-with-retainlines-option/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.jsx-with-retainlines-option/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.jsx-with-retainlines-option/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.jsx-with-retainlines-option/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.jsx-with-retainlines-option/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.jsx-with-retainlines-option/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.jsx-with-retainlines-option/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.optimisation.react.constant-elements/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.optimisation.react.constant-elements/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.optimisation.react.constant-elements/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.optimisation.react.constant-elements/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.optimisation.react.constant-elements/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.optimisation.react.constant-elements/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.optimisation.react.constant-elements/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.optimisation.react.constant-elements/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.optimisation.react.constant-elements/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.optimisation.react.constant-elements/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.optimisation.react.constant-elements/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.optimisation.react.constant-elements/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-add-quotes-es3/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-add-quotes-es3/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-add-quotes-es3/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-add-quotes-es3/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-add-quotes-es3/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-add-quotes-es3/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-add-quotes-es3/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-add-quotes-es3/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-add-quotes-es3/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-add-quotes-es3/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-add-quotes-es3/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-add-quotes-es3/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-add-quotes-es3/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-add-quotes-es3/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-add-quotes-es3/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-add-quotes-es3/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-escape-xhtml-jsxattribute-babel-7/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-escape-xhtml-jsxtext-babel-7/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-properly-handle-comments-adjacent-to-children/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-properly-handle-comments-adjacent-to-children/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-properly-handle-comments-adjacent-to-children/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-properly-handle-comments-adjacent-to-children/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/.should-warn-when-pragma-or-pragmaFrag-is-set/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/adds-appropriate-newlines-when-using-spread-attribute/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/adds-appropriate-newlines-when-using-spread-attribute/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/adds-appropriate-newlines-when-using-spread-attribute/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/adds-appropriate-newlines-when-using-spread-attribute/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/adds-appropriate-newlines-when-using-spread-attribute/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/adds-appropriate-newlines-when-using-spread-attribute/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/adds-appropriate-newlines-when-using-spread-attribute/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/adds-appropriate-newlines-when-using-spread-attribute/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/assignment/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/assignment/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/assignment/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/assignment/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/assignment/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/assignment/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/assignment/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/assignment/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/concatenates-adjacent-string-literals/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/concatenates-adjacent-string-literals/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/concatenates-adjacent-string-literals/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/concatenates-adjacent-string-literals/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/concatenates-adjacent-string-literals/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/concatenates-adjacent-string-literals/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/concatenates-adjacent-string-literals/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/concatenates-adjacent-string-literals/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/does-not-add-source-self-automatic/input.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/does-not-add-source-self-automatic/input.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/does-not-add-source-self-automatic/input.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/does-not-add-source-self-automatic/input.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/does-not-add-source-self-automatic/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/does-not-add-source-self-automatic/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/does-not-add-source-self-automatic/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/does-not-add-source-self-automatic/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/does-not-add-source-self-automatic/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/does-not-add-source-self-automatic/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/does-not-add-source-self-automatic/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/does-not-add-source-self-automatic/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/dont-coerce-expression-containers/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/dont-coerce-expression-containers/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/dont-coerce-expression-containers/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/dont-coerce-expression-containers/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/dont-coerce-expression-containers/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/dont-coerce-expression-containers/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/dont-coerce-expression-containers/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/dont-coerce-expression-containers/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/duplicate-props/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/duplicate-props/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/duplicate-props/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/duplicate-props/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/duplicate-props/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/duplicate-props/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/duplicate-props/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/duplicate-props/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/flattens-spread/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/flattens-spread/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/flattens-spread/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/flattens-spread/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/flattens-spread/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/flattens-spread/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/flattens-spread/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/flattens-spread/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-fragments-with-key/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-fragments-with-key/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-fragments-with-key/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-fragments-with-key/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-fragments-with-key/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-fragments-with-key/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-fragments-with-key/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-fragments-with-key/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-fragments-with-no-children/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-fragments-with-no-children/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-fragments-with-no-children/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-fragments-with-no-children/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-fragments-with-no-children/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-fragments-with-no-children/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-fragments-with-no-children/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-fragments-with-no-children/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-fragments/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-fragments/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-fragments/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-fragments/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-fragments/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-fragments/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-fragments/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-fragments/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-nonstatic-children/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-nonstatic-children/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-nonstatic-children/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-nonstatic-children/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-nonstatic-children/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-nonstatic-children/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-nonstatic-children/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-nonstatic-children/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-static-children/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-static-children/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-static-children/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-static-children/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-static-children/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-static-children/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/handle-static-children/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/handle-static-children/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/jsx-without-retainlines-option/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/jsx-without-retainlines-option/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/jsx-without-retainlines-option/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/jsx-without-retainlines-option/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/jsx-without-retainlines-option/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/jsx-without-retainlines-option/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/jsx-without-retainlines-option/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/jsx-without-retainlines-option/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/key-undefined-works/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/key-undefined-works/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/key-undefined-works/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/key-undefined-works/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/key-undefined-works/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/key-undefined-works/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/key-undefined-works/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/key-undefined-works/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/pragma-works-with-no-space-at-the-end/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/pragma-works-with-no-space-at-the-end/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/pragma-works-with-no-space-at-the-end/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/pragma-works-with-no-space-at-the-end/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/pragma-works-with-no-space-at-the-end/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/pragma-works-with-no-space-at-the-end/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/pragma-works-with-no-space-at-the-end/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/pragma-works-with-no-space-at-the-end/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-constructor-as-prop/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-constructor-as-prop/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-constructor-as-prop/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-constructor-as-prop/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-constructor-as-prop/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-constructor-as-prop/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-constructor-as-prop/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-constructor-as-prop/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-deeper-js-namespacing/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-deeper-js-namespacing/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-deeper-js-namespacing/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-deeper-js-namespacing/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-deeper-js-namespacing/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-deeper-js-namespacing/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-deeper-js-namespacing/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-deeper-js-namespacing/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-elements-as-attributes/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-elements-as-attributes/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-elements-as-attributes/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-elements-as-attributes/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-elements-as-attributes/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-elements-as-attributes/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-elements-as-attributes/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-elements-as-attributes/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-js-namespacing/blacklist.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-js-namespacing/blacklist.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-js-namespacing/blacklist.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-js-namespacing/blacklist.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-js-namespacing/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-js-namespacing/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-js-namespacing/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-js-namespacing/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-js-namespacing/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-js-namespacing/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-js-namespacing/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-js-namespacing/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-nested-fragments/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-nested-fragments/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-nested-fragments/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-nested-fragments/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-nested-fragments/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-nested-fragments/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-allow-nested-fragments/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-allow-nested-fragments/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-avoid-wrapping-in-extra-parens-if-not-needed/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-avoid-wrapping-in-extra-parens-if-not-needed/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-avoid-wrapping-in-extra-parens-if-not-needed/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-avoid-wrapping-in-extra-parens-if-not-needed/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-avoid-wrapping-in-extra-parens-if-not-needed/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-avoid-wrapping-in-extra-parens-if-not-needed/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-avoid-wrapping-in-extra-parens-if-not-needed/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-avoid-wrapping-in-extra-parens-if-not-needed/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-convert-simple-tags/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-convert-simple-tags/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-convert-simple-tags/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-convert-simple-tags/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-convert-simple-tags/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-convert-simple-tags/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-convert-simple-tags/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-convert-simple-tags/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-convert-simple-text/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-convert-simple-text/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-convert-simple-text/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-convert-simple-text/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-convert-simple-text/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-convert-simple-text/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-convert-simple-text/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-convert-simple-text/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-spread-children/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-spread-children/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-spread-children/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-spread-children/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-spread-children/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-spread-children/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-spread-children/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-spread-children/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-spread-children/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-spread-children/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-spread-children/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-spread-children/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-spread-children/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-spread-children/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-spread-children/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-spread-children/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-xml-namespacing/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-xml-namespacing/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-xml-namespacing/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-xml-namespacing/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-xml-namespacing/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-xml-namespacing/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-xml-namespacing/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-xml-namespacing/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-xml-namespacing/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-xml-namespacing/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-xml-namespacing/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-xml-namespacing/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-xml-namespacing/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-xml-namespacing/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-disallow-xml-namespacing/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-disallow-xml-namespacing/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-escape-xhtml-jsxattribute/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-escape-xhtml-jsxtext/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-handle-attributed-elements/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-handle-attributed-elements/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-handle-attributed-elements/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-handle-attributed-elements/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-handle-attributed-elements/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-handle-attributed-elements/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-handle-attributed-elements/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-handle-attributed-elements/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-handle-has-own-property-correctly/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-handle-has-own-property-correctly/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-handle-has-own-property-correctly/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-handle-has-own-property-correctly/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-handle-has-own-property-correctly/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-handle-has-own-property-correctly/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-handle-has-own-property-correctly/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-handle-has-own-property-correctly/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-have-correct-comma-in-nested-children/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-have-correct-comma-in-nested-children/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-have-correct-comma-in-nested-children/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-have-correct-comma-in-nested-children/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-have-correct-comma-in-nested-children/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-have-correct-comma-in-nested-children/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-have-correct-comma-in-nested-children/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-have-correct-comma-in-nested-children/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-insert-commas-after-expressions-before-whitespace/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-insert-commas-after-expressions-before-whitespace/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-insert-commas-after-expressions-before-whitespace/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-insert-commas-after-expressions-before-whitespace/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-insert-commas-after-expressions-before-whitespace/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-insert-commas-after-expressions-before-whitespace/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-insert-commas-after-expressions-before-whitespace/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-insert-commas-after-expressions-before-whitespace/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-add-quotes-to-identifier-names/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-mangle-expressioncontainer-attribute-values/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-strip-nbsp-even-coupled-with-other-whitespace/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-strip-nbsp-even-coupled-with-other-whitespace/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-strip-nbsp-even-coupled-with-other-whitespace/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-strip-nbsp-even-coupled-with-other-whitespace/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-strip-nbsp-even-coupled-with-other-whitespace/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-strip-nbsp-even-coupled-with-other-whitespace/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-strip-nbsp-even-coupled-with-other-whitespace/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-strip-nbsp-even-coupled-with-other-whitespace/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-strip-tags-with-a-single-child-of-nbsp/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-strip-tags-with-a-single-child-of-nbsp/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-strip-tags-with-a-single-child-of-nbsp/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-strip-tags-with-a-single-child-of-nbsp/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-strip-tags-with-a-single-child-of-nbsp/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-strip-tags-with-a-single-child-of-nbsp/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-not-strip-tags-with-a-single-child-of-nbsp/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-not-strip-tags-with-a-single-child-of-nbsp/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-properly-handle-comments-between-props/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-properly-handle-comments-between-props/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-properly-handle-comments-between-props/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-properly-handle-comments-between-props/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-properly-handle-comments-between-props/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-properly-handle-comments-between-props/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-properly-handle-comments-between-props/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-properly-handle-comments-between-props/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-properly-handle-keys/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-properly-handle-keys/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-properly-handle-keys/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-properly-handle-keys/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-properly-handle-keys/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-properly-handle-keys/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-properly-handle-keys/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-properly-handle-keys/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-properly-handle-null-prop-spread/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-properly-handle-null-prop-spread/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-properly-handle-null-prop-spread/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-properly-handle-null-prop-spread/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-properly-handle-null-prop-spread/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-properly-handle-null-prop-spread/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-properly-handle-null-prop-spread/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-properly-handle-null-prop-spread/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-quote-jsx-attributes/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-quote-jsx-attributes/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-quote-jsx-attributes/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-quote-jsx-attributes/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-quote-jsx-attributes/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-quote-jsx-attributes/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-quote-jsx-attributes/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-quote-jsx-attributes/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-quote-jsx-attributes/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-quote-jsx-attributes/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-quote-jsx-attributes/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-quote-jsx-attributes/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-support-xml-namespaces-if-flag/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-throw-error-namespaces-if-not-flag/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-transform-known-hyphenated-tags/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-transform-known-hyphenated-tags/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-transform-known-hyphenated-tags/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-transform-known-hyphenated-tags/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-transform-known-hyphenated-tags/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-transform-known-hyphenated-tags/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-transform-known-hyphenated-tags/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-transform-known-hyphenated-tags/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-use-createElement-when-key-comes-after-spread/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-use-createElement-when-key-comes-after-spread/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-use-createElement-when-key-comes-after-spread/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-use-createElement-when-key-comes-after-spread/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-use-createElement-when-key-comes-after-spread/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-use-createElement-when-key-comes-after-spread/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-use-createElement-when-key-comes-after-spread/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-use-createElement-when-key-comes-after-spread/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-use-jsx-when-key-comes-before-spread/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-use-jsx-when-key-comes-before-spread/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-use-jsx-when-key-comes-before-spread/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-use-jsx-when-key-comes-before-spread/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-use-jsx-when-key-comes-before-spread/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-use-jsx-when-key-comes-before-spread/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/should-use-jsx-when-key-comes-before-spread/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/should-use-jsx-when-key-comes-before-spread/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/this-tag-name/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/this-tag-name/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/this-tag-name/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/this-tag-name/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/this-tag-name/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/this-tag-name/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/this-tag-name/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/this-tag-name/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/weird-symbols/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/weird-symbols/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/weird-symbols/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/weird-symbols/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/weird-symbols/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/weird-symbols/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/weird-symbols/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/weird-symbols/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-last-spread-attributes/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-last-spread-attributes/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-last-spread-attributes/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-last-spread-attributes/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-last-spread-attributes/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-last-spread-attributes/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-last-spread-attributes/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-last-spread-attributes/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-middle-spread-attributes/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-middle-spread-attributes/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-middle-spread-attributes/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-middle-spread-attributes/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-middle-spread-attributes/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-middle-spread-attributes/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-middle-spread-attributes/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react-automatic/wraps-props-in-react-spread-for-middle-spread-attributes/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.adds-appropriate-newlines-when-using-spread-attribute-babel-7/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.arrow-functions/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.arrow-functions/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.arrow-functions/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.arrow-functions/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.arrow-functions/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.arrow-functions/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.arrow-functions/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.arrow-functions/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.assignment-babel-7/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.assignment-babel-7/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.assignment-babel-7/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.assignment-babel-7/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.assignment-babel-7/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/.assignment-babel-7/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.assignment-babel-7/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/.assignment-babel-7/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.assignment-babel-7/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.assignment-babel-7/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.assignment-babel-7/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.assignment-babel-7/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.avoids-spread-babel-7/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.avoids-spread-babel-7/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.avoids-spread-babel-7/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.avoids-spread-babel-7/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.avoids-spread-babel-7/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/.avoids-spread-babel-7/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.avoids-spread-babel-7/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/.avoids-spread-babel-7/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.avoids-spread-babel-7/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.avoids-spread-babel-7/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.avoids-spread-babel-7/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.avoids-spread-babel-7/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.jsx-with-retainlines-option/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.jsx-with-retainlines-option/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.jsx-with-retainlines-option/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.jsx-with-retainlines-option/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.jsx-with-retainlines-option/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/.jsx-with-retainlines-option/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.jsx-with-retainlines-option/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/.jsx-with-retainlines-option/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.jsx-with-retainlines-option/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.jsx-with-retainlines-option/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.jsx-with-retainlines-option/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.jsx-with-retainlines-option/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.optimisation.react.constant-elements/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.optimisation.react.constant-elements/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.optimisation.react.constant-elements/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.optimisation.react.constant-elements/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.optimisation.react.constant-elements/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/.optimisation.react.constant-elements/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.optimisation.react.constant-elements/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/.optimisation.react.constant-elements/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.optimisation.react.constant-elements/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.optimisation.react.constant-elements/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.optimisation.react.constant-elements/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.optimisation.react.constant-elements/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.should-add-quotes-es3/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.should-add-quotes-es3/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.should-add-quotes-es3/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.should-add-quotes-es3/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.should-add-quotes-es3/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/.should-add-quotes-es3/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.should-add-quotes-es3/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/.should-add-quotes-es3/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.should-add-quotes-es3/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.should-add-quotes-es3/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.should-add-quotes-es3/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.should-add-quotes-es3/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.should-properly-handle-comments-adjacent-to-children/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.should-properly-handle-comments-adjacent-to-children/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.should-properly-handle-comments-adjacent-to-children/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.should-properly-handle-comments-adjacent-to-children/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.should-warn-when-importSource-is-set/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.should-warn-when-importSource-is-set/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.should-warn-when-importSource-is-set/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.should-warn-when-importSource-is-set/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.should-warn-when-importSource-is-set/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/.should-warn-when-importSource-is-set/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.should-warn-when-importSource-is-set/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/.should-warn-when-importSource-is-set/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.should-warn-when-importSource-is-set/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/react/.should-warn-when-importSource-is-set/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.should-warn-when-importSource-is-set/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/react/.should-warn-when-importSource-is-set/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/react/.should-warn-when-importSource-pragma-is-set/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-first-spread-attributes-babel-7/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-last-spread-attributes-babel-7/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/.wraps-props-in-react-spread-for-middle-spread-attributes-babel-7/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/adds-appropriate-newlines-when-using-spread-attribute/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/assignment/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/assignment/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/assignment/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/assignment/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/assignment/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/assignment/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/assignment/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/assignment/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/assignment/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/assignment/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/assignment/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/assignment/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/concatenates-adjacent-string-literals/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/concatenates-adjacent-string-literals/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/concatenates-adjacent-string-literals/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/concatenates-adjacent-string-literals/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/concatenates-adjacent-string-literals/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/concatenates-adjacent-string-literals/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/concatenates-adjacent-string-literals/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/concatenates-adjacent-string-literals/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/does-not-add-source-self-babel-7/input.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react/does-not-add-source-self-babel-7/input.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/does-not-add-source-self-babel-7/input.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react/does-not-add-source-self-babel-7/input.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/does-not-add-source-self-babel-7/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/does-not-add-source-self-babel-7/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/does-not-add-source-self-babel-7/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/does-not-add-source-self-babel-7/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/does-not-add-source-self-babel-7/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react/does-not-add-source-self-babel-7/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/does-not-add-source-self-babel-7/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react/does-not-add-source-self-babel-7/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/does-not-add-source-self/input.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react/does-not-add-source-self/input.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/does-not-add-source-self/input.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react/does-not-add-source-self/input.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/does-not-add-source-self/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/does-not-add-source-self/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/does-not-add-source-self/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/does-not-add-source-self/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/does-not-add-source-self/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react/does-not-add-source-self/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/does-not-add-source-self/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react/does-not-add-source-self/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/dont-coerce-expression-containers/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/dont-coerce-expression-containers/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/dont-coerce-expression-containers/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/dont-coerce-expression-containers/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/dont-coerce-expression-containers/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/dont-coerce-expression-containers/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/dont-coerce-expression-containers/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/dont-coerce-expression-containers/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/duplicate-props/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/duplicate-props/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/duplicate-props/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/duplicate-props/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/duplicate-props/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/duplicate-props/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/duplicate-props/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/duplicate-props/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/flattens-spread/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/flattens-spread/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/flattens-spread/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/flattens-spread/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/flattens-spread/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/flattens-spread/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/flattens-spread/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/flattens-spread/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-comment/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-comment/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-comment/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-comment/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-comment/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-comment/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-comment/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-comment/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-pragma-option/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-pragma-option/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-pragma-option/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-pragma-option/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-pragma-option/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-pragma-option/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-pragma-option/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-pragma-option/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-pragma-option/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-pragma-option/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/honor-custom-jsx-pragma-option/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/honor-custom-jsx-pragma-option/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/jsx-without-retainlines-option/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/jsx-without-retainlines-option/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/jsx-without-retainlines-option/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/jsx-without-retainlines-option/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/jsx-without-retainlines-option/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/jsx-without-retainlines-option/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/jsx-without-retainlines-option/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/jsx-without-retainlines-option/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/pragma-works-with-no-space-at-the-end/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/pragma-works-with-no-space-at-the-end/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/pragma-works-with-no-space-at-the-end/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/pragma-works-with-no-space-at-the-end/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/pragma-works-with-no-space-at-the-end/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/pragma-works-with-no-space-at-the-end/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/pragma-works-with-no-space-at-the-end/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/pragma-works-with-no-space-at-the-end/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-constructor-as-prop/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-constructor-as-prop/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-constructor-as-prop/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-constructor-as-prop/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-constructor-as-prop/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-constructor-as-prop/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-constructor-as-prop/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-constructor-as-prop/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-deeper-js-namespacing/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-deeper-js-namespacing/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-deeper-js-namespacing/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-deeper-js-namespacing/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-deeper-js-namespacing/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-deeper-js-namespacing/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-deeper-js-namespacing/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-deeper-js-namespacing/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-elements-as-attributes/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-elements-as-attributes/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-elements-as-attributes/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-elements-as-attributes/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-elements-as-attributes/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-elements-as-attributes/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-elements-as-attributes/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-elements-as-attributes/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-js-namespacing/blacklist.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-js-namespacing/blacklist.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-js-namespacing/blacklist.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-js-namespacing/blacklist.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-js-namespacing/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-js-namespacing/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-js-namespacing/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-js-namespacing/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-js-namespacing/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-js-namespacing/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-js-namespacing/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-js-namespacing/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-nested-fragments/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-nested-fragments/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-nested-fragments/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-nested-fragments/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-nested-fragments/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-nested-fragments/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-nested-fragments/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-nested-fragments/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-no-pragmafrag-if-frag-unused/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-no-pragmafrag-if-frag-unused/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-no-pragmafrag-if-frag-unused/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-no-pragmafrag-if-frag-unused/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-no-pragmafrag-if-frag-unused/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-no-pragmafrag-if-frag-unused/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-no-pragmafrag-if-frag-unused/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-no-pragmafrag-if-frag-unused/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-pragmafrag-and-frag/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-pragmafrag-and-frag/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-pragmafrag-and-frag/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-pragmafrag-and-frag/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-allow-pragmafrag-and-frag/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-pragmafrag-and-frag/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-allow-pragmafrag-and-frag/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-allow-pragmafrag-and-frag/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-avoid-wrapping-in-extra-parens-if-not-needed/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-avoid-wrapping-in-extra-parens-if-not-needed/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-avoid-wrapping-in-extra-parens-if-not-needed/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-avoid-wrapping-in-extra-parens-if-not-needed/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-avoid-wrapping-in-extra-parens-if-not-needed/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-avoid-wrapping-in-extra-parens-if-not-needed/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-avoid-wrapping-in-extra-parens-if-not-needed/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-avoid-wrapping-in-extra-parens-if-not-needed/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-convert-simple-tags/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-convert-simple-tags/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-convert-simple-tags/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-convert-simple-tags/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-convert-simple-tags/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-convert-simple-tags/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-convert-simple-tags/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-convert-simple-tags/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-convert-simple-text/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-convert-simple-text/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-convert-simple-text/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-convert-simple-text/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-convert-simple-text/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-convert-simple-text/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-convert-simple-text/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-convert-simple-text/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-spread-children/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-spread-children/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-spread-children/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-spread-children/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-spread-children/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-spread-children/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-spread-children/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-spread-children/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-spread-children/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-spread-children/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-spread-children/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-spread-children/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-spread-children/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-spread-children/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-spread-children/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-spread-children/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-xml-namespacing/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-xml-namespacing/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-xml-namespacing/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-xml-namespacing/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-xml-namespacing/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-xml-namespacing/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-xml-namespacing/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-xml-namespacing/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-xml-namespacing/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-xml-namespacing/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-xml-namespacing/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-xml-namespacing/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-xml-namespacing/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-xml-namespacing/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-disallow-xml-namespacing/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-disallow-xml-namespacing/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxattribute-babel-7/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxattribute/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxattribute/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxattribute/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxattribute/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxattribute/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxattribute/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxattribute/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxattribute/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxattribute/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxattribute/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxattribute/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxattribute/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxtext-babel-7/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxtext/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxtext/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxtext/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxtext/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxtext/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxtext/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxtext/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxtext/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxtext/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxtext/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-escape-xhtml-jsxtext/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-escape-xhtml-jsxtext/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-handle-attributed-elements/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-handle-attributed-elements/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-handle-attributed-elements/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-handle-attributed-elements/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-handle-attributed-elements/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-handle-attributed-elements/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-handle-attributed-elements/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-handle-attributed-elements/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-handle-has-own-property-correctly/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-handle-has-own-property-correctly/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-handle-has-own-property-correctly/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-handle-has-own-property-correctly/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-handle-has-own-property-correctly/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-handle-has-own-property-correctly/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-handle-has-own-property-correctly/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-handle-has-own-property-correctly/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-have-correct-comma-in-nested-children/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-have-correct-comma-in-nested-children/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-have-correct-comma-in-nested-children/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-have-correct-comma-in-nested-children/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-have-correct-comma-in-nested-children/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-have-correct-comma-in-nested-children/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-have-correct-comma-in-nested-children/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-have-correct-comma-in-nested-children/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-insert-commas-after-expressions-before-whitespace/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-insert-commas-after-expressions-before-whitespace/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-insert-commas-after-expressions-before-whitespace/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-insert-commas-after-expressions-before-whitespace/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-insert-commas-after-expressions-before-whitespace/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-insert-commas-after-expressions-before-whitespace/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-insert-commas-after-expressions-before-whitespace/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-insert-commas-after-expressions-before-whitespace/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-not-add-quotes-to-identifier-names/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-not-add-quotes-to-identifier-names/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-not-add-quotes-to-identifier-names/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-not-add-quotes-to-identifier-names/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-not-add-quotes-to-identifier-names/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-not-add-quotes-to-identifier-names/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-not-add-quotes-to-identifier-names/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-not-add-quotes-to-identifier-names/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-not-mangle-expressioncontainer-attribute-values/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-not-mangle-expressioncontainer-attribute-values/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-not-mangle-expressioncontainer-attribute-values/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-not-mangle-expressioncontainer-attribute-values/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-not-mangle-expressioncontainer-attribute-values/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-not-mangle-expressioncontainer-attribute-values/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-not-mangle-expressioncontainer-attribute-values/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-not-mangle-expressioncontainer-attribute-values/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-not-strip-nbsp-even-coupled-with-other-whitespace/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-not-strip-nbsp-even-coupled-with-other-whitespace/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-not-strip-nbsp-even-coupled-with-other-whitespace/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-not-strip-nbsp-even-coupled-with-other-whitespace/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-not-strip-nbsp-even-coupled-with-other-whitespace/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-not-strip-nbsp-even-coupled-with-other-whitespace/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-not-strip-nbsp-even-coupled-with-other-whitespace/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-not-strip-nbsp-even-coupled-with-other-whitespace/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-not-strip-tags-with-a-single-child-of-nbsp/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-not-strip-tags-with-a-single-child-of-nbsp/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-not-strip-tags-with-a-single-child-of-nbsp/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-not-strip-tags-with-a-single-child-of-nbsp/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-not-strip-tags-with-a-single-child-of-nbsp/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-not-strip-tags-with-a-single-child-of-nbsp/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-not-strip-tags-with-a-single-child-of-nbsp/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-not-strip-tags-with-a-single-child-of-nbsp/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-properly-handle-comments-between-props/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-properly-handle-comments-between-props/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-properly-handle-comments-between-props/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-properly-handle-comments-between-props/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-properly-handle-comments-between-props/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-properly-handle-comments-between-props/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-properly-handle-comments-between-props/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-properly-handle-comments-between-props/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-quote-jsx-attributes/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-quote-jsx-attributes/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-quote-jsx-attributes/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-quote-jsx-attributes/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-quote-jsx-attributes/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-quote-jsx-attributes/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-quote-jsx-attributes/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-quote-jsx-attributes/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-support-xml-namespaces-if-flag/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-support-xml-namespaces-if-flag/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-support-xml-namespaces-if-flag/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-support-xml-namespaces-if-flag/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-support-xml-namespaces-if-flag/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/should-support-xml-namespaces-if-flag/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-support-xml-namespaces-if-flag/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-support-xml-namespaces-if-flag/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-support-xml-namespaces-if-flag/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-support-xml-namespaces-if-flag/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-support-xml-namespaces-if-flag/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-support-xml-namespaces-if-flag/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/output.mjs b/ecmascript/transforms/react/tests/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/output.mjs similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/output.mjs rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/output.mjs diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-throw-error-namespaces-if-not-flag/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-transform-known-hyphenated-tags/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-transform-known-hyphenated-tags/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-transform-known-hyphenated-tags/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-transform-known-hyphenated-tags/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/should-transform-known-hyphenated-tags/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/should-transform-known-hyphenated-tags/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/should-transform-known-hyphenated-tags/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/should-transform-known-hyphenated-tags/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/this-tag-name/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/this-tag-name/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/this-tag-name/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/this-tag-name/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/this-tag-name/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/this-tag-name/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/this-tag-name/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/this-tag-name/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/weird-symbols/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/weird-symbols/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/weird-symbols/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/weird-symbols/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/weird-symbols/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/weird-symbols/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/weird-symbols/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/weird-symbols/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-first-spread-attributes/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-last-spread-attributes/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/input.js b/ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/options.json b/ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/output.js b/ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/react/wraps-props-in-react-spread-for-middle-spread-attributes/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-automatic/input.js b/ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-automatic/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-automatic/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-automatic/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-automatic/options.json b/ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-automatic/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-automatic/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-automatic/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-automatic/output.js b/ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-automatic/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-automatic/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-automatic/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-automatic/plugin.js b/ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-automatic/plugin.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-automatic/plugin.js rename to ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-automatic/plugin.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-classic/input.js b/ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-classic/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-classic/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-classic/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-classic/options.json b/ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-classic/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-classic/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-classic/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-classic/output.js b/ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-classic/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-classic/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-classic/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-classic/plugin.js b/ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-classic/plugin.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/regression/.issue-12478-classic/plugin.js rename to ecmascript/transforms/react/tests/jsx/fixture/regression/.issue-12478-classic/plugin.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/output.js b/ecmascript/transforms/react/tests/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/regression/pragma-frag-set-default-classic-runtime/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-builtins-false/input.js b/ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-builtins-false/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-builtins-false/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-builtins-false/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-builtins-false/options.json b/ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-builtins-false/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-builtins-false/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-builtins-false/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-builtins-false/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-builtins-false/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-builtins-false/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-builtins-false/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-builtins-true/input.js b/ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-builtins-true/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-builtins-true/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-builtins-true/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-builtins-true/options.json b/ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-builtins-true/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-builtins-true/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-builtins-true/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-builtins-true/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-builtins-true/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-builtins-true/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-builtins-true/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-spread-false/input.js b/ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-spread-false/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-spread-false/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-spread-false/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-spread-false/options.json b/ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-spread-false/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-spread-false/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-spread-false/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-spread-false/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-spread-false/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-spread-false/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-spread-false/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-spread-true/input.js b/ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-spread-true/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-spread-true/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-spread-true/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-spread-true/options.json b/ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-spread-true/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-spread-true/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-spread-true/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-spread-true/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-spread-true/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/removed-options/.invalid-use-spread-true/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/removed-options/.invalid-use-spread-true/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/.defaults-to-automatic/input.js b/ecmascript/transforms/react/tests/jsx/fixture/runtime/.defaults-to-automatic/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/.defaults-to-automatic/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/.defaults-to-automatic/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/.defaults-to-automatic/options.json b/ecmascript/transforms/react/tests/jsx/fixture/runtime/.defaults-to-automatic/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/.defaults-to-automatic/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/.defaults-to-automatic/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/.defaults-to-automatic/output.js b/ecmascript/transforms/react/tests/jsx/fixture/runtime/.defaults-to-automatic/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/.defaults-to-automatic/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/.defaults-to-automatic/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/.invalid-runtime/input.js b/ecmascript/transforms/react/tests/jsx/fixture/runtime/.invalid-runtime/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/.invalid-runtime/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/.invalid-runtime/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/.invalid-runtime/options.json b/ecmascript/transforms/react/tests/jsx/fixture/runtime/.invalid-runtime/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/.invalid-runtime/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/.invalid-runtime/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/.invalid-runtime/output.stderr b/ecmascript/transforms/react/tests/jsx/fixture/runtime/.invalid-runtime/output.stderr similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/.invalid-runtime/output.stderr rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/.invalid-runtime/output.stderr diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/.runtime-automatic/input.js b/ecmascript/transforms/react/tests/jsx/fixture/runtime/.runtime-automatic/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/.runtime-automatic/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/.runtime-automatic/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/.runtime-automatic/options.json b/ecmascript/transforms/react/tests/jsx/fixture/runtime/.runtime-automatic/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/.runtime-automatic/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/.runtime-automatic/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/.runtime-automatic/output.js b/ecmascript/transforms/react/tests/jsx/fixture/runtime/.runtime-automatic/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/.runtime-automatic/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/.runtime-automatic/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/classic/input.js b/ecmascript/transforms/react/tests/jsx/fixture/runtime/classic/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/classic/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/classic/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/classic/options.json b/ecmascript/transforms/react/tests/jsx/fixture/runtime/classic/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/classic/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/classic/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/classic/output.js b/ecmascript/transforms/react/tests/jsx/fixture/runtime/classic/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/classic/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/classic/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/defaults-to-classis-babel-7/input.js b/ecmascript/transforms/react/tests/jsx/fixture/runtime/defaults-to-classis-babel-7/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/defaults-to-classis-babel-7/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/defaults-to-classis-babel-7/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/defaults-to-classis-babel-7/options.json b/ecmascript/transforms/react/tests/jsx/fixture/runtime/defaults-to-classis-babel-7/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/defaults-to-classis-babel-7/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/defaults-to-classis-babel-7/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/defaults-to-classis-babel-7/output.js b/ecmascript/transforms/react/tests/jsx/fixture/runtime/defaults-to-classis-babel-7/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/defaults-to-classis-babel-7/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/defaults-to-classis-babel-7/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/pragma-runtime-classsic/input.js b/ecmascript/transforms/react/tests/jsx/fixture/runtime/pragma-runtime-classsic/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/pragma-runtime-classsic/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/pragma-runtime-classsic/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/pragma-runtime-classsic/options.json b/ecmascript/transforms/react/tests/jsx/fixture/runtime/pragma-runtime-classsic/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/pragma-runtime-classsic/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/pragma-runtime-classsic/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/runtime/pragma-runtime-classsic/output.js b/ecmascript/transforms/react/tests/jsx/fixture/runtime/pragma-runtime-classsic/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/runtime/pragma-runtime-classsic/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/runtime/pragma-runtime-classsic/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/spread-transform/.transform-to-babel-extend/input.js b/ecmascript/transforms/react/tests/jsx/fixture/spread-transform/.transform-to-babel-extend/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/spread-transform/.transform-to-babel-extend/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/spread-transform/.transform-to-babel-extend/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/spread-transform/.transform-to-babel-extend/options.json b/ecmascript/transforms/react/tests/jsx/fixture/spread-transform/.transform-to-babel-extend/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/spread-transform/.transform-to-babel-extend/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/spread-transform/.transform-to-babel-extend/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/spread-transform/.transform-to-babel-extend/output.js b/ecmascript/transforms/react/tests/jsx/fixture/spread-transform/.transform-to-babel-extend/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/spread-transform/.transform-to-babel-extend/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/spread-transform/.transform-to-babel-extend/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/spread-transform/.transform-to-object-assign/input.js b/ecmascript/transforms/react/tests/jsx/fixture/spread-transform/.transform-to-object-assign/input.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/spread-transform/.transform-to-object-assign/input.js rename to ecmascript/transforms/react/tests/jsx/fixture/spread-transform/.transform-to-object-assign/input.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/spread-transform/.transform-to-object-assign/options.json b/ecmascript/transforms/react/tests/jsx/fixture/spread-transform/.transform-to-object-assign/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/spread-transform/.transform-to-object-assign/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/spread-transform/.transform-to-object-assign/options.json diff --git a/ecmascript/transforms/react/src/jsx/fixture/spread-transform/.transform-to-object-assign/output.js b/ecmascript/transforms/react/tests/jsx/fixture/spread-transform/.transform-to-object-assign/output.js similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/spread-transform/.transform-to-object-assign/output.js rename to ecmascript/transforms/react/tests/jsx/fixture/spread-transform/.transform-to-object-assign/output.js diff --git a/ecmascript/transforms/react/src/jsx/fixture/spread-transform/options.json b/ecmascript/transforms/react/tests/jsx/fixture/spread-transform/options.json similarity index 100% rename from ecmascript/transforms/react/src/jsx/fixture/spread-transform/options.json rename to ecmascript/transforms/react/tests/jsx/fixture/spread-transform/options.json diff --git a/ecmascript/transforms/testing/Cargo.toml b/ecmascript/transforms/testing/Cargo.toml index cbf91b07943..7cf2a1f194a 100644 --- a/ecmascript/transforms/testing/Cargo.toml +++ b/ecmascript/transforms/testing/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecma_transforms_testing" repository = "https://github.com/swc-project/swc.git" -version = "0.23.0" +version = "0.24.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -16,10 +16,10 @@ serde = "1" serde_json = "1" swc_common = {version = "0.11.0", path = "../../../common"} swc_ecma_ast = {version = "0.49.0", path = "../../ast"} -swc_ecma_codegen = {version = "0.63.0", path = "../../codegen"} -swc_ecma_parser = {version = "0.64.0", path = "../../parser"} -swc_ecma_transforms_base = {version = "0.23.0", path = "../base"} -swc_ecma_utils = {version = "0.40.0", path = "../../utils"} +swc_ecma_codegen = {version = "0.64.0", path = "../../codegen"} +swc_ecma_parser = {version = "0.65.0", path = "../../parser"} +swc_ecma_transforms_base = {version = "0.24.0", path = "../base"} +swc_ecma_utils = {version = "0.41.0", path = "../../utils"} swc_ecma_visit = {version = "0.35.0", path = "../../visit"} tempfile = "3.1.0" -testing = {version = "0.11.0", path = "../../../testing"} +testing = {version = "0.12.0", path = "../../../testing"} diff --git a/ecmascript/transforms/typescript/Cargo.toml b/ecmascript/transforms/typescript/Cargo.toml index d28613e01a9..b803a6dd6db 100644 --- a/ecmascript/transforms/typescript/Cargo.toml +++ b/ecmascript/transforms/typescript/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecma_transforms_typescript" repository = "https://github.com/swc-project/swc.git" -version = "0.29.0" +version = "0.30.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] @@ -15,16 +15,16 @@ serde = {version = "1.0.118", features = ["derive"]} swc_atoms = {version = "0.2", path = "../../../atoms"} swc_common = {version = "0.11.0", path = "../../../common"} swc_ecma_ast = {version = "0.49.0", path = "../../ast"} -swc_ecma_parser = {version = "0.64.0", path = "../../parser"} -swc_ecma_transforms_base = {version = "0.23.0", path = "../base"} -swc_ecma_utils = {version = "0.40.0", path = "../../utils"} +swc_ecma_parser = {version = "0.65.0", path = "../../parser"} +swc_ecma_transforms_base = {version = "0.24.0", path = "../base"} +swc_ecma_utils = {version = "0.41.0", path = "../../utils"} swc_ecma_visit = {version = "0.35.0", path = "../../visit"} [dev-dependencies] -swc_ecma_codegen = {version = "0.63.0", path = "../../codegen"} -swc_ecma_transforms_compat = {version = "0.26.0", path = "../compat"} -swc_ecma_transforms_module = {version = "0.27.0", path = "../module"} -swc_ecma_transforms_proposal = {version = "0.27.0", path = "../proposal/"} -swc_ecma_transforms_testing = {version = "0.23.0", path = "../testing"} -testing = {version = "0.11.0", path = "../../../testing"} +swc_ecma_codegen = {version = "0.64.0", path = "../../codegen"} +swc_ecma_transforms_compat = {version = "0.27.0", path = "../compat"} +swc_ecma_transforms_module = {version = "0.28.0", path = "../module"} +swc_ecma_transforms_proposal = {version = "0.28.0", path = "../proposal/"} +swc_ecma_transforms_testing = {version = "0.24.0", path = "../testing"} +testing = {version = "0.12.0", path = "../../../testing"} walkdir = "2.3.1" diff --git a/ecmascript/utils/Cargo.toml b/ecmascript/utils/Cargo.toml index 7ad347b6bbd..5372fe2e31a 100644 --- a/ecmascript/utils/Cargo.toml +++ b/ecmascript/utils/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "swc_ecma_utils" repository = "https://github.com/swc-project/swc.git" -version = "0.40.1" +version = "0.41.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -20,4 +20,4 @@ swc_ecma_visit = {version = "0.35.0", path = "../visit"} unicode-xid = "0.2" [dev-dependencies] -testing = {version = "0.11.0", path = "../../testing"} +testing = {version = "0.12.0", path = "../../testing"} diff --git a/testing/Cargo.toml b/testing/Cargo.toml index e2877c3635c..24885b4418b 100644 --- a/testing/Cargo.toml +++ b/testing/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "testing" repository = "https://github.com/swc-project/swc.git" -version = "0.11.0" +version = "0.12.0" [dependencies] ansi_term = "0.12.1" @@ -17,4 +17,4 @@ once_cell = "1" pretty_assertions = "0.6.1" regex = "1" swc_common = {version = "0.11.0", path = "../common", features = ["tty-emitter"]} -testing_macros = {version = "0.1", path = "./macros"} +testing_macros = {version = "0.2.0", path = "./macros"} diff --git a/testing/macros/Cargo.toml b/testing/macros/Cargo.toml index 1ddc1c2c33a..66e238df0b8 100644 --- a/testing/macros/Cargo.toml +++ b/testing/macros/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" license = "Apache-2.0/MIT" name = "testing_macros" repository = "https://github.com/swc-project/swc.git" -version = "0.1.2" +version = "0.2.0" [lib] proc-macro = true diff --git a/testing/macros/src/fixture.rs b/testing/macros/src/fixture.rs index 0e9981613f3..e7030348508 100644 --- a/testing/macros/src/fixture.rs +++ b/testing/macros/src/fixture.rs @@ -1,10 +1,13 @@ use anyhow::{Context, Error}; use glob::glob; use pmutil::q; -use proc_macro2::{SourceFile, Span}; +use proc_macro2::Span; use regex::Regex; use relative_path::RelativePath; -use std::path::Component; +use std::{ + env, + path::{Component, PathBuf}, +}; use syn::{ parse::{Parse, ParseStream}, Ident, ItemFn, Lit, LitStr, Meta, NestedMeta, Token, @@ -98,10 +101,13 @@ impl Parse for Config { } } -pub fn expand(test_file: &SourceFile, callee: &Ident, attr: Config) -> Result, Error> { - let base_dir = test_file.path().parent().unwrap().to_path_buf(); +pub fn expand(callee: &Ident, attr: Config) -> Result, Error> { + let base_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").expect( + "#[fixture] requires CARGO_MANIFEST_DIR because it's relative to cargo manifest directory", + )); let resolved_path = RelativePath::new(&attr.pattern).to_path(&base_dir); let pattern = resolved_path.to_string_lossy(); + eprintln!("{}: ", resolved_path.display()); let paths = glob(&pattern).with_context(|| format!("glob failed for whole path: `{}`", pattern))?; diff --git a/testing/macros/src/lib.rs b/testing/macros/src/lib.rs index bc20396764f..cc9234d7429 100644 --- a/testing/macros/src/lib.rs +++ b/testing/macros/src/lib.rs @@ -1,5 +1,4 @@ use proc_macro::TokenStream; -use proc_macro2::Span; use quote::ToTokens; use syn::ItemFn; @@ -7,6 +6,9 @@ mod fixture; /// Create tests from files. /// +/// **NOTE: Path should be relative to the directory of `Cargo.toml` file**. +/// This is limitation of current proc macro api. +/// /// # Why /// /// If you create test dynamically, running a specific test become very @@ -55,9 +57,7 @@ pub fn fixture(attr: TokenStream, item: TokenStream) -> TokenStream { let config: self::fixture::Config = syn::parse(attr).expect("failed to parse input passed to #[fixture]"); - let file = Span::call_site().source_file(); - - let cases = self::fixture::expand(&file, &item.sig.ident, config).unwrap(); + let cases = self::fixture::expand(&item.sig.ident, config).unwrap(); let mut output = proc_macro2::TokenStream::new(); diff --git a/testing/macros/tests/test.rs b/testing/macros/tests/test.rs index 24a674c135d..d16ae256205 100644 --- a/testing/macros/tests/test.rs +++ b/testing/macros/tests/test.rs @@ -1,15 +1,17 @@ +#![deny(unused)] + use std::path::PathBuf; use testing_macros::fixture; -#[fixture("simple/*.ts")] +#[fixture("tests/simple/*.ts")] fn simple(_path: PathBuf) {} -#[fixture("ignore/**/*.ts")] +#[fixture("tests/ignore/**/*.ts")] fn ignored(_path: PathBuf) {} -#[fixture("simple/**/*.ts")] -#[fixture("simple/**/*.tsx")] +#[fixture("tests/simple/**/*.ts")] +#[fixture("tests/simple/**/*.tsx")] fn multiple(_path: PathBuf) {} -#[fixture("simple/**/*", exclude(".*\\.tsx", ".*.d\\.ts"))] +#[fixture("tests/simple/**/*", exclude(".*\\.tsx", ".*.d\\.ts"))] fn exlucde(_path: PathBuf) {} diff --git a/tests/projects.rs b/tests/projects.rs index 4c1c0a0459a..2630f9b67ed 100644 --- a/tests/projects.rs +++ b/tests/projects.rs @@ -654,7 +654,7 @@ fn deno_10282_2() { assert_eq!(output.to_string(), "const a = `\n`;\n"); } -#[testing::fixture("fixture/**/input/")] +#[testing::fixture("tests/fixture/**/input/")] fn tests(dir: PathBuf) { let output = dir.parent().unwrap().join("output"); let _ = create_dir_all(&output);