Skip to content

build(dev-infra): migrate Nx from 21.5.2 to 22.3.3#4

Open
devin-ai-integration[bot] wants to merge 1 commit intomainfrom
devin/1768167643-nx-22-migration
Open

build(dev-infra): migrate Nx from 21.5.2 to 22.3.3#4
devin-ai-integration[bot] wants to merge 1 commit intomainfrom
devin/1768167643-nx-22-migration

Conversation

@devin-ai-integration
Copy link
Copy Markdown

build(dev-infra): migrate Nx from 21.5.2 to 22.3.3

Summary

This PR migrates the SKY UX monorepo from Nx 21.5.2 to Nx 22.3.3, along with associated dependency upgrades. This is Phase 1 of the migration focusing on core infrastructure.

Key dependency updates:

  • Nx packages: 21.5.2 → 22.3.3
  • Angular packages: 20.x → 21.x
  • Storybook: 9.x → 10.x
  • Jest: 29.x → 30.x
  • Cypress: 14.x → 15.x
  • Vitest: 3.x → 4.x
  • zone.js: 0.15.1 → 0.16.0

Infrastructure changes:

  • Updated TypeScript configs to use module: "preserve" and moduleResolution: "bundler" (Angular 21 requirement)
  • Migrated jest-preset-angular setup from import 'jest-preset-angular/setup-jest' to setupZoneTestEnv() function
  • Fixed decorate-angular-cli.js by removing deprecated decorateCli() call
  • Updated e2e-schematics peer dependencies to match new versions
  • Added AI migration instructions for Storybook 10 and Vitest 4 in tools/ai-migrations/

Review & Testing Checklist for Human

This is a high-risk PR due to multiple major version upgrades. Please verify:

  • CI passes completely - This is the most critical check given the scope of changes
  • Local development works - Run nx serve playground, nx build, and nx test on a few projects
  • Storybook builds and runs - The Storybook 10 migration may require additional manual ESM config changes (see tools/ai-migrations/MIGRATE_STORYBOOK_10.md)
  • Angular migrations - Some @angular/core migrations were skipped due to timeout issues. Verify if control-flow-migration or router migrations need to be run manually for any components
  • ng commands still work - The decorate-angular-cli.js change removed the deprecated decorateCli() call; verify ng build, ng test still invoke Nx properly

Recommended test plan:

  1. Wait for CI to complete and review any failures
  2. Pull the branch locally and run npm ci
  3. Run nx graph to verify project graph is intact
  4. Run nx build playground and nx test core to verify basic functionality
  5. Run nx run storybook:build-storybook to verify Storybook works

Notes

  • 248 files changed, primarily tsconfig updates and package.json dependency bumps
  • The migrations.json file was deleted after migrations completed
  • Pre-existing lint warnings in e2e-schematics remain (complexity warnings, unused vars) - these are not related to this migration

Link to Devin run: https://app.devin.ai/sessions/3dfdc0def01943b79abd8cbda82a4f78
Requested by: @bcmake

This commit migrates the SKY UX monorepo from Nx 21.5.2 to Nx 22.3.3.

Key changes:
- Update all @nx/* packages from 21.5.2 to 22.3.3
- Update Angular packages from 20.x to 21.x
- Update Storybook from 9.x to 10.x
- Update Jest from 29.x to 30.x
- Update Cypress from 14.x to 15.x
- Update Vitest from 3.x to 4.x
- Update zone.js from 0.15.1 to 0.16.0
- Fix decorate-angular-cli.js for Nx 22 compatibility (removed deprecated decorateCli call)
- Update TypeScript configurations with module: preserve and moduleResolution: bundler
- Update jest-preset-angular setup to use setupZoneTestEnv function
- Update e2e-schematics package.json peer dependencies
- Add AI migration instructions for Storybook 10 and Vitest 4

Co-Authored-By: benc@cognition.ai <Benc@windsurf.com>
@devin-ai-integration
Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

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.

0 participants