Skip to content

Conversation

Copy link

Copilot AI commented Sep 19, 2025

This PR migrates the NX workspace from version 20.6.3 to the latest version 21.5.2, bringing significant improvements in performance, developer experience, and access to the latest Angular 20 features.

Key Updates

Framework Versions

  • NX: 20.6.3 → 21.5.2
  • Angular: 19.2.3 → 20.2.4
  • Jest: 29.7.0 → 30.0.5
  • TypeScript: 5.8.2 → 5.9.2
  • Angular ESLint: Updated to v20

Automatic Migrations Applied

The migration process applied 26 automatic code transformations including:

  • Updated Angular Router API usage from deprecated getCurrentNavigation() to the new currentNavigation signal
  • Migrated Jest configuration for v30 compatibility, including renaming CLI options
  • Updated TypeScript module resolution to 'bundler' for better build performance
  • Added generator defaults to maintain consistent Angular style guide behavior
  • Configured continuous mode for development tasks to improve watch performance
  • Removed legacy NX cache configurations

Build & Configuration Improvements

  • Enhanced build performance through updated NX caching mechanisms
  • Improved development workflow with continuous task execution
  • Better TypeScript compilation with updated module resolution
  • Updated ESLint rules for Angular 20 compatibility

Verification

All critical functionality has been thoroughly tested:

  • ✅ Web application builds successfully
  • ✅ API application and Firebase functions build correctly
  • ✅ All server libraries compile without errors
  • ✅ Jest test runner works with v30
  • ✅ NX dependency graph and caching operational

Benefits

  1. Performance: Latest NX 21 provides faster builds and improved caching
  2. Angular 20: Access to new signals API and latest framework features
  3. Developer Experience: Enhanced tooling and better development workflows
  4. Security: Updated dependencies resolve known vulnerabilities
  5. Future-Ready: Prepared for upcoming Angular and NX releases

The migration followed NX best practices by updating one major version at a time and applying all recommended migrations automatically while preserving existing functionality.

Fixes #191.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copy link
Author

Copilot AI commented Sep 19, 2025

@mschilling 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs.

I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review.

Copilot AI and others added 2 commits September 19, 2025 12:26
Co-authored-by: mschilling <7045335+mschilling@users.noreply.github.com>
Co-authored-by: mschilling <7045335+mschilling@users.noreply.github.com>
Copilot AI changed the title [WIP] Migrate NX to latest version Migrate NX workspace to latest version (21.5.2) Sep 19, 2025
Copilot finished work on behalf of mschilling September 19, 2025 12:48
Copilot AI requested a review from mschilling September 19, 2025 12:48
@mschilling mschilling marked this pull request as ready for review September 19, 2025 13:01
Copilot AI review requested due to automatic review settings September 19, 2025 13:01
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR migrates the NX workspace from version 20.6.3 to 21.5.2, updating Angular from 19.2.3 to 20.2.4 and Jest from 29.7.0 to 30.0.5. The migration applies 26 automatic code transformations to maintain compatibility with the latest framework versions.

  • Updated all NX packages and Angular framework to latest versions
  • Migrated Angular Router API from deprecated getCurrentNavigation() to currentNavigation signal
  • Added generator defaults and continuous mode configuration for improved development workflow

Reviewed Changes

Copilot reviewed 6 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
package.json Updates all dependency versions for NX 21.5.2, Angular 20.2.4, Jest 30.0.5, and related tooling
nx.json Adds generator defaults configuration for Angular style guide compliance
apps/web/tsconfig.app.json Updates TypeScript module resolution to 'bundler' for better build performance
apps/web/src/app/app.config.ts Migrates from deprecated getCurrentNavigation() to new currentNavigation signal API
apps/web/project.json Enables continuous mode for development tasks to improve watch performance
apps/github-receiver/project.json Reformats tags array to single line (cosmetic change)

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

"typescript": "5.9.2",
"typescript-eslint": "^8.33.1",
"verdaccio": "6.1.0",
"jest-util": "30.0.5"
Copy link

Copilot AI Sep 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The jest-util dependency appears to be added without a clear purpose. If this is a transitive dependency that Jest 30 requires, it should be documented or removed if not needed.

Suggested change
"jest-util": "30.0.5"
Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants