Tengo una aplicación React-Native que usa un módulo TypeScript privado. Este módulo, cuando se compila en JS, agrega const _1 = require('.'); se supone que eso importa el archivo index.js local dentro de ese mismo módulo.
El problema: cuando se importa el archivo, lo que se importa es el index.js de nivel superior del directorio raíz de mi aplicación. Estoy bastante seguro de que es un problema de babel ya que no tuve este problema antes de agregar el complemento module-resolver a la aplicación.
Aquí está el contenido de babel.config.js
module.exports = { presets: ['module:metro-react-native-babel-preset', '@babel/preset-flow'], plugins: [ [ 'module-resolver', { root: ['./'], alias: { /** * Regular expression is used to match all files inside `./src` directory and map each `.src/folder/[..]` to `~src/[..]` path */ '^~(.+)': './src/\\1', }, extensions: ['.ios.js', '.android.js', '.js', '.jsx', '.json', '.tsx', '.ts', '.native.js'], }, ], 'react-native-reanimated/plugin', // Must be last in plugins import order ], }; Todos mis archivos JS (excepto App.js e index.js ) están dentro de la carpeta src.
Sé que una solución rápida sería reemplazar require('.') con require('./index') , pero solo ocultará el problema.
¿Hay alguna forma de especificar que require('.') debería tomar el index.js actual en lugar del de nivel superior?