Skip to content

Commit

Permalink
test: update transform file options.
Browse files Browse the repository at this point in the history
  • Loading branch information
jaywcjlove committed Apr 4, 2023
1 parent 76b5b69 commit 7a06421
Showing 1 changed file with 41 additions and 2 deletions.
43 changes: 41 additions & 2 deletions packages/jest/src/transform/babel.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
import babelJest from 'babel-jest';

const hasJsxRuntime = (() => {
if (process.env.DISABLE_NEW_JSX_TRANSFORM === 'true') {
return false;
}

try {
require.resolve('react/jsx-runtime');
return true;
} catch (e) {
return false;
}
})();

export default babelJest.createTransformer({
presets: [
[
Expand All @@ -11,7 +24,18 @@ export default babelJest.createTransformer({
},
],
require('@babel/preset-typescript').default,
require('@babel/preset-react').default,
[
require('@babel/preset-react').default,
{
// Adds component stack to warning messages
// Adds __self attribute to JSX which React will use for some warnings
development: true,
// Will use the native built-in instead of trying to polyfill
// behavior for any plugins that require one.
...(hasJsxRuntime ? {} : { useBuiltIns: true }),
runtime: hasJsxRuntime ? 'automatic' : 'classic',
},
],
],
plugins: [
require('@babel/plugin-transform-runtime').default,
Expand All @@ -20,8 +44,23 @@ export default babelJest.createTransformer({
* https://github.com/facebook/jest/issues/12183#issuecomment-1004320665
*/
require('babel-plugin-transform-import-meta').default,
[require('@babel/plugin-proposal-decorators').default, { version: 'legacy' }],
[require('@babel/plugin-proposal-decorators').default, { legacy: true }],
[require('@babel/plugin-proposal-class-properties').default, { loose: true }],
[
require('@babel/plugin-proposal-private-methods').default,
{
loose: true,
},
],
[
require('@babel/plugin-proposal-private-property-in-object').default,
{
loose: true,
},
],
require('@babel/plugin-proposal-object-rest-spread').default,
// Adds Numeric Separators
require('@babel/plugin-proposal-numeric-separator').default,
],
babelrc: false,
configFile: false,
Expand Down

0 comments on commit 7a06421

Please sign in to comment.