Skip to content

chore(release): new release#496

Merged
alexander-akait merged 1 commit intomainfrom
changeset-release/main
Apr 23, 2026
Merged

chore(release): new release#496
alexander-akait merged 1 commit intomainfrom
changeset-release/main

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented Mar 17, 2026

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

enhanced-resolve@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)

@github-actions github-actions Bot force-pushed the changeset-release/main branch 6 times, most recently from 65d0162 to b5fc539 Compare March 27, 2026 11:31
@github-actions github-actions Bot force-pushed the changeset-release/main branch 3 times, most recently from fc33fb2 to a6b21ae Compare April 6, 2026 07:07
@github-actions github-actions Bot force-pushed the changeset-release/main branch 5 times, most recently from 402f1d8 to a3fb8b6 Compare April 13, 2026 07:08
@github-actions github-actions Bot force-pushed the changeset-release/main branch from a3fb8b6 to 8795822 Compare April 13, 2026 13:24
@github-actions github-actions Bot force-pushed the changeset-release/main branch 14 times, most recently from 6102e1d to c652a94 Compare April 17, 2026 14:29
@github-actions github-actions Bot force-pushed the changeset-release/main branch 25 times, most recently from 8c0fed2 to 87f7bf1 Compare April 23, 2026 11:51
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 87f7bf1 to 494990e Compare April 23, 2026 14:52
@alexander-akait alexander-akait merged commit 35035ca into main Apr 23, 2026
1 check passed
@alexander-akait alexander-akait deleted the changeset-release/main branch April 23, 2026 17:24
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