{"id":23545246,"url":"https://github.com/rulyotano/tree-extended","last_synced_at":"2025-02-28T07:09:04.725Z","repository":{"id":29132450,"uuid":"120016019","full_name":"rulyotano/tree-extended","owner":"rulyotano","description":"NodeJs make a raw text tree representation of a directory's content. It is highly customizable: max-deep, filters by deep level, different charsets...","archived":false,"fork":false,"pushed_at":"2024-08-30T13:22:17.000Z","size":1130,"stargazers_count":42,"open_issues_count":6,"forks_count":10,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-23T20:38:50.578Z","etag":null,"topics":["ascii","deep","directory","directory-map","directory-tree","map","nodejs","tree"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/tree-extended","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rulyotano.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-02T18:24:39.000Z","updated_at":"2024-11-20T19:43:38.000Z","dependencies_parsed_at":"2024-04-02T10:44:46.739Z","dependency_job_id":"18339eee-7cb8-4357-aaff-2f3fc911a828","html_url":"https://github.com/rulyotano/tree-extended","commit_stats":{"total_commits":104,"total_committers":2,"mean_commits":52.0,"dds":0.06730769230769229,"last_synced_commit":"8987eaa17eb67af53173e93bbc97ca4ddb13c89b"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rulyotano%2Ftree-extended","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rulyotano%2Ftree-extended/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rulyotano%2Ftree-extended/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rulyotano%2Ftree-extended/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rulyotano","download_url":"https://codeload.github.com/rulyotano/tree-extended/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241113199,"owners_count":19911853,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ascii","deep","directory","directory-map","directory-tree","map","nodejs","tree"],"created_at":"2024-12-26T08:15:42.598Z","updated_at":"2025-02-28T07:09:04.689Z","avatar_url":"https://github.com/rulyotano.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003ca href=\"https://www.npmjs.com/package/tree-extended\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/tree-extended?logo=npm\"/\u003e\u003c/a\u003e\n\u003cimg src=\"https://img.shields.io/azure-devops/build/rulyotano/7a2b7bc6-9995-4c0d-a4b4-ea7e317c782d/8?logo=azure-devops\"/\u003e\n\n# Tree Extended\n\nNodeJs make a raw text tree representation of a directory's content. Accept several options\n\n## Requires\n\nNodeJs \u003e= 6.x\n\n## Install\n\nInstall as a node's package.\n\n`npm install tree-extended -g`\n\nThen, it is just running `tree-extended` in any directory.\n\n## Collaborate\n\nYou can contribuite by forking the project on [GitHub](https://github.com/rulyotano/tree-extended).\n\n## Doc\n\nRun `tree-extended -h` for view the help.\n\n```\n\"tree-extended\" is a function for making a directory tree in a text format. You can configure if you want print ascii characters or not. Also has a deep parameter.\n    \n'tree-extended \"Path for making the tree\" [-argument1[=\"valArg1\"]] [-argument2[=\"valArg2\"]] [-argument3[=\"valArg3\"]]...[-argument[=\"valArgn\"]]'\n\narguments:\n    (-?, -h, -help): Prints this help\n    (-max=max_level): The max deep level\n    (-max-show-not-empty): If -max is set and -max-show-not-empty is set, show '...' string when level prune.\n    (-[c|charset]=ascii|utf8|utf8-icons): Show an specific charset (default: utf8).\n    (-gitignore): Ignore the .git/ folder and the content inside .gitignore file.\n    (-ignore=\"[level1:]folder/file name1,  [level2:]folder/file name2, ...\"): Ignores folders or files in an optional tree level.\n    (-only=\"[level1:]folder/file name1,  [level2:]folder/file name2, ...\"): Filter and only show that folders or files in an optional tree level.\n```\n\n## Screenshot\n\n![Screenshot](https://raw.githubusercontent.com/rulyotano/tree-extended/master/image.png)\n\n## Samples\n### Basic\n\nCommand: `tree-extended`\n\nDirectory Tree:\n\n```\n├───a/\n│   ├───aa/\n│   ├───ab/\n│   └───ac/\n├───a1/\n├───b/\n│   ├───ba/\n│   │   ├───bafile1.txt\n│   │   └───bafile2.txt\n│   ├───bb/\n│   ├───bc/\n│   │   └───bca/\n│   │       └───bca-file1.txt\n│   ├───bd/\n│   └───bfile1.txt\n├───c/\n├───c1/\n└───d/\n    ├───d1/\n    └───d2/\n```\n\n### Max Level\n\nCommand: `tree-extended -max=2`\n\nDirectory Tree:\n\n```\n├───a/\n│   ├───aa/\n│   ├───ab/\n│   └───ac/\n├───a1/\n├───b/\n│   ├───ba/\n│   ├───bb/\n│   ├───bc/\n│   ├───bd/\n│   └───bfile1.txt\n├───c/\n├───c1/\n└───d/\n    ├───d1/\n    └───d2/\n```\n\n### Max Level and Show not empty\n\nCommand: `tree-extended -max=1 -max-show-not-empty`\n\nDirectory Tree:\n\n```\n├───a/\n│   └───...\n├───a1/\n├───b/\n│   └───...\n├───c/\n├───c1/\n└───d/\n    └───...\n```\n\n### Custom Charset(s)\n\n#### With Ascii charset\n\nCommand: `tree-extended -max=2 -c=ascii`\n\nDirectory Tree:\n\n```\n+---a/\n|   +---aa/\n|   +---ab/\n|   \\---ac/\n+---a1/\n+---b/\n|   +---ba/\n|   +---bb/\n|   +---bc/\n|   +---bd/\n|   \\---bfile1.txt\n+---c/\n+---c1/\n\\---d/\n    +---d1/\n    \\---d2/\n```\n\n#### With Utf8 Icons charset\n\nCommand: `tree-extended -max=2 -charset=utf8-icons`\n\nDirectory Tree:\n\n```\n├───📁 a/\n│   ├───📁 aa/\n│   └───📁 ab/\n├───📁 a1/\n├───📁 b/\n│   ├───📁 bb/\n│   ├───📁 bd/\n│   └───📄 bfile1.txt\n└───📁 d/\n    └───📁 d1/\n```\n\n### Ignores\n\nCommand: `tree-extended -ignore=\"1:ba, 2:bafile1, c\"`\n\nDirectory Tree:\n\n```\n├───a/\n│   ├───aa/\n│   └───ab/\n├───a1/\n├───b/\n│   ├───bb/\n│   ├───bd/\n│   └───bfile1.txt\n└───d/\n    ├───d1/\n    └───d2/\n```\n\n### Only\n\nCommand: `tree-extended -only=\"0:b, 1:bc, 2:bca\"`\n\nDirectory Tree:\n\n```\n├───b/\n│   └───bc/\n│       └───bca/\n│           └───bca-file1.txt\n└───ba/\n```\n\nIn this example you can see you can restrict to only one path (or many). But here we can see that like the restriction is `0:b` (in the level `0` restric to `b`) also `ba/` is included. For avoiding this, we can use regular expressions in the patterns.\n\nCommand: `tree-extended -only=\"0:b$, 1:bc, 2:bca\"`\n\nDirectory Tree:\n\n```\n└───b/\n    └───bc/\n        └───bca/\n            └───bca-file1.txt\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frulyotano%2Ftree-extended","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frulyotano%2Ftree-extended","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frulyotano%2Ftree-extended/lists"}