@sveltejs/adapter-netlify 3.0.1 → 4.0.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.
@@ -1,5 +1,7 @@
1
1
  import './shims.js';
2
2
  import { Server } from '0SERVER';
3
+ import { createReadStream } from 'node:fs';
4
+ import { Readable } from 'node:stream';
3
5
  import 'node:buffer';
4
6
  import 'node:crypto';
5
7
 
@@ -260,6 +262,16 @@ function split_headers(headers) {
260
262
  };
261
263
  }
262
264
 
265
+ /**
266
+ * Converts a file on disk to a readable stream
267
+ * @param {string} file
268
+ * @returns {ReadableStream}
269
+ * @since 2.4.0
270
+ */
271
+ function createReadableStream(file) {
272
+ return /** @type {ReadableStream} */ (Readable.toWeb(createReadStream(file)));
273
+ }
274
+
263
275
  /**
264
276
  * @param {import('@sveltejs/kit').SSRManifest} manifest
265
277
  * @returns {import('@netlify/functions').Handler}
@@ -268,7 +280,8 @@ function init(manifest) {
268
280
  const server = new Server(manifest);
269
281
 
270
282
  let init_promise = server.init({
271
- env: process.env
283
+ env: process.env,
284
+ read: (file) => createReadableStream(`.netlify/server/${file}`)
272
285
  });
273
286
 
274
287
  return async (event, context) => {
package/index.js CHANGED
@@ -27,6 +27,7 @@ import toml from '@iarna/toml';
27
27
  * }} HandlerManifest
28
28
  */
29
29
 
30
+ const name = '@sveltejs/adapter-netlify';
30
31
  const files = fileURLToPath(new URL('./files', import.meta.url).href);
31
32
 
32
33
  const edge_set_in_env_var =
@@ -38,7 +39,7 @@ const FUNCTION_PREFIX = 'sveltekit-';
38
39
  /** @type {import('./index.js').default} */
39
40
  export default function ({ split = false, edge = edge_set_in_env_var } = {}) {
40
41
  return {
41
- name: '@sveltejs/adapter-netlify',
42
+ name,
42
43
 
43
44
  async adapt(builder) {
44
45
  if (!builder.routes) {
@@ -92,6 +93,19 @@ export default function ({ split = false, edge = edge_set_in_env_var } = {}) {
92
93
  } else {
93
94
  await generate_lambda_functions({ builder, split, publish });
94
95
  }
96
+ },
97
+
98
+ supports: {
99
+ // reading from the filesystem only works in serverless functions
100
+ read: ({ route }) => {
101
+ if (edge) {
102
+ throw new Error(
103
+ `${name}: Cannot use \`read\` from \`$app/server\` in route \`${route.id}\` when using edge functions`
104
+ );
105
+ }
106
+
107
+ return true;
108
+ }
95
109
  }
96
110
  };
97
111
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sveltejs/adapter-netlify",
3
- "version": "3.0.1",
3
+ "version": "4.0.0",
4
4
  "description": "A SvelteKit adapter that creates a Netlify app",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,7 +25,7 @@
25
25
  ],
26
26
  "dependencies": {
27
27
  "@iarna/toml": "^2.2.5",
28
- "esbuild": "^0.19.9",
28
+ "esbuild": "^0.19.11",
29
29
  "set-cookie-parser": "^2.6.0"
30
30
  },
31
31
  "devDependencies": {
@@ -36,13 +36,13 @@
36
36
  "@sveltejs/vite-plugin-svelte": "^3.0.1",
37
37
  "@types/node": "^18.19.3",
38
38
  "@types/set-cookie-parser": "^2.4.7",
39
- "rollup": "^4.8.0",
39
+ "rollup": "^4.9.5",
40
40
  "typescript": "^5.3.3",
41
- "vitest": "^1.0.4",
42
- "@sveltejs/kit": "^2.0.4"
41
+ "vitest": "^1.2.0",
42
+ "@sveltejs/kit": "^2.4.0"
43
43
  },
44
44
  "peerDependencies": {
45
- "@sveltejs/kit": "^2.0.0"
45
+ "@sveltejs/kit": "^2.4.0"
46
46
  },
47
47
  "scripts": {
48
48
  "dev": "node -e \"fs.rmSync('files', { force: true, recursive: true })\" && rollup -cw",