Commit Graph

911 Commits

Author SHA1 Message Date
Sheetal Nandi
8fedcf78c7 TODOs for the scheduling update graph and referesh projects 2017-07-12 19:34:01 -07:00
Sheetal Nandi
f338a70257 Remove the done TODO 2017-07-12 13:39:11 -07:00
Sheetal Nandi
029b1f25e4 Fixes the fourslash runner tests by handling hosts that cannot support read directory or getDirectories 2017-07-12 12:50:52 -07:00
Sheetal Nandi
68def1b1f3 Use the cached file exists/directory exists for configured project since we watch the needed files 2017-07-11 23:23:53 -07:00
Sheetal Nandi
19a6a003f5 Cache the read directory results so that it doesnt end up reading it all the time 2017-07-11 17:50:51 -07:00
Sheetal Nandi
48c651317e Update types instantly when the type root changes. 2017-07-11 14:18:56 -07:00
Sheetal Nandi
62871cc0f9 Only update file list when there are changes in the watched directories 2017-07-11 14:10:48 -07:00
Sheetal Nandi
9ff9476b4a Handle the deleted file in update graph better, so that in next update it is possible to schedule the update graph of project 2017-07-10 14:59:32 -07:00
Sheetal Nandi
df6f75bc70 Optimize wildcard watchers and config directory watching as now we have missing file watching as well
We dont need to explicitly watch config file directory as it will be watched:
- if there was no files specified, in wild card directories
- if there were files specified as missing file (if the file wasnt present)
2017-07-10 11:31:33 -07:00
Sheetal Nandi
6bd42b81ee When config file is deleted, apart from removing the projecty, reload the configured projects for open files from that project to ensure to pick them by another config file that can be present in parent directory 2017-07-10 11:31:33 -07:00
Sheetal Nandi
96ffd53c2d Reload the configured project only once even though there are multiple files open from that project 2017-07-10 11:31:33 -07:00
Sheetal Nandi
2a63827891 Update the todo list 2017-07-10 11:31:33 -07:00
Sheetal Nandi
75698a893f Add project roots in the list of root files even if they arent present on the disk
This helps in reporting errors as well as syncing of the configured/external project when the files are created
2017-07-10 11:31:33 -07:00
Sheetal Nandi
ae33ae894d Restructure updating the configured project from disk and actual project update
Also reload the projects when extra extension in the host change
2017-07-10 11:31:32 -07:00
Sheetal Nandi
21ad26b6ff When opening a file, if it is using existing project, there is no need to update the project by re-reading the config file
This will improve the opening file perf for file opens from same config project
2017-07-10 11:31:32 -07:00
Andy
e4a69174db LineNode.add: return value never used (#17016) 2017-07-07 14:00:09 -07:00
Andy
31ce6cfba6 Minor cleanups to ScriptVersionCache (#16983) 2017-07-07 10:49:59 -07:00
Andy
dcc3e72636 Use decodeSpan more (#16990) 2017-07-07 10:37:18 -07:00
Andy
ee48c1b4cc Minor cleanups to EditWalker (#16980) 2017-07-07 10:36:46 -07:00
Andy
d3f4447657 Minor cleanups to LineIndexSnapshot (#16981) 2017-07-07 10:35:21 -07:00
Andy
17578e8a5d Use Map<true> for sets (#16972) 2017-07-07 10:34:36 -07:00
Andy
81f8151e3a Use 'push' and 'pop' methods instead of using array.length (#16979) 2017-07-07 10:22:59 -07:00
Andy
ba53b42663 Clean up findChildIndex (#16984) 2017-07-07 10:15:04 -07:00
Andy
d4c11bfa1b Clean up creation of 'args' in client.ts (#17009) 2017-07-07 08:09:59 -07:00
Andy
e7dc2a67ca Enable "object-literal-shorthand" lint rule (#16987) 2017-07-07 07:26:58 -07:00
Andrew Casey
ac72803bb2 Merge pull request #16684 from amcasey/Vsts434619
Watch for the creation of missing files
2017-06-29 13:41:18 -07:00
Andrew Casey
569ecabb0a Address PR feedback
Make Program.getMissingFilePaths required

Assume getMissingFilePaths always returns a defined value

Make getMissingFilePaths internal

Replace nullable-bool with enum

Update type to reflect possibility of undefined

Use deepEqual to simplify tests

Make condition const

Don't bother cleaning up map before freeing it

Switch from foreach to for-of to simplify debugging

Use a Map, rather than a FileMap, to track open FileWatchers

Fix compilation errors

Introduce and consume arrayToSet

Fix lint warnings about misplaced braces

Delete incorrect comment

Delete from map during iteration

Eliminate unnecessary type annotations
2017-06-29 11:29:19 -07:00
Andy
179a3e10b5 Handle depth in all readDirectory implementations (#16646) 2017-06-29 11:04:33 -07:00
Andrew Casey
6d200bffbd Watch files through the host
Call `this.projectService.host.watchFile`, rather than
`ts.sys.watchFile` so that it gets mocked correctly in the unit tests.
Repair two failing tests.
2017-06-29 10:39:32 -07:00
Andrew Casey
a39e969338 Clean up file watchers on project close 2017-06-29 10:39:31 -07:00
Andrew Casey
4863ada22c Track missing files
1. Expose missing files from the `Program`.
2. In `tsc --watch` and `tsserver`, add file watchers to missing files.
3. When missing files are created, schedule compilation (tsc) or refresh
the containing projects (tsserver).
2017-06-29 10:39:31 -07:00
t_
51fb7e9a81 Add alwaysStrict option (#16562)
* Add alwaysStrict option

* Enable alwaysStrict

* Fix for strict mode

* keep whitespace
2017-06-28 19:44:15 -07:00
Andy
9013665e22 Replace FileMap with Map where there is no keyMapper (#16724)
* Replace FileMap with Map where there is no keyMapper

* Remove `toKey` and use `keyMapper` directly
2017-06-28 13:15:34 -07:00
Sheetal Nandi
a2776648cd Merge pull request #16539 from Microsoft/updateBuilderOnlyIfItHasInfos
Update the builder dependency graph only if it was created.
2017-06-16 13:46:54 -07:00
Sheetal Nandi
09f0b3471a Merge branch 'master' into ownJsonParsing 2017-06-15 09:59:37 -07:00
Sheetal Nandi
b2e8fb7f32 Update the builder dependency graph only if it was created.
This makes sure that we dont create this graph just because project was updated
2017-06-14 16:20:44 -07:00
Sheetal Nandi
187febd10f Merge pull request #16494 from Microsoft/dontCreateScriptInfosWithFileExistsAndReadFile
Fixes the memory leak because of project and its corresponding script info even after project is removed
2017-06-14 15:17:25 -07:00
Sheetal Nandi
428bc68baa Add comment for deletion of orphan script infos in file open 2017-06-14 15:02:24 -07:00
Sheetal Nandi
98cb0ce815 Move the cleanup of script infos to next file open
This helps in reusing script infos even if the project is closed but next open recreates the same project
2017-06-14 11:37:31 -07:00
Sheetal Nandi
1bf1209f7e Cleanup script infos that are not part of any project when the project is closed or inferred projects are refreshed
Also dispose some pointers so that the closures get disposed with project and script infos
2017-06-12 16:52:36 -07:00
Mohamed Hegazy
a404edae38 Split import into var and type to avoid breaking backword compatability of tsserverlibrary (#16409) 2017-06-10 11:12:09 -07:00
Andy
09321b3834 Convert Extension to a string enum (#16425) 2017-06-09 19:32:44 -07:00
Andy
a757e84284 Add hash of project file location to project info telemetry (#16397)
* Add hash of project file location to project info telemetry

* Rename to projectId
2017-06-09 13:12:31 -07:00
Mine Starks
3bd5df7577 Set typings cache location per TS version 2017-06-08 13:33:24 -07:00
TravCav
b57830f7f9 enforcing curly braces (#16315) 2017-06-07 11:58:25 -07:00
Andrew Casey
747d01c59a Merge pull request #16311 from amcasey/mtime
Reuse already-computed modification time
2017-06-07 10:09:25 -07:00
Andrew Casey
e3c4a7031d Reuse already-computed modification time 2017-06-06 16:35:11 -07:00
Ryan Cavanaugh
f739f68231 Tidy up 2017-06-06 16:08:24 -07:00
Ryan Cavanaugh
f395bc1d83 Handle missing body case 2017-06-06 16:01:53 -07:00
Ryan Cavanaugh
1f3ef7df7a Refactor refactor 2017-06-06 14:58:18 -07:00