master
Commits on Aug 6, 2021
-
-
fix(@angular-devkit/build-angular): support both pure annotation formβ¦
β¦s for static properties The static property optimization pass analyzes the initializers of static properties for possible side effects to determine if optimization is safe to perform. Previously the pure annotation of the form `@__PURE__` was not considered during the analysis. This has now been corrected and all of the following forms are supported: `@__PURE__`, `#__PURE__`, and `@pureOrBreakMyCode`.
-
fix(@angular-devkit/build-angular): do not consume inline sourcemaps β¦
β¦when vendor sourcemaps is disabled. Not removing inline sourcemaps when vendor sourcemaps is disabled causes an issue during the JS optimization sourcemap merging phase. ``` Optimization error [936.cf7797927c7f989bd40d.js]: Error: Transformation map 1 must have exactly one source file. ``` When vendor sourcemaps is disabled we are not interested into the said sourcemaps so now we remove the inline sourcemap. Closes #21508
-
test(@angular-devkit/build-angular): allow identifiers with numbers iβ¦
β¦n production build E2E bootstrap call check The JavaScript optimizer can potentially create identifiers that contain both letters and numbers (for example, `y2`). Such values were not previously accepted in the `build/prod-build` E2E test when checking for an Angular `bootstrapModule` call.
-
fix(@angular-devkit/build-angular): update Angular peer dependencies β¦
β¦to v13.0 prerelease
-
fix(@angular/cli): show error when using non-TTY terminal without pasβ¦
β¦sing `--skip-confirmation` during `ng add` Closes #21512
Commits on Aug 5, 2021
-
feat(@angular-devkit/build-angular): drop support for `karma-coverageβ¦
β¦-instanbul-reporter` BREAKING CHANGE: Support for `karma-coverage-instanbul-reporter` has been dropped in favor of the official karma coverage plugin `karma-coverage`.
-
fix(@angular-devkit/build-angular): avoid attempting to optimize copiβ¦
β¦ed JavaScript assets When in watch mode (`ng serve`/`ng build --watch`), Webpack's `copy-webpack-plugin` is currently used to implement the project `assets` option within `angular.json`. Files specified by the `assets` option are intended to be copied to the output unmodified and in their original form. However, if any JavaScript assets were present they previously would have been unintentionally subject to their respective optimization plugins which would result in modified asset outputs and the potential for breakage of the assets. `ng build` outside of watch mode uses a direct file copy with copy-on-write (where supported) to process assets and is therefore not affected by this situation. When the `copy-webpack-plugin` is used, it adds a `copied` flag to an asset's info metadata. This flag is now used to exclude all such copied JavaScript assets from optimization.
-
test(@angular-devkit/build-angular): properly discover Bazel units tests
The unit tests for builders are now within the `src/builders/...` path.
-
fix(@angular-devkit/build-angular): handle null maps in JavaScript opβ¦
β¦timizer worker `asset.map` can be `null` which causes an unhandled exception. ``` Error: Optimization error [generated/js/custom-elements-es5-polyfills.js]: TypeError: Cannot destructure property 'mappings' of 'map' as it is null. at decodeSourceMap (/angular/aio/node_modules/@ampproject/remapping/dist/remapping.umd.js:178:15) at Array.map (<anonymous>) at buildSourceMapTree (/angular/aio/node_modules/@ampproject/remapping/dist/remapping.umd.js:725:37) at Object.remapping [as default] (/angular/aio/node_modules/@ampproject/remapping/dist/remapping.umd.js:831:23) at default_1 (/angular/aio/node_modules/@angular-devkit/build-angular/src/webpack/plugins/javascript-optimizer-worker.js:44:44) ``` AIO CI failure: https://app.circleci.com/pipelines/github/angular/angular/35940/workflows/c9c91ad3-1645-4a88-bb5b-6a06a9b887b9/jobs/1032993 -
-
feat(@angular-devkit/build-angular): add
type=moduleto all scriptsβ¦β¦ tags With this change we add `type=module` to all script tags. This is now possible since IE is no longer supported. More information about modules can be found here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules
-
-
-
build: bump tar from 6.1.1 to 6.1.6
Bumps [tar](https://github.com/npm/node-tar) from 6.1.1 to 6.1.6. - [Release notes](https://github.com/npm/node-tar/releases) - [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md) - [Commits](npm/node-tar@v6.1.1...v6.1.6) --- updated-dependencies: - dependency-name: tar dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
-
refactor(@angular-devkit/build-angular): move all builders into a buiβ¦
β¦lders subdirectory All Angular builders are now located within one subdirectory of the `src` directory. This organization provides better discovery of the builders and will allow builder specific code to be stored in a single area.
-
-
fix(@angular-devkit/schematics-cli): log when in debug and/or dry runβ¦
β¦ modes When using the schematics-cli with a local collection, the debug mode is enabled by default. Debug mode also enables dry run mode by default. This can result in a confusing situation when developing a schematic locally as files will not be written to disk but no messages are present explaining why. To improve the developer experience, messages will now be shown both when debug mode is enabled and when dry run is enabled. If either is enabled by default the reason will also be shown.
-
refactor(@angular-devkit/build-angular): remove unused rxjs version dβ¦
β¦iscovery In the Angular version check, the rxjs version was acquired by resolving and reading the rxjs package's package.json file. However, the rxjs version checks were removed in a previous major.
-
refactor(@angular-devkit/build-angular): remove Webpack loader resolvβ¦
β¦e custom setting The Webpack configuration setup previously walked up the directory structure to find all `node_modules` directories and then pass this list to Webpack's `resolverLoader.modules` option. This was previously done to ensure that hoisted packages were properly resolved. However, all loader paths are now fully resolved prior to being added to the Webpack configuration. Since loader paths will now be absolute, Webpack no longer needs to resolve them which makes the resolve settings no longer necessary.
-
refactor(@angular-devkit/build-angular): remove
empty.jsWebpack alβ¦β¦ias file Webpack 5 supports setting a module's alias to `false` to signify that a module should be ignored. This option removes the need for the `empty.js` file as an alias option value.
-
refactor(@angular-devkit/build-angular): remove Node.js 10 copyfile wβ¦
β¦orkaround The workaround code was gated on the presence of Node.js 10 but the CLI no longer supports Node.js 10 and will execute with an error if attempted. As a result, the workaround code would never be executed.
-
ci: disable lockFileMaintenance for
all-schematics-dependenciesgroupThis should avoid Renovate creating redudant PRs such as #21480
Commits on Aug 4, 2021
Commits on Aug 3, 2021
-
feat(@schematics/angular): add migration to update the workspace config
With this change we add a migration to update the workspace configuration to version 13 by removed deprecated options and builders.
-
feat(@angular-devkit/build-angular): remove deprecated options
BREAKING CHANGE: With this change we removed several deprecated builder options - `extractCss` has been removed from the browser builder. CSS is now always extracted. - `servePathDefaultWarning` and `hmrWarning` have been removed from the dev-server builder. These options had no effect.
-
-
test(@angular-devkit/build-angular): remove unused tslint builder tests
The tslint builder has been removed and these tests are no longer executed.
-
feat(@angular-devkit/build-angular): remove automatic inclusion of ESβ¦
β¦5 browser polyfills BREAKING CHANGE: The automatic inclusion of Angular-required ES2015 polyfills to support ES5 browsers has been removed. Previously when targetting ES5 within the application's TypeScript configuration or listing an ES5 requiring browser in the browserslist file, Angular-required polyfills were included in the built application. However, with Angular no longer supporting IE11, there are now no browsers officially supported by Angular that would require these polyfills. As a result, the automatic inclusion of these ES2015 polyfills has been removed. Any polyfills manually added to an application's code are not affected by this change.