Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a new pull request by comparing changes across two branches #887

Merged
merged 40 commits into from
Apr 30, 2024

Conversation

GulajavaMinistudio
Copy link
Owner

PR Checklist

Please check to confirm your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • Other... Please describe:

What is the current behavior?

Issue Number: N/A

What is the new behavior?

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

clydin and others added 30 commits April 22, 2024 09:06
…n neutral builder output result interface

The dev-server builder will now only provide an interface with typed fields
for the combined set of common elements for the Webpack and Vite development
server implementations. Any additional builder specific runtime fields will
still be present and accessible.
…x option helper from Vite-based dev-server

The index output option helper from within the Webpack-based build system has been removed
from the Vite-based development server code to support separation of the builder. This
information will eventually be passed via the build system results and the direct option
access can then be removed completely.
…r/build imports into separate file

To reduce the complexity of the move of the Vite-based dev-server builder
into the `@angular/build` package. The soon to be self-referencing imports
are now located in a separate file. Self-referencing imports are not well
supported inside the repository currently so this move allows the imports
to be adjusted in one location.
…pplication builder to new build system package

With the `application` builder already within the new `@angular/build` package,
the Vite-based `dev-server` builder is now also contained within this package.
Only the Vite-based aspects of the `dev-server` have been moved and only the
support for the `application` builder. The compatibility builder `browser-esbuild`
is not supported with `@angular/build:dev-server`. The existing `dev-server` builder
found within `@angular-devkit/build-angular` should continue to be used for both the
Webpack-based `browser` builder and the esbuild-based compatibility `browser-esbuild`
builder. To maintain backwards compatibility, the existing `@angular-devkit/build-angular:dev-server`
builder continues to support builders it has previously.

No change to existing applications is required.
…nd HTML page

Headers were not configured correctly.

Closes #27464
…tion builder to new build system package

With the `application` builder already within the new `@angular/build` package,
the `extract-i18n` builder with application builder support is now also contained within this package.
Only the application builder aspects of `extract-i18n` have been moved.
The compatibility builder `browser-esbuild` is not supported with `@angular/build:extract-i18n`.
The existing `extract-i18n` builder found within `@angular-devkit/build-angular` should continue to be used for both the
Webpack-based `browser` builder and the esbuild-based compatibility `browser-esbuild`
builder. To maintain backwards compatibility, the existing `@angular-devkit/build-angular:extract-i18n`
builder continues to support builders it has previously.

No change to existing applications is required.
…lication builder

The `deployUrl` option is now supported with the new build system
when using the `application` builder. The migration schematic
no longer needs to remove the option if present.
…ld package in projects where possible

When using the optional application build system migration, the newly
introduced `@angular/build` package which contains only the new build
system and no Webpack-related dependencies will be directly used when
possible. The migration will check for usage of any other builders from
the `@angular-devkit/build-angular` package. if none are present in the
`angular.json` file (excluding `dev-server` and `extract-i18n`), the
`@angular/build` package will be added as a dependency and used in the
`angular.json` file. The `@angular-devkit/build-angular` package will
then be removed as a dependency. Project usage of karma and/or protractor
will be the most common reasons this part of the migration will not be
performed.
…ional peer dependency

The Less stylesheet preprocessor is now an optional peer dependency of the
newly introduced `@angular/build` build system package. Less stylesheet
usage is currently estimated at less than 10% of projects with analytics enabled.
Less stylesheets are still fully supported but usage will now require installing
the `less` package within the Angular workspace. An error with instructions to
install the package will be generated during a build if the package is not present.
This change only affects direct usage of the new `@angular/build` package.
The `@angular-devkit/build-angular` package which is currently used for all existing
projects will continue to contain and directly depend on the `less` package.

No changes are required for existing applications.
…nly dev-server

The `dev-server` build within the `@angular/build` package no longer uses
Webpack. As a result, the Webpack related options have been removed from
the builder schema. These options were not previously used by the Vite-based
development server with the exception of `browserTarget` which was removed
due to it being deprecated on the `@angular-devkit/build-angular` version.
Add support for Node.js v22
…ndex HTML

When an invalid self-closing HTML element is used in the index.html file, the build proceeds without raising an error, potentially leading to runtime issues.

Now, when an invalid self-closing element is encountered in the index.html file, the build process issues an error, providing developers with immediate feedback to correct the issue.

Closes: #27528
…dows

With Node.js 22 on Windows the stack traces may contain paths that have
double backslash path segment separators.
…ersion check

The compatible Angular version check now supports getting the SemVer range
of a compatible `@angular/compiler-cli` package from both this package
and `@angular-devkit/build-angular` if present. This prevents a potential
build error condition if `@angular-devkit/build-angular` is not present.
…encies

These dependency was not listed in the package.json
…ipt optimizations are enabled

This change ensures that `ngDevMode` is replaced in node packages, aligning the behavior of the Vite server more closely with a production environment.
…ns are enabled

This change ensures that `ngDevMode` is replaced in node packages, aligning the behavior of the Vite server more closely with a production environment.
dgp1130 and others added 10 commits April 26, 2024 11:18
Add several additional APIs to the private export of the package.
Note that these are not considered part of the public API and
are intended for use only with the `@angular-devkit/build-angular` package.
… required

The `extract-i18n` option schema has been updated to reflect that the
`buildTarget` option is not required. The option value will default
to the `build` target of the containing project. This removes the need
for an additional option and character count within the `angular.json`
file for the project.
…on is no longer required

The `extract-i18n` option schema has been updated to reflect that the
`buildTarget` option is not required. The option value will default
to the `build` target of the containing project. This removes the need
for an additional option and character count within the `angular.json`
file for the project. This change also applies to the deprecated
`browserTarget` option.
…et option for new applications

The `buildTarget` option for the `extract-18n` builder will automatically
default to use the `build` target of the containing project. This removes
the need for projects to manually configure the target. New projects will
now be generated without this option in the `angular.json` file.
…n if needed

The application migration schematic will now attempt to detect the usage
of Less stylesheets within a workspace and install the `less` dependency
if required. This will only occur if the migration analysis allows for
the conversion to use the `@angular/build` package instead of the
`@angular-devkit/build-angular` package. The Less usage detection may
not detect Less stylesheets within Node.js packages and currently does
not handle the case where a project only has inline Less stylesheets.
More complex analysis may be added in the future. However, a build time
error message will be presented with instructions to install `less` in
these cases if the stylesheet preprocessor is required and not present.
…hen changed

 When using the `application` builder, the input index HTML file will now
 correctly trigger rebuilds of the application. The rebuilds are not currently
 optimized for the input index file only case but changes will be reflected
 in the output.
@GulajavaMinistudio GulajavaMinistudio merged commit 673d530 into GulajavaMinistudio:master Apr 30, 2024
7 of 45 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants