pub(crate) const PLUGINS: &[&str] = &[ "babel-preset-env", // // ES2024 // "babel-plugin-transform-unicode-sets-regex", // // ES2022 // "babel-plugin-transform-class-properties", // "babel-plugin-transform-class-static-block", // "babel-plugin-transform-private-methods", // "babel-plugin-transform-private-property-in-object", // // [Syntax] "babel-plugin-transform-syntax-top-level-await", // // ES2021 // "babel-plugin-transform-logical-assignment-operators", // "babel-plugin-transform-numeric-separator", // // ES2020 // "babel-plugin-transform-export-namespace-from", // "babel-plugin-transform-dynamic-import", // "babel-plugin-transform-nullish-coalescing-operator", // "babel-plugin-transform-optional-chaining", // // [Syntax] "babel-plugin-transform-syntax-bigint", // // [Syntax] "babel-plugin-transform-syntax-dynamic-import", // // [Syntax] "babel-plugin-transform-syntax-import-meta", // // ES2019 // "babel-plugin-transform-optional-catch-binding", // "babel-plugin-transform-json-strings", // // ES2018 // "babel-plugin-transform-async-generator-functions", // "babel-plugin-transform-object-rest-spread", // // [Regex] "babel-plugin-transform-unicode-property-regex", // "babel-plugin-transform-dotall-regex", // // [Regex] "babel-plugin-transform-named-capturing-groups-regex", // // ES2017 // "babel-plugin-transform-async-to-generator", // // ES2016 // "babel-plugin-transform-exponentiation-operator", // // ES2015 "babel-plugin-transform-arrow-functions", // "babel-plugin-transform-function-name", // "babel-plugin-transform-shorthand-properties", // "babel-plugin-transform-sticky-regex", // "babel-plugin-transform-unicode-regex", // "babel-plugin-transform-template-literals", // "babel-plugin-transform-duplicate-keys", // "babel-plugin-transform-instanceof", // "babel-plugin-transform-new-target", // // ES3 // "babel-plugin-transform-property-literals", // TypeScript "babel-preset-typescript", "babel-plugin-transform-typescript", // React "babel-preset-react", "babel-plugin-transform-react-jsx", "babel-plugin-transform-react-display-name", "babel-plugin-transform-react-jsx-self", "babel-plugin-transform-react-jsx-source", "babel-plugin-transform-react-jsx-development", // // Proposal // "babel-plugin-proposal-decorators", ]; pub(crate) const PLUGINS_NOT_SUPPORTED_YET: &[&str] = &[ "proposal-decorators", "transform-class-properties", "transform-classes", "transform-destructuring", "transform-modules-commonjs", "transform-object-rest-spread", "transform-optional-chaining", "transform-parameters", "transform-private-methods", "transform-property-literals", "transform-react-constant-elements", ]; pub(crate) const SKIP_TESTS: &[&str] = &[ // Shouldn't report in transformer "typescript/test/fixtures/node-extensions/type-assertion-in-cts/input.cts", "typescript/test/fixtures/node-extensions/type-assertion-in-mts/input.mts", "typescript/test/fixtures/node-extensions/type-param-arrow-in-cts/input.mts", "typescript/test/fixtures/node-extensions/type-param-arrow-in-mts/input.mts", "typescript/test/fixtures/node-extensions/with-in-mts/input.mts", // Report error for deprecate option or oxc doesn’t follow error message "typescript/test/fixtures/opts/allowDeclareFields/input.ts", "react-jsx/test/fixtures/react-automatic/should-throw-when-filter-is-specified/input.js", "react-jsx-development/test/fixtures/cross-platform/source-and-self-defined/input.js", // Not standard JavaScript or TypeScript syntax "typescript/test/fixtures/exports/export-type-star-from/input.ts", // The output is valid and semantically correct // but does not match Babel's expected output "typescript/test/fixtures/namespace/canonical/input.ts", "typescript/test/fixtures/namespace/nested-shorthand-export/input.ts", "react-jsx-development/test/fixtures/cross-platform/self-inside-arrow/input.mjs", // Babel outputs is not correct "typescript/test/fixtures/namespace/clobber-import/input.ts", "typescript/test/fixtures/namespace/namespace-nested-module/input.ts", "typescript/test/fixtures/namespace/nested-destructuring/input.ts", ];