angular / angular-cli Public
master
Commits on Apr 13, 2022
-
-
-
test: use yargs-parser in E2E test suite runner
The `minimist` package that was previously used is no longer a dependency of the project and was only working due to package hoisting.
Commits on Apr 11, 2022
-
refactor(@angular/cli): add infrastructure support for schematics bui…
…lt-in modules Infrastructure has been added to the schematics runtime within the `@angular/cli` package to allow schematics executed via the Angular CLI to have access upcoming built-in modules. These built-in modules will be imported/required using the `schematics:` scheme similar to the Node.js `node:` scheme available for Node.js built-in modules. No built-in modules exist yet but will be added in the future. Schematics must be executed via the Angular CLI Schematics runtime's custom VM context to use the upcoming built-in modules. All first-party Angular schematics have been executed in this manner for several major versions. Third-party schematics can now opt-in to the behavior by enabling the `encapsulation` option within a schematic collection JSON file.
-
refactor(@angular-devkit/schematics): provide schematic collection de…
…scription to FileSystemEngineHost resolver The `_resolveReferenceString` abstract method of the `FileSystemEngineHostBase` class now has a third parameter that provides the collection description of the schematic currently being resolved. This allows the resolver to use any fields/options present within the collection description to adjust the resolution of the schematic. The `encapsulation` optional field is also added to the `FileSystemCollectionDescription` type which will in the future allow control of the `@angular/cli` VM context wrapping on an individual schematic collection basis.
Commits on Mar 31, 2022
-
refactor(@angular-devkit/build-angular): replace most custom path nor…
…malize usage with Node.js builtins During the build initialization phase, many paths are converted back and forth between multiple normalized forms. These conversions involve potentially expensive string operations. The majority of the custom path `normalize` function from `@angular-devkit/core` usages have now been removed in favor of the Node.js builtin path functions. This change reduces the need to perform additional string manipulation where possible.
Commits on Mar 24, 2022
-
-
build: change bazel project_id option to bes_instance_name
The `--project_id` option was deprecated and renamed to `--bes_instance_name` in Bazel 5.0.0.
-
build: update bazel rules_nodejs to v5.3.0
The `check_bazel_version` and `check_rules_nodejs_version` calls have also been removed from the WORKSPACE file as they are no longer supported or recommended by `rules_nodejs`.
Commits on Mar 23, 2022
-
fix(@angular-devkit/build-angular): remove unneeded JIT reflect metad…
…ata polyfill Since Angular 8, the CLI has transformed decorator metadata to a form that can be used by the Angular dependency injector without the TDZ limitations of Typescript's decorator metadata emit feature. As a result, a JIT application compiled with the CLI no longer requires the reflect metadata polyfill that was provided by `core-js`. This polyfill was also the last remaining usage of the `core-js` package within `@angular-devkit/build-angular` which allows the `core-js` package to also be removed. Refs: #14473 & angular/angular#37382 BREAKING CHANGE: Reflect metadata polyfill is no longer automatically provided in JIT mode Reflect metadata support is not required by Angular in JIT applications compiled by the CLI. Applications built in AOT mode did not and will continue to not provide the polyfill. For the majority of applications, the reflect metadata polyfill removal should have no effect. However, if an application uses JIT mode and also uses the previously polyfilled reflect metadata JavaScript APIs, the polyfill will need to be manually added to the application after updating. To replicate the previous behavior, the `core-js` package should be manually installed and the `import 'core-js/proposals/reflect-metadata';` statement should be added to the application's `polyfills.ts` file.
Commits on Mar 16, 2022
-
fix(@schematics/angular): remove
@types/nodefrom new projectsThe `@types/node` package is now only added if E2E tests (`ng generate e2e`) or universal are added to a project.
Commits on Mar 2, 2022
-
-
ci: remove Node.js v12 E2E job
Node.js v12 will become EOL on 2022-04-30. As a result, Angular as of v14 will no longer support Node.js v12.
Commits on Feb 25, 2022
-
refactor(@angular-devkit/build-angular): remove unneeded JsonObject t…
…ype casting The use of the `@angular-devkit/core` `JsonObject` type is no longer needed to satisfy the type requirements of `@angular-devkit/architect` package builder creation functions.
-
refactor(@angular-devkit/build-angular): replace most custom path res…
…olve usages with Node.js builtins During the build initialization phase, many paths are converted back and forth between multiple normalized forms. These conversions involve potentially expensive string operations. The majority of the custom path `resolve` function from `@angular-devkit/core` usages have now been removed in favor of the Node.js builtin path functions. This change reduces the need to perform additional string manipulation where possible.
Commits on Feb 22, 2022
-
ci: use renovate Github Action tag version pinning
Renovate supports use hashed version pinning for individual Github actions while still following SemVer-based tags. All workflow actions external to the Angular organization now leverage this support to ensure both that stable versions of the actions are used and that the actions are pinned to a hashed version of the tag.
-
test: remove
common-tagsdependency from E2E testsThe `common-tags` development dependency was only used in several E2E tests. Removing the usage of the dependency also allows it to be removed as a development dependency from the root `package.json`.
Commits on Feb 18, 2022
-
build: remove multiple unused development dependencies
The following development dependencies are no longer used directly and have been removed from the root `package.json`: * `conventional-commits-parser` * `gh-got` * `git-raw-commits`
-
Update bazel to the latest stable version (currently 5.0.0).
-
test: update E2E production application size expectations
Improvements to the framework for `14.0.0-next.3` resulted in reduced main bundle sizes. ``` Initial Chunk Files | Names | Raw Size | Estimated Transfer Size main.f6e8bb94b78b0b43.js | main | 120.24 kB | 36.23 kB ```
Commits on Feb 16, 2022
-
build: remove unused/outdated Dockerfile
The Dockerfile at the root of the repository is both outdated (uses Node.js v10) and unused by current development processes.
-
build: remove unused development dependency
seedrandomThe `seedrandom` dependency is not currently used within the package or project. As a result, it has been removed to prevent unneeded packages from being installed during development.
-
test: remove unneeded public API golden file for removed build optimi…
…zer package This API golden file is no longer needed as the `@angular-devkit/build-optimizer` package has been removed as of v14.
-
build: add permissions to current github action workflows
The currently recommended best practice for Github action workflows is to set top-level permissions to read only. And if the job uses the automatic `GITHUB_TOKEN`, fine-grained permissions for each job based on the job's requirements should also be added. All existing workflows in the repository now have top-level read only permission blocks. Only the `scorecard` workflow currently requires additional job level permissions and the minimum set of permissions were already present for the job.
Commits on Nov 29, 2021
-
feat(@angular-devkit/build-angular): watch i18n translation files wit…
…h dev server When using i18n with the dev server, the translation files will now be linked as a dependency to any file containing translated text. This allows translation files to be watched and the application to be rebuilt using the changed translation files. Closes #16341
Commits on Nov 22, 2021
-
feat(@angular/cli): ask to install angular-eslint when running ng lin…
…t in new projects To improve the developer experience for the `ng lint` command in new projects, the lint command will now ask the developer if they wish to install `@angular-eslint/schematics` when no lint target has been configured for the specified project. `@angular-eslint/schematics` is currently the only option listed in the warning shown prior to the introduction of the prompt in this change. If additional example packages are added to the warning text in the future, the confirmation prompt should be changed to a list prompt which would allow the user to pick one of the potential future listed example packages. Closes: #21387
Commits on Nov 17, 2021
-
feat(@angular-devkit/build-angular): add estimated transfer size to b…
…uild output report When optimizations are enabled (either scripts or styles), an additional column will now be present in the output report shown in the console for an application build. This additonal column will display the estimated transfer size for each file as well as the total initial estimated transfer size for the initial files. The estimated transfer size is determined by calculating the compressed size of the file using brotli's default settings. In a development configuration (a configuration with optimizations disabled), the calculations are not performed to avoid any potential increase in rebuild speed due to the large size of unoptimized files. Closes: #21394
-
feat(@angular/cli): provide more detailed error for not found builder
When a builder-based command is executed (build, serve, test, etc.) and the builder's node package cannot be found a more user-friendly error message is now displayed. In addition, when the builder's node package cannot be found, a check is performed to determine if the node packages for the workspace may have not been installed. Previously, a potentially long stacktrace was shown which did not provide much information regarding how to correct the issue. Closes: #10536
Commits on Nov 16, 2021
-
feat(@angular-devkit/build-angular): support JSON comments in dev-ser…
…ver proxy configuration file The `proxyConfig` option for the `dev-server` builder now supports JSON files containing comments and trailing commas. Several additional tests regarding the use of ESM and CommonJS JavaScript configuration files were also added to reduce the likelihood of future regressions. Closes: #21862
Commits on Nov 8, 2021
-
fix(@angular/cli): avoid redirecting @angular/core in Angular migrations
Files should not redirect `@angular/core` and instead use the direct dependency of the `@schematics/angular` package. This allows old major version migrations to continue to function even though the latest major version may have breaking changes in `@angular/core`.
Commits on Nov 4, 2021
-
fix(@angular-devkit/build-angular): update Angular peer dependencies …
…to v13.1 prerelease This change allows framework v13.1 prelease versions to be used with the Angular CLI 13.1 preleases without peer dependency warnings.
-
docs(@ngtools/webpack): add Ivy linker setup documentation to readme
When not using the Angular CLI, the Babel-based Ivy linker is also required to successfully build an application. A section describing the setup of the linker in addition to the Angular compiler plugin has now been included with links to the AIO documentation and the babel-loader for additional information.
Commits on Nov 2, 2021
-
fix(@angular-devkit/build-angular): remove potential race condition i…
…n i18n worker execution There was previously the potential for two workers to complete quickly at the same time which could result in one of the results not being propagated to the remainder of the system. This situation has now been corrected by removing the worker execution at a later point in the process. (cherry picked from commit 802b1b0)