chore(dependencies): update Node.js version and Angular v22, TS 6 #36623
Open
nicobytes wants to merge 9 commits into
Open
chore(dependencies): update Node.js version and Angular v22, TS 6 #36623nicobytes wants to merge 9 commits into
nicobytes wants to merge 9 commits into
Conversation
13 tasks
Contributor
|
Claude finished @nicobytes's task in 2m 10s —— View job PR Review — Angular 22 / TS 6 migration (#36623)
This is a large but mostly mechanical migration PR. I focused on the non-mechanical logic changes and re-checked the earlier Copilot findings. New Issues
Resolved
Notes (non-blocking)
No blocking issues found. The previously-flagged Critical/High items are resolved; remaining items are all non-blocking. |
… ESLint configurations - Updated Node.js version from 22.15.0 to 22.22.3 in multiple configuration files, including `.github/copilot-instructions.md` and `pom.xml`. - Consolidated ESLint configuration rules across various applications and libraries for consistency and clarity, ensuring all relevant files adhere to the same standards. - Removed unnecessary imports and streamlined coverage collection settings in Jest configuration files. This update enhances compatibility and maintains code quality across the project.
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request upgrades the core-web workspace to Angular 22 / TypeScript 6, bumps the required Node.js version to v22.22.3, and refactors multiple ESLint flat-config files to simplify Angular lint rule overrides during migration.
Changes:
- Updated Node.js version requirements and docs (
.nvmrc,core-web/.nvmrc, onboarding docs). - Upgraded Angular/Nx/TypeScript dependencies and introduced TypeScript 6 migration flags (
ignoreDeprecations: "6.0", relaxedstrictTemplates). - Refactored Angular ESLint flat configs (removing
FlatCompattemplate processing blocks) and adjusted a block-editor URL “sanitization” helper.
Reviewed changes
Copilot reviewed 41 out of 42 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| ONBOARDING.md | Updates Node version requirement text. |
| dotFrontendOnboarding.md | Updates Node version requirement text (but leaves other stack versions stale). |
| docs/frontend/ANGULAR_STANDARDS.md | Updates frontend standards doc to Angular 22 / TS 6 / Nx 23 era. |
| core-web/tsconfig.base.json | Adds TS6 migration flags (ignoreDeprecations) and explicit strict: false. |
| core-web/package.json | Upgrades Angular/Nx/TypeScript and adds pnpm peer dependency rules. |
| core-web/libs/utils/eslint.config.mjs | Refactors Angular ESLint flat config away from compat inline-template processing block. |
| core-web/libs/utils-testing/eslint.config.mjs | Same ESLint refactor + disables OnPush preference rule for migration. |
| core-web/libs/ui/src/lib/components/dot-severity-icon/dot-severity-icon.component.spec.ts | Updates tests to assert PrimeIcons classes instead of icon components. |
| core-web/libs/ui/src/lib/components/dot-severity-icon/dot-severity-icon.component.html | Switches icon rendering to PrimeIcons <i class="pi ...">. |
| core-web/libs/ui/eslint.config.mjs | Refactors Angular ESLint flat config + disables OnPush preference rule for migration. |
| core-web/libs/template-builder/tsconfig.lib.json | Simplifies exclude list. |
| core-web/libs/template-builder/eslint.config.mjs | Refactors Angular ESLint flat config + disables OnPush preference rule for migration. |
| core-web/libs/portlets/edit-ema/ui/eslint.config.mjs | Refactors Angular ESLint flat config + disables OnPush preference rule for migration. |
| core-web/libs/portlets/edit-ema/portlet/eslint.config.mjs | Refactors Angular ESLint flat config + disables OnPush preference rule for migration. |
| core-web/libs/portlets/dot-experiments/portlet/eslint.config.mjs | Refactors Angular ESLint flat config away from compat inline-template processing block. |
| core-web/libs/portlets/dot-experiments/data-access/eslint.config.mjs | Refactors Angular ESLint flat config away from compat inline-template processing block. |
| core-web/libs/new-block-editor/eslint.config.mjs | Refactors Angular ESLint flat config + disables OnPush preference rule for migration. |
| core-web/libs/edit-content/eslint.config.mjs | Refactors Angular ESLint flat config + disables OnPush preference rule for migration. |
| core-web/libs/edit-content-bridge/tsconfig.lib.json | Simplifies exclude list. |
| core-web/libs/dotcms-js/eslint.config.mjs | Refactors Angular ESLint flat config away from compat inline-template processing block. |
| core-web/libs/dot-rules/eslint.config.mjs | Refactors Angular ESLint flat config + disables OnPush preference rule for migration. |
| core-web/libs/dot-layout-grid/eslint.config.mjs | Refactors Angular ESLint flat config away from compat inline-template processing block. |
| core-web/libs/data-access/eslint.config.mjs | Refactors Angular ESLint flat config away from compat inline-template processing block. |
| core-web/libs/block-editor/tsconfig.lib.json | Simplifies exclude list. |
| core-web/libs/block-editor/src/lib/shared/utils/suggestion.utils.ts | Changes URL “sanitization” implementation for suggestion icon data URLs. |
| core-web/libs/block-editor/eslint.config.mjs | Refactors Angular ESLint flat config + disables OnPush preference rule for migration. |
| core-web/jest.preset.js | Removes story exclusion from coverage collection. |
| core-web/apps/dotcms-ui/tsconfig.app.json | Disables Angular strictTemplates for migration. |
| core-web/apps/dotcms-ui/eslint.config.mjs | Refactors Angular ESLint flat config + disables OnPush preference rule for migration. |
| core-web/apps/dotcms-block-editor/tsconfig.app.json | Disables Angular strictTemplates for migration. |
| core-web/apps/dotcms-block-editor/eslint.config.mjs | Refactors Angular ESLint flat config away from compat inline-template processing block. |
| core-web/apps/dotcms-binary-field-builder/tsconfig.app.json | Disables Angular strictTemplates for migration. |
| core-web/apps/dotcms-binary-field-builder/eslint.config.mjs | Refactors Angular ESLint flat config + disables OnPush preference rule for migration. |
| core-web/apps/dotcdn/tsconfig.app.json | Disables Angular strictTemplates for migration. |
| core-web/apps/dotcdn/eslint.config.mjs | Refactors Angular ESLint flat config away from compat inline-template processing block. |
| core-web/.nvmrc | Pins Node to v22.22.3. |
| CLAUDE.md | Updates Node version requirement text. |
| .nvmrc | Pins Node to v22.22.3. |
…onfig, and improve frontend onboarding documentation
…urations - Cleaned up ESLint configuration files across multiple applications and libraries by removing unnecessary imports related to FlatCompat. - This change streamlines the ESLint setup and enhances consistency across the project.
…pt-6-across-the-core-web-nx-workspace
…ate tests - Refactored the `ContentTypesLayoutComponent` to use signals for managing the add-to-menu state, replacing the previous boolean flag. - Updated the HTML template to reflect the new signal-based logic for displaying the add-to-menu component. - Adjusted unit tests in `content-types-layout.component.spec.ts` to accommodate the changes in state management and component interactions. - Modified the `DotAddToMenuComponent` to emit events correctly, ensuring proper functionality in the updated context. - Enhanced the `dot-content-types.component.html` to align with the new event handling for the add-to-menu feature.
…functionality - Added tests to verify that timeline items are correctly keyed by inode and bundleId. - Implemented checks to ensure the timeline key updates appropriately when version lists are swapped. - Introduced mock data for DotCMSContentletVersion and DotPushPublishHistoryItem to facilitate testing. - Enhanced the DotHistoryTimelineListComponent to utilize a stable identity function for timeline items, improving key generation logic.
…nit tests - Adjusted the HTML structure in `content-types-layout.component.html` for better readability and consistency. - Updated the unit tests in `content-types-layout.component.spec.ts` to streamline component overrides and enhance clarity. - Made minor formatting changes in `dot-history-timeline-list.component.spec.ts` to improve code organization and maintainability.
…pt-6-across-the-core-web-nx-workspace
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.
This pull request updates Node.js to version 22.22.3 across the project and refactors Angular ESLint configurations for better maintainability and clarity. It also relaxes Angular template strictness in several
tsconfigfiles, simplifies test and story file exclusions, and makes a small adjustment to URL sanitization in the block editor utility.Node.js version update:
.nvmrc,core-web/.nvmrc, and documentation references to require Node.jsv22.22.3instead ofv22.15.0. (.nvmrc,core-web/.nvmrc,CLAUDE.md,ONBOARDING.md) [1] [2] [3]ESLint configuration refactoring:
Replaced use of
FlatCompatfor Angular template processing with direct rule configuration in all Angular ESLint configs, simplifying the setup and making rule overrides explicit. (core-web/apps/dotcdn/eslint.config.mjs,core-web/apps/dotcms-block-editor/eslint.config.mjs,core-web/apps/dotcms-ui/eslint.config.mjs,core-web/libs/block-editor/eslint.config.mjs,core-web/libs/data-access/eslint.config.mjs,core-web/libs/dot-layout-grid/eslint.config.mjs,core-web/libs/dot-rules/eslint.config.mjs,core-web/libs/dotcms-js/eslint.config.mjs) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]Disabled
@angular-eslint/prefer-on-push-component-change-detectionin several configs for migration compatibility. [1] [2] [3] [4]TypeScript and Angular compiler options:
Set
"strictTemplates": falseinangularCompilerOptionsfor multipletsconfig.app.jsonfiles to relax Angular template strictness for migration. (core-web/apps/dotcdn/tsconfig.app.json,core-web/apps/dotcms-binary-field-builder/tsconfig.app.json,core-web/apps/dotcms-block-editor/tsconfig.app.json,core-web/apps/dotcms-ui/tsconfig.app.json) [1] [2] [3]Cleaned up
excludearrays intsconfigfiles and removed story file exclusions from test coverage collection. (core-web/libs/block-editor/tsconfig.lib.json,core-web/jest.preset.js) [1] [2]Block editor utility adjustment:
DomSanitizerfor icon data URLs and now casts trusted URLs directly toSafeUrlfor simplicity and compatibility. (core-web/libs/block-editor/src/lib/shared/utils/suggestion.utils.ts) [1] [2] [3]This PR fixes: #35930