The removed APIs are needed to support `ng add @angular/material@16` with
Angular CLI v17. These APIs should be able to be safely removed with v18.
This reverts commit 6a4d733ddaf67c0b93f48ff39cd2a987dcd2b024.
This fixes an issue which caused the new provider to be added in the position of the trailing comma. With this change the trailing comma is retained.
Closes#26911
In #26675 we introduced a long-form variant of `outputPath`, this commit updates the application builder migration and ssr schematics to handle this change.
`browser-sync` is now an optional dependency of `@angular-devkit/build-angular`. This package is only needed when using the legacy `@angular-devkit/build-angular:ssr-dev-server` builder.
Closes#26349
This commit enables `skipLibCheck` in new workspaces which is now recommanded by TypeScript. When enabled, type checking of declaration files is skipped as rather than doing a full check of all `d.ts` files, TypeScript will type check the code you specifically refer to in your app’s source code.
See: https://www.typescriptlang.org/tsconfig#skipLibCheck
This commits adds an optional migration to migration existing projects to use the vite and esbuild based application builder.
The migration can be opted-in when running `ng update @angular/cli --name=use-application-builder`
`ng g c` no longer generates a component with the `CommonModule` import.
This import is not useful if developers adopt the control flow syntax in their templates.
Instead, developers are encouraged to import the individual directives/pipes if needed.
This commit adds a helper script in the `package.json` when running `ng add @angular/ssr` or `ng new --ssr` that can be used to spawn the SSR server.
Example of script:
```json
{
"scripts": {
"serve:ssr:my-app": "node dist/my-app/server/server.mjs"
}
}
```
Closes#26315
The `esModuleInterop` TypeScript option is a TypeScript recommended option that ensures that TypeScript
emits compliant ESM code when transforming namespace and default imports. This is important for new projects
because they now use the `application` builder which emits full ESM code. Not using this option with certain
third-party packages (e.g., `moment`) can result in build warnings and the potential for runtime failure. For existing
applications that are considering migrating, information pertaining to this situation will be available within
the documentation.
Since the `allowSyntheticDefaultImports` is implied and automatically enabled when `esModuleInterop` is enabled,
the previous option has been replaced with this one.
Reference: https://www.typescriptlang.org/tsconfig#esModuleInterop
Prior to this change there was a missing check that causes the migration to remove valid config when it was executed multiple times or on configs that do not contain the deprecated option.
Closes#26063
This commits updates the `ssr` application builder option definition. The main change is that now the option does not accept the entry-point as a value. Instead it should be passed in the `entry` suboption.
Example
```json
"ssr": {
"entry": "server.ts"
}
```
This change in this option is important to allow us in the future to add additional sub options. Like potentially a `platform` or `target`.