refactor: prioritize project references and check file extension per referenced tsconfig#1087
Conversation
Merging this PR will degrade performance by 5.67%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ❌ | resolver_real[multi-thread] |
424.1 µs | 449.6 µs | -5.67% |
Comparing shulaoda:03-28-refactor_prioritize_project_references_and_check_file_extension_per_referenced_tsconfig (f754867) with main (65854d1)
Footnotes
-
5 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
d8fc2ba to
9dc0d4f
Compare
…referenced tsconfig
9dc0d4f to
f754867
Compare
|
This diverges from can you figure out why |
This is because we actually only changed two things. First, if |
closes #1086
resolve_tsconfig_solution: Removed the parent-levelis_file_extension_allowed_in_tsconfigand!is_file_included_in_tsconfigguards, so project references are always prioritized.is_file_included_in_tsconfig: Moved the extension check into the beginning of this method, so each referenced tsconfig uses its ownallowJssetting.is_glob_match: Removed the now-redundant extension fast check, and since thepathparameter was no longer needed, convertedis_glob_match/is_glob_matchesto static methods.I found that many behaviors in
tsconfckare inconsistent with TypeScript and are therefore incorrect.