Skip to content

Bring back modern angular builder for dotcms-ui#34539

Open
fmontes wants to merge 2 commits intomainfrom
bring-back-modern-angular-builder
Open

Bring back modern angular builder for dotcms-ui#34539
fmontes wants to merge 2 commits intomainfrom
bring-back-modern-angular-builder

Conversation

@fmontes
Copy link
Member

@fmontes fmontes commented Feb 6, 2026

Proposed Changes

  • change 1
  • change 2

Checklist

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

Additional Info

** any additional useful context or info **

Screenshots

Original Updated
** original screenshot ** ** updated screenshot **

@github-actions
Copy link

github-actions bot commented Feb 6, 2026

❌ Issue Linking Required

This PR could not be linked to an issue. All PRs must be linked to an issue for tracking purposes.

How to fix this:

Option 1: Add keyword to PR body (Recommended - auto-removes this comment)
Edit this PR description and add one of these lines:

  • This PR fixes #123 or Fixes: #123

  • This PR closes #123 or Closes: #123

  • This PR resolves #123 or Resolves: #123

  • Other supported keywords: fix, fixed, close, closed, resolve, resolved
    Option 2: Link via GitHub UI (Note: won't clear the failed check)

  1. Go to the PR → Development section (right sidebar)

  2. Click "Link issue" and select an existing issue

  3. Push a new commit or re-run the workflow to clear the failed check
    Option 3: Use branch naming
    Create a new branch with one of these patterns:

  • 123-feature-description (number at start)

  • issue-123-feature-description (issue-number at start)

  • feature-issue-123 (issue-number anywhere)

Why is this required?

Issue linking ensures proper tracking, documentation, and helps maintain project history. It connects your code changes to the problem they solve.---

This comment was automatically generated by the issue linking workflow

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 PR updates the dotcms-ui Nx target configuration to use Angular’s modern application builder instead of the Nx browser-esbuild executor, aligning the app build with the Angular CLI-style builder setup.

Changes:

  • Switch dotcms-ui build target executor to @angular-devkit/build-angular:application.
  • Reshape key build options (entrypoint key from mainbrowser, polyfills to array, outputPath to object form).
  • Remove previously configured global scripts entries (now an empty array).

Comment on lines +9 to +16
"executor": "@angular-devkit/build-angular:application",
"outputs": ["{options.outputPath.base}"],
"options": {
"baseHref": "./",
"outputPath": "dist/apps/dotcms-ui",
"outputPath": {
"base": "dist/apps/dotcms-ui",
"browser": ""
},
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

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

outputs is set to {options.outputPath.base}, but outputPath is not consistently an object across configurations (e.g., development overrides it with a string). This can break Nx output tracking/caching and may fail option validation depending on the builder schema. Keep outputPath the same type in all configurations (either always a string, or always an object) and make outputs reference the correct path accordingly.

Copilot uses AI. Check for mistakes.
Comment on lines 114 to 118
"optimization": false,
"sourceMap": false,
"namedChunks": false,
"vendorChunk": true,
"buildOptimizer": false,
"extractLicenses": false,
"fileReplacements": [],
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

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

Because the base options.outputPath was changed to an object, this development configuration now overrides outputPath with a string, creating an inconsistent option type across configurations. This can lead to builder schema validation errors and also makes the target's outputs ({options.outputPath.base}) invalid for the development build. Align development.outputPath with the same object shape (or keep outputPath as a string everywhere).

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants