(tree, parent_names=None)
| 172 | # Check if any component path overlaps with changed files |
| 173 | for comp in components: |
| 174 | # Component IDs may be class names, check if they match any changed file path |
| 175 | if any( |
| 176 | changed_file in comp or comp in changed_file for changed_file in changed_set |
| 177 | ): |
| 178 | modules_to_invalidate.add(mod_name) |
| 179 | # Also invalidate parent modules |
| 180 | for parent in parent_names: |
| 181 | modules_to_invalidate.add(parent) |
| 182 | break |
| 183 | |
| 184 | children = mod_info.get("children", {}) |
| 185 | if isinstance(children, dict) and children: |
| 186 | _find_affected(children, parent_names + [mod_name]) |
| 187 | |
| 188 | _find_affected(module_tree) |
| 189 | |
| 190 | # Also remove overview.md since it depends on child docs |
| 191 | if modules_to_invalidate: |
| 192 | modules_to_invalidate.add("overview") |
| 193 | |
| 194 | # Delete affected module docs |
no test coverage detected