Typescript ESM icin Jest calistirmak
typescript, programming, jest, vs code, ESM
Bunu kurmak ve dokumante etmek 2:30 saatimi aldı, gerçekten inanılmaz sıkıcı 😅
💡 Sifirdan npm projesi olusturacaksaniz npm-package-template template’ime bir bakin
package.json
yapilandirmasi
package.json
yapilandirmasijest
yapilandirma bilgilerinipackage.json
icine ekleyinjest.config.js
kullanmaniza gerek yokturmoduleNameMapper
ayari ileESM
den gelen zorunluimport.js
kuralini duzenliyoruz^.+\\.ts$
ile deesm
kullanimini typecript kodlari icin aktif ediyoruz
// {...
"jest": {
"preset": "ts-jest",
"testEnvironment": "node",
"silent": true,
"extensionsToTreatAsEsm": [
".ts"
],
"moduleNameMapper": {
"^(\\.{1,2}/.*)\\.js$": "$1"
},
"transform": {
"^.+\\.ts$": [
"ts-jest",
{
"useESM": true
}
]
}
},
// ...}
VSCode icin launch.json
yapilandirmasi
launch.json
yapilandirmasi{
"name": "Jest",
"type": "node",
"request": "launch",
"runtimeArgs": [
"--experimental-vm-modules", // <<< onemli
"${workspaceRoot}/node_modules/.bin/jest",
"${input:exchange}",
"-t",
"${input:testName}",
"--runInBand"
],
"cwd": "${workspaceRoot}",
"stopOnEntry": false,
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"sourceMaps": true,
"windows": {
"program": "${workspaceFolder}/node_modules/jest/bin/jest"
},
"skipFiles": ["<node_internals>/**", "**/node_modules/**"]
},
Hata Notlari
SyntaxError: Cannot use import statement outside a module
Jest kullanimi icin
node
ileexperimental-vm-modules
argumanini kullanmaliyiz aksi halde hatasi aliriz
Eklenti Tavsiyesi
References
PreviousNotion Integration olusturmak; database ve sayfalari yonetmekNextRunning Jest tests for Typescript ESM modules
Last updated
Was this helpful?