Skip to content

v5.0.0-beta.2

Pre-release
Pre-release

Choose a tag to compare

@privatenumber privatenumber released this 19 Mar 18:01
· 17 commits to beta since this release

5.0.0-beta.2 (2026-03-19)

Bug Fixes

  • api: return undefined for non-absolute paths in fileMatcher (a408513)
  • resolve package extends via NODE_PATH (f9eaecb)

Code Refactoring

  • return undefined instead of null (6e88b1d)
  • types: standardize type naming to Tsconfig prefix (ae5c51a)

Features

  • add includes option to getTsconfig and findTsconfig (e6a0459)
  • add skills-npm skill for AI coding assistants (264a25e)
  • add sources field to TsconfigResult (5325530)
  • api: add findTsconfig function (a9ae2c8)
  • api: add getExtendsChain and resolveExtendsChain (e46f2ea), closes #119 #104
  • api: export PathsMatcher type (4827a3f)
  • api: rename parseTsconfig to readTsconfig (6acd8b6)
  • api: replace createFilesMatcher with isFileIncluded (40b6730)
  • api: replace createPathsMatcher with resolvePathAlias (f3e498f)
  • build: drop CJS build and ship ESM only (dc886dc)
  • move public cache args into options objects (b5e1fe0)

Performance Improvements

  • add negative caching for extends resolution (f3245e9)
  • bypass findUp for explicit config paths (f3696ae)
  • memoize resolveExtendsChain subtrees (66ffe4f)
  • pre-split exact vs wildcard path entries (94d0d52)
  • replace exists+stat pairs with tryStat helper (1fb56ba), closes #46
  • replace structuredClone with shallow spreads in resolveExtendsChain (b9e6bbd)
  • short-circuit Node-resolved package configs (b72268e)

BREAKING CHANGES

  • types: TsConfigResult renamed to TsconfigResult.
    TsConfigJsonResolved renamed to TsconfigJsonResolved. TsConfigJson
    re-exported as TsconfigJson. Cache renamed to TsconfigCache.
    TsconfigSearchOptions split into GetTsconfigOptions and
    FindTsconfigOptions.
  • getTsconfig, findTsconfig, readTsconfig, and
    getExtendsChain now take an options object instead of positional
    cache/configName/includes parameters
  • api: createPathsMatcher and PathsMatcher type are removed.
    Use resolvePathAlias(tsconfig, specifier) instead, which returns
    string[] (empty array when no paths configured or no match).
  • api: createFilesMatcher, FileMatcher type, and
    caseSensitivePaths parameter are removed. Use isFileIncluded(tsconfig,
    filePath) instead, which returns a boolean. Case sensitivity is
    auto-detected.
  • build: CJS build is no longer provided. Consumers must use ESM
    imports.
  • api: parseTsconfig() has been renamed to readTsconfig() and now returns { path, config } instead of the config object directly
  • getTsconfig and createPathsMatcher now return undefined instead of null when no result is found