Commit graph

189 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
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
Ryan Cavanaugh
71e296042a Apply the 20 MB non-TS source limit across all projects
(cherry picked from commit cc8ce5975c)
(cherry picked from commit de8fb9e833)
2017-03-24 11:58:20 -07:00
Andy Hanson
d58cfa238b Merge branch 'master' into lint_better 2017-03-06 06:20:48 -08:00
Andy Hanson
8371eb6401 Update tslint to latest (next is still on 4.3) and lint for BOM 2017-03-01 10:37:13 -08:00
Andy Hanson
5ea43c8ba3 Merge branch 'master' into semicolon 2017-03-01 08:09:59 -08:00
Ryan Cavanaugh
87b780d641 Merge pull request #12231 from RyanCavanaugh/ls-proxy
Language service proxy
2017-02-14 14:16:23 -08:00
Ryan Cavanaugh
aec310996c Language service extensibility 2017-02-14 13:35:16 -08:00
Andy Hanson
91421c8dbc Fix "semicolon" lint rule options (was not enabled) 2017-02-10 12:24:10 -08:00
Jason Ramsay
3480fcc69a Always set allowNonTsExtensions for allowJs 2017-02-10 11:13:12 -08:00
Andy Hanson
30462e11ef Merge branch 'master' into map5 2017-01-11 12:24:47 -08:00
Zhengbo Li
9e127967b6 Merge pull request #11603 from zhengbli/11116
Set maxNodeModuleJsDepth for inferred projects
2017-01-10 12:17:43 -08:00
Andy Hanson
8c5afd7f54 Merge branch 'master' into map5 2017-01-06 13:03:34 -08:00
Joel Day
3a9a136e51 Changes based on feedback.
Whitespace cleanup.
Switching back to protocol.ts and reenabling stripInternal.
Marking internal symbols indirectly exported by dependencies of protocol.ts as internal.
2017-01-04 15:56:16 -08:00
zhengbli
8ac22ecbb0 Change the design to track addRoot and removeRoot 2016-12-29 17:00:04 -08:00
zhengbli
09fc3b3a18 address cr feedback 2016-12-29 10:26:34 -08:00
zhengbli
bf5faa04a6 Use inherited setCompilerOptions for inferred project 2016-12-28 14:46:58 -08:00
Andy Hanson
932eaa3f90 Rename and consolidate map iteration helpers 2016-12-28 09:16:38 -08:00
Andy Hanson
39c19a74ea Inline keysOfMap and valuesOfMap. 2016-12-28 09:05:52 -08:00
zhengbli
a8a1a826b3 set the option when creating inferred projects 2016-12-28 08:15:21 -08:00
zhengbli
8648239e64 Merge branch 'master' of https://github.com/Microsoft/TypeScript into 11116 2016-12-28 04:07:04 -08:00
Andy Hanson
9e33585a80 Merge branch 'master' into map5 2016-12-27 12:56:05 -08:00
Vladimir Matveev
1045f3bffb detach root files on project close if project language service is disabled (#13077) 2016-12-20 19:25:25 -08:00
Vladimir Matveev
e68161adfa when language service is disabled - build program using only open files (#12809) 2016-12-13 13:21:32 -08:00
Andy Hanson
55fc62bc45 Merge branch 'master' into map5 2016-12-12 07:50:09 -08:00
Jason Ramsay
5829ca82d0 use localUse local updatedFileNames - this way we'll know that set of names is definitely cleared 2016-12-09 14:44:08 -08:00
Jason Ramsay
5f46e488b7 Mark containing project as dirty when file is closed
(Note: adding this until PR #12789 is merged in so that unit tests pass)
2016-12-09 11:12:00 -08:00
Jason Ramsay
4cb5a36cb4 Merge branch 'master' into tsconfigMixedContentSupport 2016-12-09 10:58:33 -08:00
Jason Ramsay
d52894302a Changes due to CR comments 2016-12-08 17:56:08 -08:00
Vladimir Matveev
7da3383504 do not use ScriptVersionCache for closed files (#12777) 2016-12-08 16:17:42 -08:00
Andy Hanson
6b1cc8972d Use native maps when they're available 2016-12-08 06:40:31 -08:00
Jason Ramsay
7a11453e35 Fix merge issues 2016-12-07 15:45:41 -08:00
Jason Ramsay
1c3689edef Merge branch 'master' into tsconfigMixedContentSupportRedux 2016-12-07 15:33:42 -08:00
Jason Ramsay
64dad30ca0 Reduced version from CR comments 2016-12-07 15:31:46 -08:00
zhengbli
f6f866e88c Reset the noEmitForJsFiles option when updating compiler options (#12570) 2016-11-29 23:30:14 -08:00
Vladimir Matveev
c05bf3b0a2 respect casing when comparing names of config files (#12474) 2016-11-23 12:34:00 -08:00
Jason Ramsay
5a9451ae23 Rename typingOptions.enableAutoDiscovery to typeAcquisition.enable 2016-11-18 18:14:32 -08:00
Jason Ramsay
464bc0e9e0 Merge branch 'master' into tsconfigMixedContentSupportRedux 2016-11-18 16:15:15 -08:00
Jason Ramsay
7dd30dbfd4 tsconfig.json mixed content support 2016-11-18 15:51:28 -08:00
Vladimir Matveev
a2b13d05f2 pass project name as a constructor parameter (#12333) 2016-11-17 15:12:32 -08:00
Vladimir Matveev
36511838a4 allow getting compiler options diagnostics when language service is disabled 2016-11-14 10:41:48 -08:00
Vladimir Matveev
3b09010c7c enable syntactic features if project size exceeded the limit, send events when state of language service changes 2016-11-11 17:35:11 -08:00
Zhengbo Li
4dc58dde38 Exclude js files in non-configured projects compile-on-save emitting (#12118)
* Exclude js files in non-configured projects CoS emitting

* remove unnecessary method
2016-11-10 14:12:24 -08:00
Vladimir Matveev
9e3d6efb19 reduce set of files being watched, increase polling interval (#12054) (#12092) 2016-11-07 21:13:11 -08:00
Zhengbo Li
1c004bf317 Port #12027, #11980 and #11932 to master (#12037)
* add test for the fix for overwrite emitting error

* cr feedback
2016-11-03 21:13:41 -07:00
Zhengbo Li
4513ae3034 disable CoS for inferred projects (#11909) 2016-10-27 18:00:21 -07:00
Andy Hanson
12f6dcefa1 Revert "Merge pull request #11354 from Microsoft/map4"
This reverts commit adfdae0dc4, reversing
changes made to aad663cebf.
2016-10-27 15:50:21 -07:00
Andy Hanson
bcc0807198 Respond to PR comments 2016-10-27 13:14:56 -07:00
Andy Hanson
c958c47ef5 Merge branch 'master' into map4 2016-10-26 11:05:51 -07:00
Vladimir Matveev
7890f63250 use unresolved imports as a source of used typings (#11828) 2016-10-25 15:24:21 -07:00
Andy Hanson
f828bc3fae Merge branch 'master' into map4 2016-10-18 09:07:00 -07:00
Vladimir Matveev
121f51e552 Merge pull request #11694 from Microsoft/vladima/reload-tmp
allow reload from temp files
2016-10-17 23:20:39 -07:00
zhengbli
536d703d9e Set maxNodeModuleJsDepth for inferred projects 2016-10-12 18:05:01 -07:00
Andy Hanson
e8c7224eac Merge branch 'master' into map4 2016-10-12 08:50:49 -07:00
Zhengbo Li
460de66311 Turn on skipLibCheck for js-only inferred project and external project (#11399)
* Turn on skipLibCheck for js-only inferred project and external project

* avoid changing compiler options

* Update tests
2016-10-11 19:19:40 -07:00
Andy Hanson
aadcbcc083 Use native maps when they're available 2016-10-06 13:29:18 -07:00
Vladimir Matveev
8177bd4da0 replace hardcodes 'useCaseSensitiveFileNames=false' in services with actual value, use specialized map lookup methods instead of generic 'getOrCreate*' 2016-09-30 13:19:54 -07:00
Ryan Cavanaugh
8c899a6c60 An elegant weapon for a more civilized age 2016-09-20 16:52:34 -07:00
Ryan Cavanaugh
3c7b213a8c PR updates 2016-09-20 12:07:52 -07:00
Ryan Cavanaugh
46dfd68ef8 Always return [] 2016-09-19 18:00:42 -07:00
Ryan Cavanaugh
6de3dc4f8b Cleanup 2016-09-19 17:04:51 -07:00