Skip to content

Latest commit

Β 

History

History
90 lines (67 loc) Β· 2.97 KB

File metadata and controls

90 lines (67 loc) Β· 2.97 KB

πŸ“ tree-visualizer

Build Status NPM version License Node.js Downloads

🧰 Generate a clean and customizable visual file tree of any directory from your terminal.


✨ Features

  • πŸ“‚ Outputs a visual tree of files and folders
  • 🚫 Supports ignoring files via .gitignore, .tree-visualizer-ignore, or CLI patterns
  • πŸ“ Optionally includes file sizes
  • πŸ“‰ Configurable maximum folder depth
  • πŸ–¨οΈ Outputs to console or a file

πŸ“¦ Installation

npm install -g @1amlabs/tree-visualizer

πŸ› οΈ Usage

tree-visualizer [options]
Option Description
--start <dir> Directory to start scanning (default: .)
--out <file> Output file path (writes plain text tree)
--ignore <patterns> Ignore patterns (comma-separated or repeated, e.g., node_modules,**/*.ts)
--sizes Include file sizes in the output
--max-depth <n> Maximum folder depth to scan (default: unlimited)
--debug Enable debug logging
--use-gitignore Use .gitignore patterns for ignoring files
--ignoreFile Specify the location of your ignore file

πŸ§ͺ Examples

Display the file tree of the current directory:

tree-visualizer

Scan a specific folder while ignoring node_modules and TypeScript files:

tree-visualizer --start src --ignore node_modules,**/*.ts

Include file sizes and limit the depth to 2 levels:

tree-visualizer --sizes --max-depth 2

Write the result to a file:

tree-visualizer --out tree.txt

Use your project's .gitignore for ignore patterns:

tree-visualizer --use-gitignore

🧩 Programmatic Usage

You can also use tree-visualizer as a library in your Node.js projects:

import { generateTree } from '@1amlabs/tree-visualizer';

await generateTree(
  './my-folder',
  'tree.txt',
  ['node_modules', '**/*.log'],
  { showSizes: true, maxDepth: 2, debug: false }
);

πŸ“„ License

MIT Β© 1AMLabs