Jest mit coffeescript jsx?

Wie kann ich Jest verwenden, um in CoffeeScript + React jsx geschriebene React-Komponenten zu testen?

Das einzige mit Jest gelieferte CoffeeScript-Beispiel verwendet einfaches CoffeeScript und funktioniert nicht mit CoffeeScript + React JSX (Syntaxfehler bei Erreichen eines<).

Was ich versucht habeerster Versuch: execSync
// preprocessor.js
var execSync = require('exec-sync');

module.exports = {
  process: function (src, path) {
    return execSync('browserify -t coffee-reactify ' + path);
  }
};

Dies funktioniert, dauert aber zu lange (gute 12 Sekunden für einen Dummy-Test).

Dann habe ich versucht:

Zweiter Versuch: Kaffee-Reaktion-Transformation
// preprocessor.js
var coffee = require('coffee-script');
var transform = require('coffee-react-transform');

module.exports = {
  process: function(src, path) {
    if (path.match(/\.coffee$/)) {
      return coffee.compile(transform(src), {'bare': true});
    }
    return src;
  }
};

Dies löst einen seltsamen Fehler aus, wie:

TypeError: function () {...} hat keine Methode 'getPooled'

Das einzige Google-Ergebnis für "hat keine Methode" getPooled "" istdieser Kern, das zeigt genau den Fehler, den ich erhalte, bietet aber keine anderen Einblicke.

ritter möglicher Versu

Ich denke, ich könnte @ verwend kaffee-reaktivieren, aber es wird ein asynchroner Stream zurückgegeben, während dasprocess Funktion inpreprocess.js wird synchron verwendet und hat bisher keine Möglichkeit gefunden, einen Stream synchron zu lesen.

Was kann ich tun

Antworten auf die Frage(6)

Ihre Antwort auf die Frage