Commit Graph
100 Commits
Author SHA1 Message Date
Vladimir Matveev 595342615b abstract code in FindReferences from concrete way of creating result reference entry to seamlessly reuse the same code for gotoImplementation (#14637) 2017-03-16 15:53:05 -07:00
Vladimir Matveev 2b10611fbf initial revision of infrastructure to produce text changes that uses existing node factory, formatter and printer (#14441)
initial revision of infrastructure to produce text changes that uses existing node factory, formatter and printer
2017-03-15 11:44:36 -07:00
Vladimir Matveev c687add579 add tests to add and remove members in class 2017-03-14 22:36:38 -07:00
Vladimir Matveev 323aa3a56c add asserts for cases when containing list cannot be determined 2017-03-14 17:17:16 -07:00
Vladimir Matveev 5775d27e32 respect initial order of changes 2017-03-14 17:08:35 -07:00
Vladimir Matveev d4bb267ee3 add insertNodeInListAfter functionality 2017-03-14 16:13:33 -07:00
Vladimir Matveev e7e1ac93ad Merge remote-tracking branch 'origin/master' into vladima/textChanges 2017-03-14 15:08:57 -07:00
Vladimir Matveev 17cb68cbbf send error if obtaining of types-registry package failed (#14573) 2017-03-10 10:34:01 -08:00
Vladimir Matveev 77c2a1d20d allow passing --logFile and --logVerbosity parameter to tsserver (#14566) 2017-03-09 15:25:44 -08:00
Vladimir Matveev d847e6a66a Merge remote-tracking branch 'origin/master' into vladima/textChanges 2017-03-07 15:10:41 -08:00
Vladimir Matveev fab4ef0bde cache semantic and declaration diagnostics in program (#14516) 2017-03-07 13:26:41 -08:00
Vladimir Matveev b1520345be use ES6 library when building tslint rules (#14474) 2017-03-05 15:41:47 -08:00
Vladimir Matveev d7e62bb9f7 initial revision of infrastructure to produce text changes that uses existing node factory, formatter and printer 2017-03-03 13:50:58 -08:00
Vladimir Matveev c77ea9e9ea ignore request for codefixes with no error codes (#14215) 2017-02-28 19:35:07 -08:00
Vladimir Matveev a2f61a8041 handle the case when conversion of tsconfig.json failed (#14160) 2017-02-28 19:35:07 -08:00
Vladimir Matveev eb34f0ca03 a few fixed in printer/factory (#14239) 2017-02-22 15:24:29 -08:00
Vladimir Matveev 359823b4be ignore request for codefixes with no error codes (#14215) 2017-02-21 13:59:33 -08:00
Vladimir Matveev dca368b719 handle the case when conversion of tsconfig.json failed (#14160) 2017-02-21 10:27:50 -08:00
Vladimir Matveev 0627881e05 add release-2.2 (approved by @mhegazy) 2017-02-16 11:01:28 -08:00
Vladimir Matveev 8c54bbaa04 use separate process to probe if drive is safe to watch (#14098)
use dedicated process to determine if it is safe to watch folders
2017-02-16 10:32:01 -08:00
Vladimir Matveev c90040effb Merge pull request #14113 from Microsoft/vladima/update-gulp-ts
update gulp-typescript to 3.1.5
2017-02-16 07:52:27 -08:00
Vladimir Matveev da0bd618f8 update gulp-typescript to 3.1.5 2017-02-16 07:30:19 -08:00
Vladimir Matveev 81f4e38643 Enable per-request cancellation (#12371)
enable -per-request cancellation

* restore request for deferred calls

* add tests

* introduce MultistepOperation

* (test) subsequent request cancels the preceding one
2017-02-14 13:18:42 -08:00
Vladimir Matveev f673f48fad inject pre-finally and after-finally edges into flow graph to possible ignore pre-finally during flow walk (#13845) 2017-02-13 14:36:12 -08:00
Vladimir Matveev 58b8a54e5f fix build break (#14049) 2017-02-13 13:38:04 -08:00
Vladimir Matveev de40000814 switch FileExtensionInfo to always mean .js file and deduplicate entries in getSupportedExtensions (#14046)
* - switch FileExtensionInfo to always mean .js file
- deduplicate entries in getSupportedExtensions

* (PR feedback): updated comment
2017-02-13 12:19:33 -08:00
Vladimir Matveev 2480e8d492 do secondary lookup only if module has non-relative name 2017-02-08 20:35:01 -08:00
Vladimir Matveev bb71dcdde8 add projectUsesOutFile field to protocol.CompileOnSaveAffectedFileListSingleProject (#13915) 2017-02-08 11:01:32 -08:00
Vladimir Matveev 0a1d75dbd1 use tsconfig.json files in jake (#13869) 2017-02-07 18:14:23 -08:00
Vladimir Matveev 915ffab8cc disable fs watcher for UNC paths on Windows (#13937) 2017-02-07 14:47:07 -08:00
Vladimir Matveev 9b6f9305d9 support untyped imports in shims (#13758) 2017-01-30 13:19:44 -08:00
Vladimir Matveev 71d1a3f051 property handle misspelled namepath in @typedef tag (#13702) 2017-01-26 11:38:50 -08:00
Vladimir Matveev abc30b26c7 handle cases when body of for-of statement is expanded after loop conversion (#13677) 2017-01-25 09:53:34 -08:00
Vladimir Matveev 4ee8213dde do not capture 'arguments' when property name 'arguments' is met (#13600)
do not capture 'arguments' when property name 'arguments' is met
2017-01-20 19:59:26 -08:00
Vladimir Matveev 11dd368ec0 do not report file lookups if containing folder is known to be missing (#13187)
* added missing '.' at the end of message

* do not report lookups if containing folder is known to be absent
2016-12-27 15:50:14 -08:00
Vladimir Matveev 77a3dfbcfc tsserver should use newline provided by the host (#13185) 2016-12-27 11:59:56 -08:00
Vladimir Matveev 20097d7961 mark 'failedLookupLocations' as internal (#13139) 2016-12-22 18:35:41 -08:00
Vladimir Matveev 330cceda17 cache results of module resolution for non-relative module names (#13047)
* cache results of module resolution for non-relative module names

* use cache to short-circuit failures
2016-12-21 10:02:28 -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 0649c2272c cache per-folder module resolutions during construction of the program (#13030) 2016-12-19 13:48:45 -08:00
Vladimir Matveev f034022e25 lift multiple statements into block if necessary (#12965) 2016-12-15 16:31:50 -08:00
Vladimir Matveev 366dfc052f expose parseCommandLine (#12934) 2016-12-14 21:53:33 -08:00
Vladimir Matveev 321b23525a remove debugger statement 2016-12-14 15:01:46 -08:00
Vladimir Matveev dda24f6d70 allow to compute change ranges only for snapshots from the same script version cache 2016-12-14 14:43:45 -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
Vladimir Matveev c71e6cc9ef add a new line if after writing trailing comments (#12894) 2016-12-13 12:57:21 -08:00
Vladimir Matveev e5e1533d49 mark types used in decorator metadata as referenced (#12890) 2016-12-13 11:46:06 -08:00
Vladimir Matveev d0506735e3 elaborate check before converting fresh literal type to regular (#12595) 2016-12-12 12:37:06 -08:00
Vladimir Matveev 496a14a021 create new lexical environment for the body of converted loop (#12831) 2016-12-12 10:18:30 -08:00
Vladimir Matveev a604d84f5c guard against visiting the same symbol table multiple times (#12818) 2016-12-12 10:17:07 -08:00
Vladimir Matveev 798d080df1 mark containing project as dirty when file is closed (#12789)
* mark containing project as dirty when file is closed

* remove debugger statement
2016-12-09 14:21:56 -08:00
Vladimir Matveev 7da3383504 do not use ScriptVersionCache for closed files (#12777) 2016-12-08 16:17:42 -08:00
Vladimir Matveev c1ec7eff08 remove projects that were no present in the input list in openExternalProjects (#12699)
remove projects that were no present in the input list in openExternalProjects
2016-12-06 16:44:46 -08:00
Vladimir Matveev 225d6d6aef use XDG base directory compatible cache location (#12676)
* use XDG base directory compatible cache location

* use ~/Library/Caches on darwin
2016-12-05 13:40:56 -08:00
Vladimir Matveev 1418fd170d send begin/end notifications when installing types packages (#12551) 2016-11-29 10:14:22 -08:00
Vladimir Matveev c05bf3b0a2 respect casing when comparing names of config files (#12474) 2016-11-23 12:34:00 -08:00
Vladimir Matveev 680fb2ea1b add typings installer user agent for npm requests (#12446)
* add typings installer user agent for npm requests

* address PR feedback: change name of user agent
2016-11-22 14:56:18 -08:00
Vladimir Matveev 4c6b94f16f wrap subexpressions of conditional expressions in parens if necessary (#12420) 2016-11-21 12:52:13 -08:00
Vladimir Matveev b060107b51 recompute character to column when comparing indentations (#12375)
recompute character to column when comparing indentations
2016-11-21 11:34:09 -08:00
Vladimir Matveev f2a7434fa3 Merge pull request #12376 from Microsoft/vladima/update-tslint
update to tslint@next
2016-11-19 10:58:36 -08:00
Vladimir Matveev eaf791e328 update to tslint@next 2016-11-18 22:53:38 -08:00
Vladimir Matveev 9945529875 use location of config file as initial location for automatic type reference inclusion if possible (#12341) 2016-11-18 13:39:11 -08:00
Vladimir Matveev a2b13d05f2 pass project name as a constructor parameter (#12333) 2016-11-17 15:12:32 -08:00
Vladimir Matveev 4c2474463c ports #12237, #12258 and #12259 into master (#12274)
* treat failures to resolve module name as missing packages (#12237)

* added extra check to prevent multiple installation of the same typing, added version field to telemetry event (#12258)

* added extra check to prevent multiple installation of the same typing, added version field to telemetry event

* use ts.version

* switch to execSync to ensure that no install orders are interleaved (#12259)

* Make sure version is public

* Update file with version string for nightly release
2016-11-15 12:53:46 -08:00
Vladimir Matveev f13e6d4ca6 enable syntactic features if project size exceeded the limit, send events when state of language service changes (#12190)
* enable syntactic features if project size exceeded the limit, send events when state of language service changes

* allow getting compiler options diagnostics when language service is disabled
2016-11-14 15:10:32 -08:00
Vladimir Matveev 04aaa32367 add 'installSuccess' flag to telemetry, cache misses if npm install fails (#12163) (#12240)
* add 'installSuccess' flag to telemetry, cache misses if npm install fails

* fix typo
2016-11-14 14:56:49 -08:00
Vladimir Matveev f11e8a3c69 add 'installSuccess' flag to telemetry, cache misses if npm install fails (#12163)
* add 'installSuccess' flag to telemetry, cache misses if npm install fails

* fix typo
2016-11-14 14:10:22 -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 56f97e16e3 remove tsd dependency (#12206) 2016-11-13 13:52:25 -08:00
Vladimir Matveev b15d144955 switch to tslint@next (#12201) 2016-11-13 13:34:18 -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
Vladimir Matveev 3ecb60146b synthesize complete import declaration for tslib (#12151) 2016-11-10 11:57:37 -08:00
Vladimir Matveev 28cc938503 (signature help) type parameter lists are never variadic (#12112) 2016-11-08 16:10:34 -08:00
Vladimir Matveev 9a9f45f0fb use createHash from ServerHost instead of explicit require (#12043)
* use createHash from ServerHost instead of explicit require

* added missing method in ServerHost stub
2016-11-08 15:32:53 -08:00
Vladimir Matveev 9e3d6efb19 reduce set of files being watched, increase polling interval (#12054) (#12092) 2016-11-07 21:13:11 -08:00
Vladimir Matveev be2e8e85d6 property handle missing config files in external projects (#12094) 2016-11-07 15:49:19 -08:00
Vladimir Matveev 0173a3fa79 return empty file watcher in case if target directory does not exist (#12091)
* return empty file watcher in case if target directory does not exist

* linter
2016-11-07 15:48:46 -08:00
Vladimir Matveev 4ffdea838a Ports #12051 and #12032 into master (#12090)
* use local registry to check if typings package exist (#12014)

use local registry to check if typings package exist

* enable sending telemetry events to tsserver client (#12035)

enable sending telemetry events
2016-11-07 13:36:08 -08:00
Vladimir Matveev ed4fead087 add missing bind calls to properly set parent on token nodes (#12057) 2016-11-04 21:54:22 -07:00
Vladimir Matveev ab75ea75d3 module resolution: prefer locally defined ambient modules, reuse resolutions to ambient modules from the old program (#11999)
module resolution: prefer locally defined ambient modules, reuse resolutions to ambient modules from the old program
2016-11-02 14:41:26 -07:00
Vladimir Matveev 44ce59d1d8 cache type for empty type literal (#11934)
cache type for empty type literal
2016-10-29 15:57:51 -07:00
Vladimir Matveev fcdeecfa4a Merge pull request #11925 from Microsoft/vladima/11880
update CFG to properly handle do statements
2016-10-28 16:12:53 -07:00
Vladimir Matveev 9bb7ba5862 Merge pull request #11928 from Microsoft/vladima/11738
do not inline async IIFEs in control flow graph
2016-10-28 16:12:31 -07:00
Vladimir Matveev 73c59bbf85 do not inline async IIFEs in control flow graph 2016-10-28 14:43:08 -07:00
Vladimir Matveev fc93e8f6f4 update CFG to properly handle do statements 2016-10-28 14:17:01 -07:00
Vladimir Matveev 3f16f37510 Merge pull request #11922 from Microsoft/vladima/port-11906
enable non-ts extensions in inferred projects by default
2016-10-28 12:41:44 -07:00
Vladimir Matveev fdb3b6857d enable non-ts extensions in inferred projects by default 2016-10-28 11:30:00 -07:00
Vladimir Matveev 50e2fd87da only emit /// types reference for a symbol in d.ts file if all declarations of a symbol come from type reference directives (#11872)
* only emit /// types reference for a symbol in d.ts file if all declarations of a symbol come from type reference directives

* pass proper value for current directory when compiling .d.ts files
2016-10-26 17:15:04 -07:00
Vladimir Matveev 3e18aba36a rewrite void-returning statements in constructors that capture result of super call (#11868)
* rewrite void-returning statements in constructors that capture result of super call

* linter
2016-10-26 16:48:29 -07:00
Vladimir Matveev f6b82d5e9f add a fallback logic for older versions of node that don't support 'homedir' (#11845)
* add a fallback logic for older versions of node that don't support 'homedir'

* try os.homedir first
2016-10-25 16:36:02 -07:00
Vladimir Matveev 72f81e2fc4 Merge pull request #11841 from Microsoft/vladima/report-typings-installer-pid
report typings installer process id to parent process
2016-10-25 15:37:56 -07:00
Vladimir Matveev 7890f63250 use unresolved imports as a source of used typings (#11828) 2016-10-25 15:24:21 -07:00
Vladimir Matveev f48728af74 report typings installer process id to parent process 2016-10-25 13:18:57 -07:00
Vladimir Matveev 3bdff73c16 Merge pull request #11819 from Microsoft/vladima/11752
treat ambient non-aliased 'require' as commonjs 'require'
2016-10-24 16:26:32 -07:00
Vladimir Matveev b7ea3e5bdd treat ambient non-aliased 'require' as commonjs 'require' 2016-10-24 11:19:41 -07:00
Vladimir Matveev 3263fdec7c Merge pull request #11776 from Microsoft/vladima/port-11764
Ports PR #11764 into master
2016-10-20 21:56:06 -07:00
Vladimir Matveev a477d1f7bb Merge pull request #11764 from Microsoft/vladima/11744
watch configuration files if they exist even if they cannot be parsed
2016-10-20 21:31:38 -07:00
Vladimir Matveev ff17eeda8f check heritage clause for the presence of entry with Extends keyword (#11711) 2016-10-18 11:35:22 -07:00
Vladimir Matveev 97e90b53d5 Merge pull request #11696 from Microsoft/vladima/port-11694
Ports PR 11694 into master
2016-10-17 23:37:01 -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