power-assert is a really great project which makes writing expressive test much easier. It supports a lot of different javascript flavours and tools, which is great.
ts-node is also a really great project that handles a lot of the typescript basics that a project like power-assert shouldn't need to worry about. If you want to run typescript code in node, then you should check out ts-node. it's awkward for ts-node users to need to work out how to configure how another loader will handle typescript compilation when they've already settled on ts-node.
Much better that ts-node users can simply keep using ts-node as they already have, with the awesome extra testing power that power-assert gives them.
espower-ts-node supports source-maps. It grabs the source map produced by ts-node and passes them into power-assert. All your asserts & stack traces will have the right line numbers - nothing more to do.
npm install --save-dev espower-ts-node
espower-ts-node will match any files which end in .test.ts, .spec.ts, or .unit.ts as well as any files in a /spec /test or /unit directory.
mocha --compilers ts:ts-node/register,tsx:ts-node/register --require espower-ts-node src/**/*.test.ts
mocha --compilers ts:ts-node/register,tsx:ts-node/register --require espower-ts-node test/**/*.ts
ts-node -D -F ./node_modules/mocha/bin/_mocha --require espower-ts-node src/**/*.test.ts
ts-node -D -F ./node_modules/mocha/bin/_mocha --require espower-ts-node test/**/*.ts
Probably! It just depends on how great.io handles source maps - so long as it's consistent with how ts-node handles source maps then it Should Work Fine (tm).