Skip to content

Fix intermittent deploy failures with shared UI extension folders - #8833

Open
efegokdemir wants to merge 1 commit into
Shopify:mainfrom
efegokdemir:codex/app-deploy-shared-dist-race
Open

efegokdemir wants to merge 1 commit into
Shopify:mainfrom
efegokdemir:codex/app-deploy-shared-dist-race

Conversation

@efegokdemir

@efegokdemir efegokdemir commented Oct 8, 2026 •

Copy link
Copy Markdown

WHY are these changes introduced?

Fixes #8823.

app deploy builds UI extensions concurrently. When two UI extensions share a folder, one build can move its source map back into the shared local dist/ while another build copies that directory. The second copy may have already enumerated the map and then fail with ENOENT when it tries to stat the temporarily moved file.

WHAT is this pull request doing?

The UI bundle step now copies generated files individually and excludes *.js.map. Source maps are already kept in the local output directory and excluded from deploy archives, so this preserves the shipped bundle contents while removing the concurrent read/write race. The regression test confirms that regular and nested assets still copy, source maps stay local, and maps are omitted from the bundle.

The new regression test failed before the fix because the source map was copied into the bundle. It passes after the fix. The full @shopify/app suite passed (283 test files, 3,561 passed, 3 skipped); targeted ESLint, Prettier, type-check, and build also passed.

How to manually test your changes?

Create an app with a single extension folder containing two UI extensions that generate source maps, then run shopify app deploy. Repeat the deploy and confirm it no longer intermittently fails with ENOENT while copying a sibling .js.map file.

Post-release steps

None.

Checklist

  • I have considered possible cross-platform impacts (Mac, Linux, Windows)
  • I have considered possible documentation changes
  • I have considered analytics changes to measure impact
  • The change is user-facing; this bug fix uses a patch changeset for @shopify/app.

@efegokdemir
efegokdemir requested a review from a team as a code owner October 8, 2026 10:26

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: app deploy fails intermittently with ENOENT on <handle>.js.map when two UI extensions share a folder

1 participant