Skip to content

fix(dts): strip ./ prefix from package entry when matching typesVersions#1051

Merged
Boshen merged 2 commits into
mainfrom
fix/dts-typesversions-prefix
Mar 5, 2026
Merged

fix(dts): strip ./ prefix from package entry when matching typesVersions#1051
Boshen merged 2 commits into
mainfrom
fix/dts-typesversions-prefix

Conversation

@Boshen

@Boshen Boshen commented Mar 5, 2026

Copy link
Copy Markdown
Member

Summary

  • Strip ./ prefix from package.json entry values (types/typings/main) before matching against typesVersions patterns
  • Matches TypeScript's getRelativePathFromDirectory behavior which produces paths without ./ prefix
  • Without this fix, a types field like "./dist/index.d.ts" would fail to match a typesVersions pattern like "dist/*"

Stacked on #1050.

🤖 Generated with Claude Code

@codecov

codecov Bot commented Mar 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.81%. Comparing base (8deef34) to head (907f12d).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1051   +/-   ##
=======================================
  Coverage   91.81%   91.81%           
=======================================
  Files          20       20           
  Lines        3984     3984           
=======================================
  Hits         3658     3658           
  Misses        326      326           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Base automatically changed from fix/dts-expand-declaration-extensions to main March 5, 2026 14:34
Match TypeScript's behavior where `getRelativePathFromDirectory` is used
to compute the specifier for typesVersions pattern matching, which
produces paths without the "./" prefix. Without this, a types field like
"./dist/index.d.ts" would fail to match a typesVersions pattern like
"dist/*".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Boshen Boshen force-pushed the fix/dts-typesversions-prefix branch from 6b28554 to 8653df8 Compare March 5, 2026 14:35
Boshen added a commit that referenced this pull request Mar 5, 2026
## Summary

- Match TypeScript's `tryAddingExtensions` behavior for `.json` imports:
after trying `.d.json.ts`, also try the `.json` extension itself
- Without this, `import "./data.json"` would only find
`./data.d.json.ts` and miss the actual `./data.json` file
- TS reference: `extensions & Extensions.Json &&
tryExtension(Extension.Json)`

Stacked on #1051.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c97d8984f2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/dts_resolver.rs Outdated
@Boshen Boshen force-pushed the fix/dts-typesversions-prefix branch from c97d898 to 8653df8 Compare March 5, 2026 14:45
@Boshen Boshen enabled auto-merge (squash) March 5, 2026 14:47
@Boshen Boshen disabled auto-merge March 5, 2026 14:47
@Boshen Boshen merged commit 95cf31c into main Mar 5, 2026
11 of 12 checks passed
@Boshen Boshen deleted the fix/dts-typesversions-prefix branch March 5, 2026 14:47
@Boshen Boshen mentioned this pull request Mar 5, 2026
@codspeed-hq

codspeed-hq Bot commented Mar 5, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 13 untouched benchmarks
⏩ 5 skipped benchmarks1


Comparing fix/dts-typesversions-prefix (907f12d) with main (8deef34)

Open in CodSpeed

Footnotes

  1. 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.

Boshen added a commit that referenced this pull request May 25, 2026
## 🤖 New release

* `oxc_resolver`: 11.19.1 -> 11.19.2
* `oxc_resolver_napi`: 11.19.1 -> 11.19.2

<details><summary><i><b>Changelog</b></i></summary><p>

## `oxc_resolver`

<blockquote>

##
[11.19.2](v11.19.1...v11.19.2)
- 2026-05-25

### <!-- 1 -->🐛 Bug Fixes

- *(tsconfig)* apply later-wins semantics for extends array
([#1156](#1156)) (by
@Boshen)
- *(tsconfig)* walk past a tsconfig that doesn't claim the file
([#1154](#1154)) (by
@Boshen)
- *(tsconfig)* let project references take priority over their parent
([#1151](#1151)) (by
@Boshen)
- *(tsconfig)* resolve `rootDirs` against the config that declared them
([#1150](#1150)) (by
@Boshen)
- *(tsconfig)* resolve `baseUrl` / `paths` against the canonical
tsconfig path
([#1148](#1148)) (by
@Boshen)
- strip query fragments when calling `find_tsconfig`
([#1147](#1147)) (by
@Boshen)
- avoid panic in resolve_file for parentless paths
([#1053](#1053)) (by
@Boshen)
- *(dts)* strip ./ prefix from package entry when matching typesVersions
([#1051](#1051)) (by
@Boshen)
- *(dts)* expand Declaration to TypeScript|Declaration for package entry
resolution
([#1050](#1050)) (by
@Boshen)
- *(dts)* prefer declaration extensions over JS in exports-resolved
paths ([#1047](#1047))
(by @Boshen)
- avoid wasm/wasi dead-code lint in NodePath
([#1043](#1043)) (by
@Boshen)
- *(napi)* replace panics with error returns to prevent WASM traps
([#1055](#1055)) (by
@Boshen)

### <!-- 2 -->🚜 Refactor

- remove clear_cache test that dynamically creates fixtures (by @Boshen)
- move resolve and misc fixtures into fixtures/integration (by @Boshen)
- replace ignored doctest with link to example (by @Boshen)
- consolidate fixture directories for better test file mapping (by
@Boshen)
- replace `url` crate with `percent-encoding`
([#1065](#1065)) (by
@Boshen)

### <!-- 4 -->⚡ Performance

- *(cache)* pack CachedPathImpl::meta into a CachedMeta byte
([#1144](#1144)) (by
@Boshen)
- *(cache)* store canonical path as Box<Path> instead of PathBuf
([#1143](#1143)) (by
@Boshen)
- *(alias)* fast-reject alias entries by cached first byte
([#1142](#1142)) (by
@Boshen)

### <!-- 6 -->🧪 Testing

- *(tsconfig)* port lookup scenarios from typescript-go
([#1155](#1155)) (by
@Boshen)
- add 28 tests to improve coverage (92% → 93%)
([#1082](#1082)) (by
@Boshen)

### Contributors

* @Boshen
* @renovate[bot]
</blockquote>



</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

Co-authored-by: oxc-guard[bot] <276638029+oxc-guard[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant