You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
incremental is a compiler option, so if you specify a project file - i.e. a tsconfig.json file - when you run tsify, you can configure the option in the project file's compilerOptions. tsify will use the options specified in said file.
I guess it doesn't work because tsify passes its own compiler host to TypeScript - to abstract the file system - as the compiled files need to be made available to Browserify via streams.
I don't have time to look into this, ATM, but if it's something you'd be interested in looking into, I can give you some pointers regarding where to start in this codebase.
Cool, I'll write up some pointers tonight - in about 6 hours or so.
The main thing will be to switch debugging on and checkout the logs - to see if TypeScript is using the compiler host's API to write the intermediate data.
When I run tsc, I successfully obtain a .foo file which means incremental is working.
When I run npx browserify index.ts -p tsify, I don't get a .foo file which means incrmental is not working.
When I run npx browserify index.ts -p [tsify {incremental: true, tsBuildInfoFile: ".foo"}], I don't get it either.
Activity
cartant commentedon Apr 6, 2019
incrementalis a compiler option, so if you specify a project file - i.e. atsconfig.jsonfile - when you run tsify, you can configure the option in the project file'scompilerOptions. tsify will use the options specified in said file.ericmorand commentedon May 6, 2019
Can you show an example of usage? It doesn't seem to work when setup this way:
tsBuildInfoFileis not created and the build is not faster than without the incremental flag.cartant commentedon May 6, 2019
I guess it doesn't work because tsify passes its own compiler host to TypeScript - to abstract the file system - as the compiled files need to be made available to Browserify via streams.
I don't have time to look into this, ATM, but if it's something you'd be interested in looking into, I can give you some pointers regarding where to start in this codebase.
ericmorand commentedon May 7, 2019
With great pleasure. I've been digging into source code yesterday and will continue today. I'll let you know if I need help with it.
cartant commentedon May 7, 2019
Cool, I'll write up some pointers tonight - in about 6 hours or so.
The main thing will be to switch debugging on and checkout the logs - to see if TypeScript is using the compiler host's API to write the intermediate data.
cartant commentedon May 7, 2019
@ericmorand I'd forgotten that I'd written an outline of the codebase. You should start with that. It's here.
Once you've familiarised yourself with that, this is what I'd do:
incrementalflag when using the command line.incrementalinformation to the file system in this call.ericmorand commentedon May 10, 2019
I finally had the chance to perform a simple test.
I have a simple TS project that consists of two files:
When I run
tsc, I successfully obtain a.foofile which means incremental is working.When I run
npx browserify index.ts -p tsify, I don't get a.foofile which means incrmental is not working.When I run
npx browserify index.ts -p [tsify {incremental: true, tsBuildInfoFile: ".foo"}], I don't get it either.I continue my investigations.
ericmorand commentedon May 10, 2019
I also confirm that
Host.prototype.writeFilenever attemps to write the build info file.foo.ericmorand commentedon May 17, 2019
I think the issue is related to:
microsoft/TypeScript#29978
ts-loader guys seems to be stuck at the same point than tsify:
TypeStrong/ts-loader#913
What di you think?
cartant commentedon May 17, 2019
Yep. Probably worth having a look at - or keeping an eye on - TypeStrong/ts-loader#935 too.
jleider commentedon Jul 2, 2019
Looks like there has been some progress made regarding an api: microsoft/TypeScript#31432