CesiumGS / CesiumGS/cesium

globby 16.2.4 breaks in combination with playwright end to end tests

Open
#13,755 1 comment 0 reactions 0 assignees View on GitHub
dependencies
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.