The current Customer Account UI Extension dependency chain installs
brace-expansion@2.1.2 through:
@shopify/ui-extensions
→ ts-morph
→ @ts-morph/common
→ minimatch@9.0.9
→ brace-expansion@2.1.2
Environment and versions:
- Node.js 24.13.1
- npm 11.8.0
- @shopify/ui-extensions 2026.4.0
- ts-morph 25.0.1
- @ts-morph/common 0.26.1
- minimatch 9.0.9
- brace-expansion 2.1.2
npm audit reports GHSA-mh99-v99m-4gvg as high severity. In our tested app, a
clean production Shopify app build did not include ts-morph, minimatch, or
brace-expansion in the generated UI extension bundles, source-map inputs, or
metafile inputs. They remain installed in the package dependency graph, but we
found no evidence that they are included in the deployable UI runtime
artifacts.
Reproduction:
- Run
npm cifrom a clean checkout. - Run
npm explain minimatch --json. - Run
npm explain brace-expansion --json. - Run
npm audit --json. - Run
npm exec --offline -- shopify app build --config production --no-color --skip-dependencies-installation.
We inspected the generated UI bundles, source maps, metafile input lists, and
external imports. None references minimatch, brace-expansion, ts-morph, or
@ts-morph/common.
Could the supported UI Extensions dependency chain be updated to versions of
ts-morph / @ts-morph/common that use a non-affected minimatch and
brace-expansion version?
We do not want to force an incompatible minimatch major through an application
override, because @ts-morph/common 0.26.1 declares minimatch ^9.0.4 and npm
reports an override to minimatch 10 as an invalid dependency tree.
The smallest preferred fix is a compatible @shopify/ui-extensions dependency
update whose ts-morph/@ts-morph/common chain permits a patched minimatch and
brace-expansion release.