tree-cli-tool
Version:
A powerful command-line tool to display directory tree structure with various configuration options and output formats
40 lines • 1.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MarkdownFormatter = exports.JsonFormatter = exports.TextFormatter = exports.createFormatter = exports.TreeBuilder = void 0;
exports.generateTree = generateTree;
const tree_builder_1 = require("./tree-builder");
const formatters_1 = require("./formatters");
// 导出所有类型和类
var tree_builder_2 = require("./tree-builder");
Object.defineProperty(exports, "TreeBuilder", { enumerable: true, get: function () { return tree_builder_2.TreeBuilder; } });
var formatters_2 = require("./formatters");
Object.defineProperty(exports, "createFormatter", { enumerable: true, get: function () { return formatters_2.createFormatter; } });
Object.defineProperty(exports, "TextFormatter", { enumerable: true, get: function () { return formatters_2.TextFormatter; } });
Object.defineProperty(exports, "JsonFormatter", { enumerable: true, get: function () { return formatters_2.JsonFormatter; } });
Object.defineProperty(exports, "MarkdownFormatter", { enumerable: true, get: function () { return formatters_2.MarkdownFormatter; } });
// 主要的 API 函数
async function generateTree(options) {
const defaultOptions = {
maxDepth: -1,
format: 'text',
exclude: [],
includeTypes: [],
excludeTypes: [],
showHidden: false,
showSize: false,
showDate: false,
dirsOnly: false,
colorize: true,
...options,
path: options.path,
};
const treeBuilder = new tree_builder_1.TreeBuilder(defaultOptions);
const { tree, stats } = await treeBuilder.buildTree();
const formatter = (0, formatters_1.createFormatter)(defaultOptions);
return {
tree,
stats,
formatted: formatter.format(tree, stats),
};
}
//# sourceMappingURL=index.js.map