Skip to content

fix(deps): scope js-yaml override to restore changesets compatibility#423

Merged
perasperaactual merged 1 commit into
devfrom
fix/changesets-js-yaml-v4-compat
May 15, 2026
Merged

fix(deps): scope js-yaml override to restore changesets compatibility#423
perasperaactual merged 1 commit into
devfrom
fix/changesets-js-yaml-v4-compat

Conversation

@perasperaactual
Copy link
Copy Markdown
Contributor

Problem

PR bbf46a43 (security overrides) added "js-yaml": ">=4.1.1" to pnpm.overrides, forcing js-yaml v4 globally. @changesets/cli@2.31.0 has a transitive dep read-yaml-file@1.1.0 that calls yaml.safeLoad(), which was removed in js-yaml v4.

This broke pnpm changeset version in CI, causing both prerelease runs triggered by PRs #420 and #421 to fail:

Error: Function yaml.safeLoad is removed in js-yaml 4.
Use yaml.load instead, which is now safe by default.

Fix

pnpm's package>dependency override syntax scopes a version constraint to one specific package's dep resolution. Adding "read-yaml-file>js-yaml": "^3" gives read-yaml-file its own js-yaml v3 without affecting any other package. All Stackwright packages stay on >=4.1.1 per the security fix.

Verification

Confirmed via module resolution inspection:

  • read-yaml-file resolves js-yaml to its own nested node_modules/read-yaml-file/node_modules/js-yaml at v3.14.2 with safeLoad intact ✅
  • Global js-yaml remains v4.1.1 (security-fix version) ✅
  • require('read-yaml-file') loads cleanly with no errors ✅

No changeset needed

pnpm.overrides is lockfile infrastructure — no published package API changes.

…eset compat

The security fix in bbf46a4 added a global js-yaml >=4.1.1 pnpm override.
@changesets/cli@2.31.0 has a transitive dep (read-yaml-file@1.1.0) that calls
yaml.safeLoad(), removed in js-yaml v4. This crashed pnpm changeset version
in CI on every prerelease and release run.

Add a scoped override 'read-yaml-file>js-yaml: ^3' using pnpm's package>dep
syntax, which pins js-yaml to v3 only within read-yaml-file's dep tree.
Everything else stays on the >=4.1.1 security-fix version.
@github-actions
Copy link
Copy Markdown
Contributor

✅ Visual Regression Test Results

Status: ✅ All visual tests passed!

All screenshots match the baseline. No visual regressions detected! 🎉

@github-actions
Copy link
Copy Markdown
Contributor

⚡ Performance Benchmark Results

✅ Build Time Benchmarks: PASSED

✅ Bundle Size Benchmarks: PASSED

❌ Runtime Vitals Benchmarks: FAILED

📝 Note: Detailed results are available in the job logs.

🎯 Performance Budgets:

  • Build time: <70s total
  • First-load JS: <100KB gzipped
  • FCP: <1.5s, LCP: <2.5s, TTI: <3s

Updated: 2026-05-15T17:25:15.399Z

@perasperaactual perasperaactual merged commit 58a2b1d into dev May 15, 2026
6 of 7 checks passed
@perasperaactual perasperaactual deleted the fix/changesets-js-yaml-v4-compat branch May 15, 2026 17:29
@github-actions
Copy link
Copy Markdown
Contributor

♿ Accessibility Test Results

Overall Status: ✅ 0/0 tests passed

🦮 WCAG 2.1 AA Compliance

No WCAG test results available

⌨️ Keyboard Navigation

No keyboard navigation test results available


⚠️ No accessibility tests were executed. Check the workflow logs for setup issues.

📊 Detailed Report

Download the full HTML accessibility report from the workflow artifacts for:

  • Detailed WCAG violation descriptions
  • Specific element selectors and fixes
  • Color contrast issues
  • Keyboard navigation flow analysis

🔍 Testing Checklist

Our accessibility tests verify:

  • ✅ WCAG 2.1 Level AA compliance
  • ✅ Color contrast in light and dark modes
  • ✅ Tab key navigation through all interactive elements
  • ✅ Focus indicators are visible
  • ✅ No keyboard traps
  • ✅ Skip links and ARIA landmarks
  • ✅ Screen reader compatibility

Powered by @axe-core/playwright and Playwright

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.

1 participant