Commit 477e66c
fix(client): drop over-broad minimatch resolution so glob@10/11 get GLOBSTAR (fixes storybook) (#41949)
## Problem
`storybook-tests` fails. There are two independent layers, both fixed
here.
### Layer 1 — `GLOBSTAR` build failure
The Storybook preview build fails with:
`SyntaxError: The requested module 'minimatch' does not provide an
export named 'GLOBSTAR'`
**Root cause:** the `resolutions` block in `app/client/package.json` had
an over-broad blanket `"minimatch": "^5.1.8"` that force-downgraded
*every* minimatch to 5.x — including `glob@10` / `glob@11` (ESM), which
require minimatch 9/10 for the `GLOBSTAR` named export.
**Fix:** replaced the blanket with the specific `minimatch@^3.x ->
^5.1.8` pins (the CVE-2022-3517 ReDoS remediation, including the exact
`3.0.4` consumer). Resulting resolution:
- `glob@11 -> minimatch 10.2.5`, `glob@10 -> 9.0.9` (GLOBSTAR export
present)
- `glob 7/8 -> 5.1.9` (unchanged)
- all minimatch `>= 3.0.5` (no CVE regression — a bare blanket removal
would have reintroduced vulnerable `3.0.4`, which these pins prevent)
### Layer 2 — test-runner OOM
Once the build works, `test-storybook:ci` runs the Jest + Playwright
test-runner, which exceeds Node's ~2GB default old-space heap and dies
with `JavaScript heap out of memory` (exit 129). Added
`NODE_OPTIONS=--max-old-space-size=8192` to the Storybook Tests step.
## Verification (local, Node 24)
- `yarn install --immutable` clean
- Resolved minimatch all `>= 3.0.5` (no vulnerable version)
- Storybook builds clean (no `GLOBSTAR` error), `storybook-static`
artifact produced
- `glob 7/8` (used by the webpack client build) unchanged, so the client
build is unaffected
## Context
The identical fix landed in the EE repo (`appsmith-ee`) to unblock its
CI; the blanket resolution is identical in CE, so CE's Storybook is
broken the same way. Landing it here makes the fix durable (the CE->EE
sync converges the two) and fixes CE's own Storybook.
**Merge with a merge commit — do not squash** (preserves CE<->EE sync
history).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Automation
/ok-to-test tags="@tag.All"
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Increased the memory limit for Storybook tests in CI to help them run
more reliably.
* Updated dependency resolution settings to keep compatible versions of
a transitive package pinned consistently.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/28718473128>
> Commit: 9fc1f09
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=28718473128&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Sat, 04 Jul 2026 21:26:14 UTC
<!-- end of auto-generated comment: Cypress test results -->
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent d03d506 commit 477e66c
3 files changed
Lines changed: 41 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
47 | 52 | | |
48 | 53 | | |
49 | 54 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
417 | 417 | | |
418 | 418 | | |
419 | 419 | | |
420 | | - | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
421 | 428 | | |
422 | 429 | | |
423 | 430 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25988 | 25988 | | |
25989 | 25989 | | |
25990 | 25990 | | |
25991 | | - | |
| 25991 | + | |
| 25992 | + | |
| 25993 | + | |
| 25994 | + | |
| 25995 | + | |
| 25996 | + | |
| 25997 | + | |
| 25998 | + | |
| 25999 | + | |
| 26000 | + | |
| 26001 | + | |
| 26002 | + | |
| 26003 | + | |
| 26004 | + | |
| 26005 | + | |
| 26006 | + | |
| 26007 | + | |
| 26008 | + | |
| 26009 | + | |
25992 | 26010 | | |
25993 | 26011 | | |
25994 | 26012 | | |
| |||
25997 | 26015 | | |
25998 | 26016 | | |
25999 | 26017 | | |
| 26018 | + | |
| 26019 | + | |
| 26020 | + | |
| 26021 | + | |
| 26022 | + | |
| 26023 | + | |
| 26024 | + | |
| 26025 | + | |
| 26026 | + | |
26000 | 26027 | | |
26001 | 26028 | | |
26002 | 26029 | | |
| |||
0 commit comments