Skip to content

34087 task security upgrade angular to v20.31.5 #34088

Merged
nicobytes merged 10 commits intomainfrom
34087-task-security-upgrade-angular-to-v20315-to-mitigate-stored-xss-in-angularcompiler
Dec 12, 2025
Merged

34087 task security upgrade angular to v20.31.5 #34088
nicobytes merged 10 commits intomainfrom
34087-task-security-upgrade-angular-to-v20315-to-mitigate-stored-xss-in-angularcompiler

Conversation

@nicobytes
Copy link
Contributor

@nicobytes nicobytes commented Dec 12, 2025

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] [2] [3] [4] [5] [6] [7] [8] [9]

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] [2] [3] [4]
  • Added "continuous": true to several serve targets, likely to enable continuous build/watch mode for development servers. [1] [2] [3] [4]
  • Set "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:

  • Added "moduleResolution": "bundler" to various tsconfig.app.json and tsconfig.spec.json files, aligning module resolution with modern build tools and improving compatibility. [1] [2] [3] [4]

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] [2]

5. Minor Project Metadata Adjustments:

  • Updated or added implicitDependencies fields and cleaned up redundant or misplaced tags arrays in project configuration files. [1] [2] [3]

These changes collectively improve code maintainability, developer experience, and build/test reliability across the workspace.

Checklist

  • Tests
  • Translations
  • Security Implications Contemplated (add notes if applicable)

This PR fixes: #34087

This PR fixes: #34087

…te-stored-xss-in-angularcompiler' of github.com:dotCMS/core into 34087-task-security-upgrade-angular-to-v20315-to-mitigate-stored-xss-in-angularcompiler
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 tapResponse operators 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 tags placement, tsConfig references, and continuous: true flags 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

@semgrep-code-dotcms-test
Copy link

Legal Risk

The following dependencies were released under a license that
has been flagged by your organization for consideration.

Recommendation

While 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

nicobytes and others added 3 commits December 12, 2025 12:44
…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
@nicobytes nicobytes enabled auto-merge December 12, 2025 20:21
@nicobytes nicobytes added this pull request to the merge queue Dec 12, 2025
Merged via the queue into main with commit 290cee7 Dec 12, 2025
19 checks passed
@nicobytes nicobytes deleted the 34087-task-security-upgrade-angular-to-v20315-to-mitigate-stored-xss-in-angularcompiler branch December 12, 2025 21:28
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[TASK] [Security] Upgrade Angular to v20.3.15+ to mitigate Stored XSS in @angular/compiler

5 participants