Commit Graph

22922 Commits

Author SHA1 Message Date
Ron Buckton db6f66cc4e Merge pull request #40593 from microsoft/nativePerformanceHooks
Migrate 'ts.performance' to use native performance hooks when available
2020-10-23 17:32:55 -07:00
Ron Buckton 7b0d049b89 PR feedback 2020-10-23 17:08:07 -07:00
Ron Buckton 8ed645ae1a Don't emit duplicate triple-slash directives when using API to print a .d.ts (#40968) 2020-10-23 16:31:58 -07:00
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
Ron Buckton c5800d1928 Remove shims, workaround for bug in peformance.measure 2020-10-22 13:52:10 -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 798b18be6e.
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
Ron Buckton 68806c67f1 Simplify tests for enablement in mark/measure, remove onProfilerEvent 2020-10-15 19:10:51 -04:00
Ron Buckton c52e3b29e7 Add unit tests for PerformanceHooks shim 2020-10-15 19:10:51 -04:00
Ron Buckton dfa55add5a Write message instead of crashing when native perf API not found. 2020-10-15 19:10:51 -04:00
Ron Buckton a197beef6d Migrate 'ts.performance' to use native performance hooks when available 2020-10-15 19:10:50 -04: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