Skip to content

Commit 4d973a4

Browse files
authored
Merge branch 'build/v2' into eslint_qwik
2 parents 2ec7e02 + 84cc0f7 commit 4d973a4

135 files changed

Lines changed: 4829 additions & 787 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@qwik.dev/router': patch
3+
---
4+
5+
fix(router): Node SSR no longer hangs when using `compression` (or other middleware that wraps `res.write` / `res.end`).

.changeset/dry-rabbits-hang.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@qwik.dev/router': patch
3+
---
4+
5+
fix: handle aborted Node response streams without crashing and resolve the Node response stream contract

.changeset/pre.json

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@
1212
"@qwik.dev/react": "2.0.0-0",
1313
"supabase-auth-helpers-qwik": "0.0.3",
1414
"qwik-cli-e2e": "0.0.0",
15-
"@qwik.dev/optimizer": "2.0.0"
15+
"@qwik.dev/optimizer": "2.0.0",
16+
"@devtools/browser-extension": "0.1.0",
17+
"@qwik.dev/devtools": "0.2.8"
1618
},
1719
"branch": "build/v2",
1820
"changesets": [
@@ -37,6 +39,7 @@
3739
"bright-pants-crash",
3840
"bright-showers-taste",
3941
"brown-ravens-behave",
42+
"build-types-after-lib",
4043
"bumpy-turtles-fix",
4144
"calm-cobras-serve",
4245
"calm-cycles-know",
@@ -52,7 +55,9 @@
5255
"cold-rice-slide",
5356
"common-breads-wait",
5457
"common-socks-heal",
58+
"compressed-streams-drain",
5559
"cool-hats-glow",
60+
"core-locale-node-builtin-import",
5661
"crazy-cities-tap",
5762
"crazy-dodos-attend",
5863
"cruel-taxis-talk",
@@ -68,6 +73,7 @@
6873
"dirty-lemons-shop",
6974
"dirty-lines-march",
7075
"dirty-meals-attack",
76+
"dry-rabbits-hang",
7177
"dull-insects-slide",
7278
"eager-coats-retire",
7379
"eager-kids-learn",
@@ -140,13 +146,16 @@
140146
"lemon-flies-taste",
141147
"lemon-tools-bathe",
142148
"light-eels-lead",
149+
"light-shirts-move",
143150
"light-singers-remain",
144151
"little-birds-worry",
145152
"little-ways-deny",
146153
"long-cooks-joke",
147154
"long-shirts-thank",
148155
"loose-lemons-read",
149156
"loud-dolphins-relate",
157+
"loud-eels-battle",
158+
"loud-jokes-fail",
150159
"loud-mammals-dress",
151160
"lovely-terms-jump",
152161
"major-lemons-jam",
@@ -157,6 +166,7 @@
157166
"mean-tires-cover",
158167
"mean-webs-try",
159168
"metal-shrimps-search",
169+
"modern-emus-share",
160170
"nasty-dots-brake",
161171
"nasty-views-study",
162172
"neat-seas-give",
@@ -175,6 +185,7 @@
175185
"open-beds-grab",
176186
"orange-otters-attend",
177187
"orange-planes-kiss",
188+
"petite-dancers-bathe",
178189
"petite-experts-press",
179190
"plain-eggs-clean",
180191
"plain-snakes-punch",
@@ -186,6 +197,7 @@
186197
"pretty-parents-draw",
187198
"pretty-trees-check",
188199
"proud-houses-fix",
200+
"proud-items-scream",
189201
"proud-kangaroos-boil",
190202
"proud-pillows-try",
191203
"purple-melons-invent",
@@ -203,9 +215,9 @@
203215
"rich-sites-refuse",
204216
"rich-wasps-tease",
205217
"ripe-taxes-watch",
206-
"rollup-input-absolute",
207218
"rotten-penguins-cough",
208219
"rotten-weeks-tickle",
220+
"router-dev-middleware-missing-entry-ssr",
209221
"rude-sloths-help",
210222
"seven-pumpkins-argue",
211223
"shaggy-nights-visit",
@@ -220,6 +232,7 @@
220232
"short-terms-see",
221233
"shy-carpets-switch",
222234
"shy-heads-check",
235+
"shy-knives-pay",
223236
"shy-shirts-glow",
224237
"shy-walls-shake",
225238
"silent-badgers-bet",
@@ -246,6 +259,7 @@
246259
"sour-zebras-tell",
247260
"spicy-candies-visit",
248261
"spicy-onions-jog",
262+
"spicy-parrots-smash",
249263
"spicy-rings-check",
250264
"stale-corners-flow",
251265
"strange-bottles-sleep",
@@ -270,6 +284,7 @@
270284
"tasty-turkeys-stand",
271285
"ten-emus-jog",
272286
"ten-pigs-fly",
287+
"thin-brooms-stay",
273288
"thirty-carrots-stand",
274289
"thirty-ducks-sort",
275290
"thirty-ravens-draw",

.changeset/rollup-input-absolute.md

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

.changeset/spicy-parrots-smash.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@qwik.dev/router': minor
3+
'@qwik.dev/optimizer': minor
4+
'@qwik.dev/core': minor
5+
---
6+
7+
feat: add worker$ support running heavy work in Web Workers

.changeset/thin-brooms-stay.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@qwik.dev/core': patch
3+
---
4+
5+
fix: non-Vite consumers (webpack, etc.) don't blow up at runtime anymore when `import.meta.env` is undefined.

.github/workflows/ci.yml

Lines changed: 93 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ on:
4040
env:
4141
# Disable incremental build, speeds up CI
4242
CARGO_INCREMENTAL: 0
43+
CI_NODE_VERSION: 22.18.0
4344

4445
permissions:
4546
contents: read
@@ -222,9 +223,29 @@ jobs:
222223
############ BUILD Qwik ############
223224
build-qwik:
224225
name: Build Qwik
225-
needs: changes
226+
needs:
227+
- changes
228+
- combined-optimizer
229+
if: always()
226230
runs-on: ubuntu-latest
227231
steps:
232+
- name: Verify prerequisites
233+
if: |
234+
!(
235+
needs.changes.result == 'success' &&
236+
(
237+
(
238+
needs.changes.outputs.build-rust == 'true' &&
239+
needs.combined-optimizer.result == 'success'
240+
) ||
241+
(
242+
needs.changes.outputs.build-rust != 'true' &&
243+
needs.combined-optimizer.result == 'skipped'
244+
)
245+
)
246+
)
247+
run: exit 1
248+
228249
- name: Checkout
229250
uses: actions/checkout@v5
230251

@@ -234,10 +255,29 @@ jobs:
234255
if: needs.changes.outputs.build-qwik == 'true'
235256
uses: actions/setup-node@v5
236257
with:
237-
node-version: 24.x
258+
node-version: ${{ env.CI_NODE_VERSION }}
238259
cache: 'pnpm'
239260
registry-url: https://registry.npmjs.org/
240261

262+
- name: Restore optimizer cache
263+
if: |
264+
needs.changes.outputs.build-qwik == 'true' &&
265+
needs.changes.outputs.build-rust != 'true'
266+
uses: actions/cache/restore@v4
267+
with:
268+
fail-on-cache-miss: true
269+
path: packages/optimizer/
270+
key: ${{ needs.changes.outputs.hash-rust }}
271+
272+
- name: Restore optimizer artifact
273+
if: |
274+
needs.changes.outputs.build-qwik == 'true' &&
275+
needs.changes.outputs.build-rust == 'true'
276+
uses: actions/download-artifact@v4
277+
with:
278+
name: artifact-optimizer
279+
path: packages/optimizer/
280+
241281
- name: Install NPM Dependencies
242282
if: needs.changes.outputs.build-qwik == 'true'
243283
run: |
@@ -311,7 +351,7 @@ jobs:
311351
- name: Setup Node
312352
uses: actions/setup-node@v5
313353
with:
314-
node-version: 24.x
354+
node-version: ${{ env.CI_NODE_VERSION }}
315355
cache: 'pnpm'
316356
registry-url: https://registry.npmjs.org/
317357

@@ -437,7 +477,7 @@ jobs:
437477
if: needs.changes.outputs.build-others == 'true'
438478
uses: actions/setup-node@v5
439479
with:
440-
node-version: 24.x
480+
node-version: ${{ env.CI_NODE_VERSION }}
441481
cache: 'pnpm'
442482
registry-url: https://registry.npmjs.org/
443483

@@ -552,7 +592,7 @@ jobs:
552592
- name: Setup Node
553593
uses: actions/setup-node@v5
554594
with:
555-
node-version: 24.x
595+
node-version: ${{ env.CI_NODE_VERSION }}
556596
cache: 'pnpm'
557597
registry-url: https://registry.npmjs.org/
558598

@@ -599,7 +639,7 @@ jobs:
599639
- name: Setup Node
600640
uses: actions/setup-node@v5
601641
with:
602-
node-version: 24.x
642+
node-version: ${{ env.CI_NODE_VERSION }}
603643
cache: 'pnpm'
604644
registry-url: https://registry.npmjs.org/
605645

@@ -656,7 +696,7 @@ jobs:
656696
- name: Setup Node
657697
uses: actions/setup-node@v5
658698
with:
659-
node-version: 24.x
699+
node-version: ${{ env.CI_NODE_VERSION }}
660700
cache: 'pnpm'
661701
registry-url: https://registry.npmjs.org/
662702

@@ -719,7 +759,7 @@ jobs:
719759
- name: Setup Node
720760
uses: actions/setup-node@v5
721761
with:
722-
node-version: 24.x
762+
node-version: ${{ env.CI_NODE_VERSION }}
723763
cache: 'pnpm'
724764
registry-url: https://registry.npmjs.org/
725765

@@ -790,7 +830,7 @@ jobs:
790830
- name: Setup Node
791831
uses: actions/setup-node@v5
792832
with:
793-
node-version: 24.x
833+
node-version: ${{ env.CI_NODE_VERSION }}
794834
cache: 'pnpm'
795835
registry-url: https://registry.npmjs.org/
796836

@@ -881,7 +921,7 @@ jobs:
881921
- name: Setup Node
882922
uses: actions/setup-node@v5
883923
with:
884-
node-version: 24.x
924+
node-version: ${{ env.CI_NODE_VERSION }}
885925
cache: 'pnpm'
886926
registry-url: https://registry.npmjs.org/
887927

@@ -912,7 +952,7 @@ jobs:
912952
if: failure()
913953

914954
test-cli-e2e:
915-
name: E2E CLI Tests
955+
name: E2E CLI Tests (${{ matrix.settings.runtime }}, ${{ matrix.settings.host }}, ${{ matrix.settings.browser }})
916956
if: always() && needs.changes.outputs.build-cli-e2e == 'true'
917957

918958
needs:
@@ -925,10 +965,34 @@ jobs:
925965
settings:
926966
- host: ubuntu-latest
927967
browser: chromium
968+
runtime: node
969+
integration-script: test.e2e.integrations.chromium
970+
run-cli: true
971+
run-qwik-react: true
972+
- host: ubuntu-latest
973+
browser: chromium
974+
runtime: bun
975+
integration-script: test.e2e.integrations.bun.chromium
976+
run-cli: false
977+
run-qwik-react: false
978+
- host: ubuntu-latest
979+
browser: chromium
980+
runtime: deno
981+
integration-script: test.e2e.integrations.deno.chromium
982+
run-cli: false
983+
run-qwik-react: false
928984
- host: macos-latest
929985
browser: webkit
986+
runtime: node
987+
integration-script: test.e2e.integrations.webkit
988+
run-cli: true
989+
run-qwik-react: true
930990
- host: windows-latest
931991
browser: chromium
992+
runtime: node
993+
integration-script: test.e2e.integrations.chromium
994+
run-cli: true
995+
run-qwik-react: true
932996

933997
runs-on: ${{ matrix.settings.host }}
934998

@@ -952,7 +1016,7 @@ jobs:
9521016
- name: Setup Node
9531017
uses: actions/setup-node@v5
9541018
with:
955-
node-version: 24.x
1019+
node-version: ${{ env.CI_NODE_VERSION }}
9561020
cache: 'pnpm'
9571021
registry-url: https://registry.npmjs.org/
9581022

@@ -964,15 +1028,29 @@ jobs:
9641028

9651029
- run: pnpm install --frozen-lockfile
9661030

1031+
- name: Setup Bun
1032+
if: matrix.settings.runtime == 'bun'
1033+
uses: oven-sh/setup-bun@v2
1034+
with:
1035+
bun-version: latest
1036+
1037+
- name: Setup Deno
1038+
if: matrix.settings.runtime == 'deno'
1039+
uses: denoland/setup-deno@v2
1040+
with:
1041+
deno-version: v2.x
1042+
9671043
- name: Install Playwright
9681044
run: npx playwright install ${{ matrix.settings.browser }} --with-deps
9691045

9701046
- name: Playwright E2E Integration Tests
971-
run: pnpm run test.e2e.integrations.${{ matrix.settings.browser }}
1047+
run: pnpm run ${{ matrix.settings.integration-script }}
9721048

9731049
- name: Playwright E2E Qwik React Tests
1050+
if: matrix.settings.run-qwik-react
9741051
run: pnpm run test.e2e.qwik-react.${{ matrix.settings.browser }}
9751052
- name: CLI E2E Tests
1053+
if: matrix.settings.run-cli
9761054
run: pnpm run test.e2e.cli.${{ matrix.settings.browser }}
9771055

9781056
save-e2e-tests-cache:
@@ -1039,7 +1117,7 @@ jobs:
10391117
- name: Setup Node
10401118
uses: actions/setup-node@v5
10411119
with:
1042-
node-version: 24.x
1120+
node-version: ${{ env.CI_NODE_VERSION }}
10431121
cache: 'pnpm'
10441122
registry-url: https://registry.npmjs.org/
10451123

@@ -1117,7 +1195,7 @@ jobs:
11171195
- name: Setup Node
11181196
uses: actions/setup-node@v5
11191197
with:
1120-
node-version: 24.x
1198+
node-version: ${{ env.CI_NODE_VERSION }}
11211199
cache: 'pnpm'
11221200
registry-url: https://registry.npmjs.org/
11231201

0 commit comments

Comments
 (0)