Skip to content

chore(deps): update dependency enhanced-resolve to v5#25

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/enhanced-resolve-5.x
Open

chore(deps): update dependency enhanced-resolve to v5#25
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/enhanced-resolve-5.x

Conversation

@renovate

@renovate renovate Bot commented Jul 31, 2023

Copy link
Copy Markdown

This PR contains the following updates:

Package Change Age Confidence
enhanced-resolve ^4.1.1^5.24.0 age confidence

Release Notes

webpack/enhanced-resolve (enhanced-resolve)

v5.24.0

Compare Source

Minor Changes
  • Allow the context path and request arguments of resolve (and resolveSync/resolvePromise) to accept file: URL instances, converting them to filesystem paths. Plain strings stay literal paths, matching Node's fs. (by @​alexander-akait in #​607)
Patch Changes
  • Make the resolver runtime-agnostic so it works in browsers, Deno and Bun as well as Node. File contents are decoded without assuming a Node Buffer, and browser shims are provided for the path, url and graceful-fs builtins (Node, Deno and Bun keep using the native ones) so the package bundles for the browser — supply your own fileSystem there. (by @​alexander-akait in #​606)

  • Rename the positional resolve/resolveSync/resolvePromise parameters to parent/specifier (from path/request) for ESM-aligned naming and document them in the README. Purely cosmetic — arguments are positional, so there is no behavior or API change. (by @​alexander-akait in #​611)

v5.23.0

Compare Source

Minor Changes
  • Allow the path-like resolve options roots, modules, alias/fallback targets, restrictions, and tsconfig (the config file, configFile, baseUrl, and references) to accept file URL instances (such as new URL("./dir/", import.meta.url)), converting them to filesystem paths. Plain strings are still treated as literal paths, matching Node's fs. (by @​alexander-akait in #​604)

v5.22.2

Compare Source

Patch Changes
  • Fall back to the next modules entry when a package exports target is filtered out by restrictions, instead of throwing. (by @​alexander-akait in #​600)

v5.22.1

Compare Source

Patch Changes

v5.22.0

Compare Source

Minor Changes
  • CachedInputFileSystem#purge accepts a second { exact?: boolean } argument; exact: true removes only entries whose key matches what exactly instead of any entry whose key starts with what. (by @​alexander-akait in #​591)

v5.21.6

Compare Source

Patch Changes
  • Speed up alias resolution on the hot path. (by @​alexander-akait in #​589)

    • AliasPlugin / TsconfigPathsPlugin: bucket compiled alias options by the first char code of name, so resolves skip options whose name can't possibly match the request's first char. Gated to cases with 2+ distinct first chars so degenerate single-bucket lists (e.g. long alias chains) don't pay for the Map.get.
    • TsconfigPathsPlugin: memoize _selectPathsDataForContext(map, requestPath) per map so the per-source-file contextList scan only runs once per directory. Gated to maps with 2+ contexts so single-context tsconfigs aren't penalized by the cache lookup.

    Biggest wins on alias-heavy configs (300+ entries): huge-alias-miss +151%, huge-alias-list +126%, alias-first-char-miss +120%.

v5.21.5

Compare Source

Patch Changes

v5.21.4

Compare Source

Patch Changes
  • When tsconfig: true is used, walk up parent directories to find tsconfig.json, matching TypeScript's own findConfigFile behavior. (by @​xiaoxiaojx in #​585)

v5.21.3

Compare Source

Patch Changes
  • TsconfigPathsPlugin now falls through to normal module resolution when a paths pattern matches but the mapped path does not exist, matching TypeScript's native resolution behavior. Previously, patterns like "@​*" would block scoped npm packages (e.g. @sentry/react) from resolving via node_modules. (by @​xiaoxiaojx in #​579)

v5.21.2

Compare Source

Patch Changes
  • Fix TsconfigPathsPlugin circular project references causing stack overflow, add support for extending from unscoped npm packages, and use stat instead of readFile for existence checks in extends resolution. (by @​xiaoxiaojx in #​575)

  • perf: dedupe miss paths in DirectoryExistsPlugin/FileExistsPlugin and prune the per-resolve TsconfigPathsPlugin context scan. (by @​alexander-akait in #​574)

  • perf: drop a dead Map lookup in findMatch and flatten AliasFieldPlugin's cache check. (by @​alexander-akait in #​574)

  • perf: hot-path tweaks in ImportsFieldPlugin, AliasUtils, and util/entrypoints. (by @​alexander-akait in #​574)

  • perf: cut per-resolve allocations in Resolver.parse, loadDescriptionFile, and TsconfigPathsPlugin._selectPathsDataForContext. (by @​alexander-akait in #​574)

v5.21.1

Compare Source

Patch Changes
  • Allocation-free reductions on hot-path code: hoist /#/g, /\$/g and /\\/g to module-level constants and gate the corresponding .replace calls behind includes(…) so paths/queries/requests without the match char skip the regex state machine entirely (the common case); share a single EMPTY_NO_MATCH tuple instead of allocating [[], null] per "no match" / "no condition matched" return; switch directMapping's for...of over mappingTarget and inner results to indexed loops to avoid iterator-object allocation per call; inline isConditionalMapping at its two hot-path call sites and merge the duplicate default / conditionNames.has(condition) branches in computeConditionalMapping; replace invalidSegmentRegEx.exec(…) !== null with .test(…) (no match-array allocation); drop the dead deprecatedInvalidSegmentRegEx.test(…) !== null clause in ImportsFieldPlugin (.test returns boolean; true !== null and false !== null are both true, so it was && true); drop the redundant relativePath.length === 0 guard before !startsWith("./") in ExportsFieldPlugin (the empty-string case is already covered). (by @​alexander-akait in #​558)

  • restore plugin compatibility for [...resolveContext.stack] iteration (by @​alexander-akait in #​569)

  • fix TsconfigPathsPlugin to support resolveSync with useSyncFileSystemCalls (by @​alexander-akait in #​572)

v5.21.0

Compare Source

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)

v5.20.1

Compare Source

Patch Changes

v5.20.0

Compare Source

Features
  • Added the baseUrl option to override the tsconfig.json's baseUrl
  • Enabled trailing commas support for JSONC
Fixes
  • Detect circular extends to prevent infinite loop in tsconfig.json
  • Support JSONC comments in tsconfig.json

v5.19.0

Compare Source

Features
  • Added TsconfigPathsPlugin (replacement for tsconfig-paths-webpack-plugin) .

v5.18.4

Compare Source

Fixes
  • Allow subpath imports that start with #/
  • Handle file: schema

v5.18.3

Compare Source

Fixes
  • Fixed nonsensible intersection in types
Performance
  • Decreased initial loading time

v5.18.2

Compare Source

Fixes
  • [Types] FileSystem type

v5.18.1

Compare Source

Perf
  • Fast path for parsing requests without \0

v5.18.0

Compare Source

Features
  • Added wildcards support for aliases

v5.17.1

Compare Source

Fixes
  • fix: exports and imports array target resolving
Perf
  • avoid creating a new array inside doResolve

v5.17.0

Compare Source

Features
  • Allow default condition to be anywhere

v5.16.1

Compare Source

Bugfixes

  • use cache for exports and imports plugins

v5.16.0

Compare Source

Features:

  • cache realpath and realpathSync methods

Bugfixes

  • types for cached input filesystem
  • support Buffer/URL/number paths in cached file system

v5.15.1

Compare Source

Bugfixes

  • find the pnpapi the issuer belongs to

v5.15.0

Compare Source

New Features

Dependencies & Maintenance

New Contributors

Full Changelog: webpack/enhanced-resolve@v5.14.1...v5.15.0

v5.14.1

Compare Source

Bugfixes

Dependencies & Maintenance

Full Changelog: webpack/enhanced-resolve@v5.14.0...v5.14.1

v5.14.0

Compare Source

Features

Bugfixes

Dependencies & Maintenance

New Contributors

Full Changelog: webpack/enhanced-resolve@v5.13.0...v5.14.0

v5.13.0

Compare Source

Features

Bugfixes

  • Support wildcards pattern with common suffix in imports/exports field by @​bvanjoi in #​353

Dependencies

Developer Experience

New Contributors

Full Changelog: webpack/enhanced-resolve@v5.12.0...v5.13.0

v5.12.0

Compare Source

  • reverts "utilize throwIfNoEntry in sync mode"

v5.11.0

Compare Source

Features
  • utilize throwIfNoEntry in sync mode

v5.10.0

Compare Source

Features
  • add extensionAlias option
Bugfixes
  • fix validation of imports field

v5.9.3

Compare Source

Bugfixes
  • fix alias when #
  • fix alias fields when using names that are equal to method on the object prototype

v5.9.2

Compare Source

Bugfixes
  • fix absolute path aliasing on windows

v5.9.1

Compare Source

Bugfixes
  • fix yield

v5.9.0

Compare Source

Features
  • add yield option to allow reporting multiple results
Contributing
  • CI updates
  • linting updates

v5.8.3

Compare Source

Bugfix
  • fix bug when aliasing . in a browser field

v5.8.2

Compare Source

Bugfix

  • allow to resolve imports from a subpath (imports field)

v5.8.1

Compare Source

Bugfix

  • correctly call fs.statSync when there are no options

v5.8.0

Compare Source

Bugfixes

  • fix problem with bundling for browser usage
  • fix precedence of PnP
  • default enforceExtension to true when extensions includes an empty string (to specify the exact order)

v5.7.0

Compare Source

Contribution

  • typescript 4.2

v5.6.0

Compare Source

Features

  • add support for wildcard exports/imports mapping

v5.5.0

Compare Source

Features

  • add preferAbsolute option to prefer absolute paths over roots

v5.4.1

Compare Source

Bugfixes

  • add browser fallbacks when using this library in browsers
  • even when using Yarn Pnp, handle the exports field in packages
  • fix typings

Contribution

  • Replace Travis CI with Github Actions

v5.4.0

Compare Source

Features

  • use graceful-fs in node.js api

Bugfixes

  • handle PnP requests with fullySpecified correctly

v5.3.2

Compare Source

Bugfix

  • fix problem where callback is called twice, resulting in crashes elsewhere

v5.3.1

Compare Source

Bugfixes

  • validate arguments to resolve and use callback for errors

v5.3.0

Compare Source

Bugfixes

  • exports and imports field continue resolving extensions, directories and aliases if fullySpecified is not specified
  • load description file after resolving with exports or imports field

v5.2.0

Compare Source

Features

  • add optional lstat to filesystem interface and CachedFileSystem
  • support passing escaped # in requests
  • try to resolve without fragment support to be able to handle # in paths
  • # will be escaped in the resulting path

Bugfixes

  • fix handling of options argument in filesystem methods when using the SyncAsyncFileSystem decorator

v5.1.0

Compare Source

Features

  • add preferRelative option

Bugfixes

  • fix stack overflow crash in cached filesystem

v5.0.0

Compare Source

Features

  • increase minimal node.js version
  • update dependencies
  • remove memory-fs dependency
  • real fs is usable, no join expected from filesystem
  • track dependencies while resolving
  • add support for arrays in alias
  • add support for Yarn PnP
    • PnP tracks dependency to the .pnp.js file
  • add support for alias: { something: false }
  • generate and publish type declaration file for typescript
  • exports field support
    • add exportsFields option
    • add conditionNames option
  • self reference resolving when exports field is present
  • add restrictions option, which allows to restrict the allowed paths to resolve too
  • add fragment support
  • add roots option
  • add fullySpecified option for better node.js esm compat
  • refactor CacheFileSystem
    • allow only sync usage
    • support second options argument for all methods
  • add support for imports field in package.json
  • add new fallback option, which is like alias but is only activated when normal resolving fails

Removals

  • remove concord
  • remove deprecated tapable compat layer
  • remove .context and .loader from node API
  • remove NodeJsInputFileSystem

Bugfixes

  • fixes lowercase file letters
  • fixes "main": "." crash
  • fix purging of readdir
  • module/ now correctly resolves to directory and not to module.js as file
  • fix lisence field in package.json
  • Fix bug when instead of package resolving in modules file with same name was resolved

Contribution

  • refactor join and normalize to use node.js path instead of memory-fs
  • linting update
  • code style update (spread operator, let/const, arrow functions)
  • add a lot of type information
  • Linting type information
  • Linting formating

Performance

  • optimize number of fs accesses
  • serialize all operations to reduce number of fs accesses
  • deduplicate duplicate entries in aliasFields, descriptionFiles, extensions, modules, mainFields and mainFiles

Internals

  • Options are normalized separatly
  • improve handling of scoped packages @scope/name

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 41ba4e0 to b37434f Compare February 27, 2024 18:03
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from b37434f to bb43b8f Compare March 11, 2024 16:48
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from bb43b8f to 3064a7a Compare May 7, 2024 15:51
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 3064a7a to 4839388 Compare June 4, 2024 18:55
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 4839388 to 9506933 Compare July 23, 2024 16:47
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 9506933 to 1a8c456 Compare December 20, 2024 17:30
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 1a8c456 to bad2315 Compare February 4, 2025 17:41
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from bad2315 to 189f755 Compare June 24, 2025 07:51
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 189f755 to 5761519 Compare August 6, 2025 12:56
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 5761519 to 3b68ba5 Compare August 31, 2025 14:07
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 3b68ba5 to 7a10b91 Compare October 21, 2025 23:59
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 7a10b91 to 5416e68 Compare December 11, 2025 20:48
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 5416e68 to 2b1678d Compare February 3, 2026 14:42
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 2b1678d to 96b9994 Compare February 28, 2026 12:37
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 96b9994 to 7bd9bf9 Compare March 17, 2026 01:56
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 7bd9bf9 to 16f688c Compare April 1, 2026 18:51
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 16f688c to 7223c1b Compare April 23, 2026 19:08
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch 3 times, most recently from 701fbf6 to eb4b0de Compare May 11, 2026 18:11
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch 4 times, most recently from 4fc95b1 to fe3ef2a Compare May 22, 2026 13:52
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch 2 times, most recently from 92c1edf to 481e1ab Compare June 3, 2026 17:53
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from 481e1ab to ece832b Compare June 5, 2026 14:51
@renovate renovate Bot force-pushed the renovate/enhanced-resolve-5.x branch from ece832b to b5f2999 Compare June 11, 2026 22:47
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.

0 participants