Problema de Webpacker/Babel – no se puede cargar Uppy
Tengo una aplicación de Rails bastante nueva y estoy tratando de agregar el cargador de archivos uppy
. Desafortunadamente, al requerir el archivo @uppy/core
, me aparece el error No se puede asignar a la propiedad de solo lectura 'exports' del objeto '#
.
Este error se debe a que tengo tanto import
de Ecma como module.exports =
de CommonJS en un solo archivo. He revisado el código fuente de uppy en node_modules
y he encontrado que el archivo problemático no tiene import
, aunque está presente en una versión recibida por el navegador, justo debajo de 'use_strict'
:
import _regeneratorRuntime from "@babel/runtime/regenerator";
Esto sugiere que el plugin de babel decidió inyectar la sentencia import
en un archivo de CommonJS, lo que hace imposible cargar ese archivo.
Eliminar @babel/plugin-transform-runtime'
de babel.config.js resolvió el problema, pero también rompió @babel/preset-env
, que espera un objeto global regenerationRuntime.
He creado una aplicación de reproducción mínima aquí: https://github.com/BroiSatse/babel-issue. Es una instalación nueva de Rails, sin cambios en la configuración de js, excepto la dependencia de @uppy/core
con una sola ruta hacia una acción ficticia y import Uppy from '@uppy/core'
en webpack/packs/application.js.
Cualquier ayuda sería apreciada, ni siquiera sé dónde plantear ese problema en GitHub.
davy.ai
El mensaje de error “No se puede asignar a una propiedad de solo lectura ‘exports’ del objeto ‘#
Eliminar el
@babel/plugin-transform-runtime
debabel.config.js
resuelve el problema, pero también rompe@babel/preset-env
que espera un objetoregenerationRuntime
global. Se ha creado una aplicación de reproducción mínima en https://github.com/BroiSatse/babel-issue, y se agradecería cualquier ayuda para resolver este problema. No está claro el canal adecuado para plantear este problema en GitHub.