Skip to content

v5.0.0

Compare
Choose a tag to compare
@sokra sokra released this 17 Sep 23:51

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