Repository navigation
Support single-module transpilation mode #2499
Description
Activity
- addedSuggestionAn idea for TypeScriptAn idea for TypeScriptIn DiscussionNot yet reached consensusNot yet reached consensusDomain: APIRelates to the public API for TypeScriptRelates to the public API for TypeScript
on Mar 26, 2015 sophiajt commented
on Mar 26, 2015 ContributorMore actions👍 though we need a good name for the flag :)
Proposed implementation #2550.
Regarding the name of the flag: we've already had a long discussion about possible names but all options were non-ideal, Some names that we've tried are: 'separateCompilation', 'singleFileEmit', 'disablGlobalOptimizations', 'safeForTranspile', 'isolated', 'singleFileScope' - we could not pick one since all of them were equally bad. What about moving from the boolean flag and instead have an enum named 'compilationMode' or 'compilationUnit' or something similar? Enum values will be 'program' and 'file' and 'program' will be default.tsc a.ts b.ts --compilationUnit: file- changed the title
[-]Support single-module transplantation mode[/-][+]Support single-module transpilation mode[/+]on Apr 28, 2015 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.
mhegazy commented
on May 5, 2015 ContributorAuthorMore actionsVladimir Matveev (@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.
mhegazy commented
on May 19, 2015 ContributorAuthorMore actionsPR #3208 renames the flag to
--isolatedModules- addedCommittedThe team has roadmapped this issueThe team has roadmapped this issueand removedIn DiscussionNot yet reached consensusNot yet reached consensus
on May 19, 2015 mhegazy commented
on May 22, 2015 ContributorAuthorMore actionsThe flag has been renamed to
--isolatedModulessee PR #3208 for more details.- locked and limited conversation to collaborators
on Jun 18, 2018
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