derleyici hataları - Typescript 3.0 proje referansları ile Jest derleme sorunları


Büyük bir proje üzerinde çalışıyorum ve bu projede TypeScript 3.0 proje referanslarını kullanıyoruz. Bu makalenin kabul edilen yorumu olan TypeScript 3.0'da proje referansları nasıl kullanılır? ile benzer bir proje yapısı kullanıyoruz. Test çerçevesi olarak Jest'i seçtik ve Jest'in projeler özelliğini kullanarak birim, entegrasyon ve lint testlerini ayırdık.

"projects": [
  {
    "displayName": "integration",
    "preset": "ts-jest",
    "testEnvironment": "node",
    "testMatch": [
      "<rootDir>/test/integration/**/*.spec.ts"
    ],
    "setupFilesAfterEnv": [
      "<rootDir>/test/jest-setup.ts"
    ]
  },
  {
    "displayName": "unit",
    "preset": "ts-jest",
    "testEnvironment": "node",
    "testMatch": [
      "<rootDir>/test/unit/**/*.spec.ts"
    ],
    "setupFilesAfterEnv": [
      "<rootDir>/test/jest-setup.ts"
    ]
  },
  {
    "displayName": "lint",
    "runner": "jest-runner-eslint",
    "testEnvironment": "node",
    "testMatch": [
      "<rootDir>/src/**/*.ts"
    ]
  }
]

Yani, proje referanslarını kullanarak; tsc --build komutunu kullanarak src, test ve kök dizin projelerini derleyebilirim. Ancak Jest kullanırken derleme sorunlarıyla karşılaşıyorum çünkü Jest, src projesinden tanım dosyalarını bulamıyor. Daha önce söylediğim gibi, bu TypeScript derleyicisi ile derlenebilir ve VSCode'da herhangi bir lint hatası yoktur.

Bunu geçici olarak düzeltmeye çalıştığım bir yol, tanım dosyalarını src'den jest kurulum dosyasına ithal etmekti, yani: import '../src/index.d'. Bu, Jest'in önbelleği temizlendikten sonra yalnızca ilk çalıştırmada sorunu çözüyor. İkinci ve sonraki çalıştırmalar ise tümüyle derleme hatalarıyla başarısız oluyor.

Jest'i Typescript'in proje referanslarıyla kullanmada başarılı olan var mı? Jest proje referanslarını destekliyor mu? Neden önbelleği temizlemek bu sorunu sadece ilk çalıştırmada çözüyor, sonraki diğer çalıştırmalarda değil?