Fix: Respect .gitignore when discovering web and extension configurations #6627
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix: Respect .gitignore when discovering web and extension configurations
Resolves #6518
Problem
The
shopify app deployandshopify app devcommands fail when there are multipleshopify.web.tomlfiles in gitignored directories (e.g., git worktrees, build artifacts, tmp directories). The CLI currently searches through ALL subdirectories and only excludesnode_modules.Solution
Changes Made
Modified
packages/app/src/cli/models/app/loader.ts:filterIgnoredPathshelper function - Reads.gitignoreif it exists and filters paths using theignorepackageloadWebsfunction - Applies gitignore filtering before loading web configscreateExtensionInstancesfunction - Applies gitignore filtering before loading extensionsAdded tests in
packages/app/src/cli/models/app/loader.test.ts:Test Results
✅ Lint passes (0 errors, 38 pre-existing warnings)
✅ All 138 loader tests pass
✅ Manual verification confirms gitignored directories are properly excluded
Note on CI
Some CI jobs may fail due to infrastructure issues:
/opt/dev/bin/devnot available in CIThese are pre-existing environment issues unrelated to these changes.