3157 Commits

Author SHA1 Message Date
Wesley Wigham
bb4080c175
Collect _all_ symlinks a file may have witnessed when attempting to generate specifiers (#31571) 2019-05-23 17:17:24 -07:00
Titian Cernicova-Dragomir
8ab0a25211 Improve error messages when indexing into a type (#31379)
* Improved error messages when indexing an object type with a literal string, a literal string union or a string.

* Added more specific message when using the indexing operator with an incompatible index argument.

* Fixed spelling and error message.
2019-05-23 15:27:50 -07:00
Nathan Shively-Sanders
4d27361680
Allow JS with isolated modules (#31483)
* Allow JS with isolated modules

Previously legacy JS code was not allowed; it was required to use ES6
module syntax. Unfortunately, the check happens after parsing but before
binding, and the commonjs module indicator isn't set until binding
because it's not syntactically simple like the ES6 module indicator,
which is set during parsing.

So I decided that JS should be allowed during isolatedModules
unconditionally. We're not going to be transforming it anyway.

* Update baselines

* Switch test to outDir instead of noEmit
2019-05-23 11:09:28 -07:00
Sheetal Nandi
431f0d6d8c Add test case for #30429 2019-05-22 11:22:07 -07:00
Nathan Shively-Sanders
b36c8a0690
Make anyArray.filter(Boolean) return any[], not unknown[] (#31515)
* Add this-parameter workaround to Array.filter

Allows anys.filter(Boolean) to once again return any[], not unknown[].

* Add any constraint to Boolean factory function

I want to test how well this works.

* Remove Boolean factory type guard

* Remove typeGuardBoolean test
2019-05-22 09:45:41 -07:00
Wesley Wigham
3885e3fcda
Fix error message regressed by #30916 (#31276) 2019-05-14 16:58:06 -07:00
Wesley Wigham
f140dfc30b
Chain RHS narrowing and truthiness narrowing in assignment expression narrowing (#31348) 2019-05-13 14:41:33 -07:00
Wesley Wigham
b7fe99a88c
Instantiate constraint with default upon comparison (#31240) 2019-05-11 16:40:23 -07:00
Anders Hejlsberg
ae3d1d45c1
Merge pull request #31221 from microsoft/improveReverseMappedTypes
Improve reverse mapped types
2019-05-10 13:42:22 -07:00
Wesley Wigham
d8f2702a5d
Cache control flow results across invocations (#31003)
* Modify flow loop cache key to include all inputs

* Add test case, cache similarly to loop cache, reuse loop cache key (now corrected)

* Use simpler singleton key and type cache for FlowAssignment nodes
2019-05-10 11:48:44 -07:00
Daniel Rosenwasser
39e9a2bb4f
Maintain modifiers on Omit (#31205)
Maintain modifiers on `Omit`
2019-05-10 10:03:48 -07:00
Klaus Meinhardt
0c9db717ad fix parsing of leading union/intersection operator (#31265)
* fix parsing of leading union/intersection operator

Fixes: #30995

* test declaration emit
2019-05-08 14:09:11 -07:00
Andrew Branch
8c07b40cb6
Merge pull request #31098 from andrewbranch/bug/30804
Fix crash checking spread element in loop
2019-05-07 13:02:22 -07:00
Wesley Wigham
b365e657d4
Add unmeasurable variance kind for marking types whose variance result is unreliable (#30416)
* Add unmeasurable variance kind for marking types whose variance result is unreliable

* Remove now-unneeded nongeneric checks

* Add rule allowing `Readonly<any>` to be `any` instead of `{readonly [index: string]: any}`

* All Unmeasurable variances to still shortcut structural comparisons in some cases

* Separate unmeasurable from unreliable to reduce the impact of this change, for now

* Fix lint

* Remove Readonly<any> -> any callout

* Add fix for circularity error triggered by deep signature return type comparisons with `this` types
2019-05-03 14:42:17 -07:00
Anders Hejlsberg
f73308b248 Add tests 2019-05-02 15:24:56 -07:00
Sheetal Nandi
e3a91d8ca1
Merge pull request #31191 from Microsoft/fileFromNodeModules
Include only files that can be emitted into the source file directory check for composite projects
2019-05-01 15:09:32 -07:00
Daniel Rosenwasser
60962a8709 Added test. 2019-05-01 13:57:47 -07:00
uhyo
55bffe3616 add tests to check errors for use of 'await' in non-async function 2019-05-02 02:33:27 +09:00
Sheetal Nandi
3df65a7a85 Add test when module resolution includes .ts file from node_modules 2019-05-01 10:07:00 -07:00
Anders Hejlsberg
9509a54e66
Merge pull request #31141 from Microsoft/fixInferenceToIndexedAccessWithSubstitution
Fix inference to indexed access type containing substitution type
2019-04-30 17:45:53 -07:00
Kagami Sascha Rosylight
49d6f61298 Add ES2019 Object.fromEntries function (#30934)
* add ES2019 Object.fromEntries function

* add some comments

* apply suggested changes

* add readonly and general any
2019-04-30 09:49:58 -07:00
Anders Hejlsberg
90054497bd
Merge pull request #31116 from Microsoft/higherOrderConstructorTypes
Support higher order inferences for constructor functions
2019-04-30 08:41:58 -07:00
Collins Abitekaniza
7016d45447 Better errors for indexing gettable/settable values (#26446)
* give suggestions when index signature given

* add tests for noImplicitAny indexing on Object

* remove comments regarding error messages

* recommend set if el is on RHS of assignment else get

* add new baseline tests
2019-04-30 08:31:37 -07:00
Anders Hejlsberg
4f38aa88c2 Add regression test 2019-04-27 16:22:11 -07:00
Anders Hejlsberg
53cbea7846 Add tests 2019-04-27 07:51:05 -07:00
Jack Williams
0949ad1130 Fix #24991: Weaken narrowing for == (#29840)
Spelling
2019-04-25 19:30:03 -07:00
Max Heiber
f9d12ed54b fix 31012 allow noEmitOnError with isolatedModules (#34) (#31043)
fix #31012

Since the purpose of isolatedModules: true is to
do extra validation to ensure that separate
compilation is safe

Allowing emit in the presence of errors is
compatible with that intention.

Signed-off-by: Max Heiber <max.heiber@gmail.com>
2019-04-25 15:31:03 -07:00
Wenlu Wang
b8e3c41ee1 fix jsdoc iterator on expression of export assignment (#30558) 2019-04-25 14:53:06 -07:00
Kagami Sascha Rosylight
1a75d525fa add ES2020 matchAll APIs (#30936) 2019-04-25 14:11:50 -07:00
Daniel Rosenwasser
58898f4351
Make Omit alias a separate type (#31115)
Make `Omit` alias a separate type
2019-04-25 16:40:24 -04:00
Wenlu Wang
bc46c770bf allow literan enum const assertions (#30700)
* allow literan enum const assertions

* update desc
2019-04-25 10:09:21 -07:00
Daniel Rosenwasser
60e7b5d17e Added tests. 2019-04-24 16:43:17 -07:00
Andrew Branch
89497fcac9
Don’t use checkExpressionCached when checking spread element inside a loop 2019-04-24 14:15:58 -07:00
Andrew Branch
48f038067e
Add crashing test 2019-04-24 11:35:18 -07:00
Andrew Branch
956436853e
Fix crash getting error for type alias index signature without a type 2019-04-24 10:35:23 -07:00
Wesley Wigham
d7f03fb0fa
Parse generic function types in import type argument lists (#31079)
* Parenthesize in import type node factory

* And now parse unparenthesized generic functions so we can handle parsing the older output
2019-04-23 14:48:31 -07:00
Wesley Wigham
b47194bfa1
Fix contextual types for a single jsx child (#31040) 2019-04-23 13:51:39 -07:00
Andrii Dieiev
54fa950757 Skip primitive types comparison with array and object types (#31077) 2019-04-23 13:49:32 -07:00
Wesley Wigham
b02b823f03
Track parameter references errors in resolve name rather than secondary pass (#30349) 2019-04-23 13:46:19 -07:00
Klaus Meinhardt
760393f893 fix false positive 'variable is used before being assigned' in destructuring (#29636)
Fixes: #29458
2019-04-23 13:22:37 -07:00
Matt McCutchen
6487d1ffe0 Remove the rule that replaces a union of literal types with the base type when comparing equality to a type that isn't a union of literal types. (#27588)
type when comparing equality to a type that isn't a union of literal
types.

The rule is redundant because a primitive type is already directed-
comparable to a value of that primitive type, and it causes errors to be
missed when comparing a type parameter _constrained_ by a union of
literal types to another union of literal types.

The baseline changes look like improvements to me.

Fixes #26758.
2019-04-23 12:59:07 -07:00
Wenlu Wang
bd178746de improve error message when type have same name (#27065)
* improve error message when type have same name

* fix lint and function name

* update test case

* accept baseline
2019-04-23 12:56:03 -07:00
Daniel Rosenwasser
c74d25c115
30837 - Bad error message when default 'import'-ing an 'export =' without 'esModuleInterop' (#30847)
30837 - Bad error message when default 'import'-ing an 'export =' without 'esModuleInterop'
2019-04-23 11:23:06 -04:00
Daniel Rosenwasser
6427711f99
Better erreor messages for properties mis-handled as shorthand property declarations (#31039)
Better erreor messages for properties mis-handled as shorthand property declarations
2019-04-22 16:14:21 -04:00
Wesley Wigham
7a3e68fc5c
Only return the substitute in substitution instantiation when assignability fails (rather than subtype) (#31027)
* Only return the substitute in substitution instantiation when assignability fails (rather than subtype)

* Add test from issue
2019-04-19 16:02:11 -07:00
Wesley Wigham
40a2eb2b4b
Unify couldContainTypeVariables and the similar check done during instantiation (#30969)
* Stop symbol based filtering in couldContainTypeVariables

* Unify couldContainTypeVariables and the similar check done during instantiation
2019-04-19 16:01:53 -07:00
Wesley Wigham
1a4c15fb11
handle generic types in getArrayifiedType (#30606) 2019-04-19 14:32:33 -07:00
karthikkp
181d126b02 diagnostic messages conflicts resolved 2019-04-20 01:38:17 +05:30
Sheetal Nandi
0c18d032e7 Merge branch 'master' into incrementalLateSymbol 2019-04-17 15:41:53 -07:00
Sheetal Nandi
d919f2c113 Add test for #28334 2019-04-17 15:13:09 -07:00