Mateusz Burzyński
2ef3901940
Fixed initializaiton-time inference for class properties assigned through element access ( #49374 )
2022-07-13 14:43:23 -07:00
Andrew Branch
695b24d187
Move DebugTypeMapper to debug.ts ( #49864 )
...
* Move DebugTypeMapper to debug.ts
* export `DebugType`
2022-07-11 13:25:33 -07:00
Anders Hejlsberg
c2897189cb
Defer types like keyof (T & {}) ( #49696 )
...
* 'keyof undefined' and 'keyof null same as 'keyof never'
* Update tests
* Defer types like `keyof (T & {})`
* Restore test
* Update test
* Accept new baselines
* Add tests
2022-07-07 11:54:22 -10:00
Anders Hejlsberg
2eaf49f56e
Handle pseudo-references in getFlowCacheKey ( #49828 )
...
* Handle pseudo-references in getFlowCacheKey
* Add tests
* Accept new baselines
2022-07-07 11:53:30 -10:00
Andrew Branch
9dde56c6fc
Add path completions for package.json exports with wildcards ( #49644 )
...
* Support path completions for exports wildcards
* Break up results by directory
* Share code between typesVersions and exports processing
* Revert completion kind change
* Add kinds to tests
* Update existing test
* Support nested conditions, improve recursive globbing
2022-07-07 12:26:18 -07:00
AlCalzone
f6684be95e
fix: correct name length criterion for spelling fixes ( #49575 )
...
Co-authored-by: Jake Bailey <5341706+jakebailey@users.noreply.github.com >
2022-07-07 09:08:37 -07:00
Jake Bailey
59238dbf90
Make contextFlags an explicitly required parameter ( #49720 )
2022-07-06 16:11:39 -07:00
Oleksandr T
8ae1e9e7c7
fix(49685): omit incorrect visibility error when setter precedes getter ( #49697 )
2022-07-06 15:59:05 -07:00
Jake Bailey
94a65769d4
Add debug format helpers for more enums ( #49732 )
2022-07-06 15:35:57 -07:00
Wesley Wigham
9872184483
Remove dependence on module compiler option to consider mts/cts files always modules ( #49815 )
2022-07-06 13:26:36 -07:00
Wesley Wigham
eb430f27ea
More documentation on the impliedNodeFormat SourceFile field ( #49816 )
2022-07-06 13:25:58 -07:00
Jake Bailey
af70f240a1
Always resetErrorInfo if structuredTypeRelatedTo succeeds ( #49718 )
2022-07-06 12:57:01 -07:00
Mateusz Burzyński
8687940398
Add visible alias statements for non-visible binding patterns when emitting declaration ( #48869 )
2022-07-06 10:08:17 -07:00
Wesley Wigham
0f868035af
Constrain infer type parameters made to preserver distributivity for inlined homomorphic mapped types ( #49793 )
2022-07-06 09:32:37 -07:00
Oleksandr T
e2e3c1285f
fix(49544): allow comma token after accessors ( #49545 )
2022-07-06 08:54:54 -07:00
Jake Bailey
641ab8eb97
Infer rest type without using assignContextualParameterTypes ( #49740 )
2022-07-06 08:27:56 -07:00
Andrew Casey
2876f3ae85
Minor fixes ( #49791 )
...
* Fix operator precedence
* Tidy up some conditions with statically knowable values
2022-07-05 15:02:14 -07:00
Oleksandr T
cdc1996e87
fix(49426): Object method snippet completions incorrectly add this parameters ( #49757 )
...
* fix(49426): omit this parameter
* add OmitThisParameter to TypeFormatFlags
* change flag value
2022-07-05 11:46:19 -07:00
Anders Hejlsberg
2f260885cc
Cache results of expensive repetitive type operations ( #49760 )
2022-07-05 07:02:32 -10:00
Will Nayes
501e442ffc
Elide import equals in transpileModule if referenced only by export type ( #49664 )
...
* Elide import equals in transpileModule if referenced only by export type.
* Revise approach to avoid marking alias in export type as referenced.
* Handle type only export specifier.
2022-07-05 09:08:43 -07:00
Ron Buckton
c6ff5f3b52
Fix for Awaited<T> inference ( #49748 )
2022-07-01 15:00:54 -07:00
Andrew Branch
f8aa570b23
Get type arguments lazily for instantiating inferred type parameter constraint ( #49744 )
...
* Get type arguments lazily for instantiating inferred constraint
* Use new deferred type mapper
2022-06-30 16:23:07 -07:00
Wesley Wigham
4c34f2c792
Fix mapper used to instantiate distributive conditional manufactured in declaration emit ( #49737 )
2022-06-30 15:03:25 -07:00
Sheetal Nandi
c251d60095
Instead of storing timestamp of when last d.ts file was modified, store its name so buildinfo becomes portable again ( #49717 )
...
* Store dts change file path in buildinfo
* With composite, do not write d.ts files if they changed
* Determine dts change based on outputs
* Instead of storing time in buildinfo store filename which was last updated to get modified time stamp from
* Get declaration time change lazily
* Rename per feedback
2022-06-30 09:49:27 -07:00
Andrew Branch
93f2d2b9a1
Add variance results to tracing, capture variance verification on annotated type params ( #49712 )
...
* Add variance results to tracing
* Tweak format, prohibit `results` on `E` events
2022-06-29 16:30:57 -07:00
Mateusz Burzyński
bd11ce2aeb
Fixed an issue with self-referential awaited union ( #49677 )
2022-06-29 13:01:36 -07:00
Jake Bailey
b379e7fc79
Pass contextFlags when getting contextual type of JSX elements/attributes ( #49707 )
2022-06-28 14:40:26 -07:00
Andrew Casey
2f86a83dff
Fix mis-completed variable name in tracepoint ( #49715 )
2022-06-28 14:32:44 -07:00
Sheetal Nandi
7e91485bec
Use value meaning for computed property name for visibility check ( #49678 )
...
* Test
* Use value meaning for computed property name
Fixes #49562
2022-06-27 15:16:33 -07:00
Sheetal Nandi
df21926976
To handle d.ts emit errors that could affect other files, in incremental mode use d.ts emit text + diagnostics as signature of the file ( #49543 )
...
* Add test when declaration emit has errors and d.ts emit doesnt change which results in incorrect incremental behaviour
* Refactor
* Use declaration diagnostics in the d.ts signature for the file so it can be more accurate for detecting changes to file that could affect other files
Fixes #49527
* Renames and clarifications
* Simplify serialize declaration diagnostics for signature purpose
Do not serialize file name if error is in same file we are emitting. this should avoid having to do file path computation in most cases.
Locations are start and length instead of line and character.
Do not use any indents
* Fix baselines
2022-06-27 15:02:11 -07:00
Andrew Branch
2bc91a6b46
Fix parser TODO ( #49679 )
2022-06-27 09:05:41 -07:00
Jake Bailey
569cdf1b07
Disallow expression with type parameters as left side of property access ( #49464 )
2022-06-24 15:54:21 -07:00
Andrew Casey
020ef41543
Add a simple queue implementation with better performance than Array.shift ( #49623 )
...
* Add a simple queue implementation with better performance than `Array.shift`
This lets us clean up the hack introduced in #49581
* Correct typo
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com >
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com >
2022-06-24 10:07:28 -07:00
Oleksandr T
8636adbbb9
fix(49449): change error location when passing objects/arrays to an argument of type ( #49593 )
2022-06-22 10:06:01 -07:00
Jake Bailey
71b5bdf980
Ensure resolved signature is cached before processing call errors ( #49598 )
2022-06-21 13:15:03 -07:00
Anders Hejlsberg
529ba99e29
Use separate marker types for variance annotation validation ( #49616 )
...
* Use separate marker types for variance annotation validation
* Add regression test
2022-06-21 06:42:10 -07:00
Jake Bailey
d7e58c8ea9
Fix arrow expressions in conditional expressions, take N+1 ( #49531 )
2022-06-17 16:34:27 -07:00
Andrew Branch
7e7c53961a
Add TS Server option to exclude files from auto-imports ( #49578 )
...
* Basic functionality
* Add tests
* Add test for ambient modules
* Add to protocol
2022-06-17 14:39:51 -07:00
Andrew Branch
1213c35d57
Add error when importing/exporting types in JS files ( #49580 )
...
* Add error when importing/exporting types in JS files
* Ignore type-only imports, update other baselines
* Clean up
2022-06-17 14:39:24 -07:00
Wesley Wigham
5c4caafc2a
Allow nongeneric string mapping types to exist ( #47050 )
...
* Allow nongeneric string mapping types to exist
* Accept baseline
* Recusive membership testing function
* Fix lint
* Add @DanielRosenwasser's comment
2022-06-16 17:02:31 -07:00
Gabriela Araujo Britto
86d5040031
Fix renaming of node_modules ( #49568 )
...
* add bug repro test
* add test and start fix implementation
* adjust for useAlias preference
* fix existing renaming test
* refactor to get rid of options
* fix named bindings & other imports cases
* fix eslint error
* address cr comments
* hopefully actually fix eslint
* clean up stale baseline
* make API change non-breaking
* add/fix comments
2022-06-16 17:01:44 -07:00
Oleksandr T
f83ce9bd9c
fix(49566): Implicit this.property completions not returned while writing property ( #49574 )
...
* fix(49566): show this.prop completions in class scoped property declaration
* remove duplicate default value
2022-06-16 12:43:50 -07:00
Anders Hejlsberg
18ac37221b
Properly re-scan > token in type argument list determination logic ( #49560 )
...
* Properly re-scan '>' token in type argument list determination logic
* Add regression test
2022-06-15 12:06:08 -07:00
Wesley Wigham
ba38fe1df2
Expand constraint suggestion related span and add quick fix ( #49481 )
...
* Expand constraint suggestion related span and add quick fix
* Remove circular constraint suggestions
* Add error code
* Style feedback and new error code in quickfix
2022-06-15 10:35:51 -07:00
Wesley Wigham
eb4b8a4d2e
Handle this in isEntityNameVisible ( #49521 )
2022-06-15 10:15:19 -07:00
Oleksandr T
0ada54c006
fix(49483): throw error on await inside non-async function ( #49496 )
2022-06-14 16:08:25 -07:00
uhyo
29dffc3079
Forbid unused property renaming in destructuring binding in function types ( #41044 )
...
* Forbid renaming a propertyin function type parameters
* add tests
* Remove renaming from declaration output
* accept baseline
* accept baseline
* renew tests (not very right now)
* get correct result
* update diagnostic text
* accept baseline
* add declaration emit test
* fix declaration emit
* fix formatting
* revert unnecessary change
* accept baseline
* extend tests
* Revert "revert unnecessary change"
This reverts commit 17a29fff6c .
* accept baseline
* Rename and refactor potentialAlways... stuff
* add non-identifier names
* extend check to non-identifier original property names
* update diagnostic message
* add related span
* accept baseline
* add symbol-keyed test case
* oops?
* workaround for unstable test
* fix suggested name
* add comment about non-identifier property names
* simplify isReferenced check
* accept baseline
* move it one step further
2022-06-14 12:13:49 -07:00
bentongxyz
dbab6eb898
fix #49235 Objects that pass the spread syntax can no longer be assigned to assignable types. ( #49337 )
...
* fix issue 49235
* update code with suggested changes
Co-authored-by: Benjamin Tong <benjamin.tong@iddy.ai >
2022-06-14 10:43:18 -07:00
Sheetal Nandi
4c1e8f2281
Fix incorrectly added resolution to resolutionsWithOnlyAffectingLocations ( #49523 )
2022-06-13 22:46:41 -07:00
Anders Hejlsberg
dc6a80bd00
Fresh {} is subtype of object ( #49503 )
...
* Fresh {} is subtype of object
* Add regression test
2022-06-13 12:21:51 -07:00