ampproject / ampproject/amphtml
CI broken: Cannot find module 'fs-extra' in build-system/pr-check/utils.js on Module/Nomodule Build steps
- Dominant language
- JavaScript
- Stars
- 14.9k
- Forks
- 4.1k
- PR merge metrics
- No merged PRs in 30d
Description
All current PR CI runs are failing on Module Build (Test/Bundle Size) and Nomodule Build (Test/Bundle Size) steps with:
```
Error: Cannot find module 'fs-extra'
Require stack:
- /home/circleci/project/build-system/pr-check/utils.js
- /home/circleci/project/build-system/pr-check/dist.js
at Object. (/home/circleci/project/build-system/pr-check/utils.js:3:12)
code: 'MODULE_NOT_FOUND',
Node.js v24.15.0
Exited with code exit status 1
```
`fs-extra@11.2.0` is declared in `package.json` and present in `package-lock.json`, so this looks like a CircleCI runner image / cache issue rather than a missing dependency.
**Confirmed affecting unrelated PRs (identical stack trace verified in CircleCI logs):**
- #40454 (AMP validator) — CircleCI job [722540](https://circleci.com/gh/ampproject/amphtml/722540)
- #40504, #40505, #40506 (amp-story / amp-story-player) — CircleCI jobs [722768](https://circleci.com/gh/ampproject/amphtml/722768) and [722822](https://circleci.com/gh/ampproject/amphtml/722822)
**Main itself is green:** CircleCI build [#722707](https://circleci.com/gh/ampproject/amphtml/722707) (chromedriver v148 merge on main) passed. The breakage appears to have started in newer CI runs after that merge, suggesting a runner image change or cache invalidation around the recent Node 24 + `lockfileVersion: 3` migration commits (#40444, #40450).
Contributor guide
Research direction
Start with build-system/pr-check/utils.js and inspect how the Module and Nomodule Build steps install dependencies, using package.json and package-lock.json to verify fs-extra resolution. Compare the affected CircleCI jobs and cache or runner behavior; done when unrelated PRs complete both build steps without the MODULE_NOT_FOUND error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- build-system, ci-cd
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100