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
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
Zzzen
a42379179b
fix merging of function and derived class ( #47170 )
2021-12-16 17:29:07 -08:00
Oleksandr T
c282771d59
fix(47004): ignore arguments name in PropertyAssignment ( #47054 )
2021-12-16 13:05:48 -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
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
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
Ron Buckton
67f84ef771
Fix Awaited<T> for onfulfilled callbacks with more than one argument ( #46951 )
2021-12-07 15:21:11 -08:00
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
Zzzen and Jake Bailey
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
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
719ab0b477
fix(43359): emit default exports with named exports that have the same names with types ( #44718 )
2021-11-12 11:25:52 -08:00
Kagami Sascha Rosylight and Orta
ae582a22ee
Add target: "es2022" ( #46291 )
...
* Add `target: "es2022"`
* Add Object.hasOwn
* formatToParts is es2018
* ref update
* optional parameter
* Revert "optional parameter"
This reverts commit e67d6e5f60 .
* undefined
* error cause
* Lint fix
Co-authored-by: Orta <git@orta.io >
2021-11-04 10:55:11 -07:00
Oleksandr T
ff75b8a180
fix(46615): remove useless assertion. change error suggestion for rest params ( #46628 )
2021-11-03 14:11:39 -07:00
Anders Hejlsberg
33fe1b6ffc
Fix contextual typing for symbol-named properties ( #46558 )
...
* Properly handle symbol-named properties in contextual types
* Update index signature in PropertyDescriptorMap
* Add regression tests
2021-11-02 14:05:41 -07:00
Anders Hejlsberg
56f81075f9
Properly check whether union type contains only primitive types ( #46645 )
...
* Properly check whether union type contains only primitive types
* Add regression test
* Remove 'export' modifier from test
2021-11-02 12:46:26 -07:00
Anders Hejlsberg
7cbcfeea99
Exclude identity relation from mapped type relation check ( #46632 )
...
* Exclude identity relation from mapped type relation check
* Add regression test
2021-11-02 06:54:35 -07:00
Daniel Rosenwasser
f494742ce9
Check for array types when instantiating mapped type constraints with any ( #46218 )
...
* Added/updated tests.
* Accepted baselines.
* Update test.
* Update instantiateMappedType to work specially when 'any' replaced an array.
* Accepted baselines.
* Ensure check works when constraint is a union of arrayish types, just like in `Promise.all`.
* Accepted baselines.
* Update test for indirect instantiation of a mapped type.
* Accepted baselines.
* Update test comment.
* Accepted baselines.
* Added tuple test case.
* Accepted baselines.
* Don't add special behavior for tuples.
* Accepted baselines.
* Revert "Don't add special behavior for tuples."
This reverts commit f01ae16e65 .
* Accepted baselines.
2021-10-27 15:03:01 -07:00
Anders Hejlsberg
44c63a757e
Always cache relations involving intersection types ( #46523 )
...
* Always cache relations involving intersection types
* Accept new baselines
* Add regression test
2021-10-26 09:36:19 -07:00
Andrew Branch
3519af0bab
Fix crash pulling on global types before they're initialized ( #46471 )
...
* Add failing test
* Dumb fix
* Compute error message info more lazily
* One more laziness
2021-10-25 10:53:41 -07:00
Daniel Rosenwasser
334b8eaa57
Bind assignments to 'this' within static blocks in JS files ( #46472 )
...
* Add failing test case.
* Handle 'this' assignments on class static blocks in JavaScript.
* Accepted baselines.
2021-10-22 15:44:35 -07:00
Oleksandr T
ce676d0963
fix(46433): forbid using keywords as parameter names ( #46459 )
2021-10-22 09:58:01 -07:00
Anders Hejlsberg
56b6279818
Improve logic for choosing between co- and contra-variant inferences ( #46392 )
...
* Improve logic for choosing between co- and contra-variant inferences
* Add tests
2021-10-19 09:58:10 -07:00
Oleksandr T
7582b1bbae
fix(45799): skip checking arguments used as a key in object literals ( #45814 )
2021-10-15 10:34:57 -07:00
Anders Hejlsberg
8718df3dc1
Fix stack overflow in JSX discriminated union logic ( #46354 )
...
* Use getContextFreeTypeOfExpression to avoid circularities
* Add regression test
2021-10-14 10:11:44 -07:00
Wesley Wigham
1c5d4e1740
Pass symbol under inspection into checkIndexConstraints ( #46350 )
2021-10-13 17:04:33 -07:00
LowR
cd0434aa76
fix(39744): make template literals more spec compliant ( #45304 )
...
* fix(39744): make template literals more spec compliant
* Add evaluation test for template literals
* Add test for template literals with source map
2021-10-13 12:03:31 -07:00
Anders Hejlsberg
0d2aeb7c65
Improve checks for infinitely expanding recursive conditional types ( #46326 )
...
* Improve checks for infinitely expanding recursive conditional types
* Accept new baselines
* Add regression tests
* Remove 'export' modifier
* Accept new baselines
2021-10-13 07:08:01 -07:00
Wesley Wigham
713afe2227
Set import mode on synthetic imports ( #46327 )
2021-10-12 16:23:37 -07:00
Wesley Wigham
ed9c522fd6
Accept new moduleResolution options on commandline ( #46239 )
2021-10-06 13:17:27 -07:00
Orta Therox
016d78b09e
Allow for class static vars to be called static ( #44813 )
...
* Allow for class static vars to be called static - re: #41127
* Add the baselines
2021-10-01 14:28:08 +01:00
Wesley Wigham and Andrew Branch
612c92d603
Track source and target relationship stack depth seperately, only increase on change in value ( #41821 )
...
* Track source and target relationship stack depth seperately, only increase on change in value
* Add baselines for test from #43485
* Bail on unwrapping conditional constraints on the source side when the source conditional is already known to be spooling out of control
* More usage of isDeeplyNestedType to block _specifically_ conditional recursion on only one side
* Negative cases of getNarrowedType that match the exact type should be filtered out, even when generic
* Add test and fix for #44404
* Swap to manually specifying left and right recursion
* Rename Left -> Source, Right -> Target
Co-authored-by: Andrew Branch <andrew@wheream.io >
2021-09-30 16:58:40 -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
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
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
Orta Therox
90e83adb44
Resolve with -lib in TypeScript lib node lookup ( #46046 )
2021-09-24 17:46:29 +01: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
Ron Buckton
4c0a51e14b
Avoid Promise<Awaited<T>> in return type inference ( #45925 )
2021-09-22 16:29:07 -07:00
Hossein
110b05987e
Fix GH-32798: Allow == null to narrow unknown to null | undefined ( #45853 )
...
* Fix GH-32798
* add assume true
* Address Gabby comments
* Address Gabby comments by adding Else branch
2021-09-22 10:54:59 -07:00
Oleksandr T
9b3ba871fb
fix(45987): fix pasring invalid names ( #45994 )
2021-09-21 14:02:58 -07:00
Oleksandr T
534fc14c66
fix(45850): Preserve const enums should keep import refs for exported const enums exported via named exports ( #45858 )
2021-09-16 10:15:41 -07:00
Orta Therox
b2f9432c40
Support resolving @typescript/[lib] in node modules ( #45771 )
...
* Support resolving @typescript/x for libs
* Baselines
* Tightens up the PR
* Fix the build
* Add cache
* Better naming
* Fixes the lookup path
2021-09-15 21:25:08 +01:00
Hiroshi Ogawa
4f8aa5239e
feat(45679): support 'did you mean' diagnostics for string literal union ( #45723 )
...
* feat(45679): support 'did you mean' diagnostics for string literal union
* Format suggested type with `typeToString`
* Address feedback
2021-09-14 08:53:36 -07:00
Orta Therox and Andrew Branch
13bdc03ab5
Intl fix for nightly ( #45820 )
...
* Fix #45804
* Update src/lib/es2020.intl.d.ts
Co-authored-by: Andrew Branch <andrewbranch@users.noreply.github.com >
* More fixes
* Adds a test
Co-authored-by: Andrew Branch <andrewbranch@users.noreply.github.com >
2021-09-10 19:46:46 +01:00
Ron Buckton
ea521d45e9
Adds 'Awaited' type alias and updates to Promise.all/race/allSettled/any ( #45350 )
...
* Adds 'Awaited' type alias and updates to Promise.all/race/allSettled/any
* Use Awaited<T> with 'await'
* Clean up overloads
* Further restrict 'Awaited<T>' auto-wrapping for 'await'
2021-09-09 18:23:17 -07:00
Andrew Branch
8610ff5ebe
Add --preserveValueImports ( #44619 )
...
* Add compiler option
* Require es2015+
* Do not elide any imports or exports in preserve-exact
* Add errors for writing imports/exports that reference elided names
* Improve diagnostics wording
* Update API baselines
* Redo as noEraslingImportedNames
* Update option category
* Update baselines
* Lint
* Fix up transformer comments
* Fix errors from merge
* Update other error code baseline
* Rename to "preserveValueImports"
* Clean up, reword diagnostics
* Update API baselines
* Update other baseline affected by error message reword
* Update tsconfig baselines
* Add debug assertion instead of !
2021-09-08 16:30:22 -07:00