модули jest + typcript + es6 (опять же, 2019) - SyntaxError: неожиданный экспорт токена - PullRequest
0 голосов
/ 15 февраля 2019

Я все еще сталкиваюсь с проблемами при попытке использовать модули jest, typcript и es6.Мой тест написан на Typescript, я пытаюсь импортировать объекты из js-файла, который использует модули es6.Для этого я следовал документации jest и в моем файле babel.config.js, расположенном в корневом каталоге проекта, есть следующее:

module.exports = {
presets: [
    [
        '@babel/preset-env',
        {
            targets: {
                node: 'current'
            }
        }
    ]
]

};

У меня установлены следующие зависимости:

"devDependencies": {
  "@babel/core": "^7.2.2",
  "@babel/preset-env": "^7.3.1",
  "@types/jest": "^23.3.13",
  "@types/node": "^10.12.18",
  "babel-jest": "^24.1.0",
  "jest": "^23.6.0",
  "rollup": "^1.1.2",
  "rollup-plugin-terser": "^4.0.4",
  "rollup-plugin-typescript2": "^0.19.2",
  "ts-jest": "^23.10.5",
  "ts-node": "^8.0.1",
  "typescript": "^3.2.4"
}

В jest.config.js у меня есть следующее:

module.exports = {
verbose: true,
transform: {
    "^.+\\.jsx?$": "babel-jest",
    '^.+\\.ts?$': 'ts-jest'
},
testEnvironment: 'node',
testRegex: '/test/.*\\.(test|spec)?\\.(ts|tsx)$',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node']
};

И, наконец, я пытаюсь импортировать, как это вмои тесты:

import {Dag, Directions} from "../dist/dag";

И здесь говорится: SyntaxError: Неожиданный экспорт токена

D:\devel\tomtom_dag\dist\dag.js:72
}();export { e as Directions, t as Action, n as Dag };

Может кто-нибудь сказать, что я делаю неправильно, или указать на проект с похожим конфигом?И да, я гуглил это уже несколько часов и пробовал решения из здесь , здесь и пробовал с этим плагином - с тем же результатом =(

ОБНОВЛЕНИЕ: Я создал проект для воспроизведения проблемы: https://github.com/AntonPilyak/jest_typescript_es6 Также я заметил, что забыл упомянуть, что я пытался использоватьjest @ 23 версия из-за ts-jest не может работать с последней (выдает предупреждение + я получаю пустой набор тестов). Может быть, мои проблемы проистекают из этого факта. Но все же я не могу сделатьправильная конфигурация: если я использую последнюю версию jest, я получаю предупреждение + jest говорит, что набор тестов пуст и тест проходит, хотя он не должен.

1 Ответ

0 голосов
/ 19 февраля 2019

Работает с ts-jest 24 +, похоже, это ошибка в моей IDE: https://youtrack.jetbrains.com/issue/IDEA-207553

...