Skip to content

v2.0.0

Choose a tag to compare

@devmc12 devmc12 released this 07 Nov 07:08
· 13 commits to main since this release

dir-tree v2.0.0

18 commits · 99 files changed · +8574 / -4961

Full Changelog: v1.0.5...v2.0.0

Overview

  • fix(reader): isolate state for each read
  • fix(reader): distinguish cleared excludes from defaults
  • refactor(api): separate structural nodes from browser sources
  • fix(metadata): share lookup indexes across package entries
  • feat(reader): distinguish source failures and metadata warnings
  • fix(parser): reject conflicting imported tree paths
  • perf(reader): index ZIPs and bound filesystem work per read
  • refactor(core): split implementation by module responsibility
  • docs(api): document the 2.0 reader and migration contracts
  • test(package): verify installed entries and the minimum Node runtime
  • fix(parser): accept displayed dot roots in tree text
  • fix(tree): share name invariants between edits and imports
  • fix(browser): read only reachable legacy ignore rules
  • fix(tree): preserve special path keys across tree operations
  • refactor(zip): isolate record parsing and verify producer fixtures
  • docs(v2): clarify contracts, migration status, and commit workflow
  • refactor(playground): migrate examples to the v2 reader contract
  • feat(reader): report per-read preparation and tree timings

Changelog

  • Add optional per-read onTiming reports for source preparation, tree processing, and measured total duration across built-in adapters, isolating synchronous timing callback failures from successful reads

  • Accept displayed dot roots in tree text and share structural name validation between editing and importing

  • Skip legacy directory ignore files outside the current read scope, loading parent rules first

  • Preserve special path keys across metadata, annotations, visibility, selection, and JSON transfer

  • Reuse the metadata index builder and verify ZIP record parsing with Python and .NET archive fixtures

  • Isolate read overrides and ignore rules per call, and let an explicit empty exclude list clear constructor defaults

  • Move browser directory adapters and dropped-entry types to the /browser entry

  • Keep file nodes structural and remove FileNode.handle and stripFileNodeHandles; adapters retain their sources for repeated reads

  • Share tree lookup metadata between independently loaded ESM and CommonJS entries

  • Report unreadable ignore files with stable error codes and expose optional metadata warnings through onWarning

  • Reject duplicate normalized paths and invalid node structures before publishing imported trees

  • Index ZIP trees without inflating ordinary entries, bound filesystem I/O per read, and apply batch annotation patches with one map copy

  • Resolve separate TypeScript declarations for ESM and CommonJS and verify the package on Node.js 18.18.1