An open API service indexing awesome lists of open source software.

https://github.com/yswrepos/treeify-cli

🌟 List directory structure as tree-like in terminal
https://github.com/yswrepos/treeify-cli

command-line terminal tree treeify treeify-cli

Last synced: about 1 year ago
JSON representation

🌟 List directory structure as tree-like in terminal

Awesome Lists containing this project

README

          

# treeify-cli



NPM Version



License

You can use treeify-cli list directory structure as tree-like in terminal.
## Example

Run this command in treeify-cli root directory
```sh
treeify-cli -d ./treeify-cli --ignore node_modules,.git,.DS_Store
```

This will print the following results:
```
Β·
└── treeify-cli
β”œβ”€β”€ .gitignore
β”œβ”€β”€ .npmignore
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md
β”œβ”€β”€ bin
β”‚ └── treeify-cli.js
β”œβ”€β”€ package-lock.json
β”œβ”€β”€ package.json
β”œβ”€β”€ read-dir-to-tree.js
└── tree.js
```

The option `--ignore` or `-i` will ignore directory that you don't want list in terminal

Use `--out` or `-o` to output content to a specified file

```
treeify-cli -d ./treeify-cli -o output-demo.md
```

Use `--level` or `-l` option to list custom depth

```
treeify-cli -d ./treeify-cli -l 2
```

### Install Globally
In order to use `treeify-cli` in terminal you should install `treeify-cli` globally
```
npm install -g treeify-cli
```

### Options

```
Usage: treeify-cli [options]

Options:
-V, --version output the version number
-d, --dir the directory path you want to render by tree
-o, --out write the tree to a new file
-i, --ignore ignore the specified directory or file, they will not be listed
-l, --level the depth of the directory tree
-c, --color [color] tree’s color which output to the terminal (default: "white")
-h, --help display help for command
```
### Example with API

```js
var cli = require('treeify-cli')
cli.asTree([
{
name: "done",
children: [
{ name: "hiking" },
{ name: "camping"}
]
},
{
name: "todos",
children: [
{ name: "scuba diving" },
{ name: "surfing" }
]
}
])
```
This will get the following results:
```
Β·
β”œβ”€β”€ done
β”‚ β”œβ”€β”€ hiking
β”‚ └── camping
└── todos
β”œβ”€β”€ scuba diving
└── surfing
```
You can change the default node name by passing in the second parameter, the default value is {label: "name", children: "children"}
```js
tree.asTree([
{
title: "done",
items: [
{ title: "hiking" },
{ title: "camping"}
]
}
], { label: "title", children: "items" })
```

### Cloning this repository

```sh
git clone --depth=1 https://github.com/egsee/treeify-cli.git
```
### License

[MIT](./LICENSE)