Skip to content

feat: nx 23 and angular 22#175

Merged
NathanWalker merged 5 commits into
mainfrom
feat/nx-23-migration
Jul 23, 2026
Merged

feat: nx 23 and angular 22#175
NathanWalker merged 5 commits into
mainfrom
feat/nx-23-migration

Conversation

@edusperoni

@edusperoni edusperoni commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

PR Checklist

What is the current behavior?

The workspace runs on Nx 22 / Angular 21-era tooling with the legacy .eslintrc.json config format, and @nativescript/nx is consumed from a local tarball. The DetachedLoader still exposes the deprecated ComponentFactory-based methods (loadWithFactory, loadWithFactoryInLocation), which no longer compile against @angular/core 22 since ComponentFactory is no longer exported from its public API.

What is the new behavior?

  • Workspace migrated to Nx 23.1, Angular 22.0.8, and TypeScript 6.0.3 (squash of the nx migrate commits, including the eager change-detection, provideHttpClient(withXhr()), strict-templates-default, and flat ESLint config migrations).
  • TypeScript 6 deprecations are fixed properly instead of suppressed with ignoreDeprecations: deprecated baseUrl removed (paths made explicitly relative), tools tsconfig target bumped es5es2022, and the esModuleInterop: false pin dropped in favor of the TS6 default.
  • The deprecated ComponentFactory-based DetachedLoader methods are removed, fixing the build against @angular/core 22.
  • @nativescript/nx now resolves to the published 23.0.0-rc.0 from npm instead of a local tarball.

BREAKING CHANGES:

DetachedLoader.loadWithFactory and DetachedLoader.loadWithFactoryInLocation have been removed. @angular/core 22 no longer exports ComponentFactory, so these already-deprecated methods can no longer be supported.

Migration steps:
Use the Type<T>-based equivalents — loadComponent, loadComponentSync, or loadComponentInLocation — passing the component class directly instead of a resolved factory, or preferably migrate to Portals (createComponentPortal).

Summary by CodeRabbit

  • New Features

    • Updated Angular and NativeScript tooling to the latest supported versions.
    • Improved HTTP client compatibility by enabling XHR support.
    • Enhanced component responsiveness through updated change-detection behavior.
  • Bug Fixes

    • Improved TypeScript path resolution and project diagnostics.
    • Removed obsolete component-loading methods from the public API.
  • Chores

    • Migrated project linting configuration to the modern ESLint format.
    • Updated build, test, and development tooling configurations.

Squash of the Nx 23.1 migration commits:
- checkpoint before running migrations (dependency updates)
- 23-0-0-add-migrate-runs-to-git-ignore
- change-detection-eager
- http-xhr-backend
- strict-templates-default
- strict-safe-navigation-narrow
- update-23-1-0-convert-to-flat-config
- update-23-1-0-remove-conflicting-extended-diagnostics

Instead of keeping the 23-1-0-add-ignore-deprecations-for-ts6 migration's
"ignoreDeprecations": "6.0" suppressions, the TS6-deprecated options are
fixed directly: baseUrl removed (paths made explicitly relative),
tools target bumped es5 -> es2022, and the esModuleInterop: false pin
dropped in favor of the TS6 default.

The generated migrations.json and tools/ai-migrations docs are not kept.
@angular/core 22 no longer exports ComponentFactory, so the deprecated
loadWithFactory and loadWithFactoryInLocation methods (unused within the
repo) are removed. Use the Type<T>-based loaders or Portals instead.
@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d99c1b5a-e4a3-436f-a8d3-582f80e75865

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/nx-23-migration

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@edusperoni edusperoni changed the title Feat/nx 23 migration feat: nx 23 and angular 22 Jul 22, 2026
TS6 deprecates baseUrl (TS5101). The path mappings are already relative,
so they resolve identically against the tsconfig directory.
@nativescript/core 9.0.20 uses the iOS 26 interactiveContentPopGestureRecognizer
API when running on iOS 26+. Apps built with the iOS 18 SDK (Xcode 16) lack the
API in their generated metadata, crashing the test app on the iOS 26.2 simulator.
Build with Xcode 26 so the metadata matches the simulator runtime.
@NathanWalker
NathanWalker merged commit 780e666 into main Jul 23, 2026
7 checks passed
@NathanWalker
NathanWalker deleted the feat/nx-23-migration branch July 23, 2026 15:53
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