Trying to get this to work from the following example
In my mocharc.json:
{"extension": ["ts"],"spec": "test/unit/**/*.spec.ts","require": "ts-node/register"}
in package.json:
"scripts": {"tstest": "env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha",..."@types/mocha": "^10.0.0","mocha": "^9.2.0","ts-node": "^10.9.1","typescript": "^4.8.4"
Running tstest gives me:
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for project/test/unit/create.spec.ts at new NodeError (node:internal/errors:393:5) at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:79:11) at defaultGetFormat (node:internal/modules/esm/get_format:121:38) at defaultLoad (node:internal/modules/esm/load:81:20) at nextLoad (node:internal/modules/esm/loader:163:28) at ESMLoader.load (node:internal/modules/esm/loader:605:26) at ESMLoader.moduleProvider (node:internal/modules/esm/loader:457:22) at new ModuleJob (node:internal/modules/esm/module_job:63:26) at ESMLoader.#createModuleJob (node:internal/modules/esm/loader:480:17) at ESMLoader.getModuleJob (node:internal/modules/esm/loader:434:34) at async Promise.all (index 0) at async ESMLoader.import (node:internal/modules/esm/loader:530:24) at async importModuleDynamicallyWrapper (node:internal/vm/module:438:15) at async formattedImport (project/node_modules/mocha/lib/nodejs/esm-utils.js:7:14) at async Object.exports.requireOrImport (project/node_modules/mocha/lib/nodejs/esm-utils.js:48:32) at async Object.exports.loadFilesAsync (project/node_modules/mocha/lib/nodejs/esm-utils.js:103:20) at async singleRun (project/node_modules/mocha/lib/cli/run-helpers.js:125:3) at async Object.exports.handler (project/node_modules/mocha/lib/cli/run.js:374:5)
and create.spec.ts is:
import { expect } from 'chai'describe('Happy to get this to work', () => { it('ts test', async () => { expect(true).to.be.equal(false)// yes it should fail })})
I cloned the example and put the tsconfig from my project in there and it worked on the sample but not in my project. Can't figure out what I'm missing here.
When I use ts-node and typescript versions from the package.json in the example I get error Error: Debug Failure. False expression: Non-string value passed to ts.resolveTypeReferenceDirective,
.