* Add test for node16 resolution with package json lookup making casing incorrect
* Handle more places where package direcroy is converted to canonical file path
Component commits:
83a58b0229 Check if its same buildinfo only for directly referenced projects and not recursively Fixes#50545
Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
Component commits:
46ce0b2582 Use bidirectional comparability (aka comparability) in narrowing
3e227f7973 Rename test, check other CFA branch, test without strictNullChecks
Co-authored-by: Andrew Branch <andrew@wheream.io>
Component commits:
3652682f52 {} & null and {} & undefined should be never in non-strictNullChecks mode
dd32cf8203 Add tests
03cb73ffe1 Address code review feedback
45025535ce Accept new baselines
Co-authored-by: Anders Hejlsberg <andersh@microsoft.com>
Component commits:
00e3926c48 Defer distributing index over generic object types
2ba9ff19c8 Only check if the index type should be deferred for intersection types
873dfea5d2 Add an additional test case
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
Component commits:
40a5fc1189 Handle intersections in isGenericTypeWithoutNullableConstraint
7a14338fb8 Add regression test
Co-authored-by: Anders Hejlsberg <andersh@microsoft.com>
Component commits:
7bd2a6eeb7 Only normalize intersections that include {}
698c3ab770 Accept new baselines
Co-authored-by: Anders Hejlsberg <andersh@microsoft.com>
Component commits:
0cb4514766 Add test to show how scope messes with casing
a3ea961838 Do not canonicalize the file names when getting absolute paths Fixes#50544
dfb1e401f0 Unnecessary exports
fc35e0a032 Add test for self referencing package
9076f4d57d Fix self reference package with casing
Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
Component commits:
e2d22fa5bc Unify default import resolution across specifier target codepaths
b3416997bb Merge main into branch
cf010b517d Use differing type aliases, per request
Co-authored-by: Wesley Wigham <wewigham@microsoft.com>
Component commits:
5392e26891 Fix export = error message to not have redundant language
Co-authored-by: Jake Bailey <5341706+jakebailey@users.noreply.github.com>
Component commits:
4a808aa417 Add tests when realpath supresses the casing error
97011d68ba Fix when real path results in value that differs only in case Fixes#49470
1e62da1088 Comment
Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
Component commits:
b73d93bf2a On windows handle the long paths in realpathSync.native Fixes#49470
Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
Component commits:
eff4406f0e Revert "Fixed an issue with contextual type for intersection properties (#48668)"
This reverts commit 9236e39374c0ec9a1e3f9894af4fb9eb34ba0021.
Co-authored-by: Ryan Cavanaugh <RyanCavanaugh@users.noreply.github.com>
* 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
* Add test where clearing affected files watcher that also is shared by real path causes Debug failure
* Ensure that file watcher is closed only once for affected file locations that share watcher because of different names but same real path
* Lift up package json map
* 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
* Add test where module resolution cache is not local and hence doesnt report errors in watch mode
* Ensure module resolution cache is passed through in watch mode
* Remove unnecessary setting of impliedFormat which should anyways be done as part of create source file
* Add test for packge.json changing and modifying implied format
* Distinguish between package.json watch and affecting file location watch
* Pass in failed lookup and affected file locations for source file's implied format
Also stop creating options if we already have them
* Add diagnostic for explaining file's implied format if based on package.json
* Watch implied format dependencies for modules and schedule update on change
* For program if implied node format doesnt match create new source file. Handle implied node format in document registry
Fixes#50086
* Modify tests to show package.json being watched irrespective of folder its in
* Check file path if it can be watched before watching package.json file
* Because we are watching package.json files and failed lookups its safe to invalidate package json entries instead of clearing them out everytime program is created
* Remove todos
* Fix the incorrect merge
* Pickup PackageJsonInfo renames from #50088
* Rename
* Improve import type support for commonjs exports
This PR makes getTypeFromImportTypeNode a little more like
getExternalModuleMember: for JS files, it now uses both
`getTypeOfSymbol` and `getExportsOfSymbol`, and uses whichever one
returns a symbol. This allows using arbitrary properties of a CJS export=
as types in JSDoc; previously a special case in the binder enabled only
CJS export= where all properties were shorthand assignments.
Fixes#49195
* Add js types/value test case
* Improve binding of CJS property assignments
1. Bind property assignments same as shorthand property assignments in
module.exports object literal assignments.
2. Bind all such assignments, even if the object literal contains
non-property assignments. This is different from before, and it requires
slightly smarter code to prefer aliases when checking CJS imports.
* Remove new binder code
Just include the original fix
* revert missed type in binder