Skip to content

refactor(solana-test-validator-up): adopt @metamask/local-node-utils#9237

Merged
ulissesferreira merged 6 commits into
mainfrom
solana-test-validator-up-use-local-node-utils
Jun 24, 2026
Merged

refactor(solana-test-validator-up): adopt @metamask/local-node-utils#9237
ulissesferreira merged 6 commits into
mainfrom
solana-test-validator-up-use-local-node-utils

Conversation

@ulissesferreira

@ulissesferreira ulissesferreira commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Replace duplicated installer boilerplate in @metamask/solana-test-validator-up with shared utilities from @metamask/local-node-utils.
  • Swap the direct yaml dependency for a workspace dependency on @metamask/local-node-utils.
  • Add TypeScript project references to @metamask/local-node-utils so builds resolve the dependency correctly.
  • Preserve all public exports and Solana-specific install logic (installSolanaRelease, findSolanaBinaries), including relative-path executable wrappers.

Test plan

  • yarn workspace @metamask/local-node-utils run build
  • yarn workspace @metamask/solana-test-validator-up run build
  • yarn workspace @metamask/solana-test-validator-up run test
  • yarn workspace @metamask/solana-test-validator-up run changelog:validate

Note

Low Risk
Internal refactor of a dev/E2E installer with behavior preserved via explicit relative wrapper paths and existing tests; no auth, production runtime, or user data paths.

Overview
@metamask/solana-test-validator-up now delegates shared installer plumbing to @metamask/local-node-utils instead of inlining it in install.ts. Cache resolution, package.json config reads, downloads, checksum verification, tar extraction, platform keys, cache cleanup, and Node bin wrappers all come from the shared package; Solana-specific flow (installSolanaRelease, findSolanaBinaries, default Agave release pins) stays in this package.

The direct yaml dependency is removed in favor of @metamask/local-node-utils, with TypeScript project references and an updated monorepo dependency graph. Public types are aliased to the shared ArtifactConfig / InstallDependencies shapes, and installExecutableWrapper is called with pathResolution: 'relative' so generated solana / solana-test-validator wrappers keep the same relative-path behavior as before.

Reviewed by Cursor Bugbot for commit 0e52f88. Bugbot is set up for automated code reviews on this repo. Configure here.

@ulissesferreira ulissesferreira requested review from a team as code owners June 23, 2026 11:50
@ulissesferreira ulissesferreira force-pushed the add-local-node-utils-package-impl branch from 65ac099 to 97084d1 Compare June 23, 2026 13:31
@ulissesferreira ulissesferreira force-pushed the solana-test-validator-up-use-local-node-utils branch from 5ef66e6 to 11fc9d3 Compare June 23, 2026 13:32
@ulissesferreira ulissesferreira force-pushed the solana-test-validator-up-use-local-node-utils branch from 11fc9d3 to ca7c7af Compare June 23, 2026 13:41
Battambang
Battambang previously approved these changes Jun 23, 2026
@ulissesferreira ulissesferreira changed the title refactor(solana-test-validator-up): adopt @metamask/local-node-utils refactor(solana-test-validator-up): adopt @metamask/local-node-utils Jun 23, 2026
@ulissesferreira ulissesferreira force-pushed the add-local-node-utils-package-impl branch 2 times, most recently from 5dca017 to c041943 Compare June 24, 2026 09:02
Base automatically changed from add-local-node-utils-package-impl to main June 24, 2026 09:59
@ulissesferreira ulissesferreira dismissed Battambang’s stale review June 24, 2026 09:59

The base branch was changed.

@ulissesferreira ulissesferreira force-pushed the solana-test-validator-up-use-local-node-utils branch from e331fc7 to 0e52f88 Compare June 24, 2026 10:07
@ulissesferreira ulissesferreira added this pull request to the merge queue Jun 24, 2026
Merged via the queue into main with commit 9f98ba8 Jun 24, 2026
396 checks passed
@ulissesferreira ulissesferreira deleted the solana-test-validator-up-use-local-node-utils branch June 24, 2026 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants