-
Notifications
You must be signed in to change notification settings - Fork 480
34098 task migrate angular projects from browser esbuild to the new application builder #34099
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
34098 task migrate angular projects from browser esbuild to the new application builder #34099
Conversation
…otobuf to v2.10.2, add new lodash dependencies, and standardize build configurations.
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 |
…ved UI consistency
There was a problem hiding this 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 modernizes the Angular build system by migrating from Nx's legacy browser-esbuild executor to Angular CLI's newer application builder, delivering significant performance improvements (87% smaller bundles, 40% faster cold starts, instant HMR rebuilds). The changes also enhance the development server configuration with proper WebSocket handling and optimize build settings.
Key Changes:
- Migrated build executor from
@nx/angular:browser-esbuildto@angular-devkit/build-angular:applicationwith updated configuration options - Added dedicated WebSocket proxy configuration to prevent EPIPE errors and improved proxy routing with
/imagecontext - Enhanced TypeScript configuration with ES2022 modules, incremental builds, and package exports resolution
- Increased Nx task parallelism from 1 to 3 and enabled HMR for faster development
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
core-web/yarn.lock |
Updated transitive dependencies including @bufbuild/protobuf patch version and lodash utilities |
core-web/nx.json |
Increased task runner parallelism to 3 and added global serve configuration |
core-web/apps/dotcms-ui/tsconfig.json |
Added esModuleInterop for better module compatibility |
core-web/apps/dotcms-ui/tsconfig.app.json |
Enhanced with ES2022 module system, incremental builds, and package exports resolution |
core-web/apps/dotcms-ui/proxy-dev.conf.mjs |
Separated WebSocket proxy configuration, disabled WS on HTTP proxy to prevent errors, added /image route |
core-web/apps/dotcms-ui/project.json |
Migrated to application builder, removed deprecated options (vendorChunk, buildOptimizer, deployUrl), updated serve configuration with HMR and removed explicit webcomponents dependency |
…wser-esbuild-to-the-new-application-builder
…wser-esbuild-to-the-new-application-builder
…nd clean up tsconfig.json by removing skipLibCheck option
…d-to-the-new-application-builder' of github.com:dotCMS/core into 34098-task-migrate-angular-projects-from-browser-esbuild-to-the-new-application-builder
…d project stability and performance
Proposed Changes
This pull request updates the build configuration and proxy setup for the
dotcms-uiAngular application, improving compatibility with the Angular CLI, enhancing development server behavior, and refining TypeScript settings. The most significant changes are grouped below.Build and Angular CLI migration:
project.jsonfrom@nx/angular:browser-esbuildto@angular-devkit/build-angular:applicationfor better Angular CLI compatibility and future-proofing. Updated related build options, including the use ofbrowserandpolyfillsarrays, and addedinlineStyleLanguage: "scss".baseHrefto/dotAdmin/for development, addedexternalDependencies, and refined output and optimization options.tagsandimplicitDependenciesto the end ofproject.jsonto align with Nx conventions.Development server and proxy improvements:
proxy-dev.conf.mjsby adding a dedicated WebSocket proxy for/api/wsrequests, explicitly disabling WebSocket proxying for the main API proxy to avoid EPIPE errors, and adding/imageto the proxied contexts. [1] [2]hmr), continuous watch, and disabled live reload in theservetarget for a better development experience.TypeScript and Nx configuration:
tsconfig.app.jsonandtsconfig.json) to explicitly setmoduletoes2022, enableesModuleInterop, useincrementalbuilds, and resolve package exports for improved build performance and compatibility. [1] [2]servesection innx.jsonwith an emptydependsOnarray. [1] [2]📊 Performance Comparison
Screenshots
This PR fixes: #34098
This PR fixes: #34098