refactor(igniteui-angular): enabling strict true for the library - #17483
refactor(igniteui-angular): enabling strict true for the library#17483kdinev wants to merge 28 commits into
Conversation
| if (queue.hasOwnProperty(id)) { | ||
| const fn = queue[id]; | ||
| delete queue[id]; | ||
| fn(); | ||
| } | ||
| }; | ||
|
|
||
| const listener = (event) => run(event.data); | ||
| const listener = (event: MessageEvent) => run(event.data); |
…ariable' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
| // export { IgxRadioGroupDirective } from 'igniteui-angular/radio'; | ||
| export * from './directives/ripple/ripple.directive'; | ||
| export * from './directives/scroll-inertia/scroll_inertia.directive'; | ||
| export * from './directives/size/ig-size.directive'; |
There was a problem hiding this comment.
It looks like IgSizeDirective was intentionally moved from the library into the demo application, but AppComponent still imports it from igniteui-angular/directives. This causes npm start to fail because the corresponding public export was removed. Could we update the demo to import the new local directive instead?
Since this also removes an existing public export, could we confirm whether any changelog or migration follow-up is needed?
There was a problem hiding this comment.
I think that this was never meant to be public and I dont think anyone has ever used it. So we should be safe without changelog entry and migrations
There was a problem hiding this comment.
@mddragnev This directive has been developed entirely for demos-dev purposes and I have no clue why it has been put in the library in the first place and then respectively exported.
| @@ -3074,7 +3075,7 @@ export abstract class IgxGridBaseDirective implements GridType, | |||
| /** | |||
| * @hidden | |||
| */ | |||
| protected _pagingState; | |||
| protected _pagingState!: IPagingState; | |||
There was a problem hiding this comment.
There was a problem hiding this comment.
@viktorkombov I wonder whether the sample ever worked properly, especially since the igx-paginator component was made standalone. I'm pretty sure I updated the internal API access to go directly through the paging state, but this demo has probably not been updated.
| appTree = setupTestTree(); | ||
| }); | ||
|
|
||
| const migrationName = 'migration-58'; |
There was a problem hiding this comment.
It looks like this spec runs migration-58, while the new import migration is registered as migration-59. Could we update migrationName accordingly? The current value runs the existing update-22_1_0 migration instead and causes these tests to fail.
| const migrationName = 'migration-58'; | |
| const migrationName = 'migration-59'; |
| // Add remaining imports for the original entry point first | ||
| if (remaining.length > 0) { | ||
| const sortedImports = remaining.sort(); | ||
| newImports.push(`import { ${sortedImports.join(', ')} } from '${importPath}';`); |
There was a problem hiding this comment.
Could we also preserve type-only imports during the rewrite? For example, import type { IGroupingDoneEventArgs } ... is currently regenerated as a regular import { IGroupingDoneEventArgs } ..., which may affect projects using verbatimModuleSyntax.
| // Add moved imports | ||
| for (const [entryPoint, imports] of entryPointGroups) { | ||
| const sortedImports = imports.sort(); | ||
| newImports.push(`import { ${sortedImports.join(', ')} } from '${source.basePackage}/${entryPoint}';`); |


Closes #17403
Description
Motivation / Context
Type of Change (check all that apply):
Component(s) / Area(s) Affected:
How Has This Been Tested?
Test Configuration:
Screenshots / Recordings
Checklist:
feature/README.MDupdates for the feature docsREADME.MDCHANGELOG.MDupdates for newly added functionalityng updatemigrations for the breaking changes (migrations guidelines)