Конфигурация Jest: модуль ES6 в node_modules - PullRequest
0 голосов
/ 24 января 2020

Я работаю над проектом Vue. js и хочу добавить Jest-конфигурацию для добавления модульных тестов

Мой проект имеет зависимость в пакете. json, который размещен в gitlab:

idav-external-front": "git+ssh://{giturl}/external-front.git#{branch}

Поэтому, когда я запускаю npm install, код idav-external-front помещается в node_modules моего проекта.

Моя конфигурация Jest не работает, когда Я тестирую компонент, который импортирует модуль из idav-external-front. => например, в моем модульном тесте импорт ComponentA в одну строку из «./ComponentA.vue» приведет к SyntaxError, если ComponentA импортирует модуль из idav-external-front.

Проблема в том, что в моем node_modules / idav-external-front шутка видит код ES6 , и это заставляет мои модульные тесты выполнять cra sh:

SyntaxError: Unexpected identifier при импорте строки.

Поэтому я попытался настроить свой jest.config. js так:

transformIgnorePatterns: [
    "<rootDir>/node_modules/idav-external-front/"
],  

=> Но это не работает.

Примечание. В моем проекте есть два .babelr c: один в моем проекте и один в проекте idav-external-front, вот тот, что в моем проекте:

  "env": {
    "test": {
      "presets": [
        [
          "@babel/preset-env",
          {
            "modules": "cjs"
          }
        ]
      ],
      "plugins": [
        "transform-es2015-modules-commonjs",
        "syntax-dynamic-import"
      ]
    }
  }

и один в удаленном проекте idav-external-front:

{
  "presets": [
    ["env", { "modules": false }],
    "stage-2",
    {
      "plugins": [
        "transform-runtime",
        "transform-es2015-modules-commonjs",
        "syntax-dynamic-import"
      ]
    }
  ]
}

У вас, ребята, есть какой-нибудь совет, чтобы исправить эту ошибку?

...