From 9f8d4dea0449e236de7b928c5cc97e597a6f5844 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 22 Mar 2022 13:07:12 +0100 Subject: [PATCH 01/12] fix(@angular-devkit/architect-cli): update `minimist` to `1.2.6` Closes #22872 --- packages/angular_devkit/architect_cli/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/architect_cli/package.json b/packages/angular_devkit/architect_cli/package.json index cf4eb5b91c76..87473b4d380f 100644 --- a/packages/angular_devkit/architect_cli/package.json +++ b/packages/angular_devkit/architect_cli/package.json @@ -17,7 +17,7 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.1", - "minimist": "1.2.5", + "minimist": "1.2.6", "progress": "2.0.3", "rxjs": "6.6.7", "symbol-observable": "4.0.0" From ba3486de94e733addf0ac17706b806dd813c9046 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 22 Mar 2022 13:07:34 +0100 Subject: [PATCH 02/12] fix(@angular-devkit/schematics-cli): update `minimist` to `1.2.6` Closes #22872 --- packages/angular_devkit/schematics_cli/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/schematics_cli/package.json b/packages/angular_devkit/schematics_cli/package.json index bc89f9a4db8a..91cdf2df3cb4 100644 --- a/packages/angular_devkit/schematics_cli/package.json +++ b/packages/angular_devkit/schematics_cli/package.json @@ -20,7 +20,7 @@ "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.1", "inquirer": "8.2.0", - "minimist": "1.2.5", + "minimist": "1.2.6", "symbol-observable": "4.0.0" } } From 1f7fa6970e8cddb2ba0c42df0e048a57292b7fe8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 22 Mar 2022 13:08:00 +0100 Subject: [PATCH 03/12] fix(@angular-devkit/benchmark): update `minimist` to `1.2.6` Closes #22872 --- packages/angular_devkit/benchmark/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/benchmark/package.json b/packages/angular_devkit/benchmark/package.json index 46e224be3e82..ea0da287fec2 100644 --- a/packages/angular_devkit/benchmark/package.json +++ b/packages/angular_devkit/benchmark/package.json @@ -12,7 +12,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.1", - "minimist": "1.2.5", + "minimist": "1.2.6", "pidusage": "3.0.0", "pidtree": "0.5.0", "rxjs": "6.6.7", From ff0430d48bf8dbaf77c5895b05bdfdce6227c351 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 22 Mar 2022 13:15:10 +0100 Subject: [PATCH 04/12] build: update `minimist` to `1.2.6` --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index aa752ddef23a..25577f63dab5 100644 --- a/package.json +++ b/package.json @@ -173,7 +173,7 @@ "magic-string": "0.25.7", "mini-css-extract-plugin": "2.5.3", "minimatch": "3.0.4", - "minimist": "^1.2.0", + "minimist": "1.2.6", "ng-packagr": "13.1.3", "node-fetch": "^2.2.0", "npm-package-arg": "8.1.5", diff --git a/yarn.lock b/yarn.lock index ebc5e67f6698..1857dfd2b604 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7729,10 +7729,10 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@1.2.5, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@1.2.6, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== minipass-collect@^1.0.2: version "1.0.2" From c7c75820f1d4ef827336626b78c8c3e5c0bd1f00 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 10 Nov 2021 15:53:47 +0100 Subject: [PATCH 05/12] fix(@angular-devkit/core): add Angular CLI major version as analytics dimension With this change we replace the custom dimension 8 `AOT Enabled`, with `Angular CLI Major Version`. The motivation behind replacing this dimension is that the there is already an `aot` dimension with id 13 which serves for the same purpose. More information to why we need a new dimension for the Angular CLI major version can be found #22130 Closes #22130 (cherry picked from commit 455aeea12d8509a526a28cf126899e60c4a21cef) --- docs/design/analytics.md | 2 +- goldens/public-api/angular_devkit/core/src/index.md | 2 +- packages/angular/cli/models/analytics-collector.ts | 3 +++ .../build_angular/src/webpack/configs/analytics.ts | 9 +-------- .../build_angular/src/webpack/plugins/analytics.ts | 3 --- packages/angular_devkit/core/src/analytics/index.ts | 4 ++-- 6 files changed, 8 insertions(+), 15 deletions(-) diff --git a/docs/design/analytics.md b/docs/design/analytics.md index a3a2785eeba5..67772ea01787 100644 --- a/docs/design/analytics.md +++ b/docs/design/analytics.md @@ -51,7 +51,7 @@ Note: There's a limit of 20 custom dimensions. | 5 | `Flag: --style` | `string` | | 6 | `--collection` | `string` | | 7 | `Flag: --strict` | `boolean` | -| 8 | `AOT Enabled` | `boolean` | +| 8 | `Angular CLI Major Version` | `string` | | 9 | `Flag: --inline-style` | `boolean` | | 10 | `Flag: --inline-template` | `boolean` | | 11 | `Flag: --view-encapsulation` | `string` | diff --git a/goldens/public-api/angular_devkit/core/src/index.md b/goldens/public-api/angular_devkit/core/src/index.md index d69e42a702fe..1e8b875cf721 100644 --- a/goldens/public-api/angular_devkit/core/src/index.md +++ b/goldens/public-api/angular_devkit/core/src/index.md @@ -1074,7 +1074,7 @@ class MultiAnalytics implements Analytics { // @public enum NgCliAnalyticsDimensions { // (undocumented) - AotEnabled = 8, + AngularCLIMajorVersion = 8, // (undocumented) BuildErrors = 20, // (undocumented) diff --git a/packages/angular/cli/models/analytics-collector.ts b/packages/angular/cli/models/analytics-collector.ts index 6754d5037059..fb5fbc2fae88 100644 --- a/packages/angular/cli/models/analytics-collector.ts +++ b/packages/angular/cli/models/analytics-collector.ts @@ -117,6 +117,9 @@ export class AnalyticsCollector implements analytics.Analytics { os.totalmem() / (1024 * 1024 * 1024), ); this.parameters['cd' + analytics.NgCliAnalyticsDimensions.NodeVersion] = nodeVersion; + + this.parameters['cd' + analytics.NgCliAnalyticsDimensions.AngularCLIMajorVersion] = + VERSION.major; } event(ec: string, ea: string, options: analytics.EventOptions = {}): void { diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/analytics.ts b/packages/angular_devkit/build_angular/src/webpack/configs/analytics.ts index 06bbf2d5d505..05a8e7aa3831 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/analytics.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/analytics.ts @@ -28,13 +28,6 @@ export function getAnalyticsConfig( // The category is the builder name if it's an angular builder. return { - plugins: [ - new NgBuildAnalyticsPlugin( - wco.projectRoot, - context.analytics, - category, - wco.buildOptions.aot ?? false, - ), - ], + plugins: [new NgBuildAnalyticsPlugin(wco.projectRoot, context.analytics, category)], }; } diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts index d793455fc537..185ac24e440c 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts @@ -81,7 +81,6 @@ export class NgBuildAnalyticsPlugin { protected _projectRoot: string, protected _analytics: analytics.Analytics, protected _category: string, - private aotEnabled: boolean, ) {} protected _reset() { @@ -115,8 +114,6 @@ export class NgBuildAnalyticsPlugin { dimensions[analytics.NgCliAnalyticsDimensions.BuildErrors] = `,${this._stats.errors.join()},`; } - dimensions[analytics.NgCliAnalyticsDimensions.AotEnabled] = this.aotEnabled; - return dimensions; } diff --git a/packages/angular_devkit/core/src/analytics/index.ts b/packages/angular_devkit/core/src/analytics/index.ts index f99cef1b213a..223c79b93aca 100644 --- a/packages/angular_devkit/core/src/analytics/index.ts +++ b/packages/angular_devkit/core/src/analytics/index.ts @@ -27,7 +27,7 @@ export enum NgCliAnalyticsDimensions { RamInGigabytes = 3, NodeVersion = 4, NgAddCollection = 6, - AotEnabled = 8, + AngularCLIMajorVersion = 8, BuildErrors = 20, } @@ -57,7 +57,7 @@ export const NgCliAnalyticsDimensionsFlagInfo: { [name: string]: [string, string RamInGigabytes: ['RAM (In GB)', 'number'], NodeVersion: ['Node Version', 'number'], NgAddCollection: ['--collection', 'string'], - AotEnabled: ['AOT Enabled', 'boolean'], + AngularCLIMajorVersion: ['Angular CLI Major Version', 'string'], BuildErrors: ['Build Errors (comma separated)', 'string'], }; From 3814df56812ce79d34640e1c1e3c2d4ce5beb375 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 23 Mar 2022 14:53:36 +0100 Subject: [PATCH 06/12] refactor(@angular-devkit/build-angular): remove types for `@discoveryjs/json-ext` This package now ships TypeScript declaration files. (cherry picked from commit 56b44aba744bd9241b1d030e4f15a64fda396425) --- packages/angular_devkit/build_angular/src/typings.d.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/typings.d.ts b/packages/angular_devkit/build_angular/src/typings.d.ts index 78ac0d8ee009..204fa0d207d0 100644 --- a/packages/angular_devkit/build_angular/src/typings.d.ts +++ b/packages/angular_devkit/build_angular/src/typings.d.ts @@ -6,10 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -declare module '@discoveryjs/json-ext' { - export function stringifyStream(value: unknown): import('stream').Readable; -} - declare module '@babel/helper-annotate-as-pure' { export default function annotateAsPure( pathOrNode: import('@babel/types').Node | { node: import('@babel/types').Node }, From 6ef9e2a4fa61a37b5cbed925aa6b08e3522c6c65 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 28 Mar 2022 14:52:05 +0200 Subject: [PATCH 07/12] build: update `sass` to `1.49.9` Includes a fix where inspecting the Sass module in the Node.js console crashed on Node 16 and 17. --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 25577f63dab5..ac7a359f18fe 100644 --- a/package.json +++ b/package.json @@ -196,7 +196,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.49.0", + "sass": "1.49.9", "sass-loader": "12.4.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz", "semver": "7.3.5", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 20a1862d242e..ce39934dbf5c 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -54,7 +54,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.49.0", + "sass": "1.49.9", "sass-loader": "12.4.0", "semver": "7.3.5", "source-map-loader": "3.0.1", diff --git a/yarn.lock b/yarn.lock index 1857dfd2b604..b002d256b4cb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9740,6 +9740,15 @@ sass@1.49.0, sass@^1.32.8: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@1.49.9: + version "1.49.9" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" + integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" From 58ed97410b760909d523b05c3b4a06364e3c9a0f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 28 Mar 2022 20:48:44 +0200 Subject: [PATCH 08/12] fix(@angular-devkit/build-angular): allow Workers in Stackblitz This is no longer needed as Stackblitz implemented the missing Node.Js worker APIs. (cherry picked from commit 2ab77429bb213a515a2334ff6c577be561117108) --- .../src/webpack/configs/styles.ts | 29 +++++-------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 742cc7f83993..113813b6493c 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -107,16 +107,14 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { ); } - const sassImplementation = getSassImplementation(); - if (sassImplementation instanceof SassWorkerImplementation) { - extraPlugins.push({ - apply(compiler) { - compiler.hooks.shutdown.tap('sass-worker', () => { - sassImplementation?.close(); - }); - }, - }); - } + const sassImplementation = new SassWorkerImplementation(); + extraPlugins.push({ + apply(compiler) { + compiler.hooks.shutdown.tap('sass-worker', () => { + sassImplementation.close(); + }); + }, + }); const assetNameTemplate = assetNameTemplateFactory(hashFormat); @@ -403,14 +401,3 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { plugins: extraPlugins, }; } - -function getSassImplementation(): SassWorkerImplementation | typeof import('sass') { - const { webcontainer } = process.versions as unknown as Record; - - // When `webcontainer` is a truthy it means that we are running in a StackBlitz webcontainer. - // `SassWorkerImplementation` uses `receiveMessageOnPort` Node.js `worker_thread` API to ensure sync behavior which is ~2x faster. - // However, it is non trivial to support this in a webcontainer and while slower we choose to use `dart-sass` - // which in Webpack uses the slower async path. - // We should periodically check with StackBlitz folks (Mark Whitfeld / Dominic Elm) to determine if this workaround is still needed. - return webcontainer ? require('sass') : new SassWorkerImplementation(); -} From 4cd2331d34e2a9ab2ed78edf0284dbfefef511a5 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 30 Mar 2022 12:11:12 +0200 Subject: [PATCH 09/12] fix(@angular-devkit/build-angular): don't override asset info when updating assets Currently, we are overriding asset info instead of appending additional data to it. (cherry picked from commit fac9cca66bef73ce403314609a51e63a2764ccbe) --- .../src/webpack/plugins/css-optimizer-plugin.ts | 10 +++++++--- .../webpack/plugins/javascript-optimizer-plugin.ts | 10 +++++++--- .../src/webpack/plugins/transfer-size-plugin.ts | 11 ++++++++--- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts index 00ecefdc5676..e87c611c91dc 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts @@ -71,9 +71,10 @@ export class CssOptimizerPlugin { if (cachedOutput) { await this.addWarnings(compilation, cachedOutput.warnings); - compilation.updateAsset(name, cachedOutput.source, { + compilation.updateAsset(name, cachedOutput.source, (assetInfo) => ({ + ...assetInfo, minimized: true, - }); + })); continue; } } @@ -93,7 +94,10 @@ export class CssOptimizerPlugin { const optimizedAsset = map ? new SourceMapSource(code, name, map) : new OriginalSource(code, name); - compilation.updateAsset(name, optimizedAsset, { minimized: true }); + compilation.updateAsset(name, optimizedAsset, (assetInfo) => ({ + ...assetInfo, + minimized: true, + })); await cacheItem?.storePromise({ source: optimizedAsset, diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts index 8b78f86c5da6..bc252387f1f8 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts @@ -123,9 +123,10 @@ export class JavaScriptOptimizerPlugin { >(); if (cachedOutput) { - compilation.updateAsset(name, cachedOutput.source, { + compilation.updateAsset(name, cachedOutput.source, (assetInfo) => ({ + ...assetInfo, minimized: true, - }); + })); continue; } } @@ -209,7 +210,10 @@ export class JavaScriptOptimizerPlugin { const optimizedAsset = map ? new SourceMapSource(code, name, map) : new OriginalSource(code, name); - compilation.updateAsset(name, optimizedAsset, { minimized: true }); + compilation.updateAsset(name, optimizedAsset, (assetInfo) => ({ + ...assetInfo, + minimized: true, + })); return cacheItem?.storePromise({ source: optimizedAsset, diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/transfer-size-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/transfer-size-plugin.ts index 2d61b27d7634..246bab0db6fc 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/transfer-size-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/transfer-size-plugin.ts @@ -39,9 +39,14 @@ export class TransferSizePlugin { actions.push( brotliCompressAsync(scriptAsset.source.source()) .then((result) => { - compilation.updateAsset(assetName, (s) => s, { - estimatedTransferSize: result.length, - }); + compilation.updateAsset( + assetName, + (s) => s, + (assetInfo) => ({ + ...assetInfo, + estimatedTransferSize: result.length, + }), + ); }) .catch((error) => { compilation.warnings.push( From cf3cb2ecf9ca47a984c4272f0094f2a1c68c7dfe Mon Sep 17 00:00:00 2001 From: gauravsoni119 Date: Tue, 29 Mar 2022 22:46:47 +0200 Subject: [PATCH 10/12] fix(@schematics/angular): fix extra comma added when use --change-detection=onPush and --style=none to generate a component (cherry picked from commit a5e99762ef0bb05a23823d4923a2863e0b232ec9) --- ...dasherize__.__type@dasherize__.ts.template | 6 ++--- .../angular/component/index_spec.ts | 23 +++++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template index e972ffdcb2b2..442a76f98278 100644 --- a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +++ b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template @@ -6,15 +6,15 @@ import { Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }

<%= dasherize(name) %> works!

- `,<% } else { %> - templateUrl: './<%= dasherize(name) %><%= type ? '.' + dasherize(type): '' %>.html',<% } if(inlineStyle) { %> + `<% } else { %> + templateUrl: './<%= dasherize(name) %><%= type ? '.' + dasherize(type): '' %>.html'<% } if(inlineStyle) { %>, styles: [<% if(displayBlock){ %> ` :host { display: block; } `<% } %> - ]<% } else if (style !== 'none') { %> + ]<% } else if (style !== 'none') { %>, styleUrls: ['./<%= dasherize(name) %><%= type ? '.' + dasherize(type): '' %>.<%= style %>']<% } %><% if(!!viewEncapsulation) { %>, encapsulation: ViewEncapsulation.<%= viewEncapsulation %><% } if (changeDetection !== 'Default') { %>, changeDetection: ChangeDetectionStrategy.<%= changeDetection %><% } %> diff --git a/packages/schematics/angular/component/index_spec.ts b/packages/schematics/angular/component/index_spec.ts index 233d3ea1836f..14235575b3b0 100644 --- a/packages/schematics/angular/component/index_spec.ts +++ b/packages/schematics/angular/component/index_spec.ts @@ -397,4 +397,27 @@ describe('Component Schematic', () => { ); expect(tree.files).not.toContain('/projects/bar/src/app/foo/foo.component.spec.ts'); }); + + it('should respect templateUrl when style=none and changeDetection=OnPush', async () => { + const options = { ...defaultOptions, style: Style.None, changeDetection: 'OnPush' }; + const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const content = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); + expect(content).not.toMatch(/styleUrls: /); + expect(content).toMatch(/templateUrl: '.\/foo.component.html',\n/); + expect(content).toMatch(/changeDetection: ChangeDetectionStrategy.OnPush/); + }); + + it('should respect inlineTemplate when style=none and changeDetection=OnPush', async () => { + const options = { + ...defaultOptions, + style: Style.None, + changeDetection: 'OnPush', + inlineTemplate: true, + }; + const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const content = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); + expect(content).not.toMatch(/styleUrls: /); + expect(content).toMatch(/template: `(\n(.|)*){3}\n\s*`,\n/); + expect(content).toMatch(/changeDetection: ChangeDetectionStrategy.OnPush/); + }); }); From 293526c31db9f0becc0ffc2d60999c80afa8a308 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 30 Mar 2022 17:15:15 +0200 Subject: [PATCH 11/12] fix(@angular-devkit/build-angular): add `node_modules` prefix to excludes RegExp Without the `node_modules` prefix, projects named the same as the excluded package names ex: `webpack` will not compile successfully as all files under the mentioned project will be excluded from being requested by the respective loaders. Closes #22902 (cherry picked from commit 371da23be0d0b1fd880d93c68049fcac97685120) --- .../build_angular/src/webpack/configs/common.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 545d877a4c80..446bfcfdc663 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -261,7 +261,9 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise Date: Wed, 30 Mar 2022 11:55:19 -0700 Subject: [PATCH 12/12] release: cut the v13.3.1 release --- CHANGELOG.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8231980a1a7e..50dffbff352a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,51 @@ + + +# 13.3.1 (2022-03-30) + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------------------- | +| [cf3cb2ecf](https://github.com/angular/angular-cli/commit/cf3cb2ecf9ca47a984c4272f0094f2a1c68c7dfe) | fix | fix extra comma added when use --change-detection=onPush and --style=none to generate a component | + +### @angular-devkit/architect-cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [9f8d4dea0](https://github.com/angular/angular-cli/commit/9f8d4dea0449e236de7b928c5cc97e597a6f5844) | fix | update `minimist` to `1.2.6` | + +### @angular-devkit/schematics-cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [ba3486de9](https://github.com/angular/angular-cli/commit/ba3486de94e733addf0ac17706b806dd813c9046) | fix | update `minimist` to `1.2.6` | + +### @angular-devkit/benchmark + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [1f7fa6970](https://github.com/angular/angular-cli/commit/1f7fa6970e8cddb2ba0c42df0e048a57292b7fe8) | fix | update `minimist` to `1.2.6` | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------- | +| [293526c31](https://github.com/angular/angular-cli/commit/293526c31db9f0becc0ffc2d60999c80afa8a308) | fix | add `node_modules` prefix to excludes RegExp | +| [58ed97410](https://github.com/angular/angular-cli/commit/58ed97410b760909d523b05c3b4a06364e3c9a0f) | fix | allow Workers in Stackblitz | +| [4cd2331d3](https://github.com/angular/angular-cli/commit/4cd2331d34e2a9ab2ed78edf0284dbfefef511a5) | fix | don't override asset info when updating assets | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | +| [c7c75820f](https://github.com/angular/angular-cli/commit/c7c75820f1d4ef827336626b78c8c3e5c0bd1f00) | fix | add Angular CLI major version as analytics dimension | + +## Special Thanks + +Alan Agius and gauravsoni119 + + + # 13.3.0 (2022-03-16) diff --git a/package.json b/package.json index ac7a359f18fe..d2f94159b874 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "13.3.0", + "version": "13.3.1", "private": true, "description": "Software Development Kit for Angular", "bin": {