Conversation
…ar and Nx libraries
…ar and NgRx libraries
…5-to-mitigate-stored-xss-in-angularcompiler
…te-stored-xss-in-angularcompiler' of github.com:dotCMS/core into 34087-task-security-upgrade-angular-to-v20315-to-mitigate-stored-xss-in-angularcompiler
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request upgrades the Angular monorepo to Angular 20.3.15, Nx 21.6.9, and Storybook 9.x, while standardizing RxJS error handling patterns and Nx project configurations across the workspace.
Key Changes:
- Angular framework packages upgraded from 20.3.9 to 20.3.15
- Nx workspace tooling upgraded from 20.5.1 to 21.6.9
- Storybook upgraded to 9.x with partial migration to version 9.1.9
- Standardized all
tapResponseoperators to use object-based signature ({next, error, complete}) instead of positional arguments across ~50 files - Added
moduleResolution: "bundler"to TypeScript configurations for modern build tool compatibility - Standardized project.json files with consistent
tagsplacement,tsConfigreferences, andcontinuous: trueflags for serve targets
Reviewed changes
Copilot reviewed 67 out of 70 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Core dependency upgrades including Angular 20.3.15, Nx 21.6.9, Storybook 9.x, TypeScript 5.9.3, and Vite 7.2.7 |
| nx.json | Added generator defaults for Angular schematics, removed deprecated useLegacyCache configuration |
| migrations.json | Replaced Angular 20.0 migration entries with tapResponse migration script |
| storybook-migration-summary.md | Documentation of Storybook 9 migration process and failed automation steps |
| Multiple project.json files | Standardized tags positioning, added explicit tsConfig paths for test targets, added continuous flag to serve targets |
| Multiple tsconfig files | Added moduleResolution: "bundler" to align with modern build tooling requirements |
| Multiple store files | Refactored all tapResponse calls from positional to object-based signature for better readability |
| Component files | Minor cleanups including unused import removal and type refinements |
…i to version 20.3.13 for consistency and compatibility
…ed stability and performance
Legal RiskThe following dependencies were released under a license that RecommendationWhile merging is not directly blocked, it's best to pause and consider what it means to use this license before continuing. If you are unsure, reach out to your security team or Semgrep admin to address this issue. GPL-2.0 MPL-2.0 |
…pgrade Angular dependencies for improved stability
…cy to version 4.1.9 for improved type safety
…roved type validation and enhance regex for FieldClazzEnum definition
oidacra
approved these changes
Dec 12, 2025
hmoreras
approved these changes
Dec 12, 2025
dsolistorres
pushed a commit
that referenced
this pull request
Feb 20, 2026
### Proposed Changes
This pull request introduces several improvements and refactors across
multiple Angular applications in the monorepo, focusing on standardizing
configuration, improving error handling patterns, and minor
dependency/configuration cleanups. The most notable changes are grouped
as follows:
**1. Standardization of RxJS Error Handling:**
- Refactored all usages of the `tapResponse` operator to use the
object-based signature (`{ next, error }`) instead of positional
arguments, improving code readability and aligning with best practices.
This was done in files such as `dotcdn.component.store.ts`,
`dot-pages.store.ts`, and `dot-template.store.ts`.
[[1]](diffhunk://#diff-b202dfd3e850f6f8d29a81e0f698f305309a1d524fcb089138c0eed4f0b0e2d0L95-R117)
[[2]](diffhunk://#diff-1145b6e61f8f24833b827ae5f3fe939586964551b15aab913ba530cd44808f0eL364-R365)
[[3]](diffhunk://#diff-1145b6e61f8f24833b827ae5f3fe939586964551b15aab913ba530cd44808f0eL377-R380)
[[4]](diffhunk://#diff-1145b6e61f8f24833b827ae5f3fe939586964551b15aab913ba530cd44808f0eL789-R804)
[[5]](diffhunk://#diff-1145b6e61f8f24833b827ae5f3fe939586964551b15aab913ba530cd44808f0eL838-R843)
[[6]](diffhunk://#diff-1145b6e61f8f24833b827ae5f3fe939586964551b15aab913ba530cd44808f0eL861-R867)
[[7]](diffhunk://#diff-1145b6e61f8f24833b827ae5f3fe939586964551b15aab913ba530cd44808f0eL892-R893)
[[8]](diffhunk://#diff-1145b6e61f8f24833b827ae5f3fe939586964551b15aab913ba530cd44808f0eL905-R907)
[[9]](diffhunk://#diff-7cdbc60fb309458c9c97919670ee9f2700e6f97077360d7b2c60be5d8915f1eaL164-R178)
**2. Project Configuration Updates:**
- Added or updated `"tags"` fields (often to empty arrays or with
specific tags like `["skip:test", "skip:lint"]`) in multiple
`project.json` files for better project categorization and tooling
compatibility.
[[1]](diffhunk://#diff-b9f5cc7169c5770b5a2f040c8662568055bb427d78d3de5863f18368983602b3R7)
[[2]](diffhunk://#diff-7bb84e18c1e3ac80aed41afaa0693a7c4224324e222c2ed95f1cec1525903f35R7)
[[3]](diffhunk://#diff-5ee971cb1c993c2ebd054104878f6077f83bdc3191e9297c79086deda2f909e0R7)
[[4]](diffhunk://#diff-a5a7709ae811f21c30177ca89ea61196bd970f2695ce9a24aee461b0e792dfa8R7-R8)
- Added `"continuous": true` to several `serve` targets, likely to
enable continuous build/watch mode for development servers.
[[1]](diffhunk://#diff-b9f5cc7169c5770b5a2f040c8662568055bb427d78d3de5863f18368983602b3L76-R78)
[[2]](diffhunk://#diff-7bb84e18c1e3ac80aed41afaa0693a7c4224324e222c2ed95f1cec1525903f35L87-R89)
[[3]](diffhunk://#diff-5ee971cb1c993c2ebd054104878f6077f83bdc3191e9297c79086deda2f909e0L101-R103)
[[4]](diffhunk://#diff-a5a7709ae811f21c30177ca89ea61196bd970f2695ce9a24aee461b0e792dfa8L129-R132)
- Set `"tsConfig"` options for test targets to explicitly point to the
correct TypeScript configuration files, improving test setup
reliability.
[[1]](diffhunk://#diff-b9f5cc7169c5770b5a2f040c8662568055bb427d78d3de5863f18368983602b3L104-L108)
[[2]](diffhunk://#diff-7bb84e18c1e3ac80aed41afaa0693a7c4224324e222c2ed95f1cec1525903f35L103-L107)
[[3]](diffhunk://#diff-a5a7709ae811f21c30177ca89ea61196bd970f2695ce9a24aee461b0e792dfa8L146-R150)
**3. TypeScript Compiler Configuration Improvements:**
- Added `"moduleResolution": "bundler"` to various `tsconfig.app.json`
and `tsconfig.spec.json` files, aligning module resolution with modern
build tools and improving compatibility.
[[1]](diffhunk://#diff-f471e0ae31ecc282b2a482daebb1c09198820853e891ab8f914631c22d498b71L7-R8)
[[2]](diffhunk://#diff-d90cd0ce74ab8203ec196742db3429152e143bec6bd4db856a092509e2e72d83L5-R6)
[[3]](diffhunk://#diff-28e86d8c2042724ba496375177c06ec7b815d0e70cdebdd469312e2f959d4d3cL7-R8)
[[4]](diffhunk://#diff-92c379b3c88f28b0ae55d4b1ad62ee3936e66e2bd02867ec58d1087989de4410L7-R8)
**4. Dependency and Import Cleanups:**
- Removed unused imports (e.g., `DynamicDialogRef` in
`dot-template-create-edit.component.ts`) and simplified type usage for
dialog references.
[[1]](diffhunk://#diff-65fc5701762b720a1b4fd8afbbf0b8a0ee54827d1b9fe386f5ffc314058ce099L14)
[[2]](diffhunk://#diff-65fc5701762b720a1b4fd8afbbf0b8a0ee54827d1b9fe386f5ffc314058ce099L184-R183)
**5. Minor Project Metadata Adjustments:**
- Updated or added `implicitDependencies` fields and cleaned up
redundant or misplaced `tags` arrays in project configuration files.
[[1]](diffhunk://#diff-a5a7709ae811f21c30177ca89ea61196bd970f2695ce9a24aee461b0e792dfa8R7-R8)
[[2]](diffhunk://#diff-a5a7709ae811f21c30177ca89ea61196bd970f2695ce9a24aee461b0e792dfa8L178-R182)
[[3]](diffhunk://#diff-5ee971cb1c993c2ebd054104878f6077f83bdc3191e9297c79086deda2f909e0L125-R127)
These changes collectively improve code maintainability, developer
experience, and build/test reliability across the workspace.
### Checklist
- [x] Tests
- [x] Translations
- [x] Security Implications Contemplated (add notes if applicable)
This PR fixes: #34087
---------
Co-authored-by: Freddy Montes <751424+fmontes@users.noreply.github.com>
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.
Proposed Changes
This pull request introduces several improvements and refactors across multiple Angular applications in the monorepo, focusing on standardizing configuration, improving error handling patterns, and minor dependency/configuration cleanups. The most notable changes are grouped as follows:
1. Standardization of RxJS Error Handling:
tapResponseoperator to use the object-based signature ({ next, error }) instead of positional arguments, improving code readability and aligning with best practices. This was done in files such asdotcdn.component.store.ts,dot-pages.store.ts, anddot-template.store.ts. [1] [2] [3] [4] [5] [6] [7] [8] [9]2. Project Configuration Updates:
"tags"fields (often to empty arrays or with specific tags like["skip:test", "skip:lint"]) in multipleproject.jsonfiles for better project categorization and tooling compatibility. [1] [2] [3] [4]"continuous": trueto severalservetargets, likely to enable continuous build/watch mode for development servers. [1] [2] [3] [4]"tsConfig"options for test targets to explicitly point to the correct TypeScript configuration files, improving test setup reliability. [1] [2] [3]3. TypeScript Compiler Configuration Improvements:
"moduleResolution": "bundler"to varioustsconfig.app.jsonandtsconfig.spec.jsonfiles, aligning module resolution with modern build tools and improving compatibility. [1] [2] [3] [4]4. Dependency and Import Cleanups:
DynamicDialogRefindot-template-create-edit.component.ts) and simplified type usage for dialog references. [1] [2]5. Minor Project Metadata Adjustments:
implicitDependenciesfields and cleaned up redundant or misplacedtagsarrays in project configuration files. [1] [2] [3]These changes collectively improve code maintainability, developer experience, and build/test reliability across the workspace.
Checklist
This PR fixes: #34087
This PR fixes: #34087