.flat это не функция только с шуткой

При выполнении моих тестов с шуткой у меня была вышеупомянутая ошибка;

Error: Uncaught [TypeError: array.map(...).flat is not a function]

Следуя решению этой проблемы, https://github.com/kulshekhar/ts-jest/issues/828

Я установил core-js на зависимости и положить это в jest.config.js

setupFiles: ['core-js'],

Я получил бы еще одну ошибку;

Error: Uncaught [Error: Not supported]

И это происходит только с шуткой, я использую Babel и веб-пакет на моем приложении и сборник рассказов без ошибок на flat,

мой jest.config.js

const PATH = require('./path')

module.exports = {
  setupFilesAfterEnv: ['./rtl.setup.js'],
  moduleFileExtensions: ['js'],
  verbose: true,
  moduleNameMapper: {
    '@components(.*)$': `${PATH.source}/components/$1`
  },
  transform: {
    '^.+\\.js$': 'babel-jest'
  }
}

4 ответа

За https://github.com/kulshekhar/ts-jest/issues/828

эту проблему можно решить, запустив

npm install core-js

и добавление core-js в файлы настройки вашей шутки

"setupFiles": ["core-js"]

Я установил core-js (@3.4.1), и у меня это сработало. Также пришлось добавитьimport 'core-js'; в верхней части импорта моего тестового файла.

Изменить: использовать его в create-react-app проект, который не извлекается, поэтому у меня нет доступа webpack файлов, и у меня нет специальной конфигурации для jest (ни jest-ts).

Эта ошибка возникает, если у вас старая версия узла. Попробуйте обновить его до последней версии.

Ища больше о core-js, так как он заменяет @babel/polyfill, этот конфиг сработал для меня.

[
  "@babel/preset-env",
  {
    "targets": {
      "node": 4
    },
    "useBuiltIns": "usage",
    "corejs": 3
  }
]

И core-js@3 устанавливается как зависимость.

Другие вопросы по тегам