Skip to content

Validate Yarn lockfile selectors - #14663

Merged
Sean McManus (sean-mcmanus) merged 2 commits into
mainfrom
seanmcm/devbox2-wsl/agent3/validate-yarn-lock-selectors
Aug 11, 2026
Merged

Validate Yarn lockfile selectors#14663
Sean McManus (sean-mcmanus) merged 2 commits into
mainfrom
seanmcm/devbox2-wsl/agent3/validate-yarn-lock-selectors

Conversation

@sean-mcmanus

Copy link
Copy Markdown
Contributor

Summary

Add static, pre-install validation that checks dependency and resolution selectors from Extension/package.json are represented in Extension/yarn.lock. Run focused fixture tests and current-manifest validation before dependency installation in the shared compile-and-test workflow, catching stale resolution selectors that Yarn Classic's --frozen-lockfile accepts.

This PR was investigated and created by GitHub Copilot in VS Code. Any message starting with ✨Copilot: was sent by Copilot.

Testing

  • yarn test-yarn-lock
  • yarn verify-yarn-lock
  • yarn eslint --report-unused-disable-directives src test ui .scripts
  • Verified the validator reports exactly fast-uri@^3.1.5 for the historical malformed state from 7777353
  • git diff --check origin/main...HEAD

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a small Node-based validator to ensure dependency/resolution selectors declared in Extension/package.json are actually present as selectors in Extension/yarn.lock, and wires it into CI to catch stale selectors that Yarn Classic may not fail on during --frozen-lockfile.

Changes:

  • Add verify-yarn-lock validator and test-yarn-lock fixture tests under Extension/.scripts/.
  • Add corresponding npm scripts to run the validator and its tests.
  • Run the validator + tests in the shared compile-and-test workflow before dependency installation.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
Extension/package.json Adds test-yarn-lock / verify-yarn-lock scripts to run new validator and its tests.
Extension/.scripts/verifyYarnLock.mjs Implements selector extraction from yarn.lock and comparison against expected selectors from package.json.
Extension/.scripts/verifyYarnLock.test.mjs Adds focused fixture tests covering stale selectors and common selector forms (scoped/nested).
.github/workflows/job-compile-and-test.yml Runs new validation step before yarn install in CI.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@sean-mcmanus
Sean McManus (sean-mcmanus) marked this pull request as ready for review August 11, 2026 01:31
@sean-mcmanus
Sean McManus (sean-mcmanus) requested a review from a team as a code owner August 11, 2026 01:31
Comment thread .github/workflows/job-compile-and-test.yml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

@sean-mcmanus
Sean McManus (sean-mcmanus) merged commit 9d19aa8 into main Aug 11, 2026
11 checks passed
@sean-mcmanus
Sean McManus (sean-mcmanus) deleted the seanmcm/devbox2-wsl/agent3/validate-yarn-lock-selectors branch August 11, 2026 19:14
@github-project-automation github-project-automation Bot moved this from Pull Request to Done in cpptools Aug 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants