Skip to content

fix(ci): translate tarsync yarn resolutions to pnpm overrides#2019

Merged
Tobbe merged 3 commits into
cedarjs:mainfrom
lisa-assistant:lisa/fix-pnpm-smoke-tests-tarsync-overrides
Jul 1, 2026
Merged

fix(ci): translate tarsync yarn resolutions to pnpm overrides#2019
Tobbe merged 3 commits into
cedarjs:mainfrom
lisa-assistant:lisa/fix-pnpm-smoke-tests-tarsync-overrides

Conversation

@lisa-assistant

Copy link
Copy Markdown
Contributor

Summary

Root cause: pnpm ignores yarn's resolutions field. After tarsync runs and writes local tarball paths into package.json's resolutions, pnpm install ignores those and fetches @cedarjs/project-config@4.2.0 from the npm registry. The published canary predates PR #1799 (which moved index.html from web/src/ to web/) and still resolves paths.web.html to web/src/index.html.

Symptom: Every pnpm smoke test since 2026-06-26 fails with Could not resolve entry module "src/index.html" — 5 consecutive daily failures.

Fix: After tarsync runs, read its yarn resolutions entries that point to local .tgz files and emit them as pnpm overrides (with file: prefix) in pnpm-workspace.yaml, so pnpm install uses the local tarballs instead of the stale registry canary.

Test plan

  • pnpm smoke tests CI passes after this change
  • npm smoke tests are unaffected

🤖 Generated with Claude Code

pnpm ignores yarn's `resolutions` field, so after tarsync populates it
with local tarball paths, `pnpm install` fetched framework packages from
the npm registry instead. The published canary of @cedarjs/project-config
predates the web/index.html move (cedarjs#1799) and still resolves html to
web/src/index.html, causing Vite to fail with "Could not resolve entry
module src/index.html" on every pnpm smoke test run.

Fix: read the tarsync-added resolutions and emit them as pnpm overrides
(with file: prefix) in pnpm-workspace.yaml so pnpm install uses the
local tarballs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@netlify

netlify Bot commented Jun 30, 2026

Copy link
Copy Markdown

Deploy Preview for cedarjs canceled.

Name Link
🔨 Latest commit f37fede
🔍 Latest deploy log https://app.netlify.com/projects/cedarjs/deploys/6a448fdd62e55c000858636f

@github-actions github-actions Bot added this to the next-release-patch milestone Jun 30, 2026
@greptile-apps

greptile-apps Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR makes pnpm smoke-test setup use the local framework tarballs written by tarsync. The main changes are:

  • Reads tarsync-generated .tgz entries from package.json resolutions.
  • Writes those entries into pnpm-workspace.yaml as pnpm overrides.
  • Escapes single quotes in generated YAML scalar values.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.

Important Files Changed

Filename Overview
.github/actions/set-up-test-project/setUpTestProject.mts Adds pnpm override generation for local tarsync tarballs and escapes single quotes in generated YAML values.

Reviews (3): Last reviewed commit: "formatting and refactoring" | Re-trigger Greptile

@nx-cloud

nx-cloud Bot commented Jun 30, 2026

Copy link
Copy Markdown

🤖 Nx Cloud AI Fix

Ensure the fix-ci command is configured to always run in your CI pipeline to get automatic fixes in future runs. For more information, please see https://nx.dev/ci/features/self-healing-ci


View your CI Pipeline Execution ↗ for commit f37fede

Command Status Duration Result
nx run-many -t build:pack --exclude create-ceda... ✅ Succeeded 7s View ↗
nx run-many -t build ✅ Succeeded 6s View ↗
nx run-many -t test --minWorkers=1 --maxWorkers=4 ✅ Succeeded 6s View ↗
nx run-many -t test:types ✅ Succeeded 7s View ↗

💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗


☁️ Nx Cloud last updated this comment at 2026-07-01 04:02:48 UTC

Comment thread .github/actions/set-up-test-project/setUpTestProject.mts Outdated
lisa-assistant and others added 2 commits June 30, 2026 10:11
In YAML single-quoted scalars a literal single-quote must be doubled.
Package names like @cedarjs/foo never contain single quotes, but the
tarball path could on unusual runner configs. Escape both to be safe.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Tobbe Tobbe merged commit 48602e5 into cedarjs:main Jul 1, 2026
50 checks passed
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