* [PRODSEC-13253] Increased peerDependencies versions to allow to increase angular version in other projects
* [PRODSEC-13253] Addressec copilot comments
* chore: migrate to Angular 20, TypeScript 5.9, and supporting packages
chore: migrate to Angular 20, TypeScript 5.9, and supporting packages
This commit migrates the Nx monorepo from Angular 19 to Angular 20
and updates all related dependencies to their compatible versions.
- @angular/core: 19.2.18 → 20.3.9
- @angular/material: 19.2.19 → 20.2.14
- @angular/cdk: 19.2.19 → 20.2.14
- @angular/material-date-fns-adapter: 19.2.19 → 20.2.14
- typescript: 5.8.3 → 5.9.3
- ng-packagr: 19.2.2 → 20.3.2
- @angular-devkit/build-angular: 19.2.19 → 20.3.16
- @angular-devkit/architect: 0.1902.19 → 0.2003.16
- @angular-devkit/core: 19.2.19 → 20.3.16
- @angular-devkit/schematics: 19.2.19 → 20.3.16
- @schematics/angular: 19.2.7 → 20.3.16
- @angular-eslint/eslint-plugin: 19.3.0 → 20.7.0
- @angular-eslint/eslint-plugin-template: 19.3.0 → 20.7.0
- @angular-eslint/template-parser: 19.3.0 → 20.7.0
- @typescript-eslint/eslint-plugin: 6.21.0 → 8.55.0
- @typescript-eslint/parser: 6.21.0 → 8.55.0
- @typescript-eslint/typescript-estree: 8.41.0 → 8.55.0
- @typescript-eslint/utils: ^8.51.0 → 8.55.0
- nx: 22.4.1 → 22.5.1
- @nx/angular: 22.1.3 → 22.5.1
- @nx/eslint-plugin: 22.3.3 → 22.5.1
- @nx/js: 22.1.3 → 22.5.1
- @nx/node: 22.1.3 → 22.5.1
- @nx/storybook: ^20.8.4 → 22.5.1
- @nx/workspace: 22.4.5 → 22.5.1
- @nx/webpack: 22.3.3 → 22.5.1
- storybook: ^10.2.0 → 10.2.8
- @storybook/angular: ^10.2.0 → 10.2.8
- @storybook/addon-themes: ^10.2.0 → 10.2.8
1. **PortalInjector Removal (Angular CDK 20)**
- Replaced PortalInjector usage with Injector.create()
- Updated context-menu-overlay.service.ts to use new API
2. **ESLint Configuration**
- Removed deprecated @typescript-eslint/brace-style rule
- This rule was removed in @typescript-eslint v8
All libraries build successfully:
- ✅ js-api
- ✅ extensions
- ✅ core
- ✅ content-services
- ✅ process-services
- ✅ process-services-cloud
- ✅ insights
Dependencies were installed using npm install --legacy-peer-deps due to
peer dependency conflicts with @mat-datetimepicker/core which requires
Angular CDK ^19.0.0 but we are using 20.2.14.
- ESLint warnings about @angular-eslint/prefer-inject are expected - this
is a new recommendation in Angular 20 to use inject() function instead
of constructor injection. These can be addressed in a follow-up PR.
chore: migrate to Angular 20, TypeScript 5.9, and supporting packages
This commit migrates the Nx monorepo from Angular 19 to Angular 20
and updates all related dependencies to their compatible versions.
- @angular/core: 19.2.18 → 20.3.9
- @angular/material: 19.2.19 → 20.2.14
- @angular/cdk: 19.2.19 → 20.2.14
- @angular/material-date-fns-adapter: 19.2.19 → 20.2.14
- typescript: 5.8.3 → 5.9.3
- ng-packagr: 19.2.2 → 20.3.2
- @angular-devkit/build-angular: 19.2.19 → 20.3.16
- @angular-devkit/architect: 0.1902.19 → 0.2003.16
- @angular-devkit/core: 19.2.19 → 20.3.16
- @angular-devkit/schematics: 19.2.19 → 20.3.16
- @schematics/angular: 19.2.7 → 20.3.16
- @angular-eslint/eslint-plugin: 19.3.0 → 20.7.0
- @angular-eslint/eslint-plugin-template: 19.3.0 → 20.7.0
- @angular-eslint/template-parser: 19.3.0 → 20.7.0
- @typescript-eslint/eslint-plugin: 6.21.0 → 8.55.0
- @typescript-eslint/parser: 6.21.0 → 8.55.0
- @typescript-eslint/typescript-estree: 8.41.0 → 8.55.0
- @typescript-eslint/utils: ^8.51.0 → 8.55.0
- nx: 22.4.1 → 22.5.1
- @nx/angular: 22.1.3 → 22.5.1
- @nx/eslint-plugin: 22.3.3 → 22.5.1
- @nx/js: 22.1.3 → 22.5.1
- @nx/node: 22.1.3 → 22.5.1
- @nx/storybook: ^20.8.4 → 22.5.1
- @nx/workspace: 22.4.5 → 22.5.1
- @nx/webpack: 22.3.3 → 22.5.1
- storybook: ^10.2.0 → 10.2.8
- @storybook/angular: ^10.2.0 → 10.2.8
- @storybook/addon-themes: ^10.2.0 → 10.2.8
1. **PortalInjector Removal (Angular CDK 20)**
- Replaced PortalInjector usage with Injector.create()
- Updated context-menu-overlay.service.ts to use new API
2. **ESLint Configuration**
- Removed deprecated @typescript-eslint/brace-style rule
- This rule was removed in @typescript-eslint v8
All libraries build successfully:
- ✅ js-api
- ✅ extensions
- ✅ core
- ✅ content-services
- ✅ process-services
- ✅ process-services-cloud
- ✅ insights
Dependencies were installed using npm install --legacy-peer-deps due to
peer dependency conflicts with @mat-datetimepicker/core which requires
Angular CDK ^19.0.0 but we are using 20.2.14.
- ESLint warnings about @angular-eslint/prefer-inject are expected - this
is a new recommendation in Angular 20 to use inject() function instead
of constructor injection. These can be addressed in a follow-up PR.
To fix these automatically, run:
ng generate @angular/core:inject --path=lib
fix: resolve peer dependency conflicts for CI/CD
- Update @mat-datetimepicker/core from 15.0.2 to 16.0.1 (supports Angular 20)
- Update webpack override to 5.104.1 for consistency
- Add .npmrc with legacy-peer-deps=true for npm ci compatibility
- Fixes npm ci failures in CI/CD pipeline
fix: update webpack to 5.105.0 for Storybook compatibility
- Align webpack version with @angular-devkit/build-angular bundled version
- Fixes Storybook compilation error with webpack instance mismatch
- Removes unnecessary webpack overrides
chore: finalize Angular 20 migration and improve migration prompt
- Marked all migration tasks as completed in the migration plan.
- Added a comprehensive summary of the migration process, including phases, completed tasks, and known issues.
- Introduced an improved migration prompt that addresses critical considerations and provides a detailed migration strategy for Angular 20 and related packages.
fix: update migration prompt and tests for Angular 20 breaking changes
- Enhanced migration prompt with specific instructions for handling Angular CDK Directionality API changes and removal of ng-reflect-* attributes.
- Updated unit tests to replace deprecated ng-reflect-* attribute checks with appropriate Angular testing patterns.
- Adjusted user preferences service to utilize the new directionality API method for setting text direction.
fix: enhance ImgViewerComponent to handle cleanup and prevent errors after destruction
- Added a `destroyed` flag to manage component lifecycle and prevent operations on a destroyed instance.
- Implemented `afterEach` hooks in tests to ensure proper fixture cleanup.
- Updated key event handlers and methods to check for the `destroyed` state before executing actions, improving stability and preventing errors.
feat: update ESLint configuration to include @angular-eslint/prefer-inject rule
- Added the @angular-eslint/prefer-inject rule to .eslintrc.json files in content-services, process-services, and process-services-cloud, promoting the use of the inject() function for dependency injection.
- Made minor adjustments to comments in search-logical-filter.component.ts for clarity.
chore: update ESLint configuration to include @angular-eslint/prefer-inject rule
- Added the @angular-eslint/prefer-inject rule to .eslintrc.json files in extensions, insights, and js-api, promoting the use of the inject() function for dependency injection.
- Removed unnecessary eslint-disable comments in process-list-cloud.component.ts and base-task-list-cloud.component.ts for cleaner code.
remove unnecessary changes
remove useless changes
cleanup useless changes
remove useless changes
Update package.json
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
chore: update version of @ngx-translate/core to 17.0.0 in package.json and package-lock.json
Update package.json
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Update package.json
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Update .npmrc
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
chore: upgrade apollo-angular and jest packages to support Angular 20
- Upgrade apollo-angular from 10.0.3 to 13.0.0
- Upgrade @apollo/client from 3.13.1 to ^4.0.1
- Upgrade jest packages to v30 (jest, jest-environment-jsdom)
- Upgrade jest-preset-angular from 14.4.2 to 16.1.1
- Add overrides for Angular 20 peer dependency compatibility
chore: downgrade @apollo/client and apollo-angular to compatible versions
chore: downgrade @apollo/client and apollo-angular to compatible versions
chore: remove unused configuration options from jest and tsconfig
chore: refactor window.location mock in oauth2 tests for improved clarity and functionality
chore: enhance oauth2Auth tests and improve hash handling logic
chore: remove @typescript-eslint/brace-style rule from ESLint configuration
chore: add prefer-optional-chain rule to ESLint configuration
chore: update ESLint rules for optional chaining and refactor type definitions
chore: refactor tests to use TestBed for dependency injection in FileViewer and ProcessFormRendering services
chore: update AttachFileWidgetComponent to ensure early return after download
chore: update AttachFileWidgetComponent to ensure early return after download
chore: update unselectFacetBucket method to use optional chaining for safer property access
* chore: clean up package-lock.json and update webpack version in package.json
* [ACS-11306] Corrected main for eslint-angular
* [ACS-11306] Reverted unwanted change
* [ACS-11306] Fixed importing issue on ACA
* [ACS-11306] Updated node-fetch
* [ACS-11306] Reverted last commit
* [ACS-11306] Fixed rendering issue with pdf viewer
* [ACS-11306] Corrected storybook related versions
* Updating dependencies and fixing conflict
* [ACS-11306] Fixed cannot find name Buffer occurred in ACA
* chore: Updating pnpm lock file
* chore: Fixing ESLint issue
* chore: Upgrading to version 20.3.24 to avoid security issue
* chore: Fixing unit test
* chore: Fixing type and exporting missing model
* chore: Fixing type
* Chore: Migrating to Angular 20.3.25 to mitigate security issues
* Fix after rebase
* Removing unused deps
* Aligning deps
* fix create dialog name field hint (#12007)
---------
Co-authored-by: Aleksander Sklorz <Aleksander.Sklorz@hyland.com>
Co-authored-by: Ehsan Rezaei <ehsan.rezaei@hyland.com>
Co-authored-by: Grzegorz Jaśkowski <138671284+g-jaskowski@users.noreply.github.com>
* [AAE-46514] - Fix release workflow
* [AAE-46514] - Fix release workflow - devDependencies
* [AAE-46514] - Command parameters are wrong when setting now the options
* [AAE-46514] - It should call the script not the standard command
* [AAE-46514] - fixed path for eslint plugin publish
* Refactor enums to const objects and update ESLint rules
- Converted several TypeScript enums to const objects for better type inference and immutability.
- Updated ESLint configuration to disable 'no-redeclare' rule and added new restrictions on schema usage.
- Adjusted package-lock.json to mark several dependencies as peer dependencies.
* Refactor enums to const objects in site-dropdown and new-version-uploader models
- Converted TypeScript enums to const objects for improved type safety and immutability in `sites-dropdown.component.ts` and `new-version-uploader.model.ts`.
- Updated related types to reflect the changes in both files.
- Enhanced error handling in the `DropdownSitesComponent` by using the `subscribe` method with an object for better readability.
* Refactor TypeScript types and improve error handling in component tests
- Updated type annotations in `upload.service.ts` and `node-actions.service.ts` for better type safety.
- Enhanced error handling in various component tests by using more descriptive error messages in `task-attachment-list.component.spec.ts`, `attach-file-widget-dialog.component.spec.ts`, and `task-form.component.spec.ts`.
- Removed unnecessary schemas from test configurations in several component spec files to streamline the testing setup.
* Refactor TypeScript enums to const objects for improved type safety
- Converted multiple TypeScript enums to const objects across various models, including `AppConfigValues`, `Status`, `ShowHeaderMode`, `WidgetTypeEnum`, and others.
- Updated related type definitions to enhance type inference and immutability.
- Adjusted ESLint configurations by removing the 'no-redeclare' rule to streamline code quality checks.
* Refactor TypeScript types for improved type safety and consistency
- Updated type annotations in `document-list.component.ts`, `document-actions.service.ts`, and `node-actions.service.ts` to use `Observable` instead of `Subject` for better reactive programming practices.
- Enhanced type definitions in `search-date-range.component.ts` and related spec files to allow `inLastValue` to be either a string or a number, improving flexibility in handling date range inputs.
- Adjusted test cases to reflect these type changes, ensuring consistency across the application.
* Enhance type safety in ViewerComponent by specifying type for closeButtonPosition
- Updated the type annotation for `closeButtonPosition` in `viewer.component.ts` to explicitly define it as `CloseButtonPosition`, improving type safety and clarity.
* Enhance type safety in DataTableComponent by specifying type for showHeader
- Updated the type annotation for `showHeader` in `datatable.component.ts` to explicitly define it as `ShowHeaderMode`, improving type safety and clarity.
* Update PDF viewer test to accommodate varying date formats
- Modified the test for the annotation popup in `pdf-viewer.component.spec.ts` to check for the presence of date components instead of a specific date format, enhancing test robustness across different locales.
* cleanup deprecated AppConfigModule
* migrate factory to initializer
* add provideAppExtensions() api to allow deprecating ExtensionsModule in apps
* fix viewer render import
* use Angular control flow instead of NgIf
* use Angular control flow instead of NgSwitch
* Migrate to NG17
* [ci:force] - fixed deps
* [ci:force] - fixed build for testing 1
* Fixed build for all the packages
* [ci:force] - fixing lint
* [ci:force] - Fixed lint
* AAE-26163 Fix infinite loop when authentication error event occured (#10272)
* AAE-26163 Logout user after 3 login attempts failed, avoiding infinite loop when an authentication error occured, like when a user machine clock is significantly out of sync
* AAE-26163 Wait to discovery document to be loaded and user not authenticated to perform a ssoLogin, logout user if login fails after 3 attempts
* AAE-26163 Fix missed id_token_hint invoking logout when a login error occured due to a clock significantly out of sync
* AAE-26163 Add fake observable to unit test
* AAE-26163 Show oauth event logs if showDebugInformation is enabled, remove auth items if access token is not valid
* AAE-26163 Improve tryLogin error message
* AAE-26163 Check if token has expired to fix case when user access the application after the token is expired and with a clock significantly out of sync
* AAE-26163 Test logout when clock is out of sync
* AAE-26163 Create a service to check if local machine time is out of sync
* AAE-26163 Update oauthErrorEvent$ and combinedOAuthErrorsStream$ to return errors
* AAE-26163 Output error within combined oauth error event subscription
* AAE-26163 Fix lint problems
* AAE-26163 Logout user when token refresh error happens for the second time, if the token is not refreshed properly after first refresh error
* AAE-26163 Logout user once an oauth error event occur due to clock out of sync
* AAE-26163 Fix retry login error message if the OAuthErrorEvent doesn t return reason
* AAE-26163 Fix the issue where the logout API call is canceled by the authorize call when login fails due to clock synchronization problems, causing an infinite loop.
* remove console.log
* AAE-26163 Fix retry login error message if the OAuthErrorEvent reason is an empty object
* Cherry picked commit from oidc and run fix lint
* [MIGRATION] - fixed build and lint
* [MIGRATION] - Added injectionContext to avoid error NG0203 for unit tests
* [MIGRATION] - Moving mocha to jest
* [MIGRATION] - Fixing failing migrated tests
* [MIGRATION] - Migrating to Jest - working but some tests fails
* Trying to fix js-api unit tests
* Removing testing lib to sync with develop
* Fixed two excluded unit tests
* Removed unused project parts
* Removed unused project parts
* Reduced tserrors on building storybook
* Fixed sonarqube errors
* Removing temporarily eslint rule from publishing
* [MIGRATION] - Fixed lint
* [MIGRATION] - Fixed type
* [MIGRATION] - Rebased
* [MIGRATION] - Readded removed action
* [MIGRATION] - Checking deps
* [MIGRATION] - updated lock
* [ACS-9052] manage versions close button is too low (#10466)
* [ci:force] - Fixed lint
* [ACS-9052] Fixed close button in version manager position
* [ACS-9052] Reverted unwanted changes
---------
Co-authored-by: VitoAlbano <vito.albano.123@gmail.com>
* [MIGRATION] - fixed storybook builds
* [MIGRATION] - Checking if now eslint is releasable
* [MIGRATION] - Changing the building executor for eslint-rules
* Readded rule for peer deps
* Fixed wrong rule
* [ACS-9075] Fixed incorrect buttons labels color (#10489)
* Update package.json
* Fix ACA pipeline
* [ACS-9084] Fixed incorrect color for notification bell icon (#10513)
* Change dialog label padding
* [AAE-26767] - Fixed lint
* [AAE-26767] - Fixed lint
* updated dependencies
* AAE-30733 Fix incorrect alignment of icons in permission list header
* [MIGRATION] - sync package-lock
* [MIGRATION] - Fixed package on core lib
* [MIGRATION] - Removed unused lock
* Fixed licence
* [MIGRATION] - sync lock file
* [MIGRATION] - fixed lint issues
* [ACS-9271][ACA] Login page input labels are cut if the input is not empty (#10637)
* AAE-31453 Override card-view-textitem readonly color
---------
Co-authored-by: Amedeo Lepore <amedeo.lepore@hyland.com>
Co-authored-by: Ehsan Rezaei <ehsan.rezaei@hyland.com>
Co-authored-by: AleksanderSklorz <115619721+AleksanderSklorz@users.noreply.github.com>
Co-authored-by: DominikIwanek <dominik.iwanek@hyland.com>
Co-authored-by: swapnil-verma-gl <92505353+swapnil-verma-gl@users.noreply.github.com>
Co-authored-by: Wojciech Duda <69160975+wojd0@users.noreply.github.com>
Co-authored-by: dominikiwanekhyland <141320833+dominikiwanekhyland@users.noreply.github.com>
* [ACS-9012] Add the option to truncate disaplay value in text column
* [ACS-9012] Use slice as substr is deprecated
* [ACS-9012] Remove redundant param