ionic-team / ionic-team/rollup-plugin-node-polyfills
Events API polyfilled badly?
- Lenguaje dominante
- JavaScript
- Estrellas
- 142
- Forks
- 65
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Hey there,
I am using Snowpack to deal with dependencies. I am aware that Snowpack uses `rollup-plugin-node-polyfills` to polyfill Node built-in modules. I'd like to use a package called `async-mqtt` which relies on node built-in modules (events, stream, buffer). So I installed it with Snowpack, and polyfilled it with this plugin. However, I noticed that the polyfilling process did something strange. I got an error: `Class extends value [object Object] is not a constructor or null`
Now, this error applies for the following code: `class Parser extends events`. So I checked what is the value of `events`, and it turns out, that `events` is an object instead of a class:
```
var events = /*#__PURE__*/Object.freeze({
__proto__: null,
'default': EventEmitter,
EventEmitter: EventEmitter
});
```
Obviously, you cannot extend a class from an object like this. How can I resolve this issue?
Thanks.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza reproduciendo la compilación de Snowpack con async-mqtt y el tratamiento del módulo events por parte de rollup-plugin-node-polyfills. Inspecciona el binding events generado y compáralo con el uso `class Parser extends events` del paquete. Se considera terminado cuando el valor events polyfillado pueda extenderse sin el error de constructor informado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, rollup
- Área
- build-system, tooling
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100