* 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-45391] - Lazy loading some of the big external libs
* [AAE-45391] - Added some extra units to pdfjs viewer
* [AAE-45391] - Some improement on viewer component
* [AAE-45391] - Fixed the way it was redered to a newer angular system
* [AAE-45391] - Fixed the way it was redered to a newer angular system
* [AAE-45391] - fixed schematic
* [AAE-45391] - Added some docs for the schematics as well
* [AAE-37328] - Fixed comment on missing provider
* 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>
* pre angular 15 cleanup
* [ci:force] update test
* [ci:force] various updates as per migration
* [ci:force] port more changes
* [ci:force] migrate tests
* [ci:force] migrate formatting
* migrate changes
* rollback storybook
* fix after rebase
* new release strategy for ng next
Signed-off-by: eromano <eugenioromano16@gmail.com>
* peer dep
Signed-off-by: eromano <eugenioromano16@gmail.com>
* Angular 14
fix unit test and storybook
Signed-off-by: eromano <eugenioromano16@gmail.com>
fix after rebase
Signed-off-by: eromano <eugenioromano16@gmail.com>
update pkg.json
Signed-off-by: eromano <eugenioromano16@gmail.com>
missing dep
Signed-off-by: eromano <eugenioromano16@gmail.com>
Fix mistake and missing code
Dream....build only affected libs
Add utility run commands
* Use nx command to run affected tests
* Fix nx test core
fix content tests
Run unit with watch false
core test fixes
reduce test warnings
Fix process cloud unit
Fix adf unit test
Fix lint process cloud
Disable lint next line
Use right core path
Fix insights unit
fix linting insights
Fix process-services unit
fix the extensions test report
fix test warnings
Fix content unit
Fix bunch of content unit
* Produce an adf alpha of 14
* hopefully fixing the content
* Push back the npm publish
* Remove flaky unit
* Fix linting
* Make the branch as root
* Get rid of angualar13
* Remove the travis depth
* Fixing version for npm
* Enabling cache for unit and build
* Fix scss for core and paths
Copy i18 and asset by using ng-packager
Export the theming alias and fix path
Use ng-package to copy assets process-services-cloud
Use ng-package to copy assets process-services
Use ng-package to copy assets content-services
Use ng-package to copy assets insights
* feat: fix api secondary entry point
* fix storybook rebase
* Move dist under dist/libs from lib/dist
* Fix the webstyle
* Use only necessary nrwl deps and improve lint
* Fix unit for libs
* Convert lint.sh to targets - improve performance
* Use latest of angular
* Align alfresco-js-api
Signed-off-by: eromano <eugenioromano16@gmail.com>
Co-authored-by: eromano <eugenioromano16@gmail.com>
Co-authored-by: Mikolaj Serwicki <mikolaj.serwicki@hyland.com>
Co-authored-by: Tomasz <tomasz.gnyp@hyland.com>
* process list fixes
* template error fixes
* template and code fixes
* bug fixes in templates and types
* bugs, bugs are everywhere
* fix test
* test fixes
* enable strict templates for extensions lib
* enable strict mode for insights lib
* enable strict mode for core lib
* enable strict mode for content lib
* strict mode for process lib
* strict mode for process cloud
* fix demo shell template issues
* fix process cloud types
* use interface instead of class
* cleanup code and fix html template typo
* api cleanup
* use interface instead of class
* code cleanup and test fixes
* use interface instead of class
* use interface instead of class, fix typing issues
* fix IDE support for spec files
* fix IDE for spec files
* unify filter compare
* remove jest
* use generics to reduce code duplication
* generic saveas
* unify code
* Run tsc on the e2e folder and as part of the sh script
* in progress
* in progress
* in progress
* in progress
* in progress
* in progress
* fixing compile errors
* fixing compile errors.
* Fix the apiService and exclude nodemodules
* Add semicolumn
* fix import
* fix configuration test package
* fix
* fix errors
* fix typescript
* restore packages.json
* fix errors after rebase
* fix type prolems and add protracotr path mapping
* remove undefined
* fix version component restore and delete event
* version manager actions
* fix test
* fix unit test
* remove fdescribe
* fix tslint
* fix screenshot rewrite problem
* remove fdescribe
* multi instance try
* remove fdescribe
* try uncomment some test
* error page
* fix user preferences pagiantion
* search page test include
* fix type tslint e2e
* restore code
* default lang momentadapter
* fix test
* [ADF-3384] removed console log from test
* [ADF-3384] adding some fixes for tests and code
* [ADF-3384] fixed some test and code
* remember me
* add login component e2e test
* add success route test
* add change logo check
* redirect url after logout e2e
* move redirection test in a separate file
* login component tslint
* cardview e2e
* fix login test
* add test case number
* move version test in a separate file
* clean unused elements
* metadata part 1
* tslint fix
* fix metadata test
* remove fit
* fix formatting file viewerPage
* multi propety test
* metadata and login improvements
* fix data automation fix
* metadata permission e2e
* fix tslint problems
* improve selector
* stabilize search component test
* stabilize test step 1
* fix tag test
add config timeout
* tentative
* delay after download
* change meatdata test
* stabilize metadata
* use smaller file for not extension related test
* stabilize test step 2
* exclude failing test
* timeout fix
* split in multiple task e2e
* trick travis
* trigger build
* fix command issue
* fix save screenshot
* fix run subfolder
* test timeout increase