Skip to content

feat: upgrade to Angular v22 - #3319

Open
40oleg wants to merge 9 commits into
akveo:masterfrom
40oleg:feat/angular-22
Open

40oleg wants to merge 9 commits into
akveo:masterfrom
40oleg:feat/angular-22

Conversation

@40oleg

@40oleg 40oleg commented Sep 24, 2026 •

Copy link
Copy Markdown

Completed the Nebular migration to Angular 22:

  • Updated Angular, CLI, CDK, ng-packagr, and TypeScript 6.
  • Adapted Nebular packages, CDK integrations, and schematics.
  • Fixed playground and documentation builds.
  • Replaced Protractor with Playwright: 111 E2E tests.
  • Added npm package and consumer smoke validation.
  • Updated ESLint, CI, and the release pipeline.
  • Validation passes: 824/824 theme unit tests and 111/111 E2E tests.
  • The remaining external limitation is AngularFire’s Angular 22 peer dependency support.


## Goal

Restore a trustworthy Angular 22 validation baseline for `@nebular/theme`: all theme unit tests pass, ESLint runs with Angular ESLint 22, and fixes preserve Nebular's public behavior rather than weakening tests.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

these files will be deleted after review and making other fixes in this pr

@40oleg

40oleg commented Sep 24, 2026 •

Copy link
Copy Markdown
Author

@denStrigo @elupanov can you check this out, please. I would like to upgrade this version because my project requires Nebular and I want this package be compatible with latest Angular.

@40oleg
40oleg marked this pull request as ready for review September 24, 2026 19:24
@40oleg 40oleg changed the title Update Nebular to Angular v22 feat: upgrade to Angular v22 Sep 24, 2026
@lazovskih

Copy link
Copy Markdown

Hi @40oleg
Great work! Thank you! Unfortunately I am not the approuver.
Could you please share steps to run the app with all demo on a Windoes 11 PC.
Thank you!
Regards,
Vitaly

@40oleg

40oleg commented Sep 29, 2026

Copy link
Copy Markdown
Author

Hi @40oleg Great work! Thank you! Unfortunately I am not the approuver. Could you please share steps to run the app with all demo on a Windoes 11 PC. Thank you! Regards, Vitaly

Run the Angular 22 Nebular demo on Windows 11

Open PowerShell as Administrator and install Git and NVM for Windows:

winget install --id Git.Git --exact
winget install --id CoreyButler.NVMforWindows --exact

Close PowerShell and open it again. Install the required Node.js version:

nvm install 22.22.3
nvm use 22.22.3
node --version

node --version should print v22.22.3.

Clone the PR branch and start the component playground:

git clone --branch feat/angular-22 https://github.com/40oleg/nebular.git
cd nebular
npm ci
npm start

Open http://localhost:4200/. The first page is a component index. A styled example is available at http://localhost:4200/#/button/button-showcase.component.

To run the documentation site, open another PowerShell window in the nebular directory:

npm run docs:serve

Open http://localhost:4100/. Press Ctrl+C to stop either server.

Input something in search field to components` list become visible

@lazovskih

Copy link
Copy Markdown

Hi @40oleg .
Thank you for the instructions.
I used to start the demo site with following comand:
npm start ngx-admin-demo

When I do it with thе current changes I see those errors in the terminal:
Error: Invalid values:
Argument: project, Given: "ngx-admin-demo", Choices: "auth", "date-fns", "docs", "eva-icons", "firebase-auth", "moment", "playground", "security", "theme"

Could you please check what is wrong with the code?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

should we drop all the committed AI planning docs from the PR?

Comment on lines +13 to +17
platform: NbPlatform,
ngZone: NgZone,
protected ruler: NbLayoutRulerService,
protected scroll: NbLayoutScrollService,
@Inject(NB_DOCUMENT) document: any,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

keeps dead constructor params (platform, ngZone, document) now unused since super() takes none. Drop them (same for the Inject/NgZone/NbPlatform/NB_DOCUMENT imports) to match the scroll-dispatcher cleanup?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

curious, why this index loses half its links? either the generator is broken on ng22 (skips components) or a partial tree was committed? should we try regenerate from a clean tree?

This branch has not been deployed

No deployments
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.

3 participants