Skip to content

Commit 98bde52

Browse files
committed
refactor(@angular-devkit/build-angular): remove postcss-preset-env
This change removes the usage of `postcss-preset-env` as this is no longer needed since Angular no longer supports browsers that require polyfills for CSS stage 3 features https://preset-env.cssdb.org/features/#stage-3. We replace this and use autoprefixer directly which is still needed. ``` npx autoprefixer --info Browsers: Chrome: 105 Edge: 105, 104 Firefox: 104, 102, 91 iOS Safari: 15.6, 15.5, 15.4, 15.2-15.3, 15.0-15.1, 14.5-14.8, 14.0-14.4 Safari: 15.6, 15.5, 15.4, 15.2-15.3, 15.1, 15, 14.1, 14 These browsers account for 20.38% of all users globally At-Rules: @resolution: webkit Selectors: ::backdrop: webkit ::file-selector-button: webkit :autofill: webkit :fullscreen: webkit Properties: appearance: webkit backdrop-filter: webkit backface-visibility: webkit background-clip: webkit box-decoration-break: webkit color-adjust: webkit, moz hyphens: webkit mask-border-outset: webkit mask-border-repeat: webkit mask-border-slice: webkit mask-border-source: webkit mask-border-width: webkit mask-border: webkit mask-clip: webkit mask-composite: webkit mask-image: webkit mask-origin: webkit mask-position: webkit mask-repeat: webkit mask-size: webkit mask: webkit print-color-adjust: webkit, moz text-decoration-color: webkit text-decoration-line: webkit text-decoration-skip-ink: webkit text-decoration-skip: webkit text-decoration-style: webkit text-decoration: webkit text-size-adjust: webkit user-select: webkit Values: cross-fade: webkit element: moz fill-available: webkit fill: webkit fit-content: moz image-set: webkit isolate: webkit stretch: webkit, moz ```
1 parent f0c67e4 commit 98bde52

File tree

6 files changed

+13
-110
lines changed

6 files changed

+13
-110
lines changed

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@
115115
"@types/pacote": "^11.1.3",
116116
"@types/parse5-html-rewriting-stream": "^5.1.2",
117117
"@types/pidusage": "^2.0.1",
118-
"@types/postcss-preset-env": "^7.0.0",
119118
"@types/progress": "^2.0.3",
120119
"@types/resolve": "^1.17.1",
121120
"@types/semver": "^7.3.12",
@@ -130,6 +129,7 @@
130129
"ajv": "8.11.0",
131130
"ajv-formats": "2.1.1",
132131
"ansi-colors": "4.1.3",
132+
"autoprefixer": "10.4.8",
133133
"babel-loader": "8.2.5",
134134
"babel-plugin-istanbul": "6.1.1",
135135
"bootstrap": "^4.0.0",
@@ -188,7 +188,6 @@
188188
"postcss": "8.4.16",
189189
"postcss-import": "15.0.0",
190190
"postcss-loader": "7.0.1",
191-
"postcss-preset-env": "7.8.1",
192191
"prettier": "^2.0.0",
193192
"protractor": "~7.0.0",
194193
"puppeteer": "17.1.2",

packages/angular_devkit/build_angular/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,11 @@ ts_library(
128128
"@npm//@types/minimatch",
129129
"@npm//@types/node",
130130
"@npm//@types/parse5-html-rewriting-stream",
131-
"@npm//@types/postcss-preset-env",
132131
"@npm//@types/semver",
133132
"@npm//@types/text-table",
134133
"@npm//ajv",
135134
"@npm//ansi-colors",
135+
"@npm//autoprefixer",
136136
"@npm//babel-loader",
137137
"@npm//babel-plugin-istanbul",
138138
"@npm//browserslist",
@@ -162,7 +162,6 @@ ts_library(
162162
"@npm//postcss",
163163
"@npm//postcss-import",
164164
"@npm//postcss-loader",
165-
"@npm//postcss-preset-env",
166165
"@npm//regenerator-runtime",
167166
"@npm//resolve-url-loader",
168167
"@npm//rxjs",

packages/angular_devkit/build_angular/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"@discoveryjs/json-ext": "0.5.7",
2323
"@ngtools/webpack": "0.0.0-PLACEHOLDER",
2424
"ansi-colors": "4.1.3",
25+
"autoprefixer": "10.4.8",
2526
"babel-loader": "8.2.5",
2627
"babel-plugin-istanbul": "6.1.1",
2728
"browserslist": "^4.9.1",
@@ -48,7 +49,6 @@
4849
"postcss": "8.4.16",
4950
"postcss-import": "15.0.0",
5051
"postcss-loader": "7.0.1",
51-
"postcss-preset-env": "7.8.1",
5252
"regenerator-runtime": "0.13.9",
5353
"resolve-url-loader": "5.0.0",
5454
"rxjs": "6.6.7",

packages/angular_devkit/build_angular/src/webpack/configs/styles.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,6 @@ export function resolveGlobalStyles(
7676

7777
// eslint-disable-next-line max-lines-per-function
7878
export function getStylesConfig(wco: WebpackConfigOptions): Configuration {
79-
const postcssImports = require('postcss-import');
80-
const postcssPresetEnv: typeof import('postcss-preset-env') = require('postcss-preset-env');
81-
8279
const { root, buildOptions } = wco;
8380
const extraPlugins: Configuration['plugins'] = [];
8481

@@ -156,11 +153,9 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration {
156153
}
157154
}
158155

159-
const postcssPresetEnvPlugin = postcssPresetEnv({
160-
browsers: buildOptions.supportedBrowsers,
161-
autoprefixer: true,
162-
stage: 3,
163-
});
156+
const postcssImports = require('postcss-import');
157+
const autoprefixer: typeof import('autoprefixer') = require('autoprefixer');
158+
164159
const postcssOptionsCreator = (inlineSourcemaps: boolean, extracted: boolean) => {
165160
// eslint-disable-next-line @typescript-eslint/no-explicit-any
166161
const optionGenerator = (loader: any) => ({
@@ -198,7 +193,10 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration {
198193
extracted,
199194
}),
200195
...extraPostcssPlugins,
201-
postcssPresetEnvPlugin,
196+
autoprefixer({
197+
ignoreUnknownVersions: true,
198+
overrideBrowserslist: buildOptions.supportedBrowsers,
199+
}),
202200
],
203201
});
204202
// postcss-loader fails when trying to determine configuration files for data URIs

tests/legacy-cli/e2e/tests/build/styles/preset-env.ts

Lines changed: 0 additions & 17 deletions
This file was deleted.

yarn.lock

Lines changed: 3 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,6 @@
129129

130130
"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#f2a04c81f9cfbf8a86e595ca5d1ca1da50ddf9dd":
131131
version "0.0.0-1c648b45459fa32ffd7de8a8fc07bde6bdbef923"
132-
uid f2a04c81f9cfbf8a86e595ca5d1ca1da50ddf9dd
133132
resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f2a04c81f9cfbf8a86e595ca5d1ca1da50ddf9dd"
134133
dependencies:
135134
"@angular-devkit/build-angular" "14.2.0-rc.0"
@@ -243,7 +242,6 @@
243242

244243
"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#20aa4d8a5ec774e1f21fbc50bca511c229a1a7f8":
245244
version "0.0.0-1c648b45459fa32ffd7de8a8fc07bde6bdbef923"
246-
uid "20aa4d8a5ec774e1f21fbc50bca511c229a1a7f8"
247245
resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#20aa4d8a5ec774e1f21fbc50bca511c229a1a7f8"
248246
dependencies:
249247
"@yarnpkg/lockfile" "^1.1.0"
@@ -1434,14 +1432,6 @@
14341432
"@csstools/selector-specificity" "^2.0.2"
14351433
postcss-selector-parser "^6.0.10"
14361434

1437-
"@csstools/postcss-cascade-layers@^1.0.6":
1438-
version "1.0.6"
1439-
resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.6.tgz#a52da13b91fc184a52337b4e938c3d3188e537b0"
1440-
integrity sha512-ei4Vh4AJwTCXTNj7uzwduoZDO7nLPksQ0TI7OzUlyFq4P4Uhu6hU7R4AlLimDP/s6D3PQdHmRL4f7UOy370UHA==
1441-
dependencies:
1442-
"@csstools/selector-specificity" "^2.0.2"
1443-
postcss-selector-parser "^6.0.10"
1444-
14451435
"@csstools/postcss-color-function@^1.1.1":
14461436
version "1.1.1"
14471437
resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b"
@@ -2436,14 +2426,6 @@
24362426
resolved "https://registry.yarnpkg.com/@types/pidusage/-/pidusage-2.0.2.tgz#3f8c4b19ba7ea438a733d093661e92b60e5f88ee"
24372427
integrity sha512-lHgpGZjXDfjggZDLkgp4zQTYkvXq4S7RxjBjrDcPe1MBU72hESWxubutx8+AM4QkJdRxAhrQyxSA6pzHKJKlsQ==
24382428

2439-
"@types/postcss-preset-env@^7.0.0":
2440-
version "7.7.0"
2441-
resolved "https://registry.yarnpkg.com/@types/postcss-preset-env/-/postcss-preset-env-7.7.0.tgz#b58c07c304b3c3439bf9ce7eba5c9d46db4f2677"
2442-
integrity sha512-biD8MwSiZo1Nztn1cIBPMcKNKzgFyU05AB96HIF9y3G4f9vdx2O60DHCSpWXChTp6mOEGu15fqIw2DetVVjghw==
2443-
dependencies:
2444-
autoprefixer "^10.4.7"
2445-
postcss "^8.4.14"
2446-
24472429
"@types/progress@2.0.5", "@types/progress@^2.0.3":
24482430
version "2.0.5"
24492431
resolved "https://registry.yarnpkg.com/@types/progress/-/progress-2.0.5.tgz#6e0febf3a82cc0ffdc1cebb4e56d6949fd108775"
@@ -3246,7 +3228,7 @@ atomic-sleep@^1.0.0:
32463228
resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b"
32473229
integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==
32483230

3249-
autoprefixer@^10.4.7, autoprefixer@^10.4.8:
3231+
autoprefixer@10.4.8, autoprefixer@^10.4.8:
32503232
version "10.4.8"
32513233
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5"
32523234
integrity sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==
@@ -4213,7 +4195,7 @@ css-what@^6.0.1:
42134195
resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
42144196
integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
42154197

4216-
cssdb@^7.0.0, cssdb@^7.0.1:
4198+
cssdb@^7.0.0:
42174199
version "7.0.1"
42184200
resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.0.1.tgz#3810a0c67ae06362982dfe965dbedf57a0f26617"
42194201
integrity sha512-pT3nzyGM78poCKLAEy2zWIVX2hikq6dIrjuZzLV98MumBg+xMTNYfHx7paUlfiRTgg91O/vR889CIf+qiv79Rw==
@@ -8068,7 +8050,6 @@ npm@^8.11.0:
80688050
"@npmcli/fs" "^2.1.0"
80698051
"@npmcli/map-workspaces" "^2.0.3"
80708052
"@npmcli/package-json" "^2.0.0"
8071-
"@npmcli/promise-spawn" "^3.0.0"
80728053
"@npmcli/run-script" "^4.2.1"
80738054
abbrev "~1.1.1"
80748055
archy "~1.0.0"
@@ -8079,7 +8060,6 @@ npm@^8.11.0:
80798060
cli-table3 "^0.6.2"
80808061
columnify "^1.6.0"
80818062
fastest-levenshtein "^1.0.12"
8082-
fs-minipass "^2.1.0"
80838063
glob "^8.0.1"
80848064
graceful-fs "^4.2.10"
80858065
hosted-git-info "^5.1.0"
@@ -8099,7 +8079,6 @@ npm@^8.11.0:
80998079
libnpmteam "^4.0.4"
81008080
libnpmversion "^3.0.7"
81018081
make-fetch-happen "^10.2.0"
8102-
minimatch "^5.1.0"
81038082
minipass "^3.1.6"
81048083
minipass-pipeline "^1.2.4"
81058084
mkdirp "^1.0.4"
@@ -8915,61 +8894,6 @@ postcss-preset-env@7.8.0, postcss-preset-env@^7.4.2:
89158894
postcss-selector-not "^6.0.1"
89168895
postcss-value-parser "^4.2.0"
89178896

8918-
postcss-preset-env@7.8.1:
8919-
version "7.8.1"
8920-
resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.1.tgz#2bfe935736727ab601a5c718bf24fc9f858eceb0"
8921-
integrity sha512-8884CHxQaoN1i4iEK+JvzOe8emODb5R4p/0dw4yEdo7QM4RdUk2sBx0fnzFyJt8BLfZSCGeVkKZ4HC564waBpQ==
8922-
dependencies:
8923-
"@csstools/postcss-cascade-layers" "^1.0.6"
8924-
"@csstools/postcss-color-function" "^1.1.1"
8925-
"@csstools/postcss-font-format-keywords" "^1.0.1"
8926-
"@csstools/postcss-hwb-function" "^1.0.2"
8927-
"@csstools/postcss-ic-unit" "^1.0.1"
8928-
"@csstools/postcss-is-pseudo-class" "^2.0.7"
8929-
"@csstools/postcss-nested-calc" "^1.0.0"
8930-
"@csstools/postcss-normalize-display-values" "^1.0.1"
8931-
"@csstools/postcss-oklab-function" "^1.1.1"
8932-
"@csstools/postcss-progressive-custom-properties" "^1.3.0"
8933-
"@csstools/postcss-stepped-value-functions" "^1.0.1"
8934-
"@csstools/postcss-text-decoration-shorthand" "^1.0.0"
8935-
"@csstools/postcss-trigonometric-functions" "^1.0.2"
8936-
"@csstools/postcss-unset-value" "^1.0.2"
8937-
autoprefixer "^10.4.8"
8938-
browserslist "^4.21.3"
8939-
css-blank-pseudo "^3.0.3"
8940-
css-has-pseudo "^3.0.4"
8941-
css-prefers-color-scheme "^6.0.3"
8942-
cssdb "^7.0.1"
8943-
postcss-attribute-case-insensitive "^5.0.2"
8944-
postcss-clamp "^4.1.0"
8945-
postcss-color-functional-notation "^4.2.4"
8946-
postcss-color-hex-alpha "^8.0.4"
8947-
postcss-color-rebeccapurple "^7.1.1"
8948-
postcss-custom-media "^8.0.2"
8949-
postcss-custom-properties "^12.1.8"
8950-
postcss-custom-selectors "^6.0.3"
8951-
postcss-dir-pseudo-class "^6.0.5"
8952-
postcss-double-position-gradients "^3.1.2"
8953-
postcss-env-function "^4.0.6"
8954-
postcss-focus-visible "^6.0.4"
8955-
postcss-focus-within "^5.0.4"
8956-
postcss-font-variant "^5.0.0"
8957-
postcss-gap-properties "^3.0.5"
8958-
postcss-image-set-function "^4.0.7"
8959-
postcss-initial "^4.0.1"
8960-
postcss-lab-function "^4.2.1"
8961-
postcss-logical "^5.0.4"
8962-
postcss-media-minmax "^5.0.0"
8963-
postcss-nesting "^10.1.10"
8964-
postcss-opacity-percentage "^1.1.2"
8965-
postcss-overflow-shorthand "^3.0.4"
8966-
postcss-page-break "^3.0.4"
8967-
postcss-place "^7.0.5"
8968-
postcss-pseudo-class-any-link "^7.1.6"
8969-
postcss-replace-overflow-wrap "^4.0.0"
8970-
postcss-selector-not "^6.0.1"
8971-
postcss-value-parser "^4.2.0"
8972-
89738897
postcss-pseudo-class-any-link@^7.1.6:
89748898
version "7.1.6"
89758899
resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz#2693b221902da772c278def85a4d9a64b6e617ab"
@@ -9012,7 +8936,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^
90128936
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
90138937
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
90148938

9015-
postcss@8.4.16, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.14, postcss@^8.4.7, postcss@^8.4.8:
8939+
postcss@8.4.16, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8:
90168940
version "8.4.16"
90178941
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c"
90188942
integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==

0 commit comments

Comments
 (0)