Repository navigation
Commit e030bd0
authored
Fix .svelte files in node_modules with Cloudflare prerenderEnvironment: node (#16210)
* fix(cloudflare,svelte): resolve .svelte files in node_modules with prerenderEnvironment: 'node'
Packages that ship .svelte files (e.g. bits-ui) failed with 'Unknown file
extension .svelte' when using the Cloudflare adapter with
prerenderEnvironment: 'node'. Two issues caused this:
1. The cf-externals plugin set top-level ssr.noExternal = true, which
caused vitefu's crawlFrameworkPkgs to return an empty noExternal list
(it assumed everything was already noExternal). This only applied to
the ssr environment in Vite 6, leaving the prerender environment
without the needed noExternal entries.
2. The createNodePrerenderPlugin disabled dep optimization entirely for
the prerender environment (noDiscovery: true, include: []).
The fix removes ssr.noExternal = true from cf-externals, removes the dep
optimization override, and has @astrojs/svelte use crawlFrameworkPkgs to
discover svelte packages and add them to resolve.noExternal for all
server environments via configEnvironment.
* add changeset
* fix: use fileURLToPath for cross-platform root path
* test: add response body to assertion error for CI debugging
* fix: rename fake-svelte-pkg/dist to src to avoid .gitignore exclusion1 parent b5c2fba commit e030bd0
14 files changed
Lines changed: 448 additions & 16 deletions
File tree
- .changeset
- packages/integrations
- cloudflare
- src
- test
- fixtures/prerender-node-env
- fake-svelte-pkg
- src
- src
- components
- pages
- svelte
- src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
310 | 310 | | |
311 | 311 | | |
312 | 312 | | |
313 | | - | |
314 | 313 | | |
315 | 314 | | |
316 | 315 | | |
| |||
Lines changed: 0 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | 21 | | |
30 | 22 | | |
31 | 23 | | |
| |||
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
3 | | - | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
8 | 11 | | |
9 | 12 | | |
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: 15 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 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
0 commit comments