[8.19] Fix Moon webpack dependency cache invalidation (#258940)#259475
Merged
kibanamachine merged 5 commits intoelastic:8.19from Mar 27, 2026
Merged
[8.19] Fix Moon webpack dependency cache invalidation (#258940)#259475kibanamachine merged 5 commits intoelastic:8.19from
kibanamachine merged 5 commits intoelastic:8.19from
Conversation
13c174d to
497a84c
Compare
Moon cached webpack-built shared dependency bundles using only local source files and webpack config as inputs. When a dependency like `@elastic/eui` changed after bootstrap, Moon did not see any relevant input change for `@kbn/ui-shared-deps-npm`, so it could restore a stale cached bundle. That left the installed dependency tree newer than the built artifact, which is why code present under `node_modules/@elastic/eui` was missing from the emitted shared deps bundle. This change makes Moon invalidate those webpack bundle caches when, and only when, the actual resolved dependency graph for the bundle changes. Instead of keying off the entire workspace yarn.lock, it adds an exact transitive dependency fingerprint for each affected webpack-built package. That gives correct rebuilds for updated dependencies, including transitive ones, without broadly uncaching on unrelated lockfile churn. --------- Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co> (cherry picked from commit 41b1f04)
…59640) ## Summary Fixes `extract-version-dependencies` failing with `Unable to resolve d3-color@1 - 2 from yarn.lock dependency graph` when Yarn merges multiple lockfile descriptors (aliases) into a single block. ## Changes - **`yarn_lock_v1.ts`**: Parse each comma-separated header descriptor with correct scoped vs unscoped `@` splitting; register `PackageInfo` per alias; merge `requestedVersions` for duplicate `name@resolvedVersion` keys. In `focus` mode, include a block if any alias matches. - **`yarn_lock_v1.test.ts`**: Regression test for compound headers. - **`yarn.lock`**: Refreshed merged descriptor lines (e.g. `d3-color` / `@elastic/kibana-d3-color`, `ajv` / `@redocly/ajv`). - **`version_dependencies.txt`**: Regenerated via `extract-version-dependencies`. ## Testing - `node scripts/jest src/dev/yarn/yarn_lock_v1.test.ts` - `moon run @kbn/ui-shared-deps-npm:extract-version-dependencies` - `node scripts/check_changes.ts` Made with [Cursor](https://cursor.com) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary Test clearing the moon cache before trying to store one for the job.
9adf7d3 to
05e87d3
Compare
delanni
approved these changes
Mar 27, 2026
Contributor
💚 Build Succeeded
Metrics [docs]
History
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport
This will backport the following commits from
mainto8.19:Questions ?
Please refer to the Backport tool documentation