Skip to content

Commit c2b0d89

Browse files
authored
feat: remove esbuild step (#13132)
1 parent 528af75 commit c2b0d89

File tree

4 files changed

+209
-106
lines changed

4 files changed

+209
-106
lines changed

.changeset/famous-rules-lick.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@sveltejs/adapter-cloudflare': major
3+
---
4+
5+
feat: remove esbuild step

packages/adapter-cloudflare/index.js

Lines changed: 5 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,8 @@
11
import { existsSync, writeFileSync } from 'node:fs';
22
import * as path from 'node:path';
33
import { fileURLToPath } from 'node:url';
4-
import * as esbuild from 'esbuild';
54
import { getPlatformProxy } from 'wrangler';
65

7-
// list from https://developers.cloudflare.com/workers/runtime-apis/nodejs/
8-
const compatible_node_modules = [
9-
'assert',
10-
'async_hooks',
11-
'buffer',
12-
'crypto',
13-
'diagnostics_channel',
14-
'events',
15-
'path',
16-
'process',
17-
'stream',
18-
'string_decoder',
19-
'util'
20-
];
21-
226
/** @type {import('./index.js').default} */
237
export default function (options = {}) {
248
return {
@@ -52,7 +36,7 @@ export default function (options = {}) {
5236
const written_files = builder.writeClient(dest_dir);
5337
builder.writePrerendered(dest_dir);
5438

55-
const relativePath = path.posix.relative(tmp, builder.getServerDirectory());
39+
const relativePath = path.posix.relative(dest, builder.getServerDirectory());
5640

5741
writeFileSync(
5842
`${tmp}/manifest.js`,
@@ -74,77 +58,14 @@ export default function (options = {}) {
7458
});
7559
}
7660

77-
builder.copy(`${files}/worker.js`, `${tmp}/_worker.js`, {
61+
writeFileSync(`${dest}/.assetsignore`, generate_assetsignore(), { flag: 'a' });
62+
63+
builder.copy(`${files}/worker.js`, `${dest}/_worker.js`, {
7864
replace: {
7965
SERVER: `${relativePath}/index.js`,
80-
MANIFEST: './manifest.js'
66+
MANIFEST: `${path.posix.relative(dest, tmp)}/manifest.js`
8167
}
8268
});
83-
84-
const external = ['cloudflare:*', ...compatible_node_modules.map((id) => `node:${id}`)];
85-
86-
try {
87-
const result = await esbuild.build({
88-
platform: 'browser',
89-
// https://github.com/cloudflare/workers-sdk/blob/a12b2786ce745f24475174bcec994ad691e65b0f/packages/wrangler/src/deployment-bundle/bundle.ts#L35-L36
90-
conditions: ['workerd', 'worker', 'browser'],
91-
sourcemap: 'linked',
92-
target: 'es2022',
93-
entryPoints: [`${tmp}/_worker.js`],
94-
outfile: `${dest}/_worker.js`,
95-
allowOverwrite: true,
96-
format: 'esm',
97-
bundle: true,
98-
loader: {
99-
'.wasm': 'copy',
100-
'.woff': 'copy',
101-
'.woff2': 'copy',
102-
'.ttf': 'copy',
103-
'.eot': 'copy',
104-
'.otf': 'copy'
105-
},
106-
external,
107-
alias: Object.fromEntries(compatible_node_modules.map((id) => [id, `node:${id}`])),
108-
logLevel: 'silent'
109-
});
110-
111-
if (result.warnings.length > 0) {
112-
const formatted = await esbuild.formatMessages(result.warnings, {
113-
kind: 'warning',
114-
color: true
115-
});
116-
117-
console.error(formatted.join('\n'));
118-
}
119-
} catch (error) {
120-
for (const e of error.errors) {
121-
for (const node of e.notes) {
122-
const match =
123-
/The package "(.+)" wasn't found on the file system but is built into node/.exec(
124-
node.text
125-
);
126-
127-
if (match) {
128-
node.text = `Cannot use "${match[1]}" when deploying to Cloudflare.`;
129-
}
130-
}
131-
}
132-
133-
const formatted = await esbuild.formatMessages(error.errors, {
134-
kind: 'error',
135-
color: true
136-
});
137-
138-
console.error(formatted.join('\n'));
139-
140-
throw new Error(
141-
`Bundling with esbuild failed with ${error.errors.length} ${
142-
error.errors.length === 1 ? 'error' : 'errors'
143-
}`
144-
);
145-
}
146-
147-
writeFileSync(`${dest}/.assetsignore`, generate_assetsignore(), { flag: 'a' });
14869
},
14970
async emulate() {
15071
const proxy = await getPlatformProxy(options.platformProxy);

packages/adapter-cloudflare/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"prepublishOnly": "pnpm build"
4141
},
4242
"dependencies": {
43-
"@cloudflare/workers-types": "^4.20231121.0",
43+
"@cloudflare/workers-types": "^4.20241106.0",
4444
"esbuild": "^0.24.0",
4545
"worktop": "0.8.0-next.18"
4646
},
@@ -52,6 +52,6 @@
5252
},
5353
"peerDependencies": {
5454
"@sveltejs/kit": "^2.0.0",
55-
"wrangler": "^3.28.4"
55+
"wrangler": "^3.87.0"
5656
}
5757
}

0 commit comments

Comments
 (0)