繁体   English   中英

更新到 Angular 13 后,无法在 Jest 中使用带有 date-fns 的模块外使用 import 语句

[英]Cannot use import statement outside a module with date-fns in Jest after updating to Angular 13

将 Angular 12 更新到 13 后,我的一些 Jest 测试开始失败。 它总是同样的错误:

/Users/undsoft/projects/work/webui/node_modules/date-fns/esm/format/index.js:1。 ({"Object.":function(module,exports,require,__dirname,__filename,jest){import isValid from "../isValid/index.js";
SyntaxError: 不能在模块外使用 import 语句

在 Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1728:14)
在 Object。 (node_modules/date-fns-tz/format/index.js:8:38)

我的版本是:

“日期-fns”:“~2.28.0”,
“日期-fns-tz”:“~1.2.2”,
“开玩笑”:“~27.4.5”,
“开玩笑预设角度”:“〜11.0.1”,

开玩笑的配置是:

require('jest-preset-angular/ngcc-jest-processor');

module.exports = {
  preset: 'jest-preset-angular',
  setupFilesAfterEnv: ['<rootDir>/src/setup-jest.ts'],
  collectCoverage: true,
  coverageReporters: ['html'],
  coverageDirectory: 'coverage/my-app',
  moduleDirectories: ['node_modules', 'src'],
  moduleNameMapper: pathsToModuleNameMapper(compilerOptions.paths || {}),
};

我试过添加

testPathIgnorePatterns: [
  "node_modules/(?!(date-fns-tz|date-fns))",
],

和 date-fns-tz/date-fns 分开。

是否添加

transformIgnorePatterns: ['<rootDir>/node_modules/(?..*\\,mjs$)'],

为你工作?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM