Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
58 lines (39 sloc) 2.15 KB

Typescript watch compiler

The current typescript's implementation of -w parameter is broken. Here's a little utility to fix that.


Normal usage:

npm install -g tscw
tscw <parameters which you would use with tsc>

The parameters which you pass to tscw are transparently sent to tsc compiler.

TSCW does only one thing - watches for file changes and compiles (correctly) as it would under normal conditions. Problem solved. Temporarily.

Debugging of .ts files

On some platforms (definitely on Windows + node.js stack), there might be tsc command output stripped when invoked from external tools, like tscw. This results into the fact that development, as easied by tscw utility, will be much harder. This is caused by this bug.

The result is not-to-be-seen at first glance. Generally, you will see where the compilation stopped, but sometimes you might not see the reason for your .ts file not compiling. This is just wrong. Consider this output of tscw:

Not much information, right? In order to fix it, update your tsc.js file (found in AppData/npm/node_modules/typescript on windows stack). Find the line (21 267), which reads:

quit: process.exit

And replace it with following code:

quit: function (exitCode) {
          if (typeof exitCode === "undefined") { exitCode = 0; }
          process.on('exit', function () {

The full diff of tsc.js file can be found here.

If implemented correctly, the message will be fixed into this:

That's better, right?

Author & License

Created -w love by Pavel Ptacek, licensed under WTFPL license. Full license can be found here:

note: The WTFPL license means, that you can do whatever you want with the tscw package.