feat(extras): add igniteui-angular-extras library to monorepo#16932
feat(extras): add igniteui-angular-extras library to monorepo#16932
Conversation
rkaraivanov
left a comment
There was a problem hiding this comment.
LGTM
Just make sure to add package.json overrides for the chart packages since they tend to lag in Angular version support
…into dTsvetkov/add-igniteui-angular-extras
ChronosSF
left a comment
There was a problem hiding this comment.
@turbobobbytraykov , adding igniteui-angular-extras npm publish as part of the publish workflow for igniteui-angular will likely require your intervention to allow the workflow to auth for the extras npm package over OIDC. I am assuming this is best done before merging this.
@dobromirts , the licensed packages are now published with the new yml created by Alex - trigger-licensed-release.yml . Please integrate the licensed cd for extras with that workflow before merging this.
There was a problem hiding this comment.
Pull request overview
Adds the new igniteui-angular-extras Angular library to the monorepo, wiring it into the existing build/test/lint and release pipelines, and introducing a dev-demo route showcasing the extras directives/components.
Changes:
- Introduces
projects/igniteui-angular-extras(directives/components/pipes, packaging, Karma config, and unit tests). - Integrates the new library into workspace/build tooling (tsconfig paths, Angular workspace config, npm scripts, gulp migration copy task, CI workflows).
- Adds a new demo route/sample (
GridDataAnalysisComponent) and its mock data generator.
Reviewed changes
Copilot reviewed 42 out of 44 changed files in this pull request and generated 18 comments.
Show a summary per file
| File | Description |
|---|---|
tsconfig.json |
Adds TS path mapping for igniteui-angular-extras. |
src/app/grid-data-analysis/grid-data-analysis.component.ts |
New demo component consuming extras directives/API. |
src/app/grid-data-analysis/grid-data-analysis.component.html |
Demo template wiring grid + extras directives. |
src/app/grid-data-analysis/grid-data-analysis.component.scss |
Demo styles for the grid/context menu wrapper. |
src/app/data/FinancialData.ts |
Adds demo data generator + embedded mock data. |
src/app/app.routes.ts |
Registers new demo route. |
src/app/app.component.ts |
Adds navigation entry for the new demo. |
projects/igniteui-angular-extras/tsconfig.spec.json |
Test TS config for extras library. |
projects/igniteui-angular-extras/tsconfig.lib.prod.json |
Production TS config for extras library build. |
projects/igniteui-angular-extras/tsconfig.lib.json |
Library TS config and local path mapping for builds. |
projects/igniteui-angular-extras/src/test.ts |
Sets up Angular testing environment for extras Karma tests. |
projects/igniteui-angular-extras/src/public-api.ts |
Defines the extras public API surface. |
projects/igniteui-angular-extras/src/lib/pipes/svg.pipe.ts |
Adds SVG pipe used by extras UI. |
projects/igniteui-angular-extras/src/lib/pipes/svg.pipe.spec.ts |
Unit test for SVG pipe behavior. |
projects/igniteui-angular-extras/src/lib/directives/conditional-formatting/conditional-formatting.directive.ts |
Adds conditional formatting directive implementation. |
projects/igniteui-angular-extras/src/lib/directives/chart-integration/initializers.ts |
Adds chart initializer helpers for chart integration directive. |
projects/igniteui-angular-extras/src/lib/directives/chart-integration/chart-types.ts |
Adds chart/options enums used by the extras API. |
projects/igniteui-angular-extras/src/lib/directives/chart-integration/chart-integration.directive.ts |
Adds chart integration directive implementation. |
projects/igniteui-angular-extras/src/lib/directives/chart-integration/chart-integration.directive.spec.ts |
Unit tests for chart-data-driven chart type determination. |
projects/igniteui-angular-extras/src/lib/context-menu/igx-context-menu.directive.ts |
Adds grid context menu directive that drives the extras UI overlay. |
projects/igniteui-angular-extras/src/lib/context-menu/context-menu.component.ts |
Adds overlay UI component for conditional formatting / chart creation. |
projects/igniteui-angular-extras/src/lib/context-menu/context-menu.component.html |
Context menu template. |
projects/igniteui-angular-extras/src/lib/context-menu/context-menu.component.scss |
Context menu styles/theme wiring. |
projects/igniteui-angular-extras/src/lib/context-menu/chart-dialog/chart-dialog.component.ts |
Adds chart dialog component (overlay). |
projects/igniteui-angular-extras/src/lib/context-menu/chart-dialog/chart-dialog.component.html |
Chart dialog template. |
projects/igniteui-angular-extras/src/lib/context-menu/chart-dialog/chart-dialog.component.scss |
Chart dialog styles/theme wiring. |
projects/igniteui-angular-extras/src/lib/context-menu/chart-dialog/chart-dialog.component.spec.ts |
Unit tests for chart dialog component logic. |
projects/igniteui-angular-extras/src/images/conditions.ts |
Adds SVG markup assets for conditional formatting UI. |
projects/igniteui-angular-extras/src/images/charts.ts |
Adds SVG markup assets for chart UI. |
projects/igniteui-angular-extras/package.json |
Defines extras package metadata/peers/migrations entry points. |
projects/igniteui-angular-extras/ng-package.json |
ng-packagr configuration for packaging extras. |
projects/igniteui-angular-extras/migrations/update-1_0_0/index.ts |
Adds migration rule for enum/output renames. |
projects/igniteui-angular-extras/migrations/tsconfig.json |
TS config for compiling extras migrations. |
projects/igniteui-angular-extras/migrations/migration-collection.json |
Registers extras migration(s) for ng update. |
projects/igniteui-angular-extras/karma.conf.js |
Karma configuration for extras tests. |
projects/igniteui-angular-extras/README.md |
Adds package README/usage notes for extras. |
projects/igniteui-angular-extras/LICENSE |
Adds license file for extras distribution. |
package.json |
Adds build/test/lint scripts for extras and build pipeline integration. |
package-lock.json |
Locks new dependencies (charts/core packages). |
gulpfile.js |
Adds task to copy extras migrations into dist. |
angular.json |
Registers new igniteui-angular-extras library project (build/test/lint). |
.github/workflows/trigger-licensed-release.yml |
Adds repository dispatch trigger for extras release flow. |
.github/workflows/npm-publish.yml |
Builds/copies/licenses/versions/publishes extras package. |
.github/workflows/nodejs.yml |
Adds CI lint/build/test steps for extras. |
You can also share your feedback on Copilot code review. Take the survey.
projects/igniteui-angular-extras/src/lib/pipes/svg.pipe.spec.ts
Outdated
Show resolved
Hide resolved
...angular-extras/src/lib/directives/conditional-formatting/conditional-formatting.directive.ts
Show resolved
Hide resolved
projects/igniteui-angular-extras/src/lib/context-menu/igx-context-menu.directive.ts
Show resolved
Hide resolved
projects/igniteui-angular-extras/src/lib/context-menu/igx-context-menu.directive.ts
Outdated
Show resolved
Hide resolved
projects/igniteui-angular-extras/src/lib/context-menu/chart-dialog/chart-dialog.component.ts
Outdated
Show resolved
Hide resolved
projects/igniteui-angular-extras/migrations/migration-collection.json
Outdated
Show resolved
Hide resolved
...angular-extras/src/lib/directives/conditional-formatting/conditional-formatting.directive.ts
Show resolved
Hide resolved
.../igniteui-angular-extras/src/lib/directives/chart-integration/chart-integration.directive.ts
Outdated
Show resolved
Hide resolved
.../igniteui-angular-extras/src/lib/directives/chart-integration/chart-integration.directive.ts
Outdated
Show resolved
Hide resolved
@ChronosSF , Trusted publishing is now set up in npmjs.org for igniteui-angular-extras. |
…b.com/IgniteUI/igniteui-angular into dTsvetkov/add-igniteui-angular-extras
projects/igniteui-angular-extras/src/lib/directives/chart-integration/initializers.spec.ts
Fixed
Show fixed
Hide fixed
…tion or class' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Related to https://github.com/IgniteUI/igniteui-actions/issues/25
Add igniteui-angular-extras library to the monorepo with build, test, and lint infrastructure
Rename enum members to PascalCase and output properties to follow Angular naming conventions
Add migration schematic for breaking API changes
Add unit tests for exported components and directives
Additional information (check all that apply):
Checklist:
feature/README.MDupdates for the feature docsREADME.MDCHANGELOG.MDupdates for newly added functionalityng updatemigrations for the breaking changes (migrations guidelines)