我有一个带有TypeScript的create-react-app
项目。我最近在项目中添加了两个软件包(特别是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)
在package.json
的jest配置中,我只有几个与覆盖率相关的配置。
我尝试运行yarn upgrade
,发现很多babel依赖项从7.5.5升级到7.7.2,但是仍然存在相同的问题。
请询问我是否可以提供其他信息来帮助诊断问题。
答案 0 :(得分:1)
我终于通过添加ts-jest
解决了这个问题:
yarn add -D ts-jest
并将其添加到"jest"
中的package.json
下:
"transform": {
"^.+\\.tsx?$": "ts-jest"
},