@theomessin/ts-builder
ts-builder
is a simple script that enables Node.js to require TypeScript files.
It is similar to ts-node
.
It uses tsc --build
to build a TypeScript project including any references.
The new TypeScript build mode is quite fast as it uses a cache to perform smart incremental builds.
Installation
Install the package from npm:
npm install --save-dev @theomessin/ts-builder
You may then use ts-builder
by registering it with Node.js:
node -r @theomessin/ts-builder foobar.ts
Behind the Scenes
ts-builder
will register itself as the handler for all *.ts
files. When a *.ts
file is required the following steps will be performed.
- The corresponding
tsconfig.json
for that file will be found. - The project will be built using
tsc --build
. This will build any project references. The outDir
will be unaltered so compiled files will be saved as configured in tsconfig.json
. - The contents of the compiled
.js
file of the given .ts
file will be returned.
Using with Mocha
ts-node
does not support project references, which means that Mocha could not be used with TypeScript project references and the new build system.
However, ts-builder
can be used instead.
Just run mocha with -r @theomessin/ts-builder/register
.
Alternatively, register ts-builder
in your .mocharc.js
:
module.exports = {
extension: ['ts'],
require: [
'@theomessin/ts-builder/register',
],
};