Hackernoon logoHow to Restart the TypeScript NodeJS Application Fast by@naveenda

How to Restart the TypeScript NodeJS Application Fast

Naveen Hacker Noon profile picture


I have been working for the different kinds of Node JS application from the last 4 years. For every project I tried to improve the performance and code quality. From that, I found a very interesting way to restart the typescript application so fast.


When you are working with Node JS with Typescript you notice a significant delay while restarting the application by using ts-node.

one of the best tool for NodeJS-Typescript development but when comes to typescript it doesn't do the best job.

Typical Typescript NodeJS App

A typical nodejs-typescript

look like these

    "watch" : ["src"],
    "ext" : "ts",
    "exec": "ts-node ./src/app/server.ts"

It will work fine but restart speed is too slow.


Don't trust the Server Start time here, it actually took more than 20 seconds to restart.

Trail 1

So I was playing with the nodemon options to make restart faster and found we map our executable with params, so I create this configuration for


  "env": {
    "NODE_ENV": "development"
  "execMap": {
    "ts": "node --require ts-node/register"
  "ext": "js,json,ts",
  "ignore": [
  "restartable": "rs",
  "watch": [

This increase the restarting speed, but that not enough for me. So again I started to digging through Google to find better ways.


Trail 2

Now I learned to diagnosis typescript and analysis my project by using this command:

./node_modules/.bin/tsc -project ./tsconfig.json --diagnostics

This gives an output like these:

Files:              372
Lines:            66423
Nodes:           253384
Identifiers:      89381
Symbols:          62938
Types:             3327
Instantiations:    7640
Memory used:    108724K
I/O read:         0.98s
I/O write:        0.02s
Parse time:       2.20s
Bind time:        0.40s
Check time:       0.29s
Emit time:        0.16s
Total time:       3.04s

I found

the command takes only 3 seconds to diagnosis the entire project and the
parse time
is only taking the time. So started to find an alternatives for the ts-node.

Instead of using

I tried to restart the application using

"dev": "concurrently \"tsc -w\" \"nodemon dist/app/server.js\""

This improves the restarting speed significantly


Trail 3

command works great for me, but I still digging google due to curiosity and found a package called ts-node-dev

works very different than ts-node. It restarts the target node process only when the files changes and also provide the same file for typescript compilation process between restarts.

This significantly increases the speed of restarting comparing toย 

nodemon -x ts-node
, etc...

Step 1: Install the package

npm i ts-node-dev --save-dev

Step 2: Add Configuration

    "dev": "node_modules/.bin/ts-node-dev --respawn --notify false --prefer-ts --ignore-watch node_modules -- src/app/server.ts "


This is the exact configuration I used in my project, this works very fine to me.

Step 3: Starts the application

npm run dev

This will restart the application every time you change a file with blazing speed.



After testing a lot of tool for developing typescript-nodejs I found the ts-node-dev work like a pro. I recommend to everyone to use the

instead of ts-node for your NodeJS-Typescript project.

If you stick this far, thank you so much for reading this article and please consider to follow me on twitter


Join Hacker Noon

Create your free account to unlock your custom reading experience.