@sveltejs/adapter-vercel 5.0.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +57 -13
- package/package.json +2 -2
package/index.js
CHANGED
|
@@ -18,6 +18,9 @@ const get_default_runtime = () => {
|
|
|
18
18
|
);
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
+
// https://vercel.com/docs/functions/edge-functions/edge-runtime#compatible-node.js-modules
|
|
22
|
+
const compatible_node_modules = ['async_hooks', 'events', 'buffer', 'assert', 'util'];
|
|
23
|
+
|
|
21
24
|
/** @type {import('.').default} **/
|
|
22
25
|
const plugin = function (defaults = {}) {
|
|
23
26
|
if ('edge' in defaults) {
|
|
@@ -109,20 +112,61 @@ const plugin = function (defaults = {}) {
|
|
|
109
112
|
`export const manifest = ${builder.generateManifest({ relativePath, routes })};\n`
|
|
110
113
|
);
|
|
111
114
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
115
|
+
try {
|
|
116
|
+
const result = await esbuild.build({
|
|
117
|
+
entryPoints: [`${tmp}/edge.js`],
|
|
118
|
+
outfile: `${dirs.functions}/${name}.func/index.js`,
|
|
119
|
+
target: 'es2020', // TODO verify what the edge runtime supports
|
|
120
|
+
bundle: true,
|
|
121
|
+
platform: 'browser',
|
|
122
|
+
format: 'esm',
|
|
123
|
+
external: [
|
|
124
|
+
...compatible_node_modules,
|
|
125
|
+
...compatible_node_modules.map((id) => `node:${id}`),
|
|
126
|
+
...(config.external || [])
|
|
127
|
+
],
|
|
128
|
+
sourcemap: 'linked',
|
|
129
|
+
banner: { js: 'globalThis.global = globalThis;' },
|
|
130
|
+
loader: {
|
|
131
|
+
'.wasm': 'copy'
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
if (result.warnings.length > 0) {
|
|
136
|
+
const formatted = await esbuild.formatMessages(result.warnings, {
|
|
137
|
+
kind: 'warning',
|
|
138
|
+
color: true
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
console.error(formatted.join('\n'));
|
|
124
142
|
}
|
|
125
|
-
})
|
|
143
|
+
} catch (error) {
|
|
144
|
+
for (const e of error.errors) {
|
|
145
|
+
for (const node of e.notes) {
|
|
146
|
+
const match =
|
|
147
|
+
/The package "(.+)" wasn't found on the file system but is built into node/.exec(
|
|
148
|
+
node.text
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
if (match) {
|
|
152
|
+
node.text = `Cannot use "${match[1]}" when deploying to Vercel Edge Functions.`;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
const formatted = await esbuild.formatMessages(error.errors, {
|
|
158
|
+
kind: 'error',
|
|
159
|
+
color: true
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
console.error(formatted.join('\n'));
|
|
163
|
+
|
|
164
|
+
throw new Error(
|
|
165
|
+
`Bundling with esbuild failed with ${error.errors.length} ${
|
|
166
|
+
error.errors.length === 1 ? 'error' : 'errors'
|
|
167
|
+
}`
|
|
168
|
+
);
|
|
169
|
+
}
|
|
126
170
|
|
|
127
171
|
write(
|
|
128
172
|
`${dirs.functions}/${name}.func/.vc-config.json`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sveltejs/adapter-vercel",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"description": "A SvelteKit adapter that creates a Vercel app",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"@types/node": "^18.19.3",
|
|
34
34
|
"typescript": "^5.3.3",
|
|
35
35
|
"vitest": "^1.2.0",
|
|
36
|
-
"@sveltejs/kit": "^2.4.
|
|
36
|
+
"@sveltejs/kit": "^2.4.1"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"@sveltejs/kit": "^2.4.0"
|