* Refactor `Extensions`, fix lookup priorities
* Update baselines
* Clean up
* Temporarily apply same fix to `node` for testing
* Revert ancestor node_modules lookups back to two passes
* Revert "Temporarily apply same fix to `node` for testing"
This reverts commit 4014f3005a.
* Update baselines
* Add new test for node_modules searching behavior
* Update new baseline
* Resolve aliases past first merge in `resolveName`
* WIP
* Fix when a namespace merges with an alias that resolves to a type merged with an alias that resolves to a value 😵
* Audit all resolveSymbol and resolveName calls
* Fix qualification in re-exporting global cases
* Fix infinite loop detection
* Update baselines
* Just make getAllSymbolFlags default to All
* Update error messages for CJS imports resolving to ES modules
* Update error message
* Use package scope from source file
* Update baselines
* Issue error for JSX/TSX files
* Switch from related info to message chain
* Write a test and a huge comment
* Finish fixing everything
* Clean up comment
* Remove obsolete comment
* Fix comment trailing off
* Optimize to hit the file system much less
* 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
* Fix path completions for typesVersions
* Add more tests
* Fix case when * is a fragment of a path component
* Once a path pattern matches, only return completions from that pattern and higher priority ones
* Fix iteration order issue
* Aesthetics
* Allow referencing type-only exports as namespace members in ImportTypes and TypeQueries
* Add extra test case
* ;; -> ;
* undefined -> false
Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
* 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
* 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
* 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
* Add isolatedModules error for ambiguous imports referenced in decorator metadata
* Improve test and accept baselines
* Error only for es2015+
* Add namespace import to error message as workaround
* Add codefix
* Fix merge fallout
* Fix duplicate completions from two different copies of a node_modules package
* Fix logic for scoped packages
* Fix errors from merge
* Less gross way to reconcile these two conflicting PRs
* Allow moduleSymbolToValidIdentifier to be uppercase for JSX tags
* Cleaner way of getting the uppercase name when needed
* Fix build errors, get rid of basically unnecessary ScriptTarget
* More accurate name for parameter
* Rename other parameter too
* Fix failing test
* Import fix
* Wire up completions, add sorting to fix
* Fix overlapping changes when there’s only one import specifier
* Update API baseline
* Add sorting and filtering back to UMD fix
* Use package.json cache in module specifier generation
* Let AutoImportProviderProject reuse module resolution cache of host project
* Add missing module resolution cache access, add logging to getRootFileNames
* Reuse packageJsonImportFilter
* Only log when the project will be created, update API baseline
* Remove override that could mess up watches
* Have auto-import provider pull in `exports`
* Revert filtering of node_modules relative paths, to do in separate PR
* Do @types and JS prioritization correctly
* Cache entrypoints on PackageJsonInfo
* Add one more test
* Delete unused function
* Fix other tests - dependencies need package.json files
* Do two passes of exports resolution
* Fix missed refactor
* Apply suggestions from code review
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* Uncomment rest of test
* Handle array targets
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* Sort resolved auto-import completions by number of directory separators
* Sort completions in services layer
* Finish tests
* Fix more tests
* Respect SortText in completions
* Update tests to use `unsorted` assertion