Mam projekt w TypeScripcie, który używa frameworka Mocha do testów jednostkowych. Uruchamiam testy w ten sposób:
npm run test
gdzie konfiguracja polecenia test
wygląda tak w pliku package.json
:
{
...
"scripts": {
...
"test": "mocha"
},
...
}
Po uruchomieniu pokazuje mi się taki błąd w konsoli:
TSError: ⨯ Unable to compile TypeScript:
app/src/back-end2/board/board.ts:9:32 - error TS2732: Cannot find module '../config.json'. Consider using '--resolveJsonModule' to import module with '.json' extension
9 import * as configuration from "../config.json";
Uważam, że nie powinien się pokazywać, bo tak wygląda mój plik tsconfig.json
:
{
"compilerOptions": {
"outDir": "out",
"noErrorTruncation": true,
"noFallthroughCasesInSwitch": true,
"noImplicitReturns": true,
"module": "CommonJS",
"strict": true,
"target": "ES6",
"sourceMap": true,
"resolveJsonModule": true
}
}
Widać, że sugerowany parametr resolveJsonModule
jest ustawiony na true
. Do tego mam uruchomioną cały czas kompilację w watch mode
, czyli "live", i ta kompilacja nie zwraca mi żadnego błędu…
Czy ktoś wie, czemu ten błąd się jednak pokazuje, i co zrobić, by się nie pokazywał?
PS. Aha, zapomniałem pokazać jeszcze jeden plik: .mocharc.json
. Wygląda u mnie tak:
{
"extension": [
"ts"
],
"spec": "app/test/**/*.test.ts",
"require": "ts-node/register"
}