From 48a150ccd239080e9feac841c620fa4e69c3b787 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 27 Aug 2021 14:13:57 +0200 Subject: [PATCH 1/2] fix(@schematics/angular): add browserslist configuration in library projects Previously, browserslist configuration was not added in library projects. This in some cases caused a large number of CSS prefixes to be included in components stylesheets --- .../library/files/.browserslistrc.template | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 packages/schematics/angular/library/files/.browserslistrc.template diff --git a/packages/schematics/angular/library/files/.browserslistrc.template b/packages/schematics/angular/library/files/.browserslistrc.template new file mode 100644 index 000000000000..4f9ac26980c1 --- /dev/null +++ b/packages/schematics/angular/library/files/.browserslistrc.template @@ -0,0 +1,16 @@ +# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries + +# For the full list of supported browsers by the Angular framework, please see: +# https://angular.io/guide/browser-support + +# You can see what browsers were selected by your queries by running: +# npx browserslist + +last 1 Chrome version +last 1 Firefox version +last 2 Edge major versions +last 2 Safari major versions +last 2 iOS major versions +Firefox ESR From 23375b4100c067dd8b8c08b365e92e8eb7865ae9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 27 Aug 2021 14:51:00 +0200 Subject: [PATCH 2/2] fix(@angular-devkit/build-angular): set browserslist defaults By default, browserslist defaults are too inclusive: https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522 We change the default query to browsers that Angular support: https://angular.io/guide/browser-support --- .../src/utils/build-browser-features.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/angular_devkit/build_angular/src/utils/build-browser-features.ts b/packages/angular_devkit/build_angular/src/utils/build-browser-features.ts index 8a06094d6988..f2c31e6571fd 100644 --- a/packages/angular_devkit/build_angular/src/utils/build-browser-features.ts +++ b/packages/angular_devkit/build_angular/src/utils/build-browser-features.ts @@ -13,6 +13,20 @@ export class BuildBrowserFeatures { readonly supportedBrowsers: string[]; constructor(private projectRoot: string) { + // By default, browserslist defaults are too inclusive + // https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522 + + // We change the default query to browsers that Angular support. + // https://angular.io/guide/browser-support + browserslist.defaults = [ + 'last 1 Chrome version', + 'last 1 Firefox version', + 'last 2 Edge major versions', + 'last 2 Safari major versions', + 'last 2 iOS major versions', + 'Firefox ESR', + ]; + this.supportedBrowsers = browserslist(undefined, { path: this.projectRoot }); }