NX 20.2.2 + Angular 19 + Ionic 8 + Jest:最新更新后的测试失败

问题描述 投票:0回答:1

我一直在 NX monorepo(没有 nxtend/nxext)中维护 Ionic-Angular 应用程序一段时间,到目前为止进展顺利。

但是,最后一次迁移到 NX 20.2.2 + Angular 19 破坏了我的 Jest 测试,并出现了此类错误:

    import { __awaiter } from "tslib";
    ^^^^^^

    SyntaxError: Cannot use import statement outside a module

这通常在 jest.config.ts 中通过更改“transformIgnorePattern”以包含来自 node_modules 的一些包来修复,以便它们包含在 ts-jest 编译中。

  transformIgnorePatterns: ['/node_modules/(?!.*.mjs$|@ionic/core|@stencil/core|ionicons)'],

但最新版本打破了这一点,我不知道罪魁祸首是谁(NX、jest-preset-Angular、我自己的配置,还是其他什么?)。

我一直在尝试修复此问题,但没有成功,而且我不知道应该在哪里报告错误。

有人可以帮忙吗?

我提供了一个简单的项目来重现该问题。通过查看提交,您可以看到测试最初被破坏,然后被修复,然后在迁移后被破坏。

项目: https://github.com/ddx001/nx-ng-ionic

要运行,请签出项目并运行:

npm install
npx nx run myapp:test
angular ionic-framework jestjs nrwl-nx jest-preset-angular
1个回答
0
投票

经过一番调查,我发现了一个非常有用的线程和解决方案:Jest fix for ionic/stencil

简而言之:将 typescript 降级至 ~5.5.x。这对我很有帮助,现在测试又开始运行了。看起来这个问题仍然没有被 Ionic 解决。

但至少,这是一个快速解决方案。顺便说一句。我的设置和你一样。

© www.soinside.com 2019 - 2024. All rights reserved.