24026 Commits

Author SHA1 Message Date
Andrew Casey
79ffd03f8b
Add tracing support to tsserver (#41374)
* Add tracing support to tsserver

Read the `TSS_TRACE` environment variable to determine which directory
trace files should be written to.

Notable changes from tsc tracing:
1) Drop all tracepoints that depend on type IDs
2) Write output to trace.PID.json
3) New, server-specific events (request/response, cancellation, etc)

* Drop try-finally blocks that aren't strictly necessary

* Fix lint error

* Trace background work (for diagnostics)

* Move try-finally blocks into session so tsc doesn't use them

* Add missing try-finally

* Use consistent capitalization

* Inline canPop call where underlying variable is available

* Clarify comments

* Include PID in build-mode file names

* Introduce more efficient popAll function

* Trace throwIfCancellationRequested rather than isCancellationRequested

* Remove unnecessary try-finally blocks

* Add a command-line argument for consistency with logging

* Fix rebase issues

* Address PR feedback

* Rename completionEvents to eventStack

* Drop assertStackEmpty as hard-to-maintain and marginally valuable

* Rename stepCancellation to stepCanceledEarly

* Rename stepEarlyCancellation to stepCanceled and use flag instead

* Check correct variable on exit
2020-11-16 09:26:28 -08:00
Ron Buckton
54e54f4f19 Fix definition of ts.Iterator 2020-11-11 18:42:12 -08:00
Wesley Wigham
ebaa926f39
Fix post-LKG build 2020-11-11 16:50:08 -08:00
Andrew Casey
f79a78cd54
Merge pull request #41498 from amcasey/RemoveBeginEnd
Fold tracing.begin and end into push and pop
2020-11-11 15:23:11 -08:00
Andrew Casey
e8996a34a9 Remove redundant type annotation 2020-11-11 13:56:27 -08:00
Wesley Wigham
44595042b2
Comment position feedback 2020-11-11 13:02:09 -08:00
Wesley Wigham
2c7c62d7fa
Merge branch 'master' into fix-incremental-jsx-crash 2020-11-11 13:00:47 -08:00
Andrew Casey
116000e548 Fold tracing.begin and end into push and pop
Storing the arguments on the stack will make it possible to forego
try-finally blocks when we start tracing in server scenarios, which have
to handle cancellation.
2020-11-11 12:58:00 -08:00
Andrew Branch
266d8de64a
Proposal: importModuleSpecifierPreference: project-relative (#40637)
* Add new importModuleSpecifierPreference value

* Add second test

* Update API baselines

* Clean up and add some comments

* Rename option value
2020-11-11 11:48:32 -08:00
Christopher Hiller
40adb27799
dispose Mocha Runner after use to avoid MaxlistenersExceededWarning (#41403)
* dispose Mocha Runner after use to avoid MaxlistenersExceededWarning

- removed manual `unhandledRejection` listener as Mocha v8.2.0 now has one

* Remove ts-ignore comment and commented out line.

Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
2020-11-11 10:38:43 -08:00
csigs
0ffcbcf8bf LEGO: check in for master to temporary branch. 2020-11-11 06:10:47 +00:00
csigs
a335d84e17 LEGO: check in for master to temporary branch. 2020-11-11 00:10:40 +00:00
Nathan Shively-Sanders
9fb6acf1e1
Add missed resolveSymbol in commonjs import resolution (#41479)
Fixes resolution of export aliases in the postfix-property-access case
of commonjs require:

```js
const { x } = require('./foo').nested
x
```

This program would previously fail if `x` was an export alias.

Fixes #41422
2020-11-10 11:28:49 -08:00
csigs
e5a860cc95 LEGO: check in for master to temporary branch. 2020-11-10 18:10:28 +00:00
csigs
fb1fb6c68b LEGO: check in for master to temporary branch. 2020-11-10 12:10:30 +00:00
csigs
c7b1c011d3 LEGO: check in for master to temporary branch. 2020-11-10 06:10:43 +00:00
Wesley Wigham
dc7d997e4a
Fix crash on attempting to suggest a ts import for a synthetic js resolution 2020-11-09 14:05:17 -08:00
Nathan Shively-Sanders
64be2a8d16
Revert "Revert "feat(40197): handle uncalled function checks in binary expressions (#40260)"" (#41462)
This reverts commit cf3e28ea66bdfb4e438f86bd7d7860b66dae0ed8.
2020-11-09 11:34:41 -08:00
csigs
138e691eb5 LEGO: check in for master to temporary branch. 2020-11-07 00:10:50 +00:00
csigs
af3c6073ce LEGO: check in for master to temporary branch. 2020-11-06 18:10:47 +00:00
Wenlu Wang
ca7510ea05
String literal rename support (#39298)
* add basicly support for rename string literal type

* fix merge conflict

* fix some behavior

* Update package-lock.json

* Update package-lock.json

* do not break old behavior if not type checked

* fix cr issue

Co-authored-by: TypeScript Bot <typescriptbot@microsoft.com>
2020-11-06 09:58:34 -08:00
csigs
611dc78265 LEGO: check in for master to temporary branch. 2020-11-06 12:10:35 +00:00
csigs
0f944e6b4a LEGO: check in for master to temporary branch. 2020-11-06 06:10:41 +00:00
csigs
44d9d5bdb3 LEGO: check in for master to temporary branch. 2020-11-06 00:10:46 +00:00
Oleksandr T
899e2d00e9
fix(40469): suggest QF convert 'Convert to named function' to function expressions (#40476) 2020-11-05 10:25:24 -08:00
Oleksandr T
98aaeb7f48
fix(40610): handle template string concatenation (#40653) 2020-11-05 10:09:21 -08:00
Oleksandr T
45b698b3f6
fix(40632): skip emitting abstract members (#40699) 2020-11-04 16:02:17 -08:00
Sheetal Nandi
76cf8fd78b
Add way to exclude files and directories to watch (#39243)
* Parse excludeDirectories and excludeFiles

* Use watch factory in typings installer

* Some refactoring for watchFactory

* Create Noop watcher if file or directory being watched is excluded

* Baselines without using exclude watch options

* Baselines including exclude option

* Handle exclude options in the system watches

* Add test without exclude option for recursive directory watching

* Test baselines with exclude option

* Always set sysLog

* Test for exclude option in server

* Add exclude options in the config file and fix the test

* Fix host configuration for server

* Handle host configuration for watch options

* Fix sysLog time log so baselines can be clean

* Handle reloadProjects to reload the project from scratch

* Ensure that file updates are reflected

* Feedback

* Feedback
2020-11-04 13:30:06 -08:00
Oleksandr T
09048656d2
feat(40750): add refactoring to infer a return type annotation to a function (#41052) 2020-11-03 16:22:13 -08:00
csigs
3b059985dd LEGO: check in for master to temporary branch. 2020-11-04 00:10:47 +00:00
Sheetal Nandi
9c60d5a4d3
Dont look for properties of Object and Function type when looking to resolve named import from module with export= (#37964)
* Add tests

* Dont look at object or function type when looking for members of `export=` type to be resolved by named imports
Fixes #37165

* Create separate cache when skipping function and object property augmentation

* Lookup in both cache if not skipObjectFunctionPropertyAugment
2020-11-03 12:22:30 -08:00
csigs
8452f9741b LEGO: check in for master to temporary branch. 2020-11-03 18:10:38 +00:00
Daniel Rosenwasser
4d19d98ca1
Bump 4.2 (#41377)
* Bump version to 4.2.

* Accepted baselines.
2020-11-02 23:02:03 -08:00
csigs
487b37cc24 LEGO: check in for master to temporary branch. 2020-11-03 06:10:40 +00:00
Oleksandr T
ad70313141
fix(39858): generate valid async/await code for imported functions (#40154) 2020-11-02 16:12:08 -08:00
csigs
4116034b27 LEGO: check in for master to temporary branch. 2020-11-03 00:10:55 +00:00
Oleksandr T
5d81b17d02
fix(40042): add modifiers in correct position for decorated methods (#40050) 2020-11-02 15:52:57 -08:00
Oleksandr T
e4c1568c5d
fix(41078): add element access expressions support in convertFunctionToEs6Class (#41089) 2020-11-02 15:49:22 -08:00
Thomas Williamson
8ed251d0c7
Support xml namespace prefix for JSX elements and attributes (#37421)
* Support xml namespace prefix for JSX elements and attributes

Just as with the `-` character, `:` is now also treated specially in JSX
element and attribute names, but is only allowed a single time, and not
at the beginning or end of the name, as is specified in the JSX spec.
All tests in jsxInvalidEsprimaTestSuite still fail, but for slightly
different reasons now. Two lines in jsxEsprimaFbTestSuite were
uncommented as they included elements with namespaces, and they now pass
without error.

* Add case for colons at ends of identifier

* Add case for jsx namepsace intrinsics

* Add cases with upcase idents for jsx namespaces

* Add case for jsx namespaces with react option

* Always consider jsx names with colon to be intrinsics

* Adjust comment about chars valid in jsx names but not js idents

* Fix minor typo in namespace prefix test case variable name

* Remove misleading comments on isUnhyphenatedJsxName
2020-11-02 15:34:36 -08:00
Oleksandr T
3f92a6498f
fix(40257): fix type parameters range (#40265) 2020-11-02 15:20:13 -08:00
Wenlu Wang
ce8d702586
Add support for pedantic property access (#40171)
* Add support for pedantic property access

* accept baseline

* Update diag message

* Avoid pedantic

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2020-11-02 15:19:00 -08:00
Oleksandr T
056d01afda
fix(38283): fix incorrect parsing of static modifier (#41127) 2020-11-02 14:45:26 -08:00
okmttdhr
7db5f68144
Add index signature for anonymous object literal type (#37903)
* Use ts.map for stylistic consistency

* Show error only if noImplicitAny is set

* Accept baseline for noImplicitAnyIndexing

* Fix lint error

* Add test cases for indexedAccessWithFreshObjectLiteral
2020-11-02 14:35:56 -08:00
Oleksandr T
f646ec87fc
fix(40901): skip checking custom arguments name in a constructor (#40912) 2020-11-02 14:35:07 -08:00
Daniel Rosenwasser
373b352333
Rename 'compat' to 'deprecatedCompat'. (#41000) 2020-11-02 14:25:12 -08:00
Oleksandr T
075477f9cf
fix(35779): emit comments after trailing comma (#37887) 2020-11-02 14:24:55 -08:00
Nathan Shively-Sanders
ae81add083
Separate delete-all-imports from other delete-all (#41105)
This fixes the first part of #32196
2020-11-02 14:18:50 -08:00
Wesley Wigham
816af71d58
Fix incremental emit issue where dependency relations implied by synthesized imports would not be detected (#41346)
* Fix incremental emit issue where dependency relations implies by synthesized imports would not be detected

* Update src/compiler/program.ts

Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
2020-11-01 16:05:49 -08:00
Wesley Wigham
479105090d
Merge pull request #41330 from weswigham/jsx-import-source-as-auto-import
Auto-include types for the jsx import source in the new jsx transforms
2020-10-30 16:51:04 -07:00
Wesley Wigham
1e1ae3034b
Update src/compiler/program.ts
Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
2020-10-30 16:21:36 -07:00