Skip to content

Commit 227bfb7

Browse files
authored
fix: Exit status code for fatal Webpack exceptions (#1754)
* fix: Status code for fatal Webpack errors on build * docs: Adding changeset * ci: Timeout after 10 minutes * chore: Bump puppeteer
1 parent 12e230d commit 227bfb7

File tree

5 files changed

+95
-55
lines changed

5 files changed

+95
-55
lines changed

.changeset/spotty-singers-sleep.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'preact-cli': patch
3+
---
4+
5+
Corrects status code when there is a fatal Webpack error in production builds

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ jobs:
1616
test:
1717
name: Test
1818
runs-on: ubuntu-latest
19+
timeout-minutes: 10
1920
strategy:
2021
matrix:
2122
node-version: [12.x, 14.x]

packages/cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@
127127
"preact": "^10.5.13",
128128
"preact-render-to-string": "^5.1.19",
129129
"preact-router": "^3.0.1",
130-
"puppeteer": "^9.1.1",
130+
"puppeteer": "^13.7.0",
131131
"sass": "^1.34.0",
132132
"sass-loader": "^10.2.0",
133133
"shelljs": "^0.8.3",

packages/cli/src/lib/webpack/run-webpack.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,14 @@ async function prodBuild(env) {
7878
}
7979

8080
function runCompiler(compiler) {
81-
return new Promise((res, rej) => {
81+
return new Promise(res => {
8282
compiler.run((err, stats) => {
83-
showStats(stats, true);
84-
85-
if (err || (stats && stats.hasErrors())) {
86-
rej(`${red('\n\nBuild failed! \n\n')} ${err || ''}`);
83+
if (err) {
84+
error(err, 1);
8785
}
8886

87+
showStats(stats, true);
88+
8989
res(stats);
9090
});
9191
});

yarn.lock

Lines changed: 83 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -3893,6 +3893,13 @@ critters-webpack-plugin@^2.5.0:
38933893
webpack-log "^2.0.0"
38943894
webpack-sources "^1.3.0"
38953895

3896+
3897+
version "3.1.5"
3898+
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f"
3899+
integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==
3900+
dependencies:
3901+
node-fetch "2.6.7"
3902+
38963903
cross-spawn-promise@^0.10.1:
38973904
version "0.10.2"
38983905
resolved "https://registry.yarnpkg.com/cross-spawn-promise/-/cross-spawn-promise-0.10.2.tgz#0e6338149caf53a6d557ac5c65efb3086d8704ac"
@@ -4281,6 +4288,13 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
42814288
dependencies:
42824289
ms "2.1.2"
42834290

4291+
4292+
version "4.3.4"
4293+
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
4294+
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
4295+
dependencies:
4296+
ms "2.1.2"
4297+
42844298
debug@^3.1.0, debug@^3.2.6:
42854299
version "3.2.7"
42864300
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
@@ -4459,10 +4473,10 @@ detect-node@^2.0.4:
44594473
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
44604474
integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
44614475

4462-
4463-
version "0.0.869402"
4464-
resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.869402.tgz#03ade701761742e43ae4de5dc188bcd80f156d8d"
4465-
integrity sha512-VvlVYY+VDJe639yHs5PHISzdWTLL3Aw8rO4cvUtwvoxFd6FHbE4OpHHcde52M6096uYYazAmd4l0o5VuFRO2WA==
4476+
4477+
version "0.0.981744"
4478+
resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.981744.tgz#9960da0370284577d46c28979a0b32651022bacf"
4479+
integrity sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==
44664480

44674481
dezalgo@^1.0.0, dezalgo@~1.0.3:
44684482
version "1.0.3"
@@ -5278,7 +5292,7 @@ extglob@^2.0.4:
52785292
snapdragon "^0.8.1"
52795293
to-regex "^3.0.1"
52805294

5281-
extract-zip@^2.0.0:
5295+
52825296
version "2.0.1"
52835297
resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
52845298
integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==
@@ -6306,6 +6320,14 @@ https-browserify@^1.0.0:
63066320
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
63076321
integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
63086322

6323+
6324+
version "5.0.1"
6325+
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
6326+
integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
6327+
dependencies:
6328+
agent-base "6"
6329+
debug "4"
6330+
63096331
https-proxy-agent@^2.2.3:
63106332
version "2.2.4"
63116333
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b"
@@ -6314,14 +6336,6 @@ https-proxy-agent@^2.2.3:
63146336
agent-base "^4.3.0"
63156337
debug "^3.1.0"
63166338

6317-
https-proxy-agent@^5.0.0:
6318-
version "5.0.0"
6319-
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
6320-
integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
6321-
dependencies:
6322-
agent-base "6"
6323-
debug "4"
6324-
63256339
human-id@^1.0.2:
63266340
version "1.0.2"
63276341
resolved "https://registry.yarnpkg.com/human-id/-/human-id-1.0.2.tgz#e654d4b2b0d8b07e45da9f6020d8af17ec0a5df3"
@@ -8819,6 +8833,13 @@ node-fetch-npm@^2.0.2:
88198833
json-parse-better-errors "^1.0.0"
88208834
safe-buffer "^5.1.1"
88218835

8836+
8837+
version "2.6.7"
8838+
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
8839+
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
8840+
dependencies:
8841+
whatwg-url "^5.0.0"
8842+
88228843
node-fetch@^2.5.0, node-fetch@^2.6.1:
88238844
version "2.6.1"
88248845
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
@@ -9856,20 +9877,20 @@ pirates@^4.0.1:
98569877
resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b"
98579878
integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==
98589879

9880+
[email protected], pkg-dir@^4.1.0, pkg-dir@^4.2.0:
9881+
version "4.2.0"
9882+
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
9883+
integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
9884+
dependencies:
9885+
find-up "^4.0.0"
9886+
98599887
pkg-dir@^3.0.0:
98609888
version "3.0.0"
98619889
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
98629890
integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
98639891
dependencies:
98649892
find-up "^3.0.0"
98659893

9866-
pkg-dir@^4.1.0, pkg-dir@^4.2.0:
9867-
version "4.2.0"
9868-
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
9869-
integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
9870-
dependencies:
9871-
find-up "^4.0.0"
9872-
98739894
please-upgrade-node@^3.2.0:
98749895
version "3.2.0"
98759896
resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
@@ -10582,7 +10603,7 @@ progress-bar-webpack-plugin@^2.1.0:
1058210603
chalk "^3.0.0"
1058310604
progress "^2.0.3"
1058410605

10585-
progress@^2.0.0, progress@^2.0.1, progress@^2.0.3:
10606+
[email protected].3, progress@^2.0.0, progress@^2.0.3:
1058610607
version "2.0.3"
1058710608
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
1058810609
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
@@ -10657,7 +10678,7 @@ proxy-addr@~2.0.7:
1065710678
forwarded "0.2.0"
1065810679
ipaddr.js "1.9.1"
1065910680

10660-
proxy-from-env@^1.1.0:
10681+
1066110682
version "1.1.0"
1066210683
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
1066310684
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
@@ -10736,23 +10757,23 @@ pupa@^2.1.1:
1073610757
dependencies:
1073710758
escape-goat "^2.0.0"
1073810759

10739-
puppeteer@^9.1.1:
10740-
version "9.1.1"
10741-
resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-9.1.1.tgz#f74b7facf86887efd6c6b9fabb7baae6fdce012c"
10742-
integrity sha512-W+nOulP2tYd/ZG99WuZC/I5ljjQQ7EUw/jQGcIb9eu8mDlZxNY2SgcJXTLG9h5gRvqA3uJOe4hZXYsd3EqioMw==
10743-
dependencies:
10744-
debug "^4.1.0"
10745-
devtools-protocol "0.0.869402"
10746-
extract-zip "^2.0.0"
10747-
https-proxy-agent "^5.0.0"
10748-
node-fetch "^2.6.1"
10749-
pkg-dir "^4.2.0"
10750-
progress "^2.0.1"
10751-
proxy-from-env "^1.1.0"
10752-
rimraf "^3.0.2"
10753-
tar-fs "^2.0.0"
10754-
unbzip2-stream "^1.3.3"
10755-
ws "^7.2.3"
10760+
puppeteer@^13.7.0:
10761+
version "13.7.0"
10762+
resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.7.0.tgz#18e16f83e397cf02f7a0804c67c1603d381cfb0b"
10763+
integrity sha512-U1uufzBjz3+PkpCxFrWzh4OrMIdIb2ztzCu0YEPfRHjHswcSwHZswnK+WdsOQJsRV8WeTg3jLhJR4D867+fjsA==
10764+
dependencies:
10765+
cross-fetch "3.1.5"
10766+
debug "4.3.4"
10767+
devtools-protocol "0.0.981744"
10768+
extract-zip "2.0.1"
10769+
https-proxy-agent "5.0.1"
10770+
pkg-dir "4.2.0"
10771+
progress "2.0.3"
10772+
proxy-from-env "1.1.0"
10773+
rimraf "3.0.2"
10774+
tar-fs "2.1.1"
10775+
unbzip2-stream "1.4.3"
10776+
ws "8.5.0"
1075610777

1075710778
q@^1.1.2:
1075810779
version "1.5.1"
@@ -11369,20 +11390,20 @@ rgba-regex@^1.0.0:
1136911390
resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
1137011391
integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
1137111392

11393+
[email protected], rimraf@^3.0.2:
11394+
version "3.0.2"
11395+
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
11396+
integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
11397+
dependencies:
11398+
glob "^7.1.3"
11399+
1137211400
rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1:
1137311401
version "2.7.1"
1137411402
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
1137511403
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
1137611404
dependencies:
1137711405
glob "^7.1.3"
1137811406

11379-
rimraf@^3.0.2:
11380-
version "3.0.2"
11381-
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
11382-
integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
11383-
dependencies:
11384-
glob "^7.1.3"
11385-
1138611407
ripemd160@^2.0.0, ripemd160@^2.0.1:
1138711408
version "2.0.2"
1138811409
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
@@ -12542,7 +12563,7 @@ tapable@^2.0.0:
1254212563
resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
1254312564
integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
1254412565

12545-
tar-fs@^2.0.0:
12566+
tar-fs@2.1.1:
1254612567
version "2.1.1"
1254712568
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"
1254812569
integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
@@ -12985,7 +13006,7 @@ unbox-primitive@^1.0.2:
1298513006
has-symbols "^1.0.3"
1298613007
which-boxed-primitive "^1.0.2"
1298713008

12988-
unbzip2-stream@^1.3.3:
13009+
unbzip2-stream@1.4.3:
1298913010
version "1.4.3"
1299013011
resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7"
1299113012
integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==
@@ -13558,6 +13579,14 @@ whatwg-url@^4.3.0:
1355813579
tr46 "~0.0.3"
1355913580
webidl-conversions "^3.0.0"
1356013581

13582+
whatwg-url@^5.0.0:
13583+
version "5.0.0"
13584+
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
13585+
integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
13586+
dependencies:
13587+
tr46 "~0.0.3"
13588+
webidl-conversions "^3.0.0"
13589+
1356113590
whatwg-url@^6.4.1:
1356213591
version "6.5.0"
1356313592
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8"
@@ -13896,6 +13925,11 @@ write-file-atomic@^3.0.0:
1389613925
signal-exit "^3.0.2"
1389713926
typedarray-to-buffer "^3.1.5"
1389813927

13928+
13929+
version "8.5.0"
13930+
resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f"
13931+
integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==
13932+
1389913933
ws@^5.2.0:
1390013934
version "5.2.3"
1390113935
resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d"
@@ -13910,7 +13944,7 @@ ws@^6.1.0:
1391013944
dependencies:
1391113945
async-limiter "~1.0.0"
1391213946

13913-
ws@^7.2.3, ws@^7.3.1:
13947+
ws@^7.3.1:
1391413948
version "7.4.6"
1391513949
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
1391613950
integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==

0 commit comments

Comments
 (0)