@sveltejs/adapter-vercel 1.0.0-next.37 → 1.0.0-next.40

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/README.md CHANGED
@@ -14,11 +14,17 @@ import vercel from '@sveltejs/adapter-vercel';
14
14
  export default {
15
15
  kit: {
16
16
  ...
17
- adapter: vercel()
17
+ adapter: vercel(options)
18
18
  }
19
19
  };
20
20
  ```
21
21
 
22
+ ## Options
23
+
24
+ You can pass an `options` argument, if necessary, with the following:
25
+
26
+ - `external` — an array of dependencies that [esbuild](https://esbuild.github.io/api/#external) should treat as external
27
+
22
28
  ## Changelog
23
29
 
24
30
  [The Changelog for this package is available on GitHub](https://github.com/sveltejs/kit/blob/master/packages/adapter-vercel/CHANGELOG.md).
@@ -0,0 +1,8 @@
1
+ declare module 'APP' {
2
+ export { App } from '@sveltejs/kit';
3
+ }
4
+
5
+ declare module 'MANIFEST' {
6
+ import { SSRManifest } from '@sveltejs/kit';
7
+ export const manifest: SSRManifest;
8
+ }
package/files/entry.js CHANGED
@@ -1,33 +1,23 @@
1
- import { __fetch_polyfill } from '@sveltejs/kit/install-fetch';
2
- import { getRawBody } from '@sveltejs/kit/node';
1
+ import './shims';
2
+ import { getRequest, setResponse } from '@sveltejs/kit/node';
3
3
  import { App } from 'APP';
4
4
  import { manifest } from 'MANIFEST';
5
5
 
6
- __fetch_polyfill();
7
-
8
6
  const app = new App(manifest);
9
7
 
8
+ /**
9
+ * @param {import('http').IncomingMessage} req
10
+ * @param {import('http').ServerResponse} res
11
+ */
10
12
  export default async (req, res) => {
11
- let body;
13
+ let request;
12
14
 
13
15
  try {
14
- body = await getRawBody(req);
16
+ request = await getRequest(`https://${req.headers.host}`, req);
15
17
  } catch (err) {
16
18
  res.statusCode = err.status || 400;
17
19
  return res.end(err.reason || 'Invalid request body');
18
20
  }
19
21
 
20
- const rendered = await app.render({
21
- url: req.url,
22
- method: req.method,
23
- headers: req.headers,
24
- rawBody: body
25
- });
26
-
27
- if (rendered) {
28
- const { status, headers, body } = rendered;
29
- return res.writeHead(status, headers).end(body);
30
- }
31
-
32
- return res.writeHead(404).end();
22
+ setResponse(res, await app.render(request));
33
23
  };
package/files/shims.js ADDED
@@ -0,0 +1,2 @@
1
+ import { __fetch_polyfill } from '@sveltejs/kit/install-fetch';
2
+ __fetch_polyfill();
package/index.d.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  import { Adapter } from '@sveltejs/kit';
2
2
 
3
- declare function plugin(): Adapter;
3
+ type Options = {
4
+ external?: string[];
5
+ };
6
+
7
+ declare function plugin(options?: Options): Adapter;
4
8
  export = plugin;
package/index.js CHANGED
@@ -6,7 +6,7 @@ import esbuild from 'esbuild';
6
6
  const dir = '.vercel_build_output';
7
7
 
8
8
  /** @type {import('.')} **/
9
- export default function () {
9
+ export default function ({ external = [] } = {}) {
10
10
  return {
11
11
  name: '@sveltejs/adapter-vercel',
12
12
 
@@ -52,7 +52,8 @@ export default function () {
52
52
  outfile: `${dirs.lambda}/index.js`,
53
53
  target: 'node14',
54
54
  bundle: true,
55
- platform: 'node'
55
+ platform: 'node',
56
+ external
56
57
  });
57
58
 
58
59
  writeFileSync(`${dirs.lambda}/package.json`, JSON.stringify({ type: 'commonjs' }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sveltejs/adapter-vercel",
3
- "version": "1.0.0-next.37",
3
+ "version": "1.0.0-next.40",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/sveltejs/kit",
@@ -25,7 +25,7 @@
25
25
  "esbuild": "^0.13.15"
26
26
  },
27
27
  "devDependencies": {
28
- "@sveltejs/kit": "1.0.0-next.232"
28
+ "@sveltejs/kit": "1.0.0-next.251"
29
29
  },
30
30
  "scripts": {
31
31
  "lint": "eslint --ignore-path .gitignore \"**/*.{ts,js,svelte}\" && npm run check-format",