diff --git a/foxglove/shared/defs/src/generateRosTsGeneratorConfig.ts b/foxglove/shared/defs/src/generateRosTsGeneratorConfig.ts index 6cb42447..7bc7f01e 100644 --- a/foxglove/shared/defs/src/generateRosTsGeneratorConfig.ts +++ b/foxglove/shared/defs/src/generateRosTsGeneratorConfig.ts @@ -1,4 +1,4 @@ -import { readdirSync, statSync, writeFileSync } from "fs"; +import { existsSync, readdirSync, statSync, writeFileSync } from "fs"; import { join } from "path"; /** @@ -21,8 +21,11 @@ export function generateRosTsGeneratorConfig( .map((name) => join(rosSharePath, name)) .filter((path) => statSync(path).isDirectory()); - // Filter directories to only include those ending in '_srvs' or '_msgs' - const filteredDirectories = allDirectories.filter((dir) => dir.endsWith("_srvs") || dir.endsWith("_msgs")); + const filteredDirectories = allDirectories.filter( + (dir) => + (dir.endsWith("_srvs") || dir.endsWith("_msgs") || dir.endsWith("_interfaces")) && + (existsSync(join(dir, "msg")) || existsSync(join(dir, "srv"))), + ); // Create the JSON configuration object const outputData = {