Skip to content

chore(deps): migrate shared devDependencies to pnpm catalog#478

Merged
perasperaactual merged 1 commit into
devfrom
chore/pnpm-catalog-migration
May 31, 2026
Merged

chore(deps): migrate shared devDependencies to pnpm catalog#478
perasperaactual merged 1 commit into
devfrom
chore/pnpm-catalog-migration

Conversation

@perasperaactual
Copy link
Copy Markdown
Contributor

Summary

Migrates the OSS repo from pnpm.overrides-based version pinning to the pnpm catalog approach for shared dev toolchain dependencies, matching the pattern recently adopted in stackwright-pro.

Problem

Each package declared its own version ranges for shared devDeps, leading to drift:

  • tsup: "^8.5.1", "^8.5.0", "^8.5", "^8"
  • vitest: "^4.1.3", "^4.0.18", "^4"
  • @types/node: "^25.6.2", "^25.6"

The pnpm.overrides silently coerced these, but intent was unclear.

Solution

  • Add catalog: section to pnpm-workspace.yaml (single source of truth)
  • Update all 15 packages to use "catalog:" specifier
  • Remove catalog-managed deps from pnpm.overrides
  • Keep security/transitive overrides unchanged

Validation

  • 37 catalog specifiers in lockfile
  • All packages build
  • 921 tests pass (0 failures)
  • Matches stackwright-pro pattern

@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

github-actions Bot commented May 31, 2026

⚡ Performance Benchmark Results

✅ Build Time Benchmarks: PASSED

❌ Bundle Size Benchmarks: FAILED

❌ 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-31T22:48:59.008Z

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 31, 2026

♿ 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

Replaces per-package version strings for tsup, vitest, and @types/node
with catalog: references defined in pnpm-workspace.yaml. This eliminates
version drift across 15 packages and aligns with the approach used in
stackwright-pro.

- Add catalog section to pnpm-workspace.yaml
- Update 15 packages to use catalog: specifiers
- Remove tsup, vitest, @types/node from pnpm.overrides
- Keep typescript override for transitive enforcement
- Keep all security overrides unchanged
@perasperaactual perasperaactual force-pushed the chore/pnpm-catalog-migration branch from d7d162d to f163330 Compare May 31, 2026 22:45
@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! 🎉

@perasperaactual perasperaactual merged commit 8362eb4 into dev May 31, 2026
13 of 15 checks passed
@perasperaactual perasperaactual deleted the chore/pnpm-catalog-migration branch May 31, 2026 23:08
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