globby 16.2.4 breaks in combination with playwright end to end tests
- Dominant language
- JavaScript
- Stars
- 15.7k
- Forks
- 3.9k
- Avg merge
- 4d 6h
- Merged PRs (30d)
- 34
Description
With Globby 16.2.4, playwright e2e tests fail with the following error:
```
➜ cesium git:(main) npm run test-e2e-release
> cesium@1.145.0 test-e2e-release
> release=true playwright test -c Specs/e2e/playwright.config.js --project=chromium
TypeError: micromatch.braces is not a function
at sandcastle.spec.js:5
3 | import { basename, dirname } from "node:path";
4 |
> 5 | const gallery = globbySync("packages/sandcastle/gallery/**/*.yaml");
| ^
6 |
7 | for (const example of gallery) {
8 | const slug = basename(dirname(example));
at expandBraceExpansion (/Users/matt.schwartz/Desktop/cesium2/cesium/node_modules/fast-glob/out/utils/pattern.js:137:33)
at /Users/matt.schwartz/Desktop/cesium2/cesium/node_modules/fast-glob/out/utils/pattern.js:132:34
at Object.expandPatternsWithBraceExpansion (/Users/matt.schwartz/Desktop/cesium2/cesium/node_modules/fast-glob/out/utils/pattern.js:131:21)
at processPatterns (/Users/matt.schwartz/Desktop/cesium2/cesium/node_modules/fast-glob/out/managers/tasks.js:27:34)
at Object.generate (/Users/matt.schwartz/Desktop/cesium2/cesium/node_modules/fast-glob/out/managers/tasks.js:6:22)
at getWorks (/Users/matt.schwartz/Desktop/cesium2/cesium/node_modules/fast-glob/out/index.js:91:31)
at AsyncFunction.sync (/Users/matt.schwartz/Desktop/cesium2/cesium/node_modules/fast-glob/out/index.js:23:23)
at /Users/matt.schwartz/Desktop/cesium2/cesium/node_modules/globby/index.js:666:45
at /Users/matt.schwartz/Desktop/cesium2/cesium/node_modules/globby/index.js:666:24
at globbySync (/Users/matt.schwartz/Desktop/cesium2/cesium/node_modules/globby/index.js:176:68)
at /Users/matt.schwartz/Desktop/cesium2/cesium/Specs/e2e/sandcastle.spec.js:5:17
```
I had claude try to root cause it and it determined the responsible party is Playwright, so I'll open up an issue with them. In the meantime, we'll pin Globby to 16.2.3 (which works, I confirmed) for the 1.145 release.
[Issue opened in playwright](https://github.com/microsoft/playwright/issues/42491)
Contributor guide
Research direction
Start with Specs/e2e/sandcastle.spec.js and reproduce the failure using npm run test-e2e-release. Inspect the Globby, fast-glob, and Playwright dependency interaction around globbySync and compare versions 16.2.4 and 16.2.3. Done means the Playwright end-to-end release tests run without the micromatch.braces error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, playwright
- Domain
- testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100