Skip to content

Update enhanced-resolve 5.20.1 → 5.21.0 (minor)#19998

Merged
RobinMalfait merged 1 commit into
mainfrom
depfu/update/pnpm/enhanced-resolve-5.21.0
May 1, 2026
Merged

Update enhanced-resolve 5.20.1 → 5.21.0 (minor)#19998
RobinMalfait merged 1 commit into
mainfrom
depfu/update/pnpm/enhanced-resolve-5.21.0

Conversation

@depfu
Copy link
Copy Markdown
Contributor

@depfu depfu Bot commented Apr 30, 2026

[ci-all]

Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ enhanced-resolve (5.20.1 → 5.21.0) · Repo · Changelog

Release Notes

5.21.0

Minor Changes

  • Added promise API and support to resolve without context and resolveContext. (by @alexander-akait in #520)

  • Add extensionAliasForExports option. When true, extensionAlias also applies to paths resolved through the package.json exports field. Off by default to match Node.js; opt in for full TypeScript-resolver parity with packages that ship .ts sources alongside the compiled .js they declare in exports. (by @alexander-akait in #554)

Patch Changes

  • Properly handle DOS device paths (\\?\… and \\.\…). (by @alexander-akait in #551)

  • Prevent fallback to parent node_modules when the exports field target file is not found. (by @xiaoxiaojx in #495)

  • Imports field spec deviation: non-relative targets (e.g. "#a": "#b") no longer re-enter imports resolution, aligning with the Node.js ESM spec where PACKAGE_IMPORTS_RESOLVE does not recursively resolve # specifiers. (by @xiaoxiaojx in #503)

    Previously { "#a": "#b", "#b": "./the.js" } would chain-resolve #a to ./the.js; now it correctly fails, matching Node.js behavior.

  • Move cachedJoin/cachedDirname/createCachedBasename caches from module-level globals to per-Resolver instances. This prevents unbounded memory growth in long-running processes — when a Resolver is garbage collected, its join/dirname/basename caches are released with it. (by @xiaoxiaojx in #507)

  • Fixed when tsconfig: true is used (default config file) and no tsconfig.json exists. (by @xiaoxiaojx in #502)

  • Apply the extensionAlias option to the imports field to be align with typescript resolution. (by @alexander-akait in #549)

  • Improved performance of the many plugins. (by @alexander-akait in #529)

  • Replace the Set<string>-based resolver stack with a singly-linked StackEntry class that exposes a Set-compatible API. (by @xiaoxiaojx in #526)

    Each doResolve call now prepends a single linked-list node instead of cloning the entire Set, making stack push O(1) in time and memory. Recursion detection walks the linked list (O(n)), but because the stack is typically shallow this is much cheaper than cloning a Set per call.

  • Cache the result of stripJsonComments + JSON.parse in readJson using a WeakMap keyed by the raw file buffer. This avoids redundant comment-stripping and JSON parsing on every resolve call that reads tsconfig.json files (via stripComments: true), improving TsconfigPathsPlugin warm performance by ~20-35% depending on the depth of the extends chain. (by @xiaoxiaojx in #524)

  • Avoid OOM in CachedInputFileSystem when duration is Infinity. (by @alexander-akait in #527)

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)

@depfu depfu Bot requested a review from a team as a code owner April 30, 2026 17:40
@depfu depfu Bot added the depfu label Apr 30, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 30, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 24825af4-4650-4643-82d8-ac5e3f241898

📥 Commits

Reviewing files that changed from the base of the PR and between 3adb79b and a7891f7.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (4)
  • packages/@tailwindcss-cli/package.json
  • packages/@tailwindcss-node/package.json
  • packages/@tailwindcss-standalone/package.json
  • packages/@tailwindcss-upgrade/package.json
✅ Files skipped from review due to trivial changes (4)
  • packages/@tailwindcss-node/package.json
  • packages/@tailwindcss-upgrade/package.json
  • packages/@tailwindcss-cli/package.json
  • packages/@tailwindcss-standalone/package.json

Walkthrough

The changes update the enhanced-resolve dependency version in four packages from ^5.20.1 to ^5.21.0: @tailwindcss/cli, @tailwindcss-node, @tailwindcss-standalone, and @tailwindcss-upgrade. Each package.json file has a single line modified. No exported or public entity declarations were changed.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically summarizes the main change: updating enhanced-resolve from version 5.20.1 to 5.21.0.
Description check ✅ Passed The description is comprehensive and directly related to the changeset, providing detailed information about the enhanced-resolve update, release notes, and changes across all affected packages.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Review rate limit: 4/5 reviews remaining, refill in 12 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@depfu
Copy link
Copy Markdown
Contributor Author

depfu Bot commented Apr 30, 2026

Sorry, but the merge failed with:

At least 1 approving review is required by reviewers with write access.

@RobinMalfait RobinMalfait enabled auto-merge (squash) May 1, 2026 11:24
@RobinMalfait RobinMalfait force-pushed the depfu/update/pnpm/enhanced-resolve-5.21.0 branch from 3adb79b to a7891f7 Compare May 1, 2026 11:24
@RobinMalfait RobinMalfait merged commit 4b5d6a5 into main May 1, 2026
9 checks passed
@RobinMalfait RobinMalfait deleted the depfu/update/pnpm/enhanced-resolve-5.21.0 branch May 1, 2026 11:29
iamseopyeongwon pushed a commit to iamseopyeongwon/tailwindcss that referenced this pull request May 10, 2026
Here is everything you need to know about this update. Please take a
good look at what changed and the test results before merging this pull
request.

### What changed?




#### ✳️ eslint (9.32.0 → 9.33.0) ·
[Repo](https://github.com/eslint/eslint) ·
[Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)



<details>
<summary>Release Notes</summary>
<h4><a
href="https://github.com/eslint/eslint/releases/tag/v9.33.0">9.33.0</a></h4>

<blockquote><h2 dir="auto">Features</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/e07820e66fd1fceaf2620dc931154955a706cc0f"><code
class="notranslate">e07820e</code></a> feat: add global object access
detection to no-restricted-globals (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19939">#19939</a>)
(sethamus)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/90b050ec11557cab08b6be9f05fabf97dba6a63d"><code
class="notranslate">90b050e</code></a> feat: support explicit resource
management in <code class="notranslate">one-var</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19941">#19941</a>)
(Sweta Tanwar)</li>
</ul>
<h2 dir="auto">Bug Fixes</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/732433c4fb023f45154b825cdc8cdaf1979d4336"><code
class="notranslate">732433c</code></a> fix: allow any type for <code
class="notranslate">meta.docs.recommended</code> in custom rules (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19995">#19995</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/e8a6914a249d036e12494004e586b2a2b6e104d1"><code
class="notranslate">e8a6914</code></a> fix: Fixed potential bug in
check-emfile-handling.js (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19975">#19975</a>)
(諏訪原慶斗)</li>
</ul>
<h2 dir="auto">Documentation</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/34f0723e2d0faf8ac8dc95ec56e6d181bd6b67f2"><code
class="notranslate">34f0723</code></a> docs: playground button for
TypeScript code example (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19671">#19671</a>)
(Tanuj Kanti)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/dc942a47daf41228d69072c52f1be20789426862"><code
class="notranslate">dc942a4</code></a> docs: Update README (GitHub
Actions Bot)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/5a4b6f74320b72f9b6ad8b30f5c463b2b71315af"><code
class="notranslate">5a4b6f7</code></a> docs: Update no-multi-assign.md
(<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19979">#19979</a>)
(Yuki Takada (Yukinosuke Takada))</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/247e15698e34919a0cd411842fb3e14ac7a8f1ba"><code
class="notranslate">247e156</code></a> docs: add missing let
declarations in <code class="notranslate">no-plusplus</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19980">#19980</a>)
(Yuki Takada (Yukinosuke Takada))</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/0d17242b3c25c2ddf8363f4560641acd1ae82ca9"><code
class="notranslate">0d17242</code></a> docs: Update README (GitHub
Actions Bot)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/fa20b9db8ff90ea9f0527118114dda17c656d095"><code
class="notranslate">fa20b9d</code></a> docs: Clarify when to open an
issue for a PR (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19974">#19974</a>)
(Nicholas C. Zakas)</li>
</ul>
<h2 dir="auto">Build Related</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/27fa86551bd173387e29a139293de78b0e14f0f3"><code
class="notranslate">27fa865</code></a> build: use <code
class="notranslate">ESLint</code> class to generate formatter examples
(<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19972">#19972</a>)
(Milos Djermanovic)</li>
</ul>
<h2 dir="auto">Chores</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/425804602ecb9ee5f54d1c38a473cf20538420c5"><code
class="notranslate">4258046</code></a> chore: update dependency
@eslint/js to v9.33.0 (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19998">#19998</a>)
(renovate[bot])</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/ad283717ed4764a171120ca7c6cba82a78fa024c"><code
class="notranslate">ad28371</code></a> chore: package.json update for
@eslint/js release (Jenkins)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/06a22f154c08ea044b3172b357b226d34dfefc6a"><code
class="notranslate">06a22f1</code></a> test: resolve flakiness in --mcp
flag test (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19993">#19993</a>)
(Pixel998)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/54920ed229693f23650dace6e567bf44413aaf98"><code
class="notranslate">54920ed</code></a> test: switch to <code
class="notranslate">Linter.Config</code> in <code
class="notranslate">ESLintRules</code> type tests (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19977">#19977</a>)
(Francesco Trotta)</li>
</ul></blockquote>
<p><em>Does any of this look wrong? <a
href="https://depfu.com/packages/npm/eslint/feedback">Please let us
know.</a></em></p>
</details>

<details>
<summary>Commits</summary>
<p><a
href="https://github.com/eslint/eslint/compare/2364031090daafe34e80904c32065bfe4692d7a2...a90d7c4fe5ef83054e29d21d7ffb442103429d03">See
the full diff on Github</a>. The new version differs by 17 commits:</p>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/a90d7c4fe5ef83054e29d21d7ffb442103429d03"><code>9.33.0</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/9534b55372dbff3bf153384ed2aaab172f998175"><code>Build:
changelog update for 9.33.0</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/425804602ecb9ee5f54d1c38a473cf20538420c5"><code>chore:
update dependency @eslint/js to v9.33.0 (tailwindlabs#19998)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/ad283717ed4764a171120ca7c6cba82a78fa024c"><code>chore:
package.json update for @eslint/js release</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/06a22f154c08ea044b3172b357b226d34dfefc6a"><code>test:
resolve flakiness in --mcp flag test (tailwindlabs#19993)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/732433c4fb023f45154b825cdc8cdaf1979d4336"><code>fix:
allow any type for `meta.docs.recommended` in custom rules
(tailwindlabs#19995)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/34f0723e2d0faf8ac8dc95ec56e6d181bd6b67f2"><code>docs:
playground button for TypeScript code example (tailwindlabs#19671)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/dc942a47daf41228d69072c52f1be20789426862"><code>docs:
Update README</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/5a4b6f74320b72f9b6ad8b30f5c463b2b71315af"><code>docs:
Update no-multi-assign.md (tailwindlabs#19979)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/247e15698e34919a0cd411842fb3e14ac7a8f1ba"><code>docs:
add missing let declarations in `no-plusplus` (tailwindlabs#19980)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/0d17242b3c25c2ddf8363f4560641acd1ae82ca9"><code>docs:
Update README</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/e07820e66fd1fceaf2620dc931154955a706cc0f"><code>feat:
add global object access detection to no-restricted-globals
(tailwindlabs#19939)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/fa20b9db8ff90ea9f0527118114dda17c656d095"><code>docs:
Clarify when to open an issue for a PR (tailwindlabs#19974)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/54920ed229693f23650dace6e567bf44413aaf98"><code>test:
switch to `Linter.Config` in `ESLintRules` type tests
(tailwindlabs#19977)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/e8a6914a249d036e12494004e586b2a2b6e104d1"><code>fix:
Fixed potential bug in check-emfile-handling.js (tailwindlabs#19975)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/90b050ec11557cab08b6be9f05fabf97dba6a63d"><code>feat:
support explicit resource management in `one-var`
(tailwindlabs#19941)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/27fa86551bd173387e29a139293de78b0e14f0f3"><code>build:
use `ESLint` class to generate formatter examples
(tailwindlabs#19972)</code></a></li>
</ul>
</details>












---
![Depfu
Status](https://depfu.com/badges/edd6acd35d74c8d41cbb540c30442adf/stats.svg)

[Depfu](https://depfu.com) will automatically keep this PR
conflict-free, as long as you don't add any commits to this branch
yourself. You can also trigger a rebase manually by commenting with
`@depfu rebase`.

<details><summary>All Depfu comment commands</summary>
<blockquote><dl>
<dt>@​depfu rebase</dt><dd>Rebases against your default branch and
redoes this update</dd>
<dt>@​depfu recreate</dt><dd>Recreates this PR, overwriting any edits
that you've made to it</dd>
<dt>@​depfu merge</dt><dd>Merges this PR once your tests are passing and
conflicts are resolved</dd>
<dt>@​depfu cancel merge</dt><dd>Cancels automatic merging of this
PR</dd>
<dt>@​depfu close</dt><dd>Closes this PR and deletes the branch</dd>
<dt>@​depfu reopen</dt><dd>Restores the branch and reopens this PR (if
it's closed)</dd>
<dt>@​depfu pause</dt><dd>Ignores all future updates for this dependency
and closes this PR</dd>
<dt>@​depfu pause [minor|major]</dt><dd>Ignores all future minor/major
updates for this dependency and closes this PR</dd>
<dt>@​depfu resume</dt><dd>Future versions of this dependency will
create PRs again (leaves this PR as is)</dd>
</dl></blockquote>
</details>

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant