Commit Graph

32182 Commits

Author SHA1 Message Date
Eli Barzilay
5be0d7156d Fix bug due to sharing of .type.members
Function extraction failed when using two identical `TypeLiteral`s ---
the problem is that the parameters' `.type.members` are shared in their
two occurences in the resulting code, and when the formatter bangs
position properties on the second, it's actually changing the first too.

* `typeToAutoImportableTypeNode`: wrap in `getSynthesizedDeepClone` to
  avoid the offeding sharing.

* `getSynthesizedDeepCloneWorker`: add optional nodes/token visitors so
  it doesn't skip cloning the above.

* A few very minor tweaks which I saw when tracing this (comment update,
  two `!`s).

Fixes #44301
2021-06-14 10:46:07 -04:00
TypeScript Bot
a875635ea7 Update package-lock.json 2021-06-14 06:06:06 +00:00
Anders Hejlsberg
5540364c12 Correct tuple relations in --strictOptionalProperties mode (#44568)
* Fix relations for optional elements in tuples with --strictOptionalProperties

* Accept new baselines

* Add regression test

* Address CR feedback
2021-06-13 12:53:13 -07:00
Anders Hejlsberg
6a1623d413 Ensure singleton types always compare identical (#44565)
* Singleton types should compare identical + fix boolean types

* Add tests

* Accept new baselines
2021-06-13 12:51:36 -07:00
TypeScript Bot
4829a7fedd Update package-lock.json 2021-06-12 06:05:58 +00:00
Ron Buckton
a0c44b26b7 Improve __spreadArray perf, and other fixes related to SpreadElement (#44527)
* Improve __spreadArray perf, fix array packing and trailing omitted expressions

* Ensure __spreadArray is backwards-compatible

* Add signature restriction for __spreadArray

* Added reusable true/false literals
2021-06-11 16:21:55 -07:00
Andrew Casey
cdd7ffdc56 Make handleDtsMayChangeOf void-returning (#44322)
* Make handleDtsMayChangeOf void-returning

Right now, it always returns false.  This seems important, since
otherwise it would stop graph traversals prematurely.  It took me a
while to figure that out though and I thought it might be clearer if it
were simply void-returning.

I've kept the behavior the same, except in
`forEachReferencingModulesOfExportOfAffectedFile`, where it seemed like
never enqueueing new references was a mistake.

* Make forEachFileAndExportsOfFile void-returning

As far as I can tell, it could only return `false`.
2021-06-11 14:52:52 -07:00
TypeScript Bot
41f78870e6 Update package-lock.json 2021-06-11 06:06:08 +00:00
Oliver Joseph Ash
69cc9ba5e4 Init (#44206) 2021-06-10 14:12:33 -07:00
Andrew Branch
7c293c8d46 Include actual generated module specifiers in module specifier cache (#44176)
* Add cache invalidation for node_modules, config, and preferences changes

* Share watches with closed script info

* Update API baseline

* Small adjustments for fewer object allocations

* Document overloaded return value

* Update baselines

* Store isAutoImportable separately from modulePaths

* Add back missing return

* Return wrapped watcher instead of underlying one

* Make user preferences part of the cache key instead of implicitly clearing in editor services

* Fix missed merge conflict
2021-06-10 12:26:32 -05:00
Wesley Wigham
130e16d73b Add missing JSXSpreadAttribute case to JSX completion logic (#44514) 2021-06-10 10:01:25 -07:00
Orta Therox
481c2037cc Re-name really long file (#44413) 2021-06-10 14:18:56 +01:00
Ikko Ashimine
4903c64ad2 Fix typo in open-cherry-pick-pr.ts (#44517)
seperately -> separately
2021-06-09 14:16:08 +01:00
Oleksandr T
147d721136 fix(43298): copy comments on converting from arrow function to anonymous function (#44236) 2021-06-08 15:22:23 -07:00
Oleksandr T
591be7bece feat(44263): add quick fix for misspelled override error (#44266) 2021-06-08 15:17:56 -07:00
Andrew Branch
703c1bc69d Include type reference directives in symlink cache, wait until program is present to create it (#44259)
* Fix discovery of more pnpm symlinks

* Add some tests

* Never show pnpm paths in auto imports, even if there’s no other path

* Import statement completions can return none

* Fix tests

* Add failing test showing poor symlink cache reuse

* Fix test, fails for right reasons now

* Preserve cache built up during program creation, then fill in with program resolutions

* Remove obsolete comment

* Remove obsolete type assertion

* Revert fully filtering out ignored paths
2021-06-08 12:06:55 -05:00
TypeScript Bot
bf4642f089 Update package-lock.json 2021-06-08 06:13:21 +00:00
Sheetal Nandi
dab2ffc45a Add SolutionBuilderHostBase.getCustomTransformers to be used when emitting. (#44489)
This allows not having to specify the transformers during normal watch scneario
Builds on top of #43984
2021-06-07 15:32:39 -07:00
Orta Therox
be2fec1386 Update playground build script (#44456) 2021-06-07 21:39:52 +01:00
TypeScript Bot
faefc72566 Update package-lock.json 2021-06-05 06:26:13 +00:00
Sheetal Nandi
24da242b67 Update the version in baselines (#44447) 2021-06-04 15:08:23 -07:00
Nathan Shively-Sanders
8e1bf08fa9 Fix duplicate visit of param tag comments (#44443)
Fixes #44422
2021-06-04 12:54:36 -07:00
Paul Gschwendtner
b26f77a703 Do not incorrectly add line separators for non-synthetic nodes when emitting node list (#44070)
As of 3c32f6e154, a line separator is
added between nodes if the nodes are not synthetic and on separate
lines. This it push s wrong and previously only happened if the non-synthetic
nodes were on different lines but had the same parent.

Fixes #44068.
2021-06-04 09:46:23 -05:00
TypeScript Bot
a7fb678c03 Update package-lock.json 2021-06-04 06:38:32 +00:00
Kitson Kelly
4b235eca17 fix: check if sysFormatDiagnosticsHost is defined (#44344)
* fix: check if sysFormatDiagnosticsHost is defined

* improve types
2021-06-03 17:05:48 -07:00
Daniel Rosenwasser
cec2fda9a5 Update LKG. (#44423) 2021-06-03 16:35:05 -07:00
Sheetal Nandi
9df7ecb38b Handle strict flag when writing tsbuildinfo (#44394)
* Add test showing how setting strict is not preserved in tsbuildinfo
Test for #44305

* Handle strict flag when writing tsbuildinfo
Fixes #44305

* Apply suggestions from code review

Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>

Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
2021-06-03 16:14:58 -07:00
Oleksandr T
31f03f46f2 fix(44273): preserves 'override' modifier in JavaScript output (#44290) 2021-06-03 15:42:19 -07:00
Daniel Rosenwasser
9906092db2 Add flag to change catch variables' default types to unknown (#41013)
* Add test case for 'useUnknownInCatchVariables'.

* Add new 'useUnknownInCatchVariables' flag.

* Accepted baselines.

* Add test for catch variable explicitly typed as 'any'.

* Accepted baselines.

* Move option under 'strict'.

* Accepted baselines.

* 'useUnknownInCatchVariables' is strict in command line help.
2021-06-03 13:12:56 -07:00
Orta Therox
6baa1bec64 Improve non-ambient class and function merge error (#44352)
* Improve non-ambient class and function merge error

* Update baselines

* Update tests

Co-authored-by: Austin Cummings <austin@austincummings.com>
2021-06-03 14:08:04 +01:00
Orta Therox
9d345e7734 Rename TSConfig option categories (#42514)
* Update the category descriptions for the tsconfig options

* Gets tests green

* Whitespace change

* Drop command line options from --init

* Go back to the old re-build baseline

* Fix numbers

* Remove formatting options from --showconfig

* Dpon't show output formatting changes in showConfig

* Update baselines

* Update baselines
2021-06-03 12:21:04 +01:00
TypeScript Bot
d8e9f69519 Update package-lock.json 2021-06-03 06:36:35 +00:00
Sheetal Nandi
d2516fa95b Tsserver tests can be baselined (#44326)
* Tests to baseline tsserver instead of checking
Also ensures inferred and auto import projects have name per project service

* Log structureIsReused value

* more baselines
2021-06-02 11:22:01 -07:00
Isabel Duan
9c50cb925e Fixes subset of bugs (three tests fixed) listed in issue #41974 (#44367)
* some fixes for 41974

* linted

* fixed todo messages for readability
2021-06-02 09:32:19 -07:00
TypeScript Bot
df6e3af022 Update package-lock.json 2021-06-02 06:50:26 +00:00
Anders Hejlsberg
391f9ffb85 Strict optional properties (#43947)
* Introduce --strictOptionalProperties compiler switch

* Accept new baselines

* Removing missingType when printing back optional properties

* Accept new baselines

* Fix linting issue

* Use getNonMissingTypeOfSymbol in getTypeOfSymbolAtLocation

* Properly elaborate errors involving optional properties

* Accept new baselines

* Properly check optional properties in tuple types

* Accept new baselines

* Add missing tuple type check

* More permissive check of strict optional properties and index signatures

* Add tests

* Fix lint issues

* Accept new baselines
2021-06-01 14:52:16 -07:00
Orta Therox
b603a04eed Switch references to master to main in the codebase + validating infra post-main migration (#44347)
* Update package.json

* Remove references to master in the codebase

* Add more master - main
2021-06-01 20:44:18 +01:00
Ryan Cavanaugh
4c018818c1 Add a testcase that fails when someone tried to make an Object.keys PR (#44368) 2021-06-01 10:58:59 -07:00
TypeScript Bot
663b19fe4a Update package-lock.json 2021-05-29 06:38:18 +00:00
Wesley Wigham
09a21ce7c6 Consider inferences between mapped type templates lower priority (#44126) 2021-05-28 21:07:39 -07:00
Oleksandr T
1f4c8708c2 fix(44123): forbid convert to async for generator callbacks (#44147) 2021-05-28 14:42:09 -07:00
TypeScript Bot
e34b2adcae Update package-lock.json 2021-05-28 06:32:26 +00:00
Anders Hejlsberg
9aa50d6475 Fix unintended 'as const' name lookup error (#44311)
* Fix logic for methods in isTypeParameterPossiblyReferenced

* Add regression tests
2021-05-27 17:23:28 -07:00
Sheetal Nandi
817e45d1c1 Dont update timestamps of output files if noEmit was specified (#44306)
* Add failing test for #44303

* Dont update timestamps of output files if noEmit was specified.
Fixes #44303
2021-05-27 17:09:30 -07:00
Wesley Wigham
7c31d97cbf Move string trim methods from utilities to core (#44308) 2021-05-27 14:20:23 -07:00
Sheetal Nandi
8721dd06f1 Add type brands for fileId and fileIdListId (#44280) 2021-05-27 11:15:13 -07:00
Sheetal Nandi
6329a0df90 Add traces for module resolution reuse (#44282) 2021-05-27 11:14:12 -07:00
TypeScript Bot
5fde87135f Update package-lock.json 2021-05-27 06:20:37 +00:00
Sheetal Nandi
32323ce7fb redirectsTarget is keyed with Path (#44278)
* redirectsTarget is keyed with Path

* sourceFileToPackageName to keyed with Path

* feedback
2021-05-26 16:50:14 -07:00
Andrew Branch
b1eaf3e170 Ensure AutoImportProviderProject can share source files with main program (#44274)
* Ensure AutoImportProviderProject can share source files with main program

* Revert package-lock change

* Add back reclassified options
2021-05-26 16:47:40 -07:00