SyntaxError: Unexpected identifier when running jest in TypeScript CRA project
SyntaxError: Unexpected identifier when running jest in TypeScript CRA project
我有一个使用 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
我只有几个与覆盖率相关的配置。
我尝试了运行yarn upgrade
,发现很多babel依赖项从7.5.5升级到7.7.2,但同样的问题仍然存在。
请询问我是否可以提供任何其他信息来帮助诊断问题。
我终于通过添加 ts-jest
:
解决了这个问题
yarn add -D ts-jest
并在 package.json
中的 "jest"
下添加:
"transform": {
"^.+\.tsx?$": "ts-jest"
},
我有一个使用 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
我只有几个与覆盖率相关的配置。
我尝试了运行yarn upgrade
,发现很多babel依赖项从7.5.5升级到7.7.2,但同样的问题仍然存在。
请询问我是否可以提供任何其他信息来帮助诊断问题。
我终于通过添加 ts-jest
:
yarn add -D ts-jest
并在 package.json
中的 "jest"
下添加:
"transform": {
"^.+\.tsx?$": "ts-jest"
},