Skip to content

Commit a0b1d7b

Browse files
author
wuls
committed
fix conflict
2 parents f97401d + 2d2d9a4 commit a0b1d7b

File tree

238 files changed

+8919
-4880
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

238 files changed

+8919
-4880
lines changed

Diff for: .changeset/afraid-months-mix.md

-6
This file was deleted.

Diff for: .changeset/approach-bed-gift.md

-5
This file was deleted.

Diff for: .changeset/breezy-toes-help.md

-5
This file was deleted.

Diff for: .changeset/cyan-deers-glow.md

-5
This file was deleted.

Diff for: .changeset/fair-cars-fry.md

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
'@builder.io/qwik': minor
3+
---
4+
5+
FEAT: Major improvements to prefetching with automatic bundle preloading
6+
7+
- This removes the need for service workers, and instead utilize `modulepreload` link tags for better browser integration.
8+
- Improves initial load performance by including dynamic imports in the prefetch
9+
- Reduces complexity while maintaining similar (and even better) functionality
10+
- Enables some preloading capabilities in dev mode (SSR result only)
11+
- Includes path-to-bundle mapping in bundle graph (this improves the experience using the `<Link>` component, AKA "single page app" mode)
12+
- Server now has built-in manifest support (so no need to pass `manifest` around)
13+
- Moves insights-related build code to insights plugin
14+
15+
---
16+
17+
⚠️ **ATTENTION:**
18+
19+
**Keep** your service worker code as is (either `<ServiceWorkerRegister/>` or `<PrefetchServiceWorker/>`).
20+
21+
This new implementation will use it to uninstall the current service worker to reduce the unnecessary duplication.
22+
23+
The builtin service workers components are deprecated but still exist for backwards compatibility.
24+
25+
---
26+
27+
You can configure the prefetch behavior in your SSR configuration:
28+
29+
```ts
30+
// entry.ssr.ts
31+
export default function (opts: RenderToStreamOptions) {
32+
return renderToStream(<Root />, {
33+
prefetchStrategy: {
34+
implementation: {
35+
// Enable debug logging for prefetch operations
36+
debug: true,
37+
// Maximum simultaneous preload links
38+
maxSimultaneousPreloads: 5,
39+
// Minimum probability threshold for preloading
40+
minPreloadProbability: 0.25
41+
},
42+
},
43+
...opts,
44+
});
45+
}
46+
```
47+
48+
For legacy apps that still need service worker functionality, you can add it back using:
49+
50+
```bash
51+
npm run qwik add service-worker
52+
```
53+
54+
This will add a basic service worker setup that you can customize for specific caching strategies, offline support, or other PWA features beyond just prefetching.

Diff for: .changeset/forty-bats-rule.md

-5
This file was deleted.

Diff for: .changeset/furry-paint-spin.md

-5
This file was deleted.

Diff for: .changeset/giant-lobsters-sip.md

-5
This file was deleted.

Diff for: .changeset/loud-fish-walk.md

-5
This file was deleted.

Diff for: .changeset/maiieul-manual-changeset-2.md

-5
This file was deleted.

Diff for: .changeset/maiieul-manual-changeset.md

-5
This file was deleted.

Diff for: .changeset/plenty-books-sin.md

-5
This file was deleted.

Diff for: .changeset/pole-comfort-active.md

-5
This file was deleted.

Diff for: .changeset/poor-numbers-yawn.md

-5
This file was deleted.

Diff for: .changeset/pretty-turtles-design.md

-5
This file was deleted.

Diff for: .changeset/quiet-flowers-divide.md

-5
This file was deleted.

Diff for: .changeset/quiet-squids-run.md

-5
This file was deleted.

Diff for: .changeset/selfish-shirts-cover.md

-5
This file was deleted.

Diff for: .changeset/tall-flowers-jump.md

-5
This file was deleted.

Diff for: .changeset/tall-paint-help.md

-5
This file was deleted.

Diff for: .changeset/tasty-ghosts-shout.md

-5
This file was deleted.

Diff for: .changeset/wicked-dolphins-boil.md

-5
This file was deleted.

Diff for: .changeset/yellow-frogs-repeat.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@builder.io/qwik-city': minor
3+
---
4+
5+
CHORE: the service workers have been deprecated and replaced with entries that unregister them. If you have it enabled in production, you can remove it after a while once you are sure all your users have the new version.

Diff for: .github/workflows/ci.yml

+3
Original file line numberDiff line numberDiff line change
@@ -720,6 +720,9 @@ jobs:
720720
- name: Playwright E2E Tests
721721
run: pnpm run test.e2e.${{ matrix.settings.browser }} --timeout 60000 --retries 7 --workers 1
722722

723+
- name: Playwright E2E Integration Tests
724+
run: pnpm run test.e2e.integrations.${{ matrix.settings.browser }} --timeout 60000 --retries 7 --workers 1
725+
723726
- name: Validate Create Qwik Cli
724727
if: matrix.settings.host != 'windows-latest'
725728
run: pnpm cli.validate

Diff for: .github/workflows/deploy-docs.yml

+37-4
Original file line numberDiff line numberDiff line change
@@ -19,29 +19,62 @@ jobs:
1919
deploy:
2020
name: Cloudflare Pages Deployment
2121
if: >
22-
github.repository == 'QwikDev/qwik' &&
23-
github.event.workflow_run.conclusion == 'success'
22+
github.repository == 'QwikDev/qwik'
2423
runs-on: ubuntu-latest
2524
steps:
25+
- name: Check for docs artifact
26+
id: check-artifact
27+
uses: actions/github-script@v7
28+
with:
29+
retries: 3
30+
script: |
31+
try {
32+
const artifacts = await github.rest.actions.listWorkflowRunArtifacts({
33+
owner: context.repo.owner,
34+
repo: context.repo.repo,
35+
run_id: context.payload.workflow_run.id
36+
});
37+
const hasDocsArtifact = artifacts.data.artifacts.some(a => a.name === 'artifact-docs');
38+
core.setOutput('has-docs', hasDocsArtifact);
39+
} catch (error) {
40+
console.error('Error checking for artifacts:', error);
41+
core.setOutput('has-docs', false);
42+
}
43+
2644
- name: Checkout code
45+
if: ${{ steps.check-artifact.outputs.has-docs == 'true' }}
2746
uses: actions/checkout@v4
2847

2948
- name: Download docs artifact
49+
if: ${{ steps.check-artifact.outputs.has-docs == 'true' }}
3050
uses: actions/download-artifact@v4
31-
id: download-artifact
3251
with:
3352
name: artifact-docs
3453
github-token: ${{ secrets.GITHUB_TOKEN }}
3554
run-id: ${{ github.event.workflow_run.id }}
36-
# This will download both dist/ and server/
3755
path: packages/docs
3856

57+
- name: Verify dist directory exists
58+
if: ${{ steps.check-artifact.outputs.has-docs == 'true' }}
59+
run: |
60+
ls -la packages/docs
61+
if [ ! -d "packages/docs/dist" ]; then
62+
echo "Creating dist directory"
63+
mkdir -p packages/docs/dist
64+
cp -r packages/docs/* packages/docs/dist/ || true
65+
fi
66+
3967
# not the official version, so be careful when updating
4068
- name: Deploy to Cloudflare Pages
69+
if: ${{ steps.check-artifact.outputs.has-docs == 'true' }}
4170
uses: AdrianGonz97/refined-cf-pages-action@6c0d47ff7c97c48fa702b6d9f71f7e3a7c30c7d8
4271
with:
4372
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
4473
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
4574
projectName: 'qwik-docs'
4675
directory: packages/docs/dist
4776
githubToken: ${{ secrets.GITHUB_TOKEN }}
77+
78+
- name: Skip message when no docs artifact
79+
if: ${{ steps.check-artifact.outputs.has-docs != 'true' }}
80+
run: echo "No docs artifact found, skipping deployment"

Diff for: Cargo.lock

+20-11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)