Skip to content

Commit 6e85831

Browse files
authored
fix: write server files to _worker.js/ directory (#13610)
* write server to _worker.js directory * add changeset
1 parent a9611fa commit 6e85831

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

Diff for: .changeset/shy-knives-matter.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@sveltejs/adapter-cloudflare': patch
3+
---
4+
5+
fix: write server files to the cloudflare build directory

Diff for: packages/adapter-cloudflare/index.js

+9-11
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,18 @@ export default function (options = {}) {
1010
async adapt(builder) {
1111
if (existsSync('_routes.json')) {
1212
throw new Error(
13-
'Cloudflare routes should be configured in svelte.config.js rather than _routes.json'
13+
"Cloudflare's _routes.json should be configured in svelte.config.js. See https://svelte.dev/docs/kit/adapter-cloudflare#Options-routes"
1414
);
1515
}
1616

1717
const files = fileURLToPath(new URL('./files', import.meta.url).href);
1818
const dest = builder.getBuildDirectory('cloudflare');
19-
const tmp = builder.getBuildDirectory('cloudflare-tmp');
19+
const worker_dest = `${dest}/_worker.js`;
2020

2121
builder.rimraf(dest);
22-
builder.rimraf(tmp);
2322

2423
builder.mkdirp(dest);
25-
builder.mkdirp(tmp);
24+
builder.mkdirp(worker_dest);
2625

2726
// generate plaintext 404.html first which can then be overridden by prerendering, if the user defined such a page
2827
const fallback = path.join(dest, '404.html');
@@ -35,12 +34,11 @@ export default function (options = {}) {
3534
const dest_dir = `${dest}${builder.config.kit.paths.base}`;
3635
const written_files = builder.writeClient(dest_dir);
3736
builder.writePrerendered(dest_dir);
38-
39-
const relativePath = path.posix.relative(dest, builder.getServerDirectory());
37+
builder.writeServer(`${worker_dest}/server`);
4038

4139
writeFileSync(
42-
`${tmp}/manifest.js`,
43-
`export const manifest = ${builder.generateManifest({ relativePath })};\n\n` +
40+
`${worker_dest}/manifest.js`,
41+
`export const manifest = ${builder.generateManifest({ relativePath: './server' })};\n\n` +
4442
`export const prerendered = new Set(${JSON.stringify(builder.prerendered.paths)});\n\n` +
4543
`export const base_path = ${JSON.stringify(builder.config.kit.paths.base)};\n`
4644
);
@@ -60,10 +58,10 @@ export default function (options = {}) {
6058

6159
writeFileSync(`${dest}/.assetsignore`, generate_assetsignore(), { flag: 'a' });
6260

63-
builder.copy(`${files}/worker.js`, `${dest}/_worker.js`, {
61+
builder.copy(`${files}/worker.js`, `${worker_dest}/index.js`, {
6462
replace: {
65-
SERVER: `${relativePath}/index.js`,
66-
MANIFEST: `${path.posix.relative(dest, tmp)}/manifest.js`
63+
SERVER: './server/index.js',
64+
MANIFEST: './manifest.js'
6765
}
6866
});
6967
},

0 commit comments

Comments
 (0)