1.0.3 • Published 7 months ago
project-visualizer v1.0.3
Project Visualizer
Project Visualizer is a powerful and flexible Node.js CLI tool to visualize directory structures and export them to formats like JSON. With optional metadata (file sizes, last modified dates, and line counts), it's perfect for analyzing, documenting, or sharing project structures.
Features
- Visualize Directory Structures: Recursively scan directories and generate structured outputs.
- Optional Metadata: Include details like file size, type, last modified date, and line count.
- Simple Mode: Use
-s
for clean output without metadata. - Supports
.gitignore
: Automatically skips files and directories ignored by.gitignore
. - Default Behavior:
- Input: The current directory is scanned if no path is specified.
- Output: The JSON file is saved to the current directory.
Installation
Install Project Visualizer globally using NPM:
npm install -g project-visualizer
Usage
Basic Command
Visualize the directory structure (scans the current directory by default and saves output in the current directory):
pvis
Specify a Target Directory
Provide a specific directory to scan:
pvis <path_to_directory>
Simple Mode (No Metadata)
Use the -s
or -simple
flag to produce a lightweight JSON without metadata:
pvis <path_to_directory> -s
Examples
1. Default Mode (With Metadata)
pvis ./my-project
Output:
{
"src": {
"index.js": {
"size": 1024,
"type": "js",
"lastModified": "2024-06-17T12:34:56Z",
"lines": 50
},
"styles.css": {
"size": 500,
"type": "css",
"lastModified": "2024-06-17T10:12:00Z",
"lines": 20
}
},
"README.md": {
"size": 1024,
"type": "md",
"lastModified": "2024-06-17T08:00:00Z",
"lines": 40
}
}
2. Simple Mode (No Metadata)
pvis ./my-project -s
Output:
{
"src": {
"index.js": null,
"styles.css": null
},
"README.md": null
}
Defaults
- Input: If no path is specified, the current working directory is scanned.
- Output: The JSON file is saved to the current directory as
<project-name>-visualizer.json
.
Output Formats
- Directories: Represented as nested objects.
- Files:
- With Metadata: Includes
size
,type
,lastModified
, andlines
. - In Simple Mode: Files are represented as
null
.
- With Metadata: Includes
Flags
Flag | Description |
---|---|
-s | Outputs a simplified JSON (no metadata). |
-simple | Same as -s , produces clean JSON output. |
Requirements
- Node.js v12 or later.
Installation and Testing Locally
For local development or testing:
- Clone the repository:
git clone https://github.com/your-username/project-visualizer.git cd project-visualizer
- Link the CLI tool locally:
npm link
- Test it:
pvis ./your-directory
Contributing
- Fork this repository.
- Create a feature branch:
git checkout -b feature-name
. - Make your changes.
- Submit a pull request.
License
This project is licensed under the MIT License.
Author
Developed by Your Name.
Feel free to reach out for feedback, suggestions, or contributions.