Commit graph

32612 commits

Author SHA1 Message Date
Nathan Shively-Sanders 8fd16baba1 suggest primitives instead of wrappers 2021-09-30 13:12:17 -07:00
Nathan Shively-Sanders a734b84ed0 Always suggest spelling corrections
Even for types. Based on #42126, but without the namespace-specific
error message.
2021-09-30 11:03:07 -07:00
Nathan Shively-Sanders fc1a2aa450 Merge branch 'main' into always-suggesting-spelling-correction 2021-09-30 08:49:09 -07:00
Nathan Shively-Sanders 5ffa9a1216 Add parameter comments for resolveName calls 2021-09-30 08:48:36 -07:00
TypeScript Bot e4d9282b4b Update package-lock.json 2021-09-30 06:06:47 +00:00
Kagami Sascha Rosylight 2161e1852f
Add module: es2022 (#44656)
Closes #44653
2021-09-29 17:44:57 -07:00
Anders Hejlsberg 5ec836db82
Fix issues + Support template literal types as discriminants (#46137)
* Fix issues + Support template literal types in discriminants

* Add tests

* Address CR feedback
2021-09-29 17:38:43 -07:00
csigs f09c5e80c6
LEGO: Merge pull request 46138
LEGO: Merge pull request 46138
2021-09-29 16:13:38 -07:00
Oleksandr T e96c10fe0c
fix(26635): allow casts only when JSDoc type directly attached to an expression (#45960) 2021-09-29 12:16:27 -07:00
Hiroshi Ogawa 061f02cd64
fix(44021): reference jsx pragma when JsxFragment is used (#45894) 2021-09-29 11:31:59 -07:00
John McEntee 5d0d7ae85d
fix(45876): Remove "ascii character" order from docs for Float64Array.sort (#45883)
* fix(45876): Do not specify ascii chracter order in docs for Float64Array.sort() when compareFn is omitted.

* fix(45876): Do not specify ascii chracter order in docs for any TypedArray.sort() when compareFn is omitted.
2021-09-29 11:05:01 -07:00
Oleksandr T 8a2f5b2a6b
fix(45999): show parameter inlay hints before initializer (#46040) 2021-09-29 09:28:23 -07:00
Yoshiya Hinosawa 2667c6013c
Update parameter types of RegExp compile method (#46038) 2021-09-29 09:27:21 -07:00
csigs 0cd2330c7a
LEGO: Merge pull request 46133
LEGO: Merge pull request 46133
2021-09-29 04:15:22 -07:00
TypeScript Bot fc4f9d83d5 Update package-lock.json 2021-09-29 06:07:22 +00:00
csigs 4c854e6b2d
LEGO: Merge pull request 46126
LEGO: Merge pull request 46126
2021-09-28 16:15:09 -07:00
csigs 4cd3bb839b
LEGO: Merge pull request 46117
LEGO: Merge pull request 46117
2021-09-28 10:14:07 -07:00
csigs bdd321dc36
LEGO: Merge pull request 46113
LEGO: Merge pull request 46113
2021-09-28 04:15:13 -07:00
TypeScript Bot 075a7a8174 Update package-lock.json 2021-09-28 06:05:59 +00:00
csigs cdfc7965c9
LEGO: Merge pull request 46108
LEGO: Merge pull request 46108
2021-09-27 22:14:48 -07:00
Wesley Wigham 8d5c197f99
keyof should always include remapped keys (#45923)
* Loosen check in getIndexTypeForMappedType to directly map property names when any indexy type is present

* Handle homomorphic mappings better in keyof, add specific relationship rule for relating generic keyof MappedType to handle remapped keys

* Remove trailing whitespace
2021-09-27 19:10:02 -07:00
Andrew Branch 530b0e2e10
Fix indexing error in guessDirectorySymlink (#46105)
* Fix indexing error in guessDirectorySymlink

* Add test
2021-09-27 16:46:49 -07:00
csigs aabba1ac02
LEGO: Merge pull request 46106
LEGO: Merge pull request 46106
2021-09-27 16:14:06 -07:00
csigs 72721d781f
LEGO: check in for main to temporary branch. (#46093) 2021-09-27 16:08:38 -07:00
csigs 5512e915ca
LEGO: check in for main to temporary branch. (#46092) 2021-09-27 16:08:27 -07:00
csigs 4d26281311
LEGO: check in for main to temporary branch. (#46091) 2021-09-27 16:08:16 -07:00
csigs 20be4170b2
LEGO: check in for main to temporary branch. (#46090) 2021-09-27 16:07:35 -07:00
csigs 8fbfe5d74a
LEGO: check in for main to temporary branch. (#46089) 2021-09-27 16:07:26 -07:00
csigs 7bcbf8c1ae
LEGO: check in for main to temporary branch. (#46088) 2021-09-27 16:07:16 -07:00
Orta Therox d6cd2c7c11
Updates the DOM APIs (#46080)
* Updates the DOM APIs

* Tests

* Remove static abort(): AbortSignal
2021-09-27 22:07:57 +01:00
Andrew Branch e160bc8c0d
Type-only import specifiers (#45998)
* Parse type-only import specifiers

* Add type-only export specifiers

* Update transform and emit

* Update checking

* Fix elision when combined with importsNotUsedAsValues=preserve

* Accept baselines

* Add test

* WIP auto imports updates

* First auto-imports test working

* More auto-import tests

* Fix auto imports of type-only exports

* Add test for promoting type-only import

* Sort import/export specifiers by type-onlyness

* Update completions for `import { type |`

* Update other completions tests

* Respect organize imports sorting when promoting type-only to regular while adding a specifier

* Fix comment mistakes

* Update src/services/codefixes/importFixes.ts

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

* Rearrange some order of assignments in parser

* Split huge if statement

* Remove redundant check

* Update new transformer

* Fix import statement completions

* Fix type keyword completions good grief

* Fix last tests

Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
2021-09-27 12:38:30 -07:00
Anders Hejlsberg 26aef89a72
Make never inferences with template literal types only in special cases (#46075)
* Make 'never' inferences with template literal types only in special cases

* Accept new baselines

* Add regression test

* Fix comment
2021-09-27 06:47:47 -07:00
TypeScript Bot 4ce902c5fa Update package-lock.json 2021-09-27 06:09:08 +00:00
csigs 0ca06ede7a
LEGO: Merge pull request 46079
LEGO: Merge pull request 46079
2021-09-26 22:13:42 -07:00
csigs d8701a2de4
LEGO: Merge pull request 46077
LEGO: Merge pull request 46077
2021-09-26 16:14:05 -07:00
Anders Hejlsberg 2f0c6070cb
Properly handle missingType in intersections (#46052)
* Properly handle missingType in intersections

* Add regression tests

* Accept new baselines

* Fix tests
2021-09-26 14:13:42 -07:00
csigs 2be3d45aa7
LEGO: Merge pull request 46070
LEGO: Merge pull request 46070
2021-09-26 10:13:35 -07:00
csigs 7aa37fd2ff
LEGO: Merge pull request 46064
LEGO: Merge pull request 46064
2021-09-26 04:15:59 -07:00
TypeScript Bot f715af9dc1 Update package-lock.json 2021-09-26 06:06:13 +00:00
csigs da884d11ed
LEGO: Merge pull request 46060
LEGO: Merge pull request 46060
2021-09-25 16:14:30 -07:00
csigs d518bdb1f9
LEGO: Merge pull request 46058
LEGO: Merge pull request 46058
2021-09-25 10:13:51 -07:00
TypeScript Bot 9820a1df17 Update package-lock.json 2021-09-25 06:06:18 +00:00
Wesley Wigham 586b0d5011
moduleResolution: node12 support (#45884)
* Initial support for module: node12

* Add allowJs and declaration emit enabled tests

* Fix typos

* cts, mts, cjs, mjs, etc extension support

* Fix watch of files whose intepretation changes due to a package.json update

* Minor PR feedback

* Adjust error message

* Initial import/export/self-name support

* Accept new error codes

* TypesVersions support in export/import map conditions

* Fix import suggestion and autoimport default extensions under new resolution modes

* Add tests for import maps non-relative name lookup feature

* Fix isDeclarationFileName for .d.mts and .d.cts

* Preserve new extensions when generating module specifiers

* Fix spurious implict any suggestion caused by file ordering bug and optimize import name format detection by relying on parents being set

* Fix a bunch of incremental bugs that dont repro under fourslash for some reason

* Accept updated baseline

* Always include extensions on completions for cjs/mjs style imports

* String completion relative import suggestions respect the mode of the import when choosing if they provide extensions

* Style feedback

* Change diagnostic case
2021-09-24 14:25:59 -07:00
Orta Therox 12003e53c2
Default tsc --init to es2016 (#45934) 2021-09-24 19:13:53 +01:00
Orta Therox 90e83adb44
Resolve with -lib in TypeScript lib node lookup (#46046) 2021-09-24 17:46:29 +01:00
Jack Bates 27bbdf1fe9
Transform JSX spread children (#45693)
* Transform JSX spread children

* Target es2015 to skip helper and refine emit

Co-authored-by: Ron Buckton <ron.buckton@microsoft.com>

Co-authored-by: Ron Buckton <ron.buckton@microsoft.com>
Co-authored-by: Orta <git@orta.io>
2021-09-24 09:19:49 -07:00
Ashley Claymore af689cc5d5
ES private field check (#44648)
* es private fields in in (#52)

add support for the 'private-fields-in-in' TC39 proposal

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [fixup] include inToken when walking forEachChild(node, cb)

* [squash] re-accept lib definition baseline changes

* [squash] reduce if/else to ternary

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] drop 'originalName' and rename parameter instead

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] extend spelling suggestion to all privateIdentifiers

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] revert the added lexical spelling suggestions logic

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] update baseline

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] inline variable as per PR suggestion

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] test targets both esnext and es2020 as per PR comment

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* switch to using a binary expression

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] PrivateIdentifier now extends PrimaryExpression

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] accept public api baseline changes

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] classPrivateFieldInHelper now has documentation

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] type-check now follows existing in-expression path

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] parser now follows existing binaryExpression path

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] correct typo in comment

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] no longer use esNext flag

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] swap 'reciever, state' helper params

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] remove change to parenthesizerRules

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] apply suggested changes to checker

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] remove need for assertion in fixSpelling

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] improve comment hint in test

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] fix comment typos

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] add flow-test for Foo | FooSub | Bar

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] add checkExternalEmitHelpers call and new test case

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] simplify and correct parser

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] move most of the added checker logic to expression level

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] always error when privateId could not be resolved

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] reword comment

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] fix codeFixSpelling test

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] do less work

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* store symbol by priateId not binaryExpression

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* moved parsePrivateIdentifier into parsePrimaryExpression

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] checkInExpressionn bails out early on silentNeverType

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] more detailed error messages

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] resolves conflict in diagnosticMessages.json

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] update baseline for importHelpersES6

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] remove redundent if and comment from parser

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] split up grammar/check/symbolLookup

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>

* [squash] reword message for existing left side of in-expression error

Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>
2021-09-24 09:05:27 -07:00
TypeScript Bot 59fb3731e3 Update package-lock.json 2021-09-24 06:06:09 +00:00
Oleksandr T 1b6c8fd072
fix(45607): add snippet for type only import statements (#45873) 2021-09-23 16:13:17 -07:00
Orta Therox 61d2939359
Adds more Intl.ResolvedDateTimeFormatOptions, and hooks up Intl for ES2021 (#45905)
* Adds more ResolvedDateTimeFormatOptions to the Intl APIs

* Fix tests
2021-09-23 21:33:37 +01:00