Шутка с кофейным кодом JSX?

Как я могу использовать Jest для тестирования компонентов React, написанных на CoffeeScript + React jsx?

Единственный пример CoffeeScript, предоставляемый с Jest, использует простой CoffeeScript и не работает с CoffeeScript + React JSX (синтаксическая ошибка, когда он достигает<).

Что я пробовалпервая попытка: execSync
// preprocessor.js
var execSync = require('exec-sync');

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

Это работает, но занимает слишком много времени (хорошие 12 секунд для фиктивного теста).

Тогда я попробовал:

вторая попытка: кофе-реакция-трансформация
// 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;
  }
};

Это вызывает странную ошибку, например:

TypeError: function () {...} не имеет метода getPooled

Единственный результат Google для "не имеет метода getPooled" "этот смысл, это показывает именно ту ошибку, которую я получаю, но не предлагает других идей.

третья возможная попытка

Я думаю, что я мог бы использоватькофе-reactify, но он возвращает поток, который является асинхронным, в то время какprocess функция вpreprocess.js используется синхронно, и до сих пор не нашли способа читать поток синхронно.

Что я могу сделать?

Ответы на вопрос(3)

Ваш ответ на вопрос