Repository navigation
Commit dbbf10e
Preserve Vite module IDs through content asset propagation to fix CSS HMR after ClientRouter navigation (#17953)
* fix(content): preserve Vite module ID in content entry CSS propagation for HMR
* test(render): fix SSRResult typing in renderUniqueStylesheet unit test
The test result mock only provided { styles }, which does not satisfy
SSRResult and broke tsc -b during the build. Cast the mock so the test
typechecks.
* test(content): cover content-propagation CSS HMR after ClientRouter navigation
Adds an e2e test that navigates away and back with ClientRouter, then
edits a Svelte component rendered through a content entry and verifies
the change applies via HMR without a full reload. The load counter
starts after the initial page settles so Vite's one-time cold-start
re-optimization reload is not counted against the navigation flow.
* fix(dev): include MDX files in the optimizeDeps scan
Framework components imported from MDX content entries are only
reachable through the virtual astro:content module, which Vite's dep
scanner cannot follow, so their framework dependencies were never
pre-bundled at cold start. When the browser then requested them at
runtime, Vite re-optimized and sent a full-reload, reloading the page
once shortly after the first load.
Add mdx to optimizeDeps.entries in both the runnable and client
environments, mirroring the .astro entry added in #16480. Plain .md
files cannot import components, so only .mdx needs scanning.
---------
Co-authored-by: factory[bot] <factory[bot]@users.noreply.github.com>
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>1 parent 2637ed1 commit dbbf10e
17 files changed
Lines changed: 170 additions & 8 deletions
File tree
- .changeset
- packages/astro
- e2e
- fixtures/content-collections
- src
- components
- content/posts
- pages
- src
- content
- core/app
- runtime/server/render
- vite-plugin-environment
- test/units
- render
- vite-plugin-environment
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
29 | 57 | | |
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| 9 | + | |
8 | 10 | | |
9 | 11 | | |
Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
8 | 10 | | |
9 | 11 | | |
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
| 8 | + | |
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
Lines changed: 10 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
8 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
690 | 690 | | |
691 | 691 | | |
692 | 692 | | |
| 693 | + | |
| 694 | + | |
693 | 695 | | |
694 | 696 | | |
695 | | - | |
| 697 | + | |
| 698 | + | |
696 | 699 | | |
697 | 700 | | |
698 | 701 | | |
| |||
0 commit comments