Commit Graph

11238 Commits

Author SHA1 Message Date
Andrew Branch
0f1496f354 Process package.json exports with auto-import provider (#47092)
* Have auto-import provider pull in `exports`

* Revert filtering of node_modules relative paths, to do in separate PR

* Do @types and JS prioritization correctly

* Cache entrypoints on PackageJsonInfo

* Add one more test

* Delete unused function

* Fix other tests - dependencies need package.json files

* Do two passes of exports resolution

* Fix missed refactor

* Apply suggestions from code review

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

* Uncomment rest of test

* Handle array targets

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2022-01-11 11:10:35 -08:00
Anders Hejlsberg
4d6dd119d5 Add missing mapped type indexed access constraint (#47370)
* Type { [P in K]: E }[X] has constraint E with X substutited for P

* Add regression test

* Fix PragmaMap and ReadonlyPragmaMap declarations

* Explore additional constraint

* Revert previous change

* Add tests
2022-01-11 07:23:18 -08:00
Andrew Branch
852b1c2b73 Fix checker initialization crash with esModuleInterop and global merges resolving to ImportEquals aliases (#47348)
* Add minimal failing test

* Fix checker initialization crash with esModuleInterop global merges resolving to ImportEquals aliases
2022-01-10 16:04:12 -08:00
Oleksandr T
6fc0584dd5 fix(46402): create valid property keys/jsx attribute names (#46716) 2022-01-07 11:46:26 -08:00
Jake Bailey
484f1414d6 Prevent merged class/namespace from overlapping with Record<string, unknown> (#47088) 2022-01-07 11:02:48 -08:00
Kagami Sascha Rosylight
363e3a78f4 Add Error.prototype.cause (#47020)
* Add `Error.prototype.cause`

Fixes #47019

* Update test baselines
2022-01-07 14:58:58 +00:00
Gabriela Araujo Britto
404a7d602d Gabritto/semicolons (#46832)
* call formatter in completions

* fixes

* add test

* update api baselines

* fix createModifiersFromModifierFlag to not return empty array
2022-01-04 11:50:49 -08:00
Anders Hejlsberg
f4e1efbc29 Control flow analysis for dependent parameters (#47190)
* Support control flow analysis for dependent parameters

* Add tests
2022-01-04 09:22:11 -10:00
Zzzen
a42379179b fix merging of function and derived class (#47170) 2021-12-16 17:29:07 -08:00
Kagami Sascha Rosylight
20e86dab5b Emit class fields as-is with target: es2022 (#47018)
* Emit class fields as-is with `target: es2022`

Closes #47017

* wave 2
2021-12-16 15:15:33 -08:00
Oleksandr T
c282771d59 fix(47004): ignore arguments name in PropertyAssignment (#47054) 2021-12-16 13:05:48 -08:00
Oleksandr T
93bdfd2511 fix(47056): report errors for all properties with errors (#47057) 2021-12-16 12:58:15 -08:00
Anders Hejlsberg
3d3825e783 Fix multiple issues with indexed access types applied to mapped types (#47109)
* Fix multiple issues with indexed access types applied to mapped types

* Add tests
2021-12-14 11:51:03 -08:00
LowR
7e0e8671fa fix(47134): show all meanings for type-only imports and exports (#47138) 2021-12-14 10:58:21 -08:00
Hiroshi Ogawa
8974fead2d fix(47062): support generic arrow function with default type parameter in tsx (#47112)
* fix(47062): support generic arrow function with default type parameter in tsx

* test: update test "completionListIsGlobalCompletion"
2021-12-14 09:02:36 -08:00
Armando Aguirre
67872a50d0 Fix enums and namespace merge (#47059)
* Fix enums and namespace merge

* Remove unused comment
2021-12-13 14:03:19 -08:00
Andrew Branch
430599722e Fix extract type crash (#47136) 2021-12-13 10:39:34 -08:00
Anders Hejlsberg
06746efbd9 Revert change to getFalsyFlags (#47125)
* Revert change to getFalsyFlags

* Add regression test
2021-12-13 09:05:55 -08:00
Oleksandr T
df87a8c12d fix(44693): emit declaration of JSDoc overridden properties with different types (#46797) 2021-12-10 11:06:59 -08:00
Jake Bailey
0ed9247e17 Explicitly Omit unspreadable properties from rest type in the generic case (#47078) 2021-12-09 11:45:52 -08:00
Song Gao
e2c89af335 use default type parameter rather than unknown when show quick help (#46792)
* use default type parameter rather than `unknown` when show quick help

* prefer default type parameter than constraint for quick info
2021-12-08 17:02:22 -08:00
Nathan Shively-Sanders
a2c7fa2d05 Add 12 more grammar errors (#47075)
These are the last ones that I know of. They come from calls to
`grammarErrorOnFirstToken`.

Fixes part of #45349
Follow-up to #47067
2021-12-08 16:54:58 -08:00
Nathan Shively-Sanders
a72bf5410c Plain JS grammar errors (#47067)
* Plain JS grammar errors

From the list in
https://github.com/microsoft/TypeScript/issues/45349#issuecomment-974561208,
excluding the JSX errors, decorator errors and unresolved #private
error. The latter re-uses "Cannot resolve name X" which naturally shows
up a *lot* in plain JS.

* Add grammarErrorAtPos errors

Also remove checkGrammarArguments; it's blocked entirely by the same
parser error.
2021-12-08 15:16:23 -08:00
Oleksandr T
022542548e fix(47043): as const cast wrong colour when using typescript 4.5.2 (#47066) 2021-12-08 10:15:58 -08:00
Oleksandr T
5f372d9d7e fix(46606): show completion in jsdoc property tag (#46657) 2021-12-07 15:28:41 -08:00
Mateusz Burzyński
6722ef12d3 Add a test for a destructured union with tuple members (#46656) 2021-12-07 15:22:46 -08:00
Ron Buckton
67f84ef771 Fix Awaited<T> for onfulfilled callbacks with more than one argument (#46951) 2021-12-07 15:21:11 -08:00
Ryan Bargholz
7a12909ae3 fix(45713) Improve error report summaries (#45742)
* Improve error report summaries (#45713)

* fixup! Improve error report summaries (#45713)

* fixup! fixup! Improve error report summaries (#45713)

* Adds support for handling localization renaming the 'files' header due to localization

* fixup! Adds support for handling localization renaming the 'files' header due to localization

 - Fixed baseline error
 - Fixed linter error

Co-authored-by: Orta <git@orta.io>
Co-authored-by: Orta Therox <ortam@microsoft.com>
2021-12-07 10:50:44 +00:00
Jake Bailey
4013271cd8 Unwrap parens when checking for JSDocFunctionType in conditional expression (#46962) 2021-12-06 16:44:37 -08:00
Oleksandr T
4761ba6285 fix(46998): Hover on as const shows type const = /*unresolved*/ any (#47000) 2021-12-06 14:41:46 -08:00
Jay Clark
1fe9bfdd0e Fix strict/es5+ octal literal 2x error #46810 (#46823)
* Fix strict/es5+ octal literal 2x error #46810

Signed-off-by: Jay Clark <jay@jayeclark.dev>

* Accept baseline test changes

Signed-off-by: Jay Clark <jay@jayeclark.dev>

* Add test case

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2021-12-06 12:46:08 -08:00
Anders Hejlsberg
2a7eb58589 Properly union inferred template literal string types (#46782)
* Template literals and string mappings have 'string' as base type

* Add regression test

* Add tests for generic template literals

* One more test
2021-12-06 10:51:50 -08:00
Zzzen
7a1687de26 fix(42678): detect access to uninitialized variable in IIFE (#42776)
* fix(42678): detect access to uninitialized variable in IIFE

* improve performance

* Add missing space to match coding guidelines

* simplify the implementation

Co-authored-by: Jake Bailey <5341706+jakebailey@users.noreply.github.com>
2021-12-06 10:42:20 -08:00
Yuki Osaki
1f275d705d "No repeated property names" error in object literals is duplicated in strict mode (#46929)
* "No repeated property names" error in object literals is duplicated in strict mode

* fix indent
2021-12-06 10:22:28 -08:00
Wesley Wigham
97a7901f26 Use features for selected module resolution rather than all features for type reference directives, since they can add restrictions to resolutions (#47007) 2021-12-04 04:24:28 -08:00
Anders Hejlsberg
b2af6051ef Improve isValidSpreadType check (#47010)
* Fix getFalsyFlags for intersection types

* Fix and simplify isValidSpreadType

* Slight tweak

* Add tests
2021-12-03 16:11:01 -08:00
Andrew Branch
2ce05a8292 Completions sorting overhaul (#46703)
* Sort resolved auto-import completions by number of directory separators

* Sort completions in services layer

* Finish tests

* Fix more tests

* Respect SortText in completions

* Update tests to use `unsorted` assertion
2021-12-03 14:54:51 -08:00
Oleksandr T
407edc95c0 fix(46563): show completions at this type (#46581) 2021-12-03 14:29:45 -08:00
Oleksandr T
c5d9200ec6 feat(46986): offer QF for using await outside of async context (#46994) 2021-12-03 12:36:19 -08:00
Oleksandr T
4b794fe1dd fix(46345): omit temp variable for computed property name in ambient context (#46446) 2021-12-02 16:04:11 -08:00
LowR
bedc8d4124 fix(46195): handle numeric separators and larger integers correctly in codefix for large integers (#46389)
* fix(46195): handle numeric separators and larger integers correctly

* Use `indexOf()` instead of `includes()`
2021-12-02 16:01:43 -08:00
Jake Bailey
cdf12f91c7 Fix parsing of parenthesized functions in conditional expressions (#46960) 2021-11-30 12:57:37 -08:00
Oleksandr T
d3d088fac5 fix(44639): Transpilation of optional chaining combined with type casting results in function call losing its context (#44666)
* fix(44639): Fix emit for optional chain with type assertions

* Move ASI-blocking parens out of ts transform

* Add missing comments from PartiallyEmittedExpression+minor cleanup

* Avoid comment duplication on copied receiver

Co-authored-by: Ron Buckton <ron.buckton@microsoft.com>
2021-11-29 13:22:53 -08:00
Andrew Branch
68bf5a519a Fix formatting the end of a selection (#46875)
* Fix formatting edits at end of range

* Adjust test

* Revert API baseline changes
2021-11-29 09:27:21 -08:00
Nathan Shively-Sanders
868c275fdf Plain JS binder errors (#46816)
* Plain JS binder errors

Issue select errors from the binder in JS files that do not have checkJS
explicitly turned on or off. These errors mirror runtime checks done by
Javascript.

* Rest of plain JS binder errors

* address PR comments

* Only issue binder errors in plain JS.

Checker errors require requesting diagnostics, which stll needs to be
peformance tested.

This commit removes one cross-file duplicate declaration error in the tests.

* fix const lint
2021-11-18 17:13:06 -08:00
Oleksandr T
6143237376 fix(46366): handle enum string access as enumMemberName (#46431) 2021-11-18 15:50:32 -08:00
Zzzen
de4ba0f208 enable go-to-type-definition on type nodes (#46714)
* enable go-to-type-definition on type nodes

* only go when symbol has no value meaning

* Update formatting of src/services/goToDefinition.ts

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

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2021-11-18 08:55:54 -08:00
Oleksandr T
a75f26e68b fix(42238): emit this parameter in function declaration (#46511) 2021-11-17 15:43:27 -08:00
Andrew Branch
f11f14baba Fix broken module resolution after large/rapid edits in nodenext (#46818)
* Fix broken module resolution after edits in nodenext

* Move field copying to a better place I guess
2021-11-17 13:04:43 -08:00
Andrew Branch
009dd487a6 Update symlink cache from AutoImportProvider resolution even if host project already contains the file via its realpath (#46830) 2021-11-16 16:39:10 -08:00