Alan Agius 11bb8ce26f perf(@angular-devkit/build-angular): add vendor chunking to server builder
With this change we add the `vendorChunk` option in the server builder. This option should only be used in development as it is intended to be used to improve the incremental re-build time.

This improves the rebuild time as Webpack will have less modules to analyse during a change in the application. Below, we can see the impact this change has in a `ng new` application.

Without vendor chunking
```
$ ng run ssr-vendor:server:development --watch --no-vendor-chunk
Build at: 2022-11-14T08:42:27.089Z - Hash: 0325905b63e43ddb - Time: 15357ms
Build at: 2022-11-14T08:42:37.565Z - Hash: 05cb180a02524656 - Time: 2498ms
Build at: 2022-11-14T08:42:40.325Z - Hash: c5a6996ed1924088 - Time: 1862ms
Build at: 2022-11-14T08:42:43.043Z - Hash: 92ce99f38a769c19 - Time: 1516ms
```

With vendor chunking
```
$ ng run ssr-vendor:server:development --watch --vendor-chunk
Build at: 2022-11-14T08:43:13.631Z - Hash: 28bdfea879d01a31 - Time: 15561ms
Build at: 2022-11-14T08:43:19.396Z - Hash: cc95e2b6cb403111 - Time: 1705ms
Build at: 2022-11-14T08:43:21.296Z - Hash: 204138490668a16c - Time: 848ms
Build at: 2022-11-14T08:43:23.835Z - Hash: 4fa294b261917944 - Time: 824ms
```
2022-11-15 10:14:02 -08:00
..
2021-04-28 16:05:49 -07:00

@schematics/angular

This package contains a collection of schematics for generating an Angular application.

Schematics

Name Description
app-shell Generates an app shell for running a server-side version of an app
application Generates a new basic app definition in the "projects" subfolder of the workspace
class Creates a new, generic class definition in the given or default project
component Creates a new, generic component definition in the given or default project
directive Creates a new, generic directive definition in the given or default project
enum Generates a new, generic enum definition for the given or default project
guard Generates a new, generic route guard definition in the given or default project
interceptor Creates a new, generic interceptor definition in the given or default project
interface Creates a new, generic interface definition in the given or default project
library Creates a new, generic library project in the current workspace
module Creates a new, generic NgModule definition in the given or default project
ng-new Creates a new project by combining the workspace and application schematics
pipe Creates a new, generic pipe definition in the given or default project
resolver Creates a new, generic resolver definition in the given or default project
service Creates a new, generic service definition in the given or default project
service-worker Pass this schematic to the "run" command to create a service worker
web-worker Creates a new, generic web worker definition in the given or default project
workspace Initializes an empty workspace and adds the necessary dependencies required by an Angular application

Disclaimer

While the schematics when executed via the Angular CLI and their associated options are considered stable, the programmatic APIs are not considered officially supported and are not subject to the breaking change guarantees of SemVer.