Sheetal Nandi
2439e7affb
Reduce the number of watched config files by watching the chain only in case of inferred root
2017-07-17 16:50:26 -07:00
Sheetal Nandi
dcbd7b10f1
Combine the logic to find config file as well as the watch.
...
This should speed up the file open scenarios where the file belongs to same configured project as we would use cache to answer those fileExists answers
2017-07-15 22:26:10 -07:00
Sheetal Nandi
0572b15adc
Instead of watching directories, watch tsconfig files of inferred project root
2017-07-15 19:11:27 -07:00
Sheetal Nandi
71d79c62d0
Some refactoring to combine files removal from inferred project
2017-07-15 11:37:32 -07:00
Sheetal Nandi
404aa8f0be
Logging of the watch add/remove/event
2017-07-14 17:39:42 -07:00
Sheetal Nandi
0365901381
use single instance of getCanonicalFileName
2017-07-13 15:32:11 -07:00
Sheetal Nandi
048e67c021
Merge branch 'master' into watchImprovements
2017-07-13 14:13:14 -07:00
Andy
d2ec45f354
Remove unnecessary 'ts.' qualifications ( #17163 )
2017-07-13 13:08:59 -07:00
Sheetal Nandi
e568976239
Allows the delayed update graph and project structure which helps in batching the updates when there are multiple files added/removed/changed
2017-07-13 11:32:40 -07:00
Sheetal Nandi
8fedcf78c7
TODOs for the scheduling update graph and referesh projects
2017-07-12 19:34:01 -07:00
Andy
2368847f6b
Indent filesToString ( #17130 )
2017-07-12 10:42:05 -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
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
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
17578e8a5d
Use Map<true> for sets ( #16972 )
2017-07-07 10:34:36 -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
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
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
09f0b3471a
Merge branch 'master' into ownJsonParsing
2017-06-15 09:59:37 -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
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
Andy
09321b3834
Convert Extension to a string enum ( #16425 )
2017-06-09 19:32:44 -07:00
Sheetal Nandi
c4ad151a46
Merge branch 'master' into ownJsonParsing
2017-06-05 17:01:09 -07:00
Andy
70564110c0
Make use of array helper functions ( #16226 )
...
* Make use of array helper functions
* Remove unnecessary 'ts.'
2017-06-05 14:11:43 -07:00
Ryan Cavanaugh
6f42f9ae3f
Merge pull request #15308 from chuckjaz/external-files
...
Allow plugins to provide a list of external files.
2017-06-05 13:14:25 -07:00
Sheetal Nandi
d680720f6d
Merge branch 'master' into ownJsonParsing
2017-06-05 10:28:23 -07:00
Andrew Casey
95b5a691d4
Guess 1: null check is missing; Guess 2: ternary does the appropriate check
2017-05-31 16:30:27 -07:00
Sheetal Nandi
8d771ca044
Merge branch 'master' into ownJsonParsing
2017-05-30 13:03:23 -07:00
Sheetal Nandi
7bd9e092ac
Make configFile on compiler options as non enumerable
2017-05-26 17:15:57 -07:00
Andy
d052bb83ca
Add project telemetry ( #16050 )
...
* Add project telemetry
* Respond to some PR comments
* Wrap event in a TelemetryEvent payload
* Replace paths with empty string instead of removing them entirely
* Add "version" property to payload
* Add telemetry for typeAcquisition settings
* Add "files", "include", "exclude", and "compileOnSave"
* Convert typingsOptions include and exclude to booleanss
* Add "extends", "configFileName", and "projectType"
* configFileName: Use "other" instead of undefined
* Add "languageServiceEnabled" telemetry
2017-05-25 13:30:27 -07:00
Sheetal Nandi
f1ea38d127
Merge branch 'master' into ownJsonParsing
2017-05-24 12:46:29 -07:00
Andy Hanson
34bb955655
Use orderedRemoveItem
instead of remove
helper
2017-05-24 08:42:02 -07:00
Sheetal Nandi
7cf93f94d4
Report config file errors as part of syntactic diagnostic on the file
2017-05-23 15:56:20 -07:00
Ryan Cavanaugh
ab3ffa22da
Add flag to allow local plugin loading
2017-05-17 19:52:57 -07:00
Sheetal Nandi
ea60e9966d
Get configFiles as part of file names
2017-05-15 16:07:08 -07:00
Chuck Jazdzewski
785c281fd6
Allow plugins to provide a list of external files.
...
The list of the plugin's external files and request made to
a file in the list will be routed to an instance of the plugin.
2017-04-25 10:11:05 -07:00
Arthur Ozga
0ea1b82a85
test module reuse
2017-04-20 18:55:15 -07:00
Arthur Ozga
cbbf6f8847
Merge branch 'master' into tripleEquals
2017-04-17 15:57:51 -07:00
Ryan Cavanaugh
d31364c09c
Load global plugins even if no local ones exist
2017-04-13 16:17:35 -07:00
Ryan Cavanaugh
19ddc1e94a
Avoid loading duplicate local+global plugins
2017-04-13 16:17:34 -07:00
Ryan Cavanaugh
3cc379c3c0
Fix merge
2017-04-13 16:16:57 -07:00
Arthur Ozga
7e03429a8e
enforce triple-equals
2017-04-04 15:51:13 -07:00