gatsby babel transformIgnorePatterns: помогите написать регулярное выражение для включения всех элементов, кроме одного - PullRequest
0 голосов
/ 09 января 2020

Я получаю сообщение об ошибке в одном из моих тестов шутки:

 import { jsx } from "theme-ui"
           ^

 SyntaxError: Unexpected token {

Это проблема babel, и имя плагина, который вызывает эту ошибку, называется gatsby-wpgraphql-inline-images , Плагин работает потрясающе, но его файлы не преобразуются с помощью babel, и они должны быть для работы с jest.

В моем файле конфигурации jest gatsby docs рекомендует использовать этот шаблон, который делает тест не провальным со всеми видами ошибок:

transformIgnorePatterns: ["node_modules/(?!(gatsby))"],

Это означает, что код Гэтсби полностью преобразован, и этот шаблон игнорирует все папки со словом gatsby в них, однако это также означает, что файлы этих плагинов также игнорируются. Из-за этого файлы в каталоге плагинов не преобразуются, и они должны быть. Поэтому мне нужна помощь по поводу того, как сказать с помощью регулярных выражений, не обращайте внимания на все папки, в которых есть слово «gatsby», за исключением одной с именем gatsby-wpgraphql-inline-images.

Спасибо!

1 Ответ

0 голосов
/ 09 января 2020

** Обновление ** получил это работает! Из исходных документов Gatsby я понял, что все исходные файлы Gatsby также не содержат транспонированного кода es6. Я попытался добавить следующую строку, чтобы увидеть, будет ли она перехватывать обе папки "gatsby" и папку плагина с именем gatsby-wpgraphql-inline-images и все заработало! По какой-то причине, несмотря на то, что в плагине есть слово Gatsby, шутка не добавляла его для переноса.

 transformIgnorePatterns: [
    "node_modules/(?!(gatsby-wpgraphql-inline-images))"
  ], 

Теперь все проверяется во время моих шутливых тестов. Надеюсь, это поможет кому-нибудь еще. Ура!

...