SyntaxError: неожиданный идентификатор при запуске jest в проекте TypeScript CRA - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть create-react-app проект с TypeScript. Недавно я добавил пару пакетов (в частности, material-ui-dropzone и @azure/storage-blob) в свой проект, и внезапно все мои тесты провалились из-за SyntaxError в файле, к которому я действительно не прикасался. Я видел других людей, имеющих проблемы с импортом es6 и преобразованием babel, но эта ошибка кажется немного другой. yarn start и yarn build работают без проблем. Вот вывод yarn test:

/<projectPath>/src/Shared/utils/authorizer.ts:27
    private constructor() {
            ^^^^^^^^^^^
SyntaxError: Unexpected identifier
     9 | import Log from 'Core/debugLog/Log';
    10 | import { Guid } from 'guid-typescript';
  > 11 | import { Authorizer } from 'Shared/utils/authorizer';
       | ^
    12 | import { AppInsights } from 'Shared/utils/appInsights';
    13 | import { OperationDefinitionNode } from 'graphql';
    14 |
    at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:537:17)
    at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:579:25)
    at Object.<anonymous> (src/Core/graphql/graphQlConfig.ts:11:1)

В моем jest config в package.json у меня есть только пара конфигов, связанных с покрытием.

Я попытался запустить yarn upgrade, изаметил, что много зависимостей от babel обновилось с 7.5.5 до 7.7.2, но та же проблема сохраняется.

Пожалуйста, спросите, есть ли какая-либо другая информация, которую я могу дать, чтобы помочь диагностировать проблему.

1 Ответ

0 голосов
/ 11 ноября 2019

Я наконец решил это, добавив ts-jest:

yarn add -D ts-jest

И добавив это в "jest" in package.json:

"transform": {
  "^.+\\.tsx?$": "ts-jest"
},
...