-
Notifications
You must be signed in to change notification settings - Fork 12.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support single-module transpilation mode #2499
Comments
👍 though we need a good name for the flag :) |
Proposed implementation #2550.
|
Visual Studio Code does not transpile on save. And I suppose it's because TSC does not implement this. It's major pain to transpile and compile all files each time, it causes a lot of file changes and triggers many webpack/browserify processes, time from edit to F5 is really big. Only tool doing single file transpiling at the moment is atom-typescript, but it's not using TSC for that. Btw, it probably should be called "--singleModuleTranspile" because single file transpile is not same thing, if I understod this right. |
@vladima we will need another check for reexporting type-only names in ES6 and in singleFile mode. we also need to update the name of the flag after the next desing meeting discussion. |
PR #3208 renames the flag to |
The flag has been renamed to |
The compiler does not do emit based on semantic information in most cases. this allows us to provide an api for transpiling a module that does not require typecheck or full program information. just single file syntactic transformation.
This can be helpful in multiple scenarios, including: typescript-simple (https://github.com/teppeis/typescript-simple), JSPM (#2233), es6-module-loader and as atom extensions.
A new compiler flag (--singeFileTranspilation or --disableFullProgramOptimizations for instance) that will make cases that break single file-transpilation an error namely: 1.Const enums defined in ambient modules and 2.Re-exporting types-only constructs when targeting ES6
The text was updated successfully, but these errors were encountered: