1c8796a4d7
This PR cleans up the markdown files under `packages/`. We previously had to support Next.js docs and translate it for astro docs with proper markdown syntax. This applies to generators, executors, and migrations. Also removes the function to do the translation in astro app since it's no longer needed. ## Code block (migrations) <img width="1086" height="800" alt="Screenshot 2025-11-20 at 1 23 53 PM" src="https://github.com/user-attachments/assets/bd9acb9b-7960-4e41-9d26-22d29da6658e" /> ## Aside (generators) <img width="802" height="443" alt="Screenshot 2025-11-20 at 1 43 17 PM" src="https://github.com/user-attachments/assets/e2999821-8783-46ed-a984-2193f6f8eafa" />
2.4 KiB
2.4 KiB
This executor is a drop-in replacement for the @angular-devkit/build-angular:dev-server builder provided by the Angular CLI. In addition to the features provided by the Angular CLI builder, the @nx/angular:dev-server executor also supports the following:
- Serving applications with Vite when using the
@nx/angular:applicationor@nx/angular:browser-esbuildexecutors to build them - Serving applications with webpack when using the
@nx/angular:webpack-browserexecutor - Providing HTTP request middleware functions when the build target is using an esbuild-based executor
- Incremental builds
Examples
Using a custom webpack configuration
This executor should be used along with @nx/angular:webpack-browser to serve an application using a custom webpack configuration.
Add the serve target using the @nx/angular:dev-server executor, set the build target executor as @nx/angular:webpack-browser and set the customWebpackConfig option as shown below:
"build": {
"executor": "@nx/angular:webpack-browser",
"options": {
...
"customWebpackConfig": {
"path": "apps/my-app/webpack.config.js"
}
}
},
"serve": {
"executor": "@nx/angular:dev-server",
"configurations": {
"production": {
"buildTarget": "my-app:build:production"
},
"development": {
"buildTarget": "my-app:build:development"
}
},
"defaultConfiguration": "development",
}
module.exports = (config) => {
// update the config with your custom configuration
return config;
};
Providing HTTP request middleware function
The executor accepts an esbuildMiddleware option that allows you to provide HTTP require middleware functions that will be used by the Vite development server.
{
...
"targets": {
"serve": {
"executor": "@nx/angular:dev-server",
"options": {
...
"esbuildMiddleware": ["apps/my-app/hello-world.middleware.ts"]
}
}
...
}
}
import type { IncomingMessage, ServerResponse } from 'node:http';
const helloWorldMiddleware = (
req: IncomingMessage,
res: ServerResponse,
next: (err?: unknown) => void
) => {
if (req.url === '/hello-world') {
res.end('<h1>Hello World!</h1>');
} else {
next();
}
};
export default helloWorldMiddleware;