Update to 22.1.0 - #18
Open
viktorkombov wants to merge 18 commits into
Open
Conversation
Snapshot .agents/, .claude/, AGENTS.md, .mcp.json and the pending package-lock.json change so `ng update` starts from a clean tree. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Removes tooling that cannot survive the climb to Angular 22 and repairs two breakages that already existed at HEAD (the app did not build): - Sass: '~' prefixed imports no longer resolve. Switch layout-config to a proper Sass module that @forwards igniteui-angular/theming, and load it (and minireset) with @use everywhere. Drops the dead '~igniteui-angular/lib/core/styles/base/index' import. - products: IgxToastPosition was removed from the library; the field was never bound in the template, so it goes away with the import. Also drops Protractor e2e, TSLint/codelyzer and the vestigial es5 build configuration, and moves Karma off karma-coverage-istanbul-reporter. rxjs 6 -> 7 and @types/node 12 -> 20 to satisfy later Angular peers. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Automatic migrations applied: - igxButton="icon" -> igxIconButton="flat" (Ignite UI 17.1) - igx-card type="outlined" removed; outlined is now the default (17.0) - browserTarget -> buildTarget in angular.json (Angular 17) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Automatic migrations applied:
- HttpClientModule -> provideHttpClient(withInterceptorsFromDi())
- displayDensity removed from the grid; global --ig-size: large added to
styles.scss by the Ignite UI 18.0 migration
Manual follow-up from the update guide (16.0.x -> 16.1.x): the grid was
displayDensity="cosy", which the migration could not preserve. Restored
as igx-grid { --ig-size: var(--ig-size-medium) } in the component styles,
and dropped the now-unused `density` field.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Angular 19 makes components standalone by default, so its migration stamped `standalone: false` on the six NgModule-declared components. Those come out again in the standalone conversion at the end of this branch. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Angular 20 migrations switched moduleResolution to "bundler" and added
the v20 schematics naming defaults to angular.json.
Also clears every Sass deprecation the build was emitting: slash division
-> math.div(), and the bare custom property after the palette mixin is
now wrapped in `& {}` so it keeps its precedence under the upcoming CSS
ordering semantics.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Ignite UI 21.0 tightened the NgModule re-export graph as part of the multiple-entry-points restructure: IgxToggleModule no longer re-exports IgxOverlayOutletDirective, which broke #outlet="overlay-outlet" in the user nav. Imported directly (it is standalone). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
These are opt-in and are skipped by a plain `ng update`; run by name: - migration-51: imports rewritten to granular entry points - migration-52: IgxGridGroupByAreaComponent relocation (no-op here) - migration-53: --igx-* CSS custom properties renamed to --ig-* - migration-54: refreshed the bundled Ignite UI agent skills Two fixes on top: - migration-51 routed IgxGridTransaction to igniteui-angular/core, where it does not exist; it lives in igniteui-angular/grids/core. - Rather than re-point that import, the deprecated IgxGridTransaction DI provider is replaced by [batchEditing]="true" on the grid, which is the documented replacement (12.0.x -> 12.1.x update guide). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Manual migration required by the 21.1.x -> 22.0.x update guide: Angular 22
no longer ships HammerModule. Touch gestures now come from the global
hammer.min.js already listed in angular.json "scripts"; Ignite UI picks up
window.Hammer on its own.
Standalone conversion (AppModule and AppRoutingModule deleted):
- main.ts bootstraps with bootstrapApplication + app.config.ts
- RouterModule.forRoot(..., { useHash: true }) -> provideRouter(withHashLocation())
- provideZoneChangeDetection() kept explicitly: Angular 22 bootstraps zoneless
by default and this app relies on zone-based change detection
- each component declares its own Ignite UI imports via granular entry points
Stale API usage the automatic migrations do not detect:
- igx-buttongroup (onSelect) -> (selected). Unknown outputs bind as DOM
events, so the dashboard's 1D/1W/1M chart filters were silently dead.
- dialog [rightButtonType]="'raised'" -> 'contained' ('raised' left
IgxButtonType, which is now fab|flat|contained|outlined)
- <igx-icon igxButton="icon"> -> igxIconButton="flat"
- .igx-button--icon -> .igx-icon-button in the nav drawer styles
- IgxColumnComponent lives in grids/core, not grids/grid
Other:
- TypeScript 6 defaults strict to true; pinned to false to preserve the
project's existing (non-strict) behaviour
- removed the conflicting extendedDiagnostics/strictTemplates pair the two
v22 migrations left behind, plus TS7-deprecated baseUrl/downlevelIteration
- dropped igniteui-angular-gauges (imported, never used in any template)
- @igniteui/material-icons-extended 2.4 -> 3.1 (ships types; required by v22)
- ngStyle -> style binding, ngClass -> class binding (AGENTS.md)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- ng add @angular-eslint/schematics restores `npm run lint` (TSLint and codelyzer were dropped at the start of this branch) - ng generate @angular/core:inject moves constructor injection to inject() in AppComponent, UserNavigationComponent and ThemeService (AGENTS.md) - removed dead code the linter surfaced: unused imports, empty constructor and empty ngOnInit in MainNavigationComponent, loose == in the products template 16 lint findings remain, all pre-existing and none migration-related: no-explicit-any (10), prefer-on-push (5) and one mouse-events-have-key-events a11y gap on the grid's hover-driven action strip. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Applies the remaining optional @angular/cli migration (use-application-builder), retiring the deprecated webpack-based 'browser' builder for '@angular/build:application'. The migration warned that output moves from docs/ to docs/browser/, which would have broken the GitHub Pages deployment this project publishes from docs/. Pinned outputPath.browser to "" so index.html stays at docs/index.html, matching the previous layout. Test target moved to @angular/build:karma (the old one is deprecated): - dropped src/test.ts; the builder initialises the TestBed itself - polyfills now ["zone.js", "zone.js/testing"] - karma.conf.js no longer registers the builder's framework/plugin, which the migration had left dangling and unresolvable Added src/app/app.routes.spec.ts so the test pipeline is actually exercised; the project had no specs at all, and karma exits non-zero on an empty suite. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Last package named by the update guide. Its legacy-project-type migration found nothing to change; ignite-ui-cli.json was already on igx-ts. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This comment was marked as resolved.
This comment was marked as resolved.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.