Skip to content

chore(deps): refresh vulnerable dependencies in the pnpm lockfile - #21

Open
Lur1N77777 wants to merge 1 commit into
mainfrom
chore/refresh-vulnerable-deps
Open

Lur1N77777 wants to merge 1 commit into
mainfrom
chore/refresh-vulnerable-deps

Conversation

@Lur1N77777

Copy link
Copy Markdown
Owner

背景

CloudMail 有 14 个 Dependabot PR 积压,但由于它们都要改写同一个 pnpm-lock.yaml,合并任意一个都会让其余全部产生文本冲突(逐个处理需要十几轮 rebase)。

所以这里把可安全更新的部分打包成一次刷新。

改动

直接依赖

包 变更
mysql2 ^3.16.0 → ^3.24.5(解析为 3.24.5,修复 ≥3.23.1 的告警)

传递依赖(均落在父包已声明的范围内)

包 刷新后 修复要求
tar 7.5.22 ≥7.5.21(含 critical)
shell-quote 1.12.0 ≥1.8.4(critical)
ws 8.22.0 / 7.5.13 / 6.2.6 ≥8.21.0 / ≥7.5.11 / ≥6.2.4
js-yaml 4.3.2 / 3.15.2 ≥4.3.2 / ≥3.15.2
fast-uri 3.1.8 ≥3.1.6
nanoid 3.3.19 ≥3.3.18
brace-expansion 5.0.12 / 2.1.7 / 1.1.21 ≥5.0.12 / ≥2.1.7 / ≥1.1.21
undici 6.29.0 ≥6.28.1
postcss 8.5.28 ≥8.5.23
qs 6.16.0 ≥6.16.0
browserslist 4.29.3 ≥4.28.7
baseline-browser-mapping 2.11.27 ≥2.11.0
其他 postcss-selector-parser 6.1.4、body-parser 1.20.8、node-forge 1.4.0、http-cache-semantics 4.2.0、braces 3.0.3 ✅

同时 pnpm update 会把少量直接依赖升到 caret 范围内最新版(@react-navigation/*、tailwindcss)。

本地验证

检查 结果
pnpm install --frozen-lockfile ✅
pnpm check (tsc --noEmit) ✅
pnpm test ✅ 117 passed / 1 skipped
pnpm lint ✅ 0 errors
pnpm build (esbuild) ✅

CI 还会跑 expo web export 与 Android release 编译,请在 CI 通过后再合并。

仍未处理(需要 major 升级,单独决策)

  • vite 5.4.21 → 修复版 6.4.3(受 Expo 工具链约束)
  • image-size → 2.0.3 需要 major
  • uuid、decode-uri-component → 传递依赖 major
  • vitest ^2.1.9 → 需 3.2.6 / 4.1.11(Dependabot 的 PR build(deps-dev): bump vitest from 2.1.9 to 4.1.11 #18 升到 4.x 会让 CI 失败)

Bundles the Dependabot updates that could not be merged individually: every
Dependabot PR here rewrites pnpm-lock.yaml, so merging one made all the others
conflict textually. Refreshed the affected packages once instead.

Direct dependency:
  mysql2                     ^3.16.0  -> ^3.24.5   (3.24.5 resolved)

Transitive dependencies refreshed to the patched release already allowed by
their parents' ranges:
  tar                        7.5.x   -> 7.5.22
  shell-quote                1.8.3   -> 1.12.0
  ws                         8.22.0 / 7.5.13 / 6.2.6
  js-yaml                    4.3.2 / 3.15.2
  fast-uri                   3.1.8
  nanoid                     3.3.19
  brace-expansion            5.0.12 / 2.1.7 / 1.1.21
  undici                     6.29.0
  postcss                    8.5.28
  qs                         6.16.0
  browserslist               4.29.3
  baseline-browser-mapping   2.11.27
  postcss-selector-parser    6.1.4
  body-parser                1.20.8
  node-forge                 1.4.0
  http-cache-semantics       4.2.0
  braces                     3.0.3
  postcss                    8.5.28

`pnpm update` also moved a few direct dependencies to the newest release inside
their existing caret ranges (@react-navigation/*, tailwindcss).

Verified locally:
- pnpm install --frozen-lockfile
- pnpm check  (tsc --noEmit)
- pnpm test   (117 passed, 1 skipped)
- pnpm lint   (0 errors)
- pnpm build  (esbuild server bundle)

Still outstanding (need a major bump, deliberately not included):
- vite 5.4.21  -> advisory fixed in 6.4.3 (transitive, tied to the Expo toolchain)
- image-size   -> 2.0.3 requires a major
- uuid, decode-uri-component -> major bumps, transitive
- vitest ^2.1.9 -> 3.2.6 / 4.1.11 requires a major (Dependabot PR #18 fails CI on vitest 4)
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.

1 participant