In case the browser builder hashes the assets we need to add this setting to the server builder as otherwise when assets it will be requested twice. One for the server which will be unhashed, and other on the client which will be hashed.
Closes#15953
Currently, in the CLI universal schematic we are setting the server output path to `dist/project-server` and not amending the build outputPath
Ex:
```
dist/project
dist/project-server
```
However, the above paths are being update when adding `nguniversal` to the below:
```
dist/project/browser
dist/project/server
```
With this change it is proposed to move that logic to upstream.
Related PR to clean up nguniversal schematics https://github.com/angular/universal/pull/1265
If i18n support is already present within an application, the newly generated `main.server.ts` file should also contain the `@angular/localize` polyfill to allow the universal application to function.
This universal schematic here, is the base for app-shell, @nguniversal/express-engine, and @nguniversal/hapi-engine
* test: update tests to work with new stricter tsconfig file inclusions
* fix(@schematics/angular): exclusively list the files in tsconfigs
With the omission of `includes` or `files` in tsconfig files tsc will pick up all the files under the rootDir and make them as part of the compilation. In certain cases, redundant files will be picked up which will cause a slower compilations.
Related to: TOOL-949
The universal tsconfig extends the application tsconfig which by default it's module format is ES2015. While NodeJS 12 does support this, older versions of Node don't
The baseUrl is used for non relative module imports, and we should always use the baseUrl set in the workspace tsconfig. When having path mappings set at workspace level and setting a `baseUrl` in the server tsconfig, this paths will no longer work as paths mapping as relative to the baseUrl.
Fixes#13935