Commit Graph

24459 Commits

Author SHA1 Message Date
Sheetal Nandi
61c3bfe484 Dont reload config file when package.json change is detected (#48866)
Fixes #48315
2022-04-27 18:07:54 -07:00
Oleksandr T
9b3853d49e fix(48851): exclude in from document highlights (#48853) 2022-04-27 17:51:05 -07:00
ZHAO Jinxiang
0885482eeb Fix export default expression comment (#48323) 2022-04-27 16:33:46 -07:00
Andrew Branch
476fc625df Eagerly resolve module specifiers for auto-import completions in --moduleResolution node12+ (#48752)
* Add failing test

* Block auto-import module specifiers including node_modules path

* Eagerly resolve module specifiers in completions in nodenext so failures can be filtered

* Add completion info flags for telemetry

* Update API baseline

* Update completions baselines

* Fix missed boolean flip

* Fix remaining tests
2022-04-27 16:07:15 -07:00
Oleksandr T
717a1be3c9 feat(48743): allow autocompletion in parameter object destructuring in JavaScript (#48757) 2022-04-27 14:00:01 -07:00
Nicola Dardanis
d45012c5e2 Add JS-specific diagnostic message for resolve() in Promise where type argument can't be inferred (#48533)
* change error message on Promise

* fix(46570): Unhelpful Promise type argument hint in JS file

* refactor: Reword void Promise message for JSDoc type hint to provide better feedback

Co-authored-by: Osa <osaimola@gmail.com>
2022-04-27 11:55:35 -07:00
Nathan Shively-Sanders
2a78b225d0 Stop tag after @callback from crashing (#48860)
By copying the kludge in @typedef. @callback's order is simpler, so the
kludge is simpler. However, it's wrong here, and in @typedef. Parsing
tag comments is normally supposed to happen at the end of a tag, but in
@callback and @typedef happens *before* parsing the nested
@param/@property tags.

I still need to figure out what a real fix is -- but for the beta,
copying the existing crash-avoidance kludge from @typedef is best
anyway. I added a test case for typedefs for future use as well.
2022-04-27 11:21:10 -07:00
Andrew Branch
7b6b4dc258 Fix getExportSymbolOfValueSymbolIfExported (#48769) 2022-04-26 13:39:20 -07:00
Anders Hejlsberg
787bb9ddb6 Improve support for numeric string types (#48837)
* Improve support for numeric string types

* Update test

* Add tests
2022-04-25 15:36:06 -07:00
Andrew Branch
c99380f87b Fix auto-import completions sometimes not updating existing imports (#48815) 2022-04-22 15:32:52 -07:00
Jake Bailey
07660c8307 Fix emit for undefined SourceFile (#48774)
Co-authored-by: Ron Buckton <ron.buckton@microsoft.com>
2022-04-22 11:18:53 -07:00
Sheetal Nandi
94cb657b1c Fix: verification of incremental correctness that was not working because of using wrote writeFile (#48751)
* Use fixed time for vfs so baselining is consistent

* Baseline buildinfos

* Write new file text in baseline even if the file wasnt read on the shadow

* Remove unnecessary debugger statement

* Make sure that incremental correctness is checked with correct writeFile so we know buildInfo was written
Also baseline these so its easy to verify the changes

* More baselines for the tsbuildinfo

* Renames and test fixes after dts Signature change merge

* COmment
2022-04-22 09:30:58 -07:00
Mateusz Burzyński
af30c79093 Fixed string literal completions for partially-typed strings when overload could get matched (#48811) 2022-04-22 08:36:14 -07:00
Oleksandr T
d71dd1d912 fix(48556): throw an error on jsx spread attributes with an invalid type (#48570) 2022-04-21 16:31:16 -07:00
Andrew Branch
7abdb9e7ef Format completion snippet text before escaping (#48793)
* Format snippet text before escaping

* Reset `escapes` before printing so printer can be reused
2022-04-21 13:40:14 -07:00
Sheetal Nandi
ab2523bbe0 Handles time on vfs and write non empty shadowed files in baseline even if they were not read (#48703)
* Use fixed time for vfs so baselining is consistent

* Baseline buildinfos

* Write new file text in baseline even if the file wasnt read on the shadow

* Remove unnecessary debugger statement
2022-04-21 11:50:28 -07:00
Sheetal Nandi
7a59e45f48 During emit, if shape signature for the file is same as version, then update it with emitted d.ts file (#48616)
* If we are writing dts file and have used file text as version, we can update the signature when doing actual emit

* Make WriteFileCallback Api ready for future

* Assert that there is only single source file when emitting d.ts file
2022-04-21 11:00:34 -07:00
Sheetal Nandi
45faac7e70 If we are updating dts of any of the file and it affects global scope, everything needs update in signature and dts emit (#48600)
* Add test

* Renames

* More refactoring

* If we are updating dts of any of the file and it affects global scope, everything needs update in signature and dts emit
Fixes #42769
2022-04-20 21:05:10 -07:00
John Lusty
273a567617 Fix handling of prologue statements when there are parameter property declarations (#48775) 2022-04-20 08:49:22 -07:00
Wesley Wigham
ce487e4fd3 Fix meta property symbol lookup (#48773) 2022-04-19 17:57:06 -07:00
Andrew Branch
d81a976c14 Ensure enum aliases referenced in other enum members do not get marked as referenced (#48770)
* Add test

* Ensure enum aliases referenced in other enum members do not get marked as referenced
2022-04-19 15:23:25 -07:00
Patrick Szmucer
2e619fdc80 Fix transformed constructor code when there is code between prologue statements and super call (#48765) 2022-04-19 09:19:25 -07:00
Jake Bailey
d3943fc86f Disallow line break between entity name and type arguments in typeof expression (#48755) 2022-04-18 16:18:31 -07:00
Anders Hejlsberg
65f6cb23d3 Constraints for mapped types with filtering 'as' clauses (#48699)
* Constraints for mapped types with filtering 'as' clauses

* Add regression test
2022-04-18 14:24:22 -07:00
Sheetal Nandi
56a4a93718 Instead of maintaining cache id etc, reset the "working" exports map cache. (#48579)
* Revert "Avoid no-op export map updates (#45238)"

This reverts commit 0f6e6efde0.

* Need to reset currentAffectedFilesExportedModulesMap after commiting to final exports map
2022-04-15 15:11:30 -07:00
Andrew Branch
8bd7ce6feb Find Source Definition (#48264)
* Prototype resolving to JS when go-to-def aliases all resolve to ambient declarations

* Add test infrastructure

* Start fleshing out test coverage

* Fix some go-to-def stuff

* Finish lodash test case

* Make go-to-implementation never return ambient results

* Build new functionality into go-to-implementation

* Update baselines

* Two more test cases

* Refine definition searches for unresolved imports

* Revert "Build new functionality into go-to-implementation"

This reverts commit 381799d0f1.

* Fix tests

* Revert go-to-implementation changes

* Wow a bunch of code was unnecessary

* Update baselines and go-to-def test

* Fix navigation on symbols that are not aliases but resolve through aliases in chain

* Temporarily replace go-to-def with new command implementation

* Revert "Temporarily replace go-to-def with new command implementation"

This reverts commit 34c6cfdebb.

* Revert "Wow a bunch of code was unnecessary"

This reverts commit 1cb2ba646c.

* Bring back some deleted code needed for a new test case

* Clean up a little

* Rename more stuff

* Update test

* Update API baseline

* Temporarily replace go-to-def with new command implementation

* PR review fixes

* Fix getTopMostDeclarationNamesInFile

* Rename local

* Use hash set

* Remove option from commandLineParser

* Keep noDtsResolution project around

* Handle AuxiliaryProject kind in ScriptInfo getDefaultProject etc.

* Do not run updateGraph in the background for AuxiliaryProject

* Don’t create auxiliary project outside of semantic mode

* No-op on scheduled invalidation

* Add comments to unit test

* Sync compiler options to auxiliary project

* Fix case sensitivity

* Update extensionIsOk with new file extensions

* PR feedback

* Update API baseline

* Mark scheduleInvalidateResolutionsOfFailedLookupLocations internal

* Use same heuristics on property accesses of loosely-resolvable aliases as unresolvable named imports

* Rename command, and no need to return the bound span

* Update API baseline
2022-04-14 15:44:19 -07:00
Jake Bailey
e6dcf6f5cb Fix lints after dep update (#48707) 2022-04-14 15:19:22 -07:00
Josh Goldberg
fa2515ecd9 Fixed multiple prologue directives with parameter properties (#48687) 2022-04-14 09:29:15 -07:00
Andrew Branch
796be45118 Update signatures to avoid post-LKG error (#48677) 2022-04-13 16:36:35 -07:00
Oleksandr T
73c93eec5c fix(48657): allow JSXElement names to be IdentifierNames (#48661) 2022-04-13 12:32:10 -07:00
Anders Hejlsberg
a027cfa8ac More permissive parsing of instantiation expressions (#48659)
* More permissive parsing of expressions with type arguments

* Add test
2022-04-13 09:16:43 -04:00
Sheetal Nandi
988fa85f88 Handle declaration file names consistently (#48647) 2022-04-12 11:43:57 -07:00
Anders Hejlsberg
cce61d1b69 Variance annotations on class expressions + deferred valiation (#48645)
* Variance annotations on class expressions + deferred validation

* Add regression tests
2022-04-12 09:34:33 -04:00
Sheetal Nandi
a1e77edfdf Fix the issue with not serializing impliedFormat when signature and version of the file are same (#48614)
* When checking for incremental correctness always calculate signature

* Fix the issue with not serializing impliedFormat when signature == version of the file
2022-04-11 12:39:57 -07:00
Andrew Branch
02787cfde1 Make LKG and nightly declaration emit the same (#48641) 2022-04-11 12:33:57 -07:00
Sheetal Nandi
15c2120a95 Update affected files pending emit when emitting using SemanticDignosticsBuilderProgram (#48519)
* Update affected files pending emit when emitting using SemanticDignosticsBuilderProgram

* Saving of affected files pending emit is not needed any more

* PR feedback
2022-04-11 11:54:39 -07:00
Jack Bates
c1db699482 Don't skip tests named *Fourslash.ts (#48615) 2022-04-11 11:45:44 -07:00
Gabriela Araujo Britto
dfb9f2f953 don't have type annotations on suggested object literal methods (#48607) 2022-04-11 11:33:02 -07:00
csigs
f81f63f343 LEGO: Merge pull request 48633
LEGO: Merge pull request 48633
2022-04-10 03:15:53 -07:00
Anders Hejlsberg
a744862aa5 Explore fewer constraints in getResolvedBaseConstraint (#48613) 2022-04-09 10:06:01 -04:00
csigs
b797a3eb2e LEGO: Merge pull request 48621
LEGO: Merge pull request 48621
2022-04-09 03:16:15 -07:00
Andrew Branch
af3e1d4dfd Reuse type nodes from optional parameters even when not written as a union with undefined (#48605)
* Reuse type nodes from optional parameters and properties even when not written as a union with `undefined`

* Remove newly unneeded NodeBuilderFlag

* Update public API

* Update baselines from main
2022-04-08 14:28:36 -07:00
Oleksandr T
3b2fa50a14 fix(48487): allow using private names as the self-assignment entity name (#48496) 2022-04-08 10:48:28 -07:00
csigs
b1fb7293c0 LEGO: Merge pull request 48612
LEGO: Merge pull request 48612
2022-04-08 07:59:17 -07:00
LowR
b45cf0d694 disentangle the meaning of SymbolLinks.target (#47098) 2022-04-07 15:40:39 -07:00
Zzzen
f4b99ea47c preserve this when extracting functions (#41992)
* preserve this when extracting functions

* rename IsThisReferringToFunction to UsesThisInFunction

* refactor

* update tests
2022-04-07 15:05:46 -07:00
Sheetal Nandi
d8edd191ab Write version for baselining in buildinfo (#48602)
Also baseline buildinfo so its easier to detect mistakes
2022-04-07 13:38:54 -07:00
jihndai
b18141b0bc Do not reset control flow analysis on index signatures (#48427)
* do not flag index signatures as a control flow container

* add tests and baselines
2022-04-07 13:29:07 -07:00
Ron Buckton
b975dfa102 Write more useful types in .types test outputs (#48578) 2022-04-07 09:51:17 -07:00
Wesley Wigham
4d2fb5407c Preserve the distributivity of inlined conditional types in declaration emit (#48592) 2022-04-06 17:21:46 -07:00