Skip to content

feat(@angular/build): support middlewareConfig#32900

Open
tianma630 wants to merge 5 commits intoangular:mainfrom
tianma630:feat/middleware
Open

feat(@angular/build): support middlewareConfig#32900
tianma630 wants to merge 5 commits intoangular:mainfrom
tianma630:feat/middleware

Conversation

@tianma630
Copy link
Copy Markdown

PR Checklist

Please check to confirm your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • [x ] Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • Other... Please describe:

What is the current behavior?

Issue Number: #32811

What is the new behavior?

Allowing using middleware config in dev server options #32811

Does this PR introduce a breaking change?

  • Yes
  • [ x] No

Other information

@angular-robot angular-robot bot added detected: feature PR contains a feature commit area: @angular/build labels Mar 30, 2026
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a middlewareConfig option to the Angular dev-server, allowing users to provide a custom middleware configuration file. The implementation includes a new utility to load these configurations (supporting both ESM and CJS) and integrates them into the Vite server setup. Review feedback highlights several improvement opportunities: avoiding mutation of the middleware array to prevent side effects, ensuring cross-platform compatibility for dynamic imports on Windows, aligning type definitions with the schema, and cleaning up unused code in the test suite.

Comment thread packages/angular/build/src/builders/dev-server/vite/server.ts
Comment thread packages/angular/build/src/utils/load-middleware-config.ts Outdated
Comment thread packages/angular_devkit/build_angular/src/builders/dev-server/builder.ts Outdated
tianma630 and others added 4 commits March 31, 2026 08:15
fixed

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Implement compatibility in the try-catch block

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…builder.ts


This is not necessary

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@tianma630
Copy link
Copy Markdown
Author

Code Review

This pull request introduces a middlewareConfig option to the Angular dev-server, allowing users to provide a custom middleware configuration file. The implementation includes a new utility to load these configurations (supporting both ESM and CJS) and integrates them into the Vite server setup. Review feedback highlights several improvement opportunities: avoiding mutation of the middleware array to prevent side effects, ensuring cross-platform compatibility for dynamic imports on Windows, aligning type definitions with the schema, and cleaning up unused code in the test suite.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: @angular/build detected: feature PR contains a feature commit

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant