Lo siento si esto es un duplicado (busqué mucho usando la herramienta de búsqueda pero nada se acercó). ¿Alguien tiene alguna idea de cómo transpilar los módulos CommonJS de Node.js para que puedan usarse dentro de un proyecto de importación/exportación de ES6?
Sé que hay @babel/plugin-transform-modules-commonjs que transpila módulos ES6 en formato CommonJS, pero creo que necesito lo contrario. La razón por la que necesito esto es que tengo un archivo de configuración escrito usando la sintaxis module.exports de Node que debe importarse dentro de un proyecto React creado con babel usando módulos ES6, pero obtengo un Uncaught TypeError: Cannot assign to read only property 'exports' of object . Cualquier idea sería muy apreciada.
Aquí está mi archivo babelrc.js:
module.exports = { presets: ['@babel/preset-env', '@babel/preset-react'], plugins: [ ['@babel/plugin-proposal-class-properties', { loose: true }], ['@babel/plugin-transform-runtime', { regenerator: true }], '@babel/plugin-syntax-dynamic-import', '@babel/plugin-proposal-optional-chaining' ], env: { production: { plugins: [ [ "transform-react-remove-prop-types", { removeImport: true } ], ] } } }Y mi regla del cargador de babel de configuración de paquete web:
{ test: /\.(js|jsx)$/, exclude: /node_modules/, use: [ { loader: 'babel-loader', options: { cacheDirectory: true, cacheCompression: false, envName: isModeProduction ? 'production' : 'development' } } ] },Gracias al comentario de @Thomas Sablik, descubrí que se trataba de un problema conocido del paquete web .
Y después de hurgar y buscar este error, encontré esta respuesta en otro desbordamiento de pila que me ayudó a solucionarlo agregando "sourceType": "unambiguous" a mi configuración de babel. https://stackoverflow.com/a/56283408/2942765
Gracias Tomás.