@sveltejs/adapter-vercel 5.7.2 → 5.8.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/files/edge.js CHANGED
@@ -4,8 +4,23 @@ import { Server } from 'SERVER';
4
4
  import { manifest } from 'MANIFEST';
5
5
 
6
6
  const server = new Server(manifest);
7
+
8
+ /**
9
+ * We don't know the origin until we receive a request, but
10
+ * that's guaranteed to happen before we call `read`
11
+ * @type {string}
12
+ */
13
+ let origin;
14
+
7
15
  const initialized = server.init({
8
- env: /** @type {Record<string, string>} */ (process.env)
16
+ env: /** @type {Record<string, string>} */ (process.env),
17
+ read: async (file) => {
18
+ const response = await fetch(`${origin}/${file}`);
19
+ if (!response.ok) {
20
+ throw new Error(`Failed to fetch ${file}: ${response.status} ${response.statusText}`);
21
+ }
22
+ return response.body;
23
+ }
9
24
  });
10
25
 
11
26
  /**
@@ -13,7 +28,10 @@ const initialized = server.init({
13
28
  * @param {import('../index.js').RequestContext} context
14
29
  */
15
30
  export default async (request, context) => {
16
- await initialized;
31
+ if (!origin) {
32
+ origin = new URL(request.url).origin;
33
+ await initialized;
34
+ }
17
35
 
18
36
  return server.respond(request, {
19
37
  getClientAddress() {
@@ -36,7 +36,7 @@ export default async (req, res) => {
36
36
 
37
37
  const request = await getRequest({ base: `https://${req.headers.host}`, request: req });
38
38
 
39
- setResponse(
39
+ void setResponse(
40
40
  res,
41
41
  await server.respond(request, {
42
42
  getClientAddress() {
package/index.js CHANGED
@@ -10,6 +10,8 @@ import { VERSION } from '@sveltejs/kit';
10
10
  const name = '@sveltejs/adapter-vercel';
11
11
  const INTERNAL = '![-]'; // this name is guaranteed not to conflict with user routes
12
12
 
13
+ const [kit_major, kit_minor] = VERSION.split('.');
14
+
13
15
  const get_default_runtime = () => {
14
16
  const major = Number(process.version.slice(1).split('.')[0]);
15
17
 
@@ -464,13 +466,13 @@ const plugin = function (defaults = {}) {
464
466
  },
465
467
 
466
468
  supports: {
467
- // reading from the filesystem only works in serverless functions
468
469
  read: ({ config, route }) => {
469
470
  const runtime = config.runtime ?? defaults.runtime;
470
471
 
471
- if (runtime === 'edge') {
472
+ // TODO bump peer dep in next adapter major to simplify this
473
+ if (runtime === 'edge' && kit_major === '2' && kit_minor < '25') {
472
474
  throw new Error(
473
- `${name}: Cannot use \`read\` from \`$app/server\` in route \`${route.id}\` configured with \`runtime: 'edge'\``
475
+ `${name}: Cannot use \`read\` from \`$app/server\` in route \`${route.id}\` configured with \`runtime: 'edge'\` and SvelteKit < 2.25.0`
474
476
  );
475
477
  }
476
478
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sveltejs/adapter-vercel",
3
- "version": "5.7.2",
3
+ "version": "5.8.0",
4
4
  "description": "A SvelteKit adapter that creates a Vercel app",
5
5
  "keywords": [
6
6
  "adapter",
@@ -38,11 +38,11 @@
38
38
  "esbuild": "^0.25.4"
39
39
  },
40
40
  "devDependencies": {
41
- "@sveltejs/vite-plugin-svelte": "^5.0.1",
42
- "@types/node": "^18.19.48",
41
+ "@sveltejs/vite-plugin-svelte": "^6.0.0-next.3",
42
+ "@types/node": "^18.19.119",
43
43
  "typescript": "^5.3.3",
44
- "vitest": "^3.1.1",
45
- "@sveltejs/kit": "^2.20.8"
44
+ "vitest": "^3.2.3",
45
+ "@sveltejs/kit": "^2.25.0"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "@sveltejs/kit": "^2.4.0"