22913 Commits

Author SHA1 Message Date
Andrew Casey
85ef91e223
Merge pull request #41180 from amcasey/ProgramTracing
Add tracepoints within createProgram
2020-10-23 13:08:53 -07:00
Oleksandr T
e5ca77626e
fix(41176): Missing Compiler API predicate function: isTemplateLiteralTypeNode (#41177) 2020-10-23 14:15:04 -04:00
Wesley Wigham
94b0e0e389
Merge pull request #41190 from weswigham/handle-binding-element-aliases
Handle the new js binding element alias symbols in JS declaration emit
2020-10-23 10:31:08 -07:00
Wesley Wigham
3bbc963303
Style feedback 2020-10-22 16:42:35 -07:00
Anders Hejlsberg
d1f87d18b1
Support partial reverse mapped inferences with tuple types (#41106)
* Support partial reverse mapped inferences with tuple types

* Add tests

* Accept new baselines
2020-10-22 11:27:41 -07:00
Andrew Casey
dcb18d6f18 Adopt push-pop API 2020-10-22 11:01:42 -07:00
Andrew Casey
9ad9ec984e Add tracepoint in resolveTypeReferenceDirectiveNamesWorker 2020-10-22 10:58:52 -07:00
Andrew Casey
0b31e487c2 Add tracepoints within createProgram
These were useful during the Midgard investigation.
2020-10-22 10:58:51 -07:00
Vincent Boivin
010ffdc121
New error format (#40974) 2020-10-21 15:02:49 -07:00
Eli Barzilay
fe7ec1ee2e Tracing work
* Fix: `E` events need to have the same information that is on the
  corresponding `B` events.  (Superseded below.)

* Use `I` (not `i`) for instant events, so they show in devtools
  too.  (Though they don't go through the flame chart as they do in
  `about://tracing`, so they're not nearly as useful.)

* Abstract the code that writes the records in a single `writeEvent`
  local function.

* Make `args` optional, and default to `undefined` (which will not add
  them) at all.

* Drop the `{ "ts": ... }` wrapper around the `args`, after verifying
  that having arguments with names like `begin`, `end`, `pos`, `id`
  doesn't interfere with either UIs.

* Add `tracing.push`/`tracing.pop` for complete events, change a few
  `.begin`/`.end` to use these.  (The caveat is that until there's an exit
  handler to dump unterminated events, these won't show in the dump.  When
  that's done the push/pop variant can be used everywhere.)

* Add meta lines to name the process and the thread, and a line that
  avoids the warning when opening in devtools.
2020-10-21 17:31:33 -04:00
Anders Hejlsberg
5d021b401a
Don't reduce 'keyof M' for mapped types with non-distributive 'as' clauses (#41186)
* Don't reduce 'keyof M' for mapped types with non-distributive as clauses

* Add regression test

* Accept new baselines
2020-10-21 12:16:46 -07:00
Wesley Wigham
f4255dd237
Handle the new js binding element alias symbols in JS declaration emit 2020-10-21 11:24:19 -07:00
Andrew Branch
1f852ed747
Percent-encode source map URLs (#41102) 2020-10-20 13:11:52 -07:00
Wesley Wigham
0ad22de146
Merge branch 'master' into fix/create-element-new-jsx-transform 2020-10-19 15:21:52 -07:00
Wesley Wigham
aa9445bc15
Merge branch 'master' into empty-jsx-child 2020-10-19 14:54:20 -07:00
Wesley Wigham
de93173f53
Revert "Add extensions to jsx automatically added import, per babel change (#40871)"
This reverts commit 798b18be6ee5cd1bf20c85de162fe994a6b66011.
2020-10-19 14:27:28 -07:00
Wesley Wigham
b8dfa28ca8
Do not consider empty jsx expressions semantically important children 2020-10-19 13:34:16 -07:00
Anders Hejlsberg
4638c685b1
Properly reduce intersections of string literal and template literal types (#41162)
* Properly reduce single element intersections

* Add regression test

* Accept new baselines
2020-10-19 13:05:29 -07:00
Sheetal Nandi
15cec9d1f7
Optimizes project loading in few scenarios (#41126)
* Some refactoring of forEachResolvedProjectReference

* More refactoring

* Test before the change

* When loading project tree, load projects that directly or indirectly reference the projects we are looking for

* Optimize finding project in solution scenario by directly finding possible default project through projectReferenceRedirect
This helps in avoiding loading indirect projects when solution indirectly referenced default project
2020-10-19 12:59:59 -07:00
Jesse Trinity
08e4f369fb
Add editor configurable filename-based ATA (#40952)
* add typeAcquisition:inferTypings

* remove unused property

* handle inferred and external projects separately

* update missed rename

* fix tests

* pass as external compilerOption

* update test

* remove hostConfig reference

* change option name

* remove extraneous property

* add inferredProjectCompilerOptions
2020-10-19 09:53:58 -07:00
Anders Hejlsberg
3918e6c535
Move anonymous type instantiation cache from AST node to root type (#41084)
* Move anonymous type instantiation cache from AST node to root type

* Use "root" type reference as cache location for deferred type references

* Add test

Co-authored-by: Andrew Branch <andrew@wheream.io>
2020-10-19 07:26:48 -07:00
Mateusz Burzyński
9fd2c2cb4b Add auto-import for createElement when using the new JSX transform 2020-10-17 19:47:49 +02:00
Eli Barzilay
868638ae04 performanceTimestamp: use performance.now on node
On node, `performance` is found in `require("perf_hooks")`.
2020-10-15 19:01:50 -04:00
Jack Works
ad96a52cc6
fix: IOSession access this before calling super (#40645)
* fix: IOSession access this before calling super

close #40399 

This makes the TS server crashes if the build target is ES6 or higher.

* fix

* revert unrelated changes

* revert unrelated changes

* revert unrelated changes

* better way
2020-10-15 11:01:26 -07:00
Wesley Wigham
ce1947b0be
Merge pull request #41070 from weswigham/use-minimal-endings-in-bundled-declaration-emit
Use minimal endings when generating declarations for js
2020-10-14 15:29:50 -07:00
Eli Barzilay
5b2fba3334 transformGenerators: handle CommaListExpression
Uses essentially the same code as `visitCommaExpression` (which was
moved, to keep both together and close to
`visit{Right,Left}AssociativeBinaryExpression`).

Fixes #40614.
2020-10-14 15:58:13 -04:00
csigs
ef5604b511 LEGO: check in for master to temporary branch. 2020-10-14 06:10:31 +00:00
csigs
6598f470a7 LEGO: check in for master to temporary branch. 2020-10-14 00:11:19 +00:00
Wesley Wigham
84726be01a
Merge pull request #40597 from weswigham/allow-instanceof-array-to-narrow-readonly-array
Handle the mapping between Array and ReadonlyArray in isTypeDerivedFrom
2020-10-13 15:08:17 -07:00
csigs
9ed6f2806a LEGO: check in for master to temporary branch. 2020-10-13 18:10:41 +00:00
Alex T
417b8a9481
fix(29881): infer quote preference for property access conversion in completions (#41041) 2020-10-13 10:06:27 -07:00
csigs
81739f8ba9 LEGO: check in for master to temporary branch. 2020-10-13 12:10:34 +00:00
Wesley Wigham
1cdb621257
Use minimal endings when generating declarations for js 2020-10-12 16:01:32 -07:00
Andrew Branch
83d02a5f05
Fix auto imports for export default edge cases (#41068) 2020-10-12 15:42:58 -07:00
Wesley Wigham
34fb470087
Merge branch 'master' into spread-compact-literals 2020-10-12 14:10:51 -07:00
Andrew Branch
a09a7144e7
Fix crash resolving ImportTypeNode in JSDoc (#40838) 2020-10-12 09:33:39 -07:00
Alex T
05be3b421a
fix: show deprecated error for alias (#40961) 2020-10-12 08:45:08 -07:00
Sheetal Nandi
a4b9bbae90
Handle noEmit and noEmitOnError with SemanticDiagnosticsBuilder (#40880)
* Add test that fails

* Handle noEmit on semantic builder's emit as well

* Add test for tsbuildinfo text verification

* Fix noEmit handling for tsbuildinfo emit with SemanticDiagnosticBuilder

* Add test for noEmitOnError with SemanticDiagnosticsBuilder

* Fix tsbuildinfo emit with SemanticDiagnosticsBuilder on noEmitOnError

* Update src/compiler/builder.ts

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>

* Update src/compiler/builder.ts

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2020-10-09 17:25:04 -07:00
Nathan Shively-Sanders
a109b5d5c8
Fix relative paths in commonjs decl emit w/property access (#40986)
```js
const x = require('./foo').y
```

was incorrectly using the unmangled require path as the temp name in
emit:

```
import ./foo_1 = require('./foo')
import x = ./foo_1.y
```

It now uses the imported identifier:

```
import x_1 = require('./foo')
import x = x_1.y
```

Discovered while fixing #37832
2020-10-09 16:32:57 -07:00
Wesley Wigham
aee18e0725
Merge pull request #41017 from weswigham/fix-unchecked-cast-crash
Fix crash due to unchecked cast in addImplementationSuccessElaboration
2020-10-09 15:58:08 -07:00
Sheetal Nandi
e6d525c5cb
Structure is reused should be on new program instead of old program (#41005) 2020-10-09 15:56:51 -07:00
Sheetal Nandi
876e44bbc6
Handle extra file extensions when wild card directory watch is invoked (#41018)
Fixes #40495
2020-10-09 14:07:55 -07:00
Andrew Branch
4766a2e5a3
Fix overlapping changes when un-qualifying import use site within transformed export (#40987)
* Fix overlapping changes when un-qualifying import use site within transformed export

* Break long line
2020-10-09 13:24:18 -07:00
Wesley Wigham
39c2a09b1f
Fix crash due to unchecked cast in addImplementationSuccessElaboration 2020-10-09 10:53:59 -07:00
Wesley Wigham
f324fde873
Fix lint 2020-10-08 17:34:06 -07:00
Wesley Wigham
de204430ec
PR feedback 2020-10-08 17:17:06 -07:00
Wesley Wigham
6b29f36674
Rename variable 2020-10-08 16:14:47 -07:00
Wesley Wigham
a49099fd15
Add elaboration when call fails all overloads but succeeds against the implementation signature 2020-10-08 14:55:14 -07:00
Alex T
23c5f9260c
fix(3758): show completion for object literals in an assignment pattern (#40976) 2020-10-08 12:27:53 -07:00
csigs
6f91ed1672 LEGO: check in for master to temporary branch. 2020-10-08 00:10:47 +00:00