Repository navigation
v2.0.0
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
onTimingreports 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
/browserentry -
Keep file nodes structural and remove
FileNode.handleandstripFileNodeHandles; 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