@sveltejs/adapter-cloudflare-workers
Advanced tools
Comparing version 1.0.0-next.19 to 1.0.0-next.20
// TODO hardcoding the relative location makes this brittle | ||
import { init, render } from '../output/server/app.js'; // eslint-disable-line import/no-unresolved | ||
import { getAssetFromKV, NotFoundError } from '@cloudflare/kv-asset-handler'; // eslint-disable-line import/no-unresolved | ||
import { init, render } from '../output/server/app.js'; | ||
import { getAssetFromKV, NotFoundError } from '@cloudflare/kv-asset-handler'; | ||
@@ -44,3 +44,3 @@ init(); | ||
status: rendered.status, | ||
headers: rendered.headers | ||
headers: makeHeaders(rendered.headers) | ||
}); | ||
@@ -62,1 +62,20 @@ } | ||
} | ||
/** | ||
* @param {Record<string, string | string[]>} headers | ||
* @returns {Request} | ||
*/ | ||
function makeHeaders(headers) { | ||
const result = new Headers(); | ||
for (const header in headers) { | ||
const value = headers[header]; | ||
if (typeof value === 'string') { | ||
result.set(header, value); | ||
continue; | ||
} | ||
for (const sub of value) { | ||
result.append(header, sub); | ||
} | ||
} | ||
return result; | ||
} |
@@ -1,6 +0,9 @@ | ||
type BuildOptions = import('esbuild').BuildOptions; | ||
declare function plugin(options?: { | ||
esbuild?: (defaultOptions: BuildOptions) => Promise<BuildOptions> | BuildOptions; | ||
}): import('@sveltejs/kit').Adapter; | ||
import { Adapter } from '@sveltejs/kit'; | ||
import { BuildOptions } from 'esbuild'; | ||
interface AdapterOptions { | ||
esbuild?: (options: BuildOptions) => Promise<BuildOptions> | BuildOptions; | ||
} | ||
declare function plugin(options?: AdapterOptions): Adapter; | ||
export = plugin; |
20
index.js
@@ -11,11 +11,7 @@ import fs from 'fs'; | ||
/** | ||
* @param {{ | ||
* esbuild?: (defaultOptions: BuildOptions) => Promise<BuildOptions> | BuildOptions; | ||
* }} [options] | ||
**/ | ||
/** @type {import('.')} */ | ||
export default function (options) { | ||
/** @type {import('@sveltejs/kit').Adapter} */ | ||
const adapter = { | ||
return { | ||
name: '@sveltejs/adapter-cloudflare-workers', | ||
async adapt({ utils }) { | ||
@@ -43,3 +39,3 @@ const { site } = validate_config(utils); | ||
/** @type {BuildOptions} */ | ||
const defaultOptions = { | ||
const default_options = { | ||
entryPoints: ['.svelte-kit/cloudflare-workers/entry.js'], | ||
@@ -52,6 +48,6 @@ outfile: `${entrypoint}/index.js`, | ||
const buildOptions = | ||
options && options.esbuild ? await options.esbuild(defaultOptions) : defaultOptions; | ||
const build_options = | ||
options && options.esbuild ? await options.esbuild(default_options) : default_options; | ||
await esbuild.build(buildOptions); | ||
await esbuild.build(build_options); | ||
@@ -70,4 +66,2 @@ fs.writeFileSync(`${entrypoint}/package.json`, JSON.stringify({ main: 'index.js' })); | ||
}; | ||
return adapter; | ||
} | ||
@@ -74,0 +68,0 @@ |
{ | ||
"name": "@sveltejs/adapter-cloudflare-workers", | ||
"version": "1.0.0-next.19", | ||
"version": "1.0.0-next.20", | ||
"type": "module", | ||
@@ -19,3 +19,3 @@ "exports": { | ||
"devDependencies": { | ||
"@sveltejs/kit": "1.0.0-next.152" | ||
"@sveltejs/kit": "1.0.0-next.159" | ||
}, | ||
@@ -22,0 +22,0 @@ "scripts": { |
8850
161