Как Jest дает babel.rc babel-jest? - PullRequest
0 голосов
/ 30 июня 2018

Я только начал использовать babel-plugin-macros в своем коде, и теперь все мои тесты Jest не проходят. У меня есть довольно сложная настройка monorepo - когда я пытался свести его к сверхпростому примеру, я не мог воспроизвести тест, поэтому он, вероятно, как-то связан с моей структурой каталогов.

Я посмотрел на исходный код babel-jest и т. Д. Если я вручную заставлю плагин быть выбранным, добавив его в строку 187 из babel-jest / build / index.js

const transformResult = (0, (_babelCore || _load_babelCore()).transform)(src,
   { ...theseOptions, plugins: ['macros'] }
);

Все отлично работает. Так что проблема в том, что он не берет plugins: ['macros'] с моего .babelrc. Я посмотрел на функцию getBabelRC, и с помощью console.logging я, кажется, подтверждаю, что загружен правильный .babelrc (с плагином: макросы) и т. Д. Однако, независимо от того, как долго я смотрю на код, я не могу понять, каким образом .babelrc, загруженный в getBabelRC, должен сделать его функцией process. Если я console.log theseOptions, ни одна из моих пользовательских настроек не будет.

Я рад отладить это сам, но если бы кто-нибудь мог помочь мне немного понять поток данных, это было бы невероятно полезно!

Чтобы воспроизвести, проверьте https://github.com/chili-epfl/FROG,, переключитесь на ветку automaticimport, запустите ./initial_setup.sh, а затем npm start jest.

...