mirror of
https://github.com/badlogic/pi-mono.git
synced 2026-08-03 05:24:06 +00:00
24 lines
629 B
JavaScript
24 lines
629 B
JavaScript
import { existsSync, readdirSync } from "node:fs";
|
|
import { join } from "node:path";
|
|
|
|
const SKIPPED_DIRECTORIES = new Set(["dist", "node_modules"]);
|
|
|
|
export function findPackageDirectories(root = "packages") {
|
|
const packageDirectories = [];
|
|
|
|
function visit(directory) {
|
|
if (existsSync(join(directory, "package.json"))) {
|
|
packageDirectories.push(directory);
|
|
}
|
|
|
|
for (const entry of readdirSync(directory, { withFileTypes: true })) {
|
|
if (!entry.isDirectory() || SKIPPED_DIRECTORIES.has(entry.name)) {
|
|
continue;
|
|
}
|
|
visit(join(directory, entry.name));
|
|
}
|
|
}
|
|
|
|
visit(root);
|
|
return packageDirectories.sort();
|
|
}
|