| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
This tool allows you make something like "incremental" compilations. For example, if you change only 1 file, you don't need to rebuild the whole project to compile only changed file. Yeah, you can use "watch" mode for that, but sometimes you cannot (or don't want) to use it due some reasons:
In my local tests with only 1 changed file (of 2k+ files in total) I got the following results:
But result of tsci depends on what file you've changed and how many dependencies this files has (with transitive dependencies).
So, sometimes it can be very useful tool to compile part of your project.
It is drop-in replacement for tsc - everywhere you used tsc you can use tsci. All you need to do - just replace tsc with tsci.
This tool is built on top of tsc from npm - tsci.js is tsc.js from typescript package, but with removed top part with compiler part, which it takes from typescript package. So the tool will use your version of the typescript package.
The tool takes files which tsc want to compile and removed files which aren't changed against their output file. Also, if you have enabled declaration compiler option, and TypeScript tries resolves .ts file the tool checks if there is corresponding to this file .d.ts file with newest last modified date, and if it exists, resolves .d.ts instead. So, we don't compile unchanged files (only loads their declaration files). That's it.
This algorithm is quite similar to how TypeScript's build mode works. But:
It doesn't work with outDir compiler option.
There is a chicken and egg problem: to get output path for some file we need to have created program, but to create the program we need to have list of files.
(but it seems that it can be fixed via setting rootDir compiler option in the same way as tsbuild)
The version of the package is the same as version of the base compiler.
For example, 3.2.2-0 version of incremental-typescript means that the tool is built on top of 3.2.2 TypeScript.
| Back | FazBrowse Home | New Git URL |