Hive Hive
Sign in

fix(cli): avoid expanding recursive exclusion globs

GitHub issue · Closed

Metadata
Source
tuist/tuist #10957
Updated
Jun 24, 2026
Domains
Generated projects
Details

Purpose

Recursive exclusion patterns such as Documentation/internal/**/* were being expanded into full path sets before filtering. On large trees that made manifest loading traverse and materialize excluded subtrees, which turns exclusions into a graph-loading hot path.

This change collapses recursive exclude suffixes to their concrete directory root, so the file and resource mappers can reject descendants without enumerating the whole subtree first. The regression coverage exercises the new helper and both manifest mapper call sites.

How to test locally

  • tuist generate tuist ProjectDescription --no-open
  • xcodebuild build -workspace Tuist.xcworkspace -scheme tuist CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY=""
Comments
TA
tuist-atlas[bot] May 28, 2026

The fix for avoiding the expansion of recursive exclusion globs is now available in 4.195.8. Update to this version to benefit from the improved performance when using recursive exclusion patterns like Documentation/internal/**/*.