--- import { readFileSync } from "node:fs"; import glob from "fast-glob"; const files = await glob(["demo/**/*"], { followSymbolicLinks: true, dot: true, onlyFiles: true, }); const filetree = {}; for (const file of files) { const contents = readFileSync(file, "utf8"); const paths = file.replace("demo/", "").split("/").filter(Boolean); let i = 0; let obj: any = filetree; for (const part of paths) { if (part.endsWith(".md")) continue; const last = i === paths.length - 1; if (!obj["directory"]) obj["directory"] = {}; if (last) { obj["directory"][part] = { file: { contents } }; } else { obj["directory"][part] = obj["directory"][part] ?? {}; obj = obj["directory"][part]; } i++; } } ---