Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Build dependency chain installs brace-expansion@2.1.2 affected by GHSA-mh99-v99m-4gvg

未關閉
#129 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
48/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
冷清
技術堆疊
graphql, javascript, typescript

研究方向

Start with a clean checkout and run npm ci, then use npm explain minimatch --json, npm explain brace-expansion --json, and npm audit --json to trace the build dependency chain. Review the Shopify Function and graphql-config dependency ranges; done means the supported build dependencies resolve to an unaffected compatible minimatch/brace-expansion combination without an out-of-range consumer override.

由索引模型根據 Issue 內容生成。

描述

Summary

The current Shopify Function JavaScript toolchain installs
brace-expansion@2.1.2 through minimatch@9.0.9. npm audit reports
GHSA-mh99-v99m-4gvg as high severity.

Environment and versions
  • Node.js 24.13.1
  • npm 11.8.0
  • @shopify/shopify_function 2.0.1
  • graphql-config 5.1.3
  • minimatch 9.0.9
  • brace-expansion 2.1.2
Reproduction

In a Shopify app with a JavaScript Function extension:

  1. Run npm ci from a clean checkout.
  2. Run npm explain minimatch --json.
  3. Run npm explain brace-expansion --json.
  4. Run npm audit --json.

The Function workspace reaches the affected package through the Shopify
Function/code-generation build chain, including graphql-config/minimatch.

The production app build was generated with:

npm exec --offline -- shopify app build --config production --no-color --skip-dependencies-installation

We checked the generated Function JavaScript and WASM with static byte/string
searches and found no minimatch, brace-expansion, or graphql-config package
reference. We therefore believe this is a build-tool dependency, but still
fail our dependency audit until it is resolved or narrowly reviewed.

Forcing minimatch 10 as a consumer override is not a safe workaround:
graphql-config 5.1.3 declares minimatch ^9.0.5, so npm reports the dependency
tree as invalid.

Expected result

The supported Function build dependencies should resolve to a minimatch /
brace-expansion combination that is not affected by
GHSA-mh99-v99m-4gvg.

The smallest preferred fix is a compatible Shopify Function dependency update
whose graphql-config/minimatch ranges support a patched brace-expansion
release, without requiring consumers to force an out-of-range major override.

Additional context

The package is used by the build toolchain and is not imported by the
generated Function JavaScript or WASM artifact in our verification. We are
still treating the audit result as fail-closed and would prefer an upstream
dependency update over an incompatible package override.

主要語言
TypeScript
星號
35
分支
9
PR 合併指標
30 天內沒有已合併 PR

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

Shopify/shopify-function-javascript 的其他 Issue

查看 Shopify/shopify-function-javascript 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。