angular / angular/angular-cli

Allowing using middleware config in dev server options

Open
#32,811 0 comments 0 reactions 0 assignees View on GitHub
angular/build:dev-server area: @angular/build gemini-triaged
Dominant language
TypeScript
Stars
27k
Forks
11.8k
Avg merge
14h 23m
Merged PRs (30d)
162

Description

### Command

serve

### Description

Dev server middleware configuration is very commonly used in development,such as auto login or log printing,but it is not currently supported。

### Describe the solution you'd like

Refer to the implementation of proxyConfig, add the middlewareConfig configuration to angular.json -> server -> options, and parse and inject the middleware in angular/build.
middlewareConfig supports configuring a js file path, and the file exports a single middleware function or an array of multipe middleware functions. such as:
```
function log(req, res, next) {
next()
}

module.exports = log;
```

```
function log(req, res, next) {
next()
}

function auth(req, res, next) {
next()
}

module.exports =
[
log,
auth,
]
```

### Describe alternatives you've considered

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by tracing the serve command's dev-server options and the existing proxyConfig implementation, then inspect how angular.json server options are parsed and how angular/build injects development-server configuration. Done means middlewareConfig accepts a JavaScript file exporting one middleware function or an array, and the configured middleware runs in the dev server.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
build-system, cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.