es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Excluya “@babel/plugin-transform-regenerator” de “metro-react-native-babel-preset”.

Estoy usando metro-react-native-babel-preset, pero necesito excluir @babel/plugin-transform-regenerator. He intentado todo tipo de cosas, pero nada funciona. Sospecho que el problema es que metro-react-native-babel-preset requiere el plugin directamente, así:

///node_modules/metro-react-native-babel-preset/src/configs/main.js

<pre><code>      plugins: [
      ...defaultPluginsBeforeRegenerator,
      isHermes ? null : require("@babel/plugin-transform-regenerator"),
      ...defaultPluginsAfterRegenerator
    ].filter(Boolean)
</code></pre>

¿Hay alguna manera de deshabilitar este plugin pero seguir usando el preset metro?

Mi configuración actual se ve así:

```javascript
const babelOptions = {presets: [[&#39;module:metro-react-native-babel-preset&#39;, {exclude: [&#39;regenerator-transform&#39;]}]],
module.exports = require(&#39;babel-jest&#39;).createTransformer(babelOptions);

¡Gracias!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para excluir @babel/plugin-transform-regenerator y seguir utilizando metro-react-native-babel-preset, puede modificar el objeto babelOptions de la siguiente manera:

    const babelOptions = {
      presets: ['module:metro-react-native-babel-preset'],
      plugins: [
        // Excluir el plugin de Regenerator
        ['@babel/plugin-transform-regenerator', { 'async': false }]
      ].filter(Boolean)
    };
    
    module.exports = require('babel-jest').createTransformer(babelOptions);
    

    Aquí estamos estableciendo explícitamente la opción plugins para incluir solo los plugins que queremos y excluyendo el plugin regenerator pasando { 'async': false } como una opción.

Comments are closed.