Sinon: El uso de Sinon con Webpack y Babel falla en la importación

Creado en 8 sept. 2015  ·  26Comentarios  ·  Fuente: sinonjs/sinon

Al intentar importar sinon en una prueba con "importar sinon de 'sinon'" o "var sinon = require ('sinon')". Obtuve el siguiente error:

TypeError: 'undefined' no es un objeto (evaluando 'modules [moduleId] .call')

Ahora sinon no se puede utilizar en proyectos de ES6. ¿Es posible arreglar esto?

var sinon = require ('sinon');

1.x AMD Bug Help wanted

Comentario más útil

PD. Puede obtener la versión preliminar de 2.0 haciendo npm install sinon @ next

Todos 26 comentarios

¿Está usando sinon de npm? ¿Cual version?

Este problema del paquete web cubre lo mismo, sin una solución sólida y mucho trabajo alrededor del problema: paquete web / paquete web # 304. No es exactamente el mismo error, pero básicamente el mismo problema.

Sí, estoy usando la última versión de npm.

Sí, estoy usando la última versión de npm.

Solo por el bien del historial, sería genial si pudiera proporcionar el número de versión. Los futuros lectores de este hilo sabrían de qué versión estaba hablando.

Este problema del paquete web cubre lo mismo, sin una solución sólida y mucho trabajo alrededor del problema: paquete web / paquete web # 304. No es exactamente el mismo error, pero básicamente el mismo problema.

Sí, parece que el módulo _mess_ en Sinon se está convirtiendo en un problema cada vez mayor. He hecho algunos intentos de reescribirlo para CommonJS, pero las cosas son complicadas . Solicitudes de extracción bienvenidas :)

He creado un ticket para el trabajo de hacer que la fuente se transfiera a CommonJS # 834, lo que probablemente evitará este problema.

Creo que este problema está resuelto ahora en el maestro con # 850

¿Alguna actualización sobre esto? # 850 no resuelve el problema.

PD: estoy usando v1.17.0

@Robertmw , puede intentar apuntar a Sinon para que git en su package.json para obtener el último maestro y ver si eso ayuda

@grassator Probé con el siguiente git de https://github.com/webpack/webpack/issues/304#issuecomment -136922511 pero lo intentaré con el git original de inmediato.

devDependencies: {
     "sinon": "git+https://github.com/uberVU/Sinon.JS"
 }

@grassator Puedo confirmar que apunta la dependencia de mi package.json a:

"sinon": "git+https://github.com/sinonjs/sinon.git"

resuelve mis problemas con Webpack.

También me enfrento al mismo problema. Por ahora, estoy usando require('sinon') antes de inicializar babel.

@tusharmath : ¿ha intentado utilizar la versión alojada en GitHub como se mencionó anteriormente? Las correcciones para esto van a la versión 2, que aún no se ha publicado. Es poco probable que esto se solucione en la rama 1.x.

@ fatso83 Puedo confirmar que el uso de master soluciona el problema. Lamento escuchar que la solución no llegará a 1.x.

La versión 2.0 debería suceder pronto, así que no hay nada de qué estar triste

Tuve un proyecto que dependía de la rama sinon-2.0 (git: //github.com/cjohansen/Sinon.JS.git#sinon-2.0). Esto ha funcionado muy bien hasta que lo probé hoy. La rama parece haberse desvanecido. ¿Existe todavía un reemplazo adecuado para esta rama?

@ frank-weindel: La rama maestra es lo que efectivamente se está convirtiendo en 2.0, por lo que también podría señalar eso. Una versión preliminar de 2.0 debería estar en NPM en unos días.

PD. Puede obtener la versión preliminar de 2.0 haciendo npm install sinon @ next

¿Alguna actualización sobre cuándo sinon 2 será @latest en lugar de @next?

Necesitamos ayuda para sacar a Sinon 2 por la puerta. Consulte los números 991 y 1000 (y problemas relacionados) para conocer los problemas importantes pendientes si puede dedicar algo de tiempo para ayudarnos.

Note # 966 rastrea las tareas pendientes requeridas para enviar Sinon 2.0 que usa módulos CommonJS internamente - ayuda muy apreciada para sacarlo por la puerta.

intenta usarlo como un complemento de paquete web

...
plugins: [
        new webpack.ProvidePlugin( {
          'sinon': 'sinon'
       })
      ],
...

Solo para que conste, usarlo como con webpack.ProvidePlugin tampoco funciona.

Personalmente, dejé de usar Karma y, por lo tanto, no necesito Webpack para las pruebas unitarias. También los hace mucho más rápidos de ejecutar. ¿Sigue existiendo este problema? De lo contrario, podemos cerrarlo.

El problema aún existe en sinon <2.0, que aún no se ha lanzado oficialmente. Recomiendo cerrar este problema con una solución o cuando se envíe sinon 2.0.

Esto funciona en Sinon 2.0 y README ha tenido desde hace mucho tiempo una GRAN ADVERTENCIA de que los paquetes como WebPack _no funcionan_ con Sinon 1.x. Si necesita empaquetar, use una de las versiones preliminares de Sinon. Cerrando esto.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

stephanwlee picture stephanwlee  ·  3Comentarios

fearphage picture fearphage  ·  3Comentarios

byohay picture byohay  ·  3Comentarios

OscarF picture OscarF  ·  4Comentarios

akdor1154 picture akdor1154  ·  4Comentarios