Repository navigation
Releases
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
v1.0.5
dir-tree v1.0.5
4 commits · 14 files changed · +482 / -24
Full Changelog: v1.0.4...v1.0.5
Overview
- fix: reject conflicting tree moves and preserve reorder positions
- fix: anchor legacy gitignore rules to the project root
- fix: respect directory-only gitignore rules across adapters
- fix: preserve content for decoded ZIP filenames
Changelog
- Reject tree moves that would create duplicate sibling paths while preserving same-parent reordering
- Anchor legacy directory picker gitignore rules to the selected project root consistently with other adapters
- Preserve directory-only gitignore rules and prevent excluded parent directories from being restored by child negations
- Match decoded ZIP filenames to their original content keys, preserving GBK and Unicode path metadata instead of returning empty file data
v1.0.4
dir-tree v1.0.4
4 commits · 23 files changed · +865 / -145
Full Changelog: v1.0.3...v1.0.4
Overview
- fix: omit release commit from release notes
- fix: improve annotation alignment and Unicode widths
- fix: separate playground inline annotation gap
- feat: polish playground interface
Changelog
- Excluded generated
release: vX.Y.Zcommits from GitHub Release note counts and Overview entries - Improved annotated ASCII layouts with Unicode grapheme-aware terminal widths, annotation-only global and per-folder alignment, and an independent normalized inline gap
v1.0.3
dir-tree v1.0.3
3 commits · 13 files changed · +4140 / -92
Full Changelog: v1.0.2...v1.0.3
Overview
- fix: complete remote repository tree reads
- feat: add interactive release workflow
- release: v1.0.3
Changelog
- Fixed remote repository completeness by following all GitHub/GitLab branch pages and all GitLab repository-tree pages
- Added GitHub
truncatedtree recovery through complete subtree traversal, including targeted subpath reads and explicit failure instead of partial results - Added an interactive release script with version and changelog preparation, full validation, annotated tags, atomic pushes, and optional GitHub Release publishing
- Added generated GitHub Release notes with commit and diff statistics, compare links, commit subjects, and the current release changelog
v1.0.2
fix: parse default Unicode file branches
- Fixed default Unicode ASCII output round-trip parsing for non-final file branches, including annotated whole-tree imports
- Fixed npm 12 package smoke checks and pinned the release workflow npm version for reproducible publishing
v1.0.1
v1.0.0
feat: refactor dir-tree headless core
- Many sources — read local directories, ZIP archives, GitHub/GitLab repositories, imported text, or in-memory trees through a shared adapter interface
- Configurable ASCII rendering — connector styles, indentation, line numbers, full paths, and file size / modified-time metadata
- Pure tree editing — create, rename, move, delete, focus, visibility, and expansion helpers that return new trees instead of mutating your state
- Import and export — parse JSON, XML, HTML, Markdown, or ASCII tree text, and export back to JSON or ASCII
- Annotations — provider-agnostic request, diff, and patch helpers for per-node comments; bring your own AI or manual workflow
- Isomorphic and modular — tree-shakeable subpath exports, ships ESM, CommonJS, and type declarations, runs in Node.js and the browser