@eslym/sveltekit-adapter-bun 2.1.0 → 2.1.2
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 +16 -0
- package/dist/dev.d.ts +1 -1
- package/dist/dev.js +11 -1
- package/dist/dev.js.map +3 -3
- package/dist/files/index.js +70 -35
- package/dist/index.js +6 -2
- package/dist/index.js.map +3 -3
- package/dist/types.d.ts +12 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -147,6 +147,18 @@ export type AdapterOptions = {
|
|
|
147
147
|
syntax?: boolean;
|
|
148
148
|
identifiers?: boolean;
|
|
149
149
|
};
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Expose the Bun version to the client via public env (`PUBLIC_BUN_VERSION`).
|
|
153
|
+
* @default false
|
|
154
|
+
*/
|
|
155
|
+
exposeBunVersionToClient?: boolean;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Expose the Bun revision to the client via public env (`PUBLIC_BUN_REVISION`).
|
|
159
|
+
* @default false
|
|
160
|
+
*/
|
|
161
|
+
exposeBunRevisionToClient?: boolean;
|
|
150
162
|
};
|
|
151
163
|
|
|
152
164
|
export type PreCompressOptions = {
|
|
@@ -181,6 +193,10 @@ export type PreCompressOptions = {
|
|
|
181
193
|
| `HTTP_OVERRIDE_ORIGIN` | Force the request origin when it is unable to retrieve from the request | - |
|
|
182
194
|
| `HTTP_IDLE_TIMEOUT` | The request timeout for the server(in seconds) | `30` |
|
|
183
195
|
| `HTTP_MAX_BODY` | The maximum body size for the request | `128mib` |
|
|
196
|
+
| `TLS_CERT_FILE` | Path to the TLS certificate file (PEM). Enables HTTPS when set alongside `TLS_KEY_FILE` | - |
|
|
197
|
+
| `TLS_KEY_FILE` | Path to the TLS private key file (PEM). Required with `TLS_CERT_FILE` to enable HTTPS | - |
|
|
198
|
+
| `TLS_CA_FILE` | Optional path to a CA bundle file (PEM) | - |
|
|
199
|
+
| `TLS_PASSPHRASE` | Optional passphrase for an encrypted `TLS_KEY_FILE` | - |
|
|
184
200
|
| `WS_IDLE_TIMEOUT` | The websocket idle timeout (in seconds) | `120` |
|
|
185
201
|
| `WS_MAX_PAYLOAD` | The maximum payload size for the websocket | `16mib` |
|
|
186
202
|
| `WS_NO_PING` | Disable automatic ping response | `false` |
|
package/dist/dev.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DevServeOptions } from './types';
|
|
2
2
|
export declare function patchSveltekit(): Promise<void>;
|
|
3
|
-
export declare function startDevServer({ port, host, idleTimeout, config, websocket, hmrPort, ...serveOptions }?: DevServeOptions & {
|
|
3
|
+
export declare function startDevServer({ port, host, idleTimeout, config, websocket, hmrPort, exposeBunVersionToClient, exposeBunRevisionToClient, ...serveOptions }?: DevServeOptions & {
|
|
4
4
|
port?: number;
|
|
5
5
|
host?: string;
|
|
6
6
|
config?: string;
|
package/dist/dev.js
CHANGED
|
@@ -223,11 +223,21 @@ async function startDevServer({
|
|
|
223
223
|
config,
|
|
224
224
|
websocket = {},
|
|
225
225
|
hmrPort = undefined,
|
|
226
|
+
exposeBunVersionToClient = false,
|
|
227
|
+
exposeBunRevisionToClient = false,
|
|
226
228
|
...serveOptions
|
|
227
229
|
} = {}) {
|
|
228
230
|
if (!("Bun" in globalThis)) {
|
|
229
231
|
throw new Error("Please run with bun");
|
|
230
232
|
}
|
|
233
|
+
if (exposeBunVersionToClient) {
|
|
234
|
+
process.env.PUBLIC_BUN_VERSION = Bun.version;
|
|
235
|
+
Bun.env.PUBLIC_BUN_VERSION = Bun.version;
|
|
236
|
+
}
|
|
237
|
+
if (exposeBunRevisionToClient) {
|
|
238
|
+
process.env.PUBLIC_BUN_REVISION = Bun.revision;
|
|
239
|
+
Bun.env.PUBLIC_BUN_REVISION = Bun.revision;
|
|
240
|
+
}
|
|
231
241
|
if (satisfies(">=1.2.6") && typeof hmrPort !== "number") {
|
|
232
242
|
hmrPort = 0;
|
|
233
243
|
}
|
|
@@ -360,4 +370,4 @@ export {
|
|
|
360
370
|
patchSveltekit
|
|
361
371
|
};
|
|
362
372
|
|
|
363
|
-
//# debugId=
|
|
373
|
+
//# debugId=7F07281EF27208E364756E2164756E21
|
package/dist/dev.js.map
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/dev.ts", "../src/symbols.ts", "../src/dev-internal/version.ts", "../src/dev-internal/bunternal.ts", "../src/dev-internal/mock-http.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { EventEmitter } from 'events';\nimport { IncomingMessage, ServerResponse } from 'http';\nimport type { Server, WebSocketHandler as BunWSHandler } from 'bun';\nimport type { DevServeOptions, WebSocketHandler } from './types';\nimport { symServer, symUpgrades } from './symbols';\nimport type { ViteDevServer } from 'vite';\nimport {\n bunternal,\n bunternalPlugin,\n patchBunternal,\n setupBunternal\n} from './dev-internal/bunternal';\nimport { satisfies } from './dev-internal/version';\nimport { mockedHttpPlugin, mockNodeRequest, patchMockHttp } from './dev-internal/mock-http';\n\nexport async function patchSveltekit() {\n console.log(\n 'Now patchSveltekit function uses Bun plugin instead of bun patch,\\nyou can now safely remove all patches to @sveltejs/kit in package.json'\n );\n Bun.plugin({\n name: 'bun-patch-sveltekit',\n setup(build) {\n build.onLoad(\n { filter: /\\/@sveltejs\\/kit\\/src\\/exports\\/node\\/index\\.js$/ },\n async (args) => {\n const src = await Bun.file(args.path).text();\n return {\n contents: satisfies('<1.2.5') ? patchBunternal(src) : patchMockHttp(src)\n };\n }\n );\n }\n });\n}\n\nexport async function startDevServer({\n port = 5173,\n host = 'localhost',\n idleTimeout = 30,\n config,\n websocket = {} as any,\n hmrPort = undefined,\n ...serveOptions\n}: DevServeOptions & {\n port?: number;\n host?: string;\n config?: string;\n} = {}) {\n if (!('Bun' in globalThis)) {\n throw new Error('Please run with bun');\n }\n if (satisfies('>=1.2.6') && typeof hmrPort !== 'number') {\n // let vite pick one\n hmrPort = 0;\n }\n\n if (!config) {\n for (const cfg of [\n 'vite.config.ts',\n 'vite.config.js',\n 'vite.config.cjs',\n 'vite.config.mjs'\n ]) {\n if (Bun.file(cfg).size) {\n config = cfg;\n break;\n }\n }\n }\n if (!config) {\n throw new Error('No config file found.');\n }\n const { createServer } = await import('vite');\n\n const upgrades = new WeakMap<Response, WebSocketHandler>();\n\n (globalThis as any)[symUpgrades] = upgrades;\n\n const mockServer = new EventEmitter();\n\n const vite = await createServer({\n configFile: config,\n server: {\n hmr: satisfies('<1.2.6')\n ? {\n server: mockServer as any\n }\n : {\n port: hmrPort\n },\n middlewareMode: true
|
|
5
|
+
"import { EventEmitter } from 'events';\nimport { IncomingMessage, ServerResponse } from 'http';\nimport type { Server, WebSocketHandler as BunWSHandler } from 'bun';\nimport type { DevServeOptions, WebSocketHandler } from './types';\nimport { symServer, symUpgrades } from './symbols';\nimport type { ViteDevServer } from 'vite';\nimport {\n bunternal,\n bunternalPlugin,\n patchBunternal,\n setupBunternal\n} from './dev-internal/bunternal';\nimport { satisfies } from './dev-internal/version';\nimport { mockedHttpPlugin, mockNodeRequest, patchMockHttp } from './dev-internal/mock-http';\n\nexport async function patchSveltekit() {\n console.log(\n 'Now patchSveltekit function uses Bun plugin instead of bun patch,\\nyou can now safely remove all patches to @sveltejs/kit in package.json'\n );\n Bun.plugin({\n name: 'bun-patch-sveltekit',\n setup(build) {\n build.onLoad(\n { filter: /\\/@sveltejs\\/kit\\/src\\/exports\\/node\\/index\\.js$/ },\n async (args) => {\n const src = await Bun.file(args.path).text();\n return {\n contents: satisfies('<1.2.5') ? patchBunternal(src) : patchMockHttp(src)\n };\n }\n );\n }\n });\n}\n\nexport async function startDevServer({\n port = 5173,\n host = 'localhost',\n idleTimeout = 30,\n config,\n websocket = {} as any,\n hmrPort = undefined,\n exposeBunVersionToClient = false,\n exposeBunRevisionToClient = false,\n ...serveOptions\n}: DevServeOptions & {\n port?: number;\n host?: string;\n config?: string;\n} = {}) {\n if (!('Bun' in globalThis)) {\n throw new Error('Please run with bun');\n }\n\n if (exposeBunVersionToClient) {\n process.env.PUBLIC_BUN_VERSION = Bun.version;\n Bun.env.PUBLIC_BUN_VERSION = Bun.version;\n }\n\n if (exposeBunRevisionToClient) {\n process.env.PUBLIC_BUN_REVISION = Bun.revision;\n Bun.env.PUBLIC_BUN_REVISION = Bun.revision;\n }\n\n if (satisfies('>=1.2.6') && typeof hmrPort !== 'number') {\n // let vite pick one\n hmrPort = 0;\n }\n\n if (!config) {\n for (const cfg of [\n 'vite.config.ts',\n 'vite.config.js',\n 'vite.config.cjs',\n 'vite.config.mjs'\n ]) {\n if (Bun.file(cfg).size) {\n config = cfg;\n break;\n }\n }\n }\n if (!config) {\n throw new Error('No config file found.');\n }\n const { createServer } = await import('vite');\n\n const upgrades = new WeakMap<Response, WebSocketHandler>();\n\n (globalThis as any)[symUpgrades] = upgrades;\n\n const mockServer = new EventEmitter();\n\n const vite = await createServer({\n configFile: config,\n server: {\n hmr: satisfies('<1.2.6')\n ? {\n server: mockServer as any\n }\n : {\n port: hmrPort\n },\n middlewareMode: true\n },\n appType: 'custom',\n plugins: [satisfies('<1.2.5') ? bunternalPlugin : mockedHttpPlugin]\n });\n\n const hooks = await vite\n .ssrLoadModule('./src/hooks.server.ts')\n .catch(() => ({}) as Record<string, any>);\n\n await hooks.beforeServe?.();\n\n const getResponse = satisfies('<1.2.6') ? legacyReqRes : mockedReqRes;\n\n const server = Bun.serve({\n ...serveOptions,\n hostname: host,\n port,\n idleTimeout,\n async fetch(request: Request, server: Server<WebSocketHandler>) {\n const response = await getResponse(vite, request, server, mockServer);\n\n if (!response) return;\n\n if (upgrades.has(response)) {\n const ws = upgrades.get(response)!;\n if (server.upgrade(request, { data: ws, headers: response.headers })) {\n return;\n }\n }\n\n return response;\n },\n websocket: {\n ...websocket,\n open(ws) {\n return ws.data.open?.(ws);\n },\n message(ws, message) {\n return ws.data.message(ws, message);\n },\n drain(ws) {\n return ws.data.drain?.(ws);\n },\n close(ws, code, reason) {\n return ws.data.close?.(ws, code, reason);\n },\n ping(ws, buffer) {\n return ws.data.ping?.(ws, buffer);\n },\n pong(ws, buffer) {\n return ws.data.pong?.(ws, buffer);\n }\n } as BunWSHandler<WebSocketHandler>\n } as any);\n\n (mockServer as any)[bunternal] = server;\n\n (globalThis as any)[symServer] = server;\n\n await hooks.afterServe?.(server);\n\n console.log(`Serving on ${server.url}`);\n}\n\nfunction legacyReqRes(\n vite: ViteDevServer,\n request: Request,\n server: Server<WebSocketHandler>,\n mockServer: EventEmitter\n) {\n let pendingResponse: Response | undefined;\n let pendingError: Error | undefined;\n\n const { promise, resolve, reject } = Promise.withResolvers<Response>();\n\n function raise(err: any) {\n if (pendingError) return;\n reject((pendingError = err));\n }\n\n function respond(res: Response) {\n if (pendingResponse) return;\n resolve((pendingResponse = res));\n }\n\n const req = new IncomingMessage(request as any);\n const res = new (ServerResponse as any)(req, respond) as ServerResponse;\n\n const socket = req.socket as any;\n setupBunternal(socket, server, mockServer, res, request);\n\n req.once('error', raise);\n res.once('error', raise);\n\n if (request.headers.get('upgrade')) {\n if (request.headers.get('sec-websocket-protocol') === 'vite-hmr') {\n mockServer.emit('upgrade', req, socket, Buffer.alloc(0));\n return;\n }\n }\n\n vite.middlewares(req, res, (err: any) => {\n if (err) {\n vite.ssrFixStacktrace(err);\n raise(err);\n }\n });\n\n return promise;\n}\n\nfunction mockedReqRes(vite: ViteDevServer, request: Request, server: Server<WebSocketHandler>) {\n const { req, res, promise, reject } = mockNodeRequest(request, server);\n\n vite.middlewares(req, res, (err: any) => {\n if (err) {\n vite.ssrFixStacktrace(err);\n reject(err);\n }\n });\n\n return promise;\n}\n",
|
|
6
6
|
"import { name as adapterName } from '../package.json';\n\nexport const symServer: unique symbol = Symbol.for(`${adapterName}/server`);\nexport const symUpgrades: unique symbol = Symbol.for(`${adapterName}/upgrades`);\n",
|
|
7
7
|
"export function satisfies(range: string) {\n return Bun.semver.satisfies(Bun.version, range);\n}\n",
|
|
8
8
|
"import type { Server } from 'bun';\nimport type { EventEmitter } from 'events';\nimport type { ServerResponse } from 'http';\nimport type { Plugin } from 'vite';\nimport { satisfies } from './version';\nimport type { WebSocketHandler } from '../types';\n\nexport const bunternal = Symbol.for('::bunternal::');\n\nfunction setupBunternalOld(\n socket: any,\n bunServer: Server<WebSocketHandler>,\n httpServer: EventEmitter,\n httpRes: ServerResponse,\n bunReq: Request\n) {\n socket[bunternal] = [bunServer, httpServer, httpRes, bunReq];\n}\n\nfunction setupBunternalNew(\n socket: any,\n _: Server<WebSocketHandler>,\n httpServer: EventEmitter,\n httpRes: ServerResponse,\n bunReq: Request\n) {\n socket[bunternal] = [httpServer, httpRes, bunReq];\n}\n\nexport const setupBunternal = satisfies('<1.1.25') ? setupBunternalOld : setupBunternalNew;\n\nexport function patchBunternal(src: string) {\n const bunReqIndex = satisfies('<1.1.25') ? 2 : 3;\n\n const getRequestPatch = `\n\tif(Symbol.for('::bunternal::') in request.socket) {\n\t\treturn request.socket[Symbol.for('::bunternal::')][${bunReqIndex}];\n\t}\n`;\n\n const setResponsePatch = `\n\tif('Bun' in globalThis && '_reply' in res) {\n\t\tres._reply(response);\n\t\treturn;\n\t}\n`;\n const getReq = src.indexOf('export async function getRequest');\n const getReqStart = src.indexOf('\\n', getReq);\n\n const setRes = src.indexOf('export async function setResponse');\n const setResStart = src.indexOf('\\n', setRes);\n\n return src\n .slice(0, getReqStart)\n .concat(getRequestPatch)\n .concat(src.slice(getReqStart, setResStart))\n .concat(setResponsePatch)\n .concat(src.slice(setResStart));\n}\n\nexport const bunternalPlugin: Plugin = {\n name: 'sveltekit-adapter-bun/bunternal',\n transform(src, id, options) {\n if (!options?.ssr) return;\n if (!id.endsWith('/node_modules/@sveltejs/kit/src/exports/node/index.js')) return;\n\n return {\n code: patchBunternal(src)\n };\n }\n};\n",
|
|
9
9
|
"import { IncomingMessage, ServerResponse, type OutgoingHttpHeaders } from 'http';\nimport type { Socket } from 'net';\nimport { Duplex, PassThrough, Readable } from 'stream';\nimport type { Plugin } from 'vite';\nimport type { WebSocketHandler } from '../types';\n\nconst kReq = Symbol.for('::adapter-bun::request::');\nconst kRes = Symbol.for('::adapter-bun::response::');\n\nfunction defineGetter<T, K extends keyof T>(object: T, property: K, getter: () => T[K]) {\n Object.defineProperty(object, property, { get: getter });\n}\n\nexport function mockNodeRequest(\n request: Request,\n server: Bun.Server<WebSocketHandler>\n): {\n req: IncomingMessage;\n res: ServerResponse;\n promise: Promise<Response>;\n reject: (err: any) => void;\n} {\n const remote = server.requestIP(request)!;\n\n const cloned = request.clone();\n\n const readable = cloned.body\n ? Readable.fromWeb(cloned.body as any)\n : new Readable({\n read() {\n this.push(null);\n }\n });\n const writable = new PassThrough();\n writable.on('error', (err) => console.error('Writable stream error:', err));\n\n const mockSocket = Duplex.from({ readable, writable }) as any as Socket;\n mockSocket.on('error', (err) => console.error('Mock socket error:', err));\n\n defineGetter(mockSocket, 'remoteAddress', () => remote.address);\n defineGetter(mockSocket, 'remotePort', () => remote.port);\n defineGetter(mockSocket, 'remoteFamily', () => remote.family);\n defineGetter(mockSocket, 'address', () => () => remote);\n defineGetter(mockSocket, 'localAddress', () => server.hostname);\n defineGetter(mockSocket, 'localPort', () => server.port);\n defineGetter(mockSocket, 'setKeepAlive', () => () => mockSocket);\n defineGetter(mockSocket, 'setTimeout', () => () => mockSocket);\n defineGetter(mockSocket, 'setNoDelay', () => () => mockSocket);\n defineGetter(mockSocket, 'ref', () => () => mockSocket);\n defineGetter(mockSocket, 'unref', () => () => mockSocket);\n defineGetter(mockSocket, 'encrypted' as any, () => server.url.protocol === 'https:');\n\n const req = new IncomingMessage(mockSocket);\n req.socket = mockSocket;\n\n const url = new URL(request.url);\n\n req.method = request.method;\n req.url = url.pathname + url.search;\n req.headers = {};\n\n request.headers.forEach((value, name) => {\n req.headers[name] = value;\n });\n\n (req as any)[kReq] = request;\n\n const { promise, resolve, reject } = Promise.withResolvers<Response>();\n\n const headers = new Headers();\n let headerSent = false;\n\n (writable as any).setHeader = (name: string, value: string | number | string[]) => {\n headers.delete(name);\n if (Array.isArray(value)) {\n for (const v of value) {\n headers.append(name, v);\n }\n } else {\n headers.set(name, `${value}`);\n }\n };\n\n (writable as any).appendHeader = (name: string, value: string | number | string[]) => {\n if (Array.isArray(value)) {\n for (const v of value) {\n headers.append(name, v);\n }\n } else {\n headers.append(name, `${value}`);\n }\n };\n\n (writable as any).getHeader = (name: string) => {\n return headers.get(name);\n };\n\n (writable as any).writeHead = (statusCode: number) => {\n if (!headers.has('content-type')) {\n headers.set('content-type', Bun.file(url.pathname).type);\n }\n const body = Readable.toWeb(writable);\n const response = new Response(body as any, {\n status: statusCode,\n headers: headers\n });\n headerSent = true;\n resolve(response);\n };\n\n (writable as any)[kRes] = resolve;\n\n const old_write = writable._write.bind(writable);\n\n writable._write = (...args: any[]) => {\n if (!headerSent) {\n (writable as any).statusCode ??= 200;\n (writable as any).writeHead((writable as any).statusCode);\n writable._write = old_write;\n writable.end = old_end;\n }\n (old_write as any)(...args);\n };\n\n const old_end = writable.end.bind(writable);\n (writable as any).end = (...args: any[]) => {\n if (!headerSent) {\n (writable as any).statusCode ??= 200;\n (writable as any).writeHead((writable as any).statusCode);\n writable._write = old_write;\n writable.end = old_end;\n }\n (old_end as any)(...args);\n };\n\n return {\n req,\n res: writable as any,\n promise,\n reject\n };\n}\n\nexport function patchMockHttp(src: string) {\n const getRequestPatch = `\n if(Symbol.for('::adapter-bun::request::') in request) {\n return request[Symbol.for('::adapter-bun::request::')];\n }\n`;\n\n const setResponsePatch = `\n if(Symbol.for('::adapter-bun::response::') in res) {\n res[Symbol.for('::adapter-bun::response::')](response);\n return;\n }\n`;\n const getReq = src.indexOf('export async function getRequest');\n const getReqStart = src.indexOf('\\n', getReq);\n\n const setRes = src.indexOf('export async function setResponse');\n const setResStart = src.indexOf('\\n', setRes);\n\n return src\n .slice(0, getReqStart)\n .concat(getRequestPatch)\n .concat(src.slice(getReqStart, setResStart))\n .concat(setResponsePatch)\n .concat(src.slice(setResStart));\n}\n\nexport const mockedHttpPlugin: Plugin = {\n name: 'sveltekit-adapter-bun/mocked-http',\n transform(src, id, options) {\n if (!options?.ssr) return;\n if (!id.endsWith('/node_modules/@sveltejs/kit/src/exports/node/index.js')) return;\n\n return {\n code: patchMockHttp(src)\n };\n }\n};\n"
|
|
10
10
|
],
|
|
11
|
-
"mappings": "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
|
|
12
|
-
"debugId": "
|
|
11
|
+
"mappings": "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",
|
|
12
|
+
"debugId": "7F07281EF27208E364756E2164756E21",
|
|
13
13
|
"names": []
|
|
14
14
|
}
|
package/dist/files/index.js
CHANGED
|
@@ -12,7 +12,16 @@ var name = "@eslym/sveltekit-adapter-bun";
|
|
|
12
12
|
|
|
13
13
|
// src/files/server.ts
|
|
14
14
|
var server = new Server(manifest);
|
|
15
|
-
|
|
15
|
+
var init_promise = null;
|
|
16
|
+
async function init_server() {
|
|
17
|
+
if (EXPOSE_BUN_VERSION) {
|
|
18
|
+
process.env.PUBLIC_BUN_VERSION = Bun.version;
|
|
19
|
+
Bun.env.PUBLIC_BUN_VERSION = Bun.version;
|
|
20
|
+
}
|
|
21
|
+
if (EXPOSE_BUN_REVISION) {
|
|
22
|
+
process.env.PUBLIC_BUN_REVISION = Bun.revision;
|
|
23
|
+
Bun.env.PUBLIC_BUN_REVISION = Bun.revision;
|
|
24
|
+
}
|
|
16
25
|
await server.init({
|
|
17
26
|
env: Bun.env,
|
|
18
27
|
read(file) {
|
|
@@ -22,7 +31,9 @@ async function get_server() {
|
|
|
22
31
|
return Bun.file(join(globalThis[Symbol.for(`${name}::root`)], "clients", file)).stream();
|
|
23
32
|
}
|
|
24
33
|
});
|
|
25
|
-
|
|
34
|
+
}
|
|
35
|
+
async function get_server() {
|
|
36
|
+
return init_promise ??= init_server().then(() => server);
|
|
26
37
|
}
|
|
27
38
|
|
|
28
39
|
// src/files/utils.ts
|
|
@@ -204,44 +215,46 @@ async function serve_static({ request }) {
|
|
|
204
215
|
}
|
|
205
216
|
const [_, data] = res;
|
|
206
217
|
const headers = new Headers(data.headers.map((h2, i) => [headersMap[i], h2]));
|
|
207
|
-
const range = parse_range(request.headers);
|
|
208
218
|
const file = data.file;
|
|
209
219
|
headers.set("content-type", file.type);
|
|
210
|
-
if (
|
|
211
|
-
const
|
|
212
|
-
if (
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
220
|
+
if (Bun.semver.satisfies(Bun.version, "< 1.3.13")) {
|
|
221
|
+
const range = parse_range(request.headers);
|
|
222
|
+
if (range) {
|
|
223
|
+
const size = data.headers[2];
|
|
224
|
+
if (!range[0]) {
|
|
225
|
+
headers.set("content-range", `bytes */${size}`);
|
|
226
|
+
headers.set("content-length", "0");
|
|
227
|
+
return new Response(null, {
|
|
228
|
+
status: 416,
|
|
229
|
+
headers
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
const [_2, rangeStart, rangeEnd] = range;
|
|
233
|
+
let startBytes = 0;
|
|
234
|
+
let endBytes = size;
|
|
235
|
+
if (rangeStart < 0) {
|
|
236
|
+
startBytes = size + rangeStart;
|
|
237
|
+
} else {
|
|
238
|
+
startBytes = rangeStart;
|
|
239
|
+
if (rangeEnd)
|
|
240
|
+
endBytes = rangeEnd + 1;
|
|
241
|
+
}
|
|
242
|
+
if (endBytes <= startBytes || startBytes < 0 || endBytes > size) {
|
|
243
|
+
headers.set("content-range", `bytes */${size}`);
|
|
244
|
+
headers.set("content-length", "0");
|
|
245
|
+
return new Response(null, {
|
|
246
|
+
status: 416,
|
|
247
|
+
headers
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
headers.set("content-range", `bytes ${startBytes}-${endBytes - 1}/${size}`);
|
|
251
|
+
headers.set("content-length", `${endBytes - startBytes}`);
|
|
252
|
+
headers.set("accept-range", "bytes");
|
|
253
|
+
return new Response(file.slice(startBytes, endBytes), {
|
|
254
|
+
status: 206,
|
|
235
255
|
headers
|
|
236
256
|
});
|
|
237
257
|
}
|
|
238
|
-
headers.set("content-range", `bytes ${startBytes}-${endBytes - 1}/${size}`);
|
|
239
|
-
headers.set("content-length", `${endBytes - startBytes}`);
|
|
240
|
-
headers.set("accept-range", "bytes");
|
|
241
|
-
return new Response(file.slice(startBytes, endBytes), {
|
|
242
|
-
status: 206,
|
|
243
|
-
headers
|
|
244
|
-
});
|
|
245
258
|
}
|
|
246
259
|
headers.set("cache-control", data.immutable ? immutable_ttl : asset_ttl);
|
|
247
260
|
if (request.headers.has("if-none-match") && request.headers.get("if-none-match") === data.headers[1]) {
|
|
@@ -507,9 +520,30 @@ function websocketOptions() {
|
|
|
507
520
|
sendPings: !bool_env("WS_NO_PING")
|
|
508
521
|
};
|
|
509
522
|
}
|
|
523
|
+
function tlsOptions() {
|
|
524
|
+
const cert = get_env("TLS_CERT_FILE");
|
|
525
|
+
const key = get_env("TLS_KEY_FILE");
|
|
526
|
+
if (!cert || !key) {
|
|
527
|
+
if (cert || key) {
|
|
528
|
+
console.warn("[adapter-bun] TLS_CERT_FILE and TLS_KEY_FILE must both be set. TLS disabled.");
|
|
529
|
+
}
|
|
530
|
+
return {};
|
|
531
|
+
}
|
|
532
|
+
const ca = get_env("TLS_CA_FILE");
|
|
533
|
+
const passphrase = get_env("TLS_PASSPHRASE");
|
|
534
|
+
return {
|
|
535
|
+
tls: {
|
|
536
|
+
cert: Bun.file(cert),
|
|
537
|
+
key: Bun.file(key),
|
|
538
|
+
...ca ? { ca: Bun.file(ca) } : {},
|
|
539
|
+
...passphrase ? { passphrase } : {}
|
|
540
|
+
}
|
|
541
|
+
};
|
|
542
|
+
}
|
|
510
543
|
function serve() {
|
|
511
544
|
const server2 = Bun.serve({
|
|
512
545
|
...serveOptions(),
|
|
546
|
+
...tlsOptions(),
|
|
513
547
|
fetch: create_fetch({
|
|
514
548
|
overrideOrigin: get_env("HTTP_OVERRIDE_ORIGIN"),
|
|
515
549
|
hostHeader: get_env("HTTP_HOST_HEADER"),
|
|
@@ -532,6 +566,7 @@ if (Bun.main === Bun.fileURLToPath(import.meta.url)) {
|
|
|
532
566
|
export {
|
|
533
567
|
websocketOptions,
|
|
534
568
|
websocketHandler,
|
|
569
|
+
tlsOptions,
|
|
535
570
|
serveOptions,
|
|
536
571
|
serve,
|
|
537
572
|
create_fetch as createBunFetch
|
package/dist/index.js
CHANGED
|
@@ -516,6 +516,8 @@ function adapter(userOpts = {}) {
|
|
|
516
516
|
bundler: "rollup",
|
|
517
517
|
sourceMap: true,
|
|
518
518
|
bunBuildMinify: false,
|
|
519
|
+
exposeBunVersionToClient: false,
|
|
520
|
+
exposeBunRevisionToClient: false,
|
|
519
521
|
...userOpts
|
|
520
522
|
};
|
|
521
523
|
return {
|
|
@@ -624,7 +626,9 @@ function adapter(userOpts = {}) {
|
|
|
624
626
|
SERVER: "./server/index.js",
|
|
625
627
|
MANIFEST: "./server/manifest.js",
|
|
626
628
|
ASSETS: "./assets.js",
|
|
627
|
-
SERVE_STATIC: opts.serveStatic ? "true" : "false"
|
|
629
|
+
SERVE_STATIC: opts.serveStatic ? "true" : "false",
|
|
630
|
+
EXPOSE_BUN_VERSION: opts.exposeBunVersionToClient ? "true" : "false",
|
|
631
|
+
EXPOSE_BUN_REVISION: opts.exposeBunRevisionToClient ? "true" : "false"
|
|
628
632
|
}
|
|
629
633
|
});
|
|
630
634
|
const immutable = `${builder.config.kit.appDir}/immutable/`.replace(/^\/?/, "/");
|
|
@@ -749,4 +753,4 @@ export {
|
|
|
749
753
|
adapter as default
|
|
750
754
|
};
|
|
751
755
|
|
|
752
|
-
//# debugId=
|
|
756
|
+
//# debugId=9D1BA9E070FFF1F364756E2164756E21
|
package/dist/index.js.map
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts", "../node_modules/devalue/src/utils.js", "../node_modules/devalue/src/uneval.js", "../src/symbols.ts", "../src/build-assets.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"export type { WebSocketHandler, CreateFetchOptions } from './types';\nimport type {\n AdapterOptions,\n AdapterPlatform,\n PreCompressOptions,\n WebSocketHandler\n} from './types';\nimport type { Adapter } from '@sveltejs/kit';\nimport { name as adapterName } from '../package.json';\nimport { fileURLToPath } from 'url';\nimport zlib from 'zlib';\nimport {\n createReadStream,\n createWriteStream,\n existsSync,\n readFileSync,\n statSync,\n writeFileSync\n} from 'fs';\nimport { pipeline } from 'stream/promises';\nimport { rollup } from 'rollup';\nimport { nodeResolve } from '@rollup/plugin-node-resolve';\nimport commonjs from '@rollup/plugin-commonjs';\nimport json from '@rollup/plugin-json';\nimport { uneval } from 'devalue';\nimport { symServer, symUpgrades } from './symbols';\nimport { build_assets_js } from './build-assets';\n\nconst assets_module = 'sveltekit-adapter-bun:assets';\n\nconst files = fileURLToPath(new URL('./files', import.meta.url));\n\nexport default function adapter(userOpts: AdapterOptions = {}): Adapter {\n const opts: Required<AdapterOptions> = {\n out: './build',\n precompress: false,\n exportPrerender: false,\n serveStatic: true,\n staticIgnores: ['**/.*'],\n bundler: 'rollup',\n sourceMap: true,\n bunBuildMinify: false,\n ...userOpts\n };\n return {\n name: adapterName,\n async adapt(builder) {\n if (!('Bun' in globalThis)) {\n throw new Error('Please run with bun');\n }\n if (Bun.semver.order(Bun.version, '1.1.8') < 0) {\n if (opts.precompress === true) {\n builder.log.warn(\n `Bun v${Bun.version} does not support brotli, please use newer version of bun or nodejs to build, otherwise brotli will be ignore.`\n );\n opts.precompress = {\n gzip: true,\n brotli: false\n };\n } else if (typeof opts.precompress === 'object' && opts.precompress) {\n throw new Error(\n `Bun v${Bun.version} does not support brotli, please use newer version of bun or nodejs to build.`\n );\n }\n }\n\n const tmp = builder.getBuildDirectory(adapterName);\n\n builder.rimraf(tmp);\n builder.mkdirp(tmp);\n\n const { out, precompress } = opts;\n\n builder.rimraf(out);\n builder.mkdirp(out);\n\n builder.log.minor('Copying assets');\n\n builder.writeClient(`${out}/client${builder.config.kit.paths.base}`);\n builder.writePrerendered(`${out}/prerendered${builder.config.kit.paths.base}`);\n\n if (precompress) {\n builder.log.minor('Compressing assets');\n await Promise.all([\n compress(`${out}/client`, precompress),\n compress(`${out}/prerendered`, precompress)\n ]);\n }\n\n builder.log.minor('Building server');\n builder.writeServer(tmp);\n\n writeFileSync(\n `${tmp}/manifest.js`,\n `export const manifest = ${builder.generateManifest({ relativePath: './' })};\\n\\n` +\n `export const prerendered = new Set(${JSON.stringify(builder.prerendered.paths)});\\n`\n );\n\n const pkg = JSON.parse(readFileSync('package.json', 'utf8'));\n\n builder.log.minor('Bundling...');\n\n if (opts.bundler === 'rollup') {\n // we bundle the Vite output so that deployments only need\n // their production dependencies. Anything in devDependencies\n // will get included in the bundled code\n const bundle = await rollup({\n input: {\n index: `${tmp}/index.js`,\n manifest: `${tmp}/manifest.js`\n },\n external: [\n assets_module,\n // dependencies could have deep exports, so we need a regex\n ...Object.keys(pkg.dependencies || {}).map(\n (d) => new RegExp(`^${d}(\\\\/.*)?$`)\n )\n ],\n plugins: [\n nodeResolve({\n preferBuiltins: true,\n exportConditions: ['node']\n }),\n // @ts-ignore https://github.com/rollup/plugins/issues/1329\n commonjs({ strictRequires: true }),\n // @ts-ignore https://github.com/rollup/plugins/issues/1329\n json()\n ],\n onLog(level, log) {\n builder.log[level === 'debug' ? 'minor' : level](log.message);\n }\n });\n\n await bundle.write({\n dir: `${out}/server`,\n format: 'esm',\n sourcemap: opts.sourceMap,\n chunkFileNames: 'chunks/[name]-[hash].js'\n });\n } else {\n const res = await Bun.build({\n target: 'bun',\n entrypoints: [`${tmp}/index.js`, `${tmp}/manifest.js`],\n outdir: `${out}/server`,\n sourcemap:\n opts.sourceMap === true ? 'linked' : opts.sourceMap ? 'inline' : 'none',\n naming: {\n entry: '[name].[ext]',\n chunk: 'chunks/[name]-[hash].[ext]'\n },\n external: [assets_module, ...Object.keys(pkg.dependencies || {})],\n splitting: true,\n format: 'esm',\n minify: opts.bunBuildMinify\n });\n\n for (const msg of res.logs) {\n switch (msg.level) {\n case 'info':\n builder.log.info(Bun.inspect(msg, { colors: true }));\n break;\n case 'warning':\n builder.log.warn(Bun.inspect(msg, { colors: true }));\n break;\n case 'error':\n builder.log.error(Bun.inspect(msg, { colors: true }));\n break;\n }\n }\n\n if (!res.success) {\n process.exit(1);\n }\n }\n\n builder.copy(files, out, {\n replace: {\n SERVER: './server/index.js',\n MANIFEST: './server/manifest.js',\n ASSETS: './assets.js',\n SERVE_STATIC: opts.serveStatic ? 'true' : 'false'\n }\n });\n\n const immutable = `${builder.config.kit.appDir}/immutable/`.replace(/^\\/?/, '/');\n\n const staticIgnores = opts.staticIgnores.map((p) => new Bun.Glob(p));\n const clientFiles = new Bun.Glob('**/*');\n const clientPath = `${out}/client`;\n\n const assets_js = opts.serveStatic\n ? await build_assets_js(\n out,\n clientFiles.scan({\n cwd: clientPath,\n dot: true,\n absolute: false,\n onlyFiles: true\n }),\n builder.prerendered.pages,\n immutable,\n staticIgnores\n )\n : '// @bun\\nexport const assets = new Map();';\n\n await Bun.write(`${out}/assets.js`, assets_js);\n\n if ('patchedDependencies' in pkg) {\n const deps = Object.keys(pkg.devDependencies || {});\n for (const [patchedDep, patch] of Object.entries(pkg.patchedDependencies)) {\n let keep = true;\n for (const dep of deps) {\n if (!patchedDep.startsWith(`${dep}@`)) continue;\n keep = false;\n delete pkg.patchedDependencies[patchedDep];\n break;\n }\n if (keep) builder.copy(patch as string, `${out}/${patch}`);\n }\n }\n\n delete pkg.devDependencies;\n\n writeFileSync(`${out}/package.json`, JSON.stringify(pkg, null, 2) + '\\n');\n\n if (opts.exportPrerender) {\n const js =\n `export const paths = ${uneval(builder.prerendered.paths)};\\n` +\n `export const prerendered = ${uneval(builder.prerendered.pages)};\\n` +\n `export const assets = ${uneval(builder.prerendered.assets)};\\n` +\n `export const redirects = ${uneval(builder.prerendered.redirects)};\\n` +\n `export default { paths, prerendered, assets, redirects };\\n`;\n writeFileSync(`${out}/prerendered.js`, js);\n }\n\n builder.log.success(`Build done.`);\n },\n emulate() {\n return {\n platform(): AdapterPlatform {\n return {\n get originalRequest(): Request {\n throw Error('Not supported in dev mode');\n },\n get bunServer() {\n if (!(symServer in globalThis)) {\n throw Error('Not supported in dev mode');\n }\n return (globalThis as any)[symServer];\n },\n markForUpgrade(res, ws) {\n if (!(symUpgrades in globalThis)) {\n throw Error('Not supported in dev mode');\n }\n const upgrades = (globalThis as any)[symUpgrades] as WeakMap<\n Response,\n WebSocketHandler\n >;\n upgrades.set(res, ws);\n return res;\n }\n };\n }\n };\n },\n supports: {\n read: () => true\n }\n };\n}\n\nconst default_minimum_size = 1024;\n\nasync function compress(directory: string, options: true | PreCompressOptions | number) {\n if (!existsSync(directory)) {\n return;\n }\n\n const files_ext =\n options === true || typeof options === 'number' || !options.files\n ? ['html', 'js', 'json', 'css', 'svg', 'xml', 'wasm']\n : options.files;\n\n const glob = new Bun.Glob(`**/*.{${files_ext.join()}}`);\n const files = [\n ...glob.scanSync({\n cwd: directory,\n dot: true,\n absolute: true,\n onlyFiles: true\n })\n ];\n\n let doBr: false | number = false,\n doGz: false | number = false;\n\n if (options === true) {\n doBr = doGz = default_minimum_size;\n } else if (typeof options == 'number') {\n doBr = doGz = options;\n } else if (typeof options == 'object') {\n doBr =\n typeof options.brotli === 'number'\n ? options.brotli\n : options.brotli\n ? default_minimum_size\n : false;\n doGz =\n typeof options.gzip === 'number'\n ? options.gzip\n : options.gzip\n ? default_minimum_size\n : false;\n }\n\n await Promise.all(\n files.map((file) => {\n const size = Bun.file(file).size;\n return Promise.all([\n doGz !== false && size >= doGz && compress_file(file, 'gz'),\n doBr !== false && size >= doBr && compress_file(file, 'br')\n ]);\n })\n );\n}\n\n/**\n * @param {string} file\n * @param {'gz' | 'br'} format\n */\nasync function compress_file(file: string, format: 'gz' | 'br' = 'gz') {\n if (format === 'br' && typeof zlib.createBrotliCompress !== 'function') {\n throw new Error(\n 'Brotli compression is not supported, this might happens if you are using Bun to build your project instead of Node JS. See https://github.com/oven-sh/bun/issues/267'\n );\n }\n const compress =\n format == 'br'\n ? zlib.createBrotliCompress({\n params: {\n [zlib.constants.BROTLI_PARAM_MODE]: zlib.constants.BROTLI_MODE_TEXT,\n [zlib.constants.BROTLI_PARAM_QUALITY]: zlib.constants.BROTLI_MAX_QUALITY,\n [zlib.constants.BROTLI_PARAM_SIZE_HINT]: statSync(file).size\n }\n })\n : zlib.createGzip({ level: zlib.constants.Z_BEST_COMPRESSION });\n\n const source = createReadStream(file);\n const destination = createWriteStream(`${file}.${format}`);\n\n await pipeline(source, compress, destination);\n}\n\nexport { type AdapterOptions, type AdapterPlatform };\n",
|
|
5
|
+
"export type { WebSocketHandler, CreateFetchOptions } from './types';\nimport type {\n AdapterOptions,\n AdapterPlatform,\n PreCompressOptions,\n WebSocketHandler\n} from './types';\nimport type { Adapter } from '@sveltejs/kit';\nimport { name as adapterName } from '../package.json';\nimport { fileURLToPath } from 'url';\nimport zlib from 'zlib';\nimport {\n createReadStream,\n createWriteStream,\n existsSync,\n readFileSync,\n statSync,\n writeFileSync\n} from 'fs';\nimport { pipeline } from 'stream/promises';\nimport { rollup } from 'rollup';\nimport { nodeResolve } from '@rollup/plugin-node-resolve';\nimport commonjs from '@rollup/plugin-commonjs';\nimport json from '@rollup/plugin-json';\nimport { uneval } from 'devalue';\nimport { symServer, symUpgrades } from './symbols';\nimport { build_assets_js } from './build-assets';\n\nconst assets_module = 'sveltekit-adapter-bun:assets';\n\nconst files = fileURLToPath(new URL('./files', import.meta.url));\n\nexport default function adapter(userOpts: AdapterOptions = {}): Adapter {\n const opts: Required<AdapterOptions> = {\n out: './build',\n precompress: false,\n exportPrerender: false,\n serveStatic: true,\n staticIgnores: ['**/.*'],\n bundler: 'rollup',\n sourceMap: true,\n bunBuildMinify: false,\n exposeBunVersionToClient: false,\n exposeBunRevisionToClient: false,\n ...userOpts\n };\n return {\n name: adapterName,\n async adapt(builder) {\n if (!('Bun' in globalThis)) {\n throw new Error('Please run with bun');\n }\n if (Bun.semver.order(Bun.version, '1.1.8') < 0) {\n if (opts.precompress === true) {\n builder.log.warn(\n `Bun v${Bun.version} does not support brotli, please use newer version of bun or nodejs to build, otherwise brotli will be ignore.`\n );\n opts.precompress = {\n gzip: true,\n brotli: false\n };\n } else if (typeof opts.precompress === 'object' && opts.precompress) {\n throw new Error(\n `Bun v${Bun.version} does not support brotli, please use newer version of bun or nodejs to build.`\n );\n }\n }\n\n const tmp = builder.getBuildDirectory(adapterName);\n\n builder.rimraf(tmp);\n builder.mkdirp(tmp);\n\n const { out, precompress } = opts;\n\n builder.rimraf(out);\n builder.mkdirp(out);\n\n builder.log.minor('Copying assets');\n\n builder.writeClient(`${out}/client${builder.config.kit.paths.base}`);\n builder.writePrerendered(`${out}/prerendered${builder.config.kit.paths.base}`);\n\n if (precompress) {\n builder.log.minor('Compressing assets');\n await Promise.all([\n compress(`${out}/client`, precompress),\n compress(`${out}/prerendered`, precompress)\n ]);\n }\n\n builder.log.minor('Building server');\n builder.writeServer(tmp);\n\n writeFileSync(\n `${tmp}/manifest.js`,\n `export const manifest = ${builder.generateManifest({ relativePath: './' })};\\n\\n` +\n `export const prerendered = new Set(${JSON.stringify(builder.prerendered.paths)});\\n`\n );\n\n const pkg = JSON.parse(readFileSync('package.json', 'utf8'));\n\n builder.log.minor('Bundling...');\n\n if (opts.bundler === 'rollup') {\n // we bundle the Vite output so that deployments only need\n // their production dependencies. Anything in devDependencies\n // will get included in the bundled code\n const bundle = await rollup({\n input: {\n index: `${tmp}/index.js`,\n manifest: `${tmp}/manifest.js`\n },\n external: [\n assets_module,\n // dependencies could have deep exports, so we need a regex\n ...Object.keys(pkg.dependencies || {}).map(\n (d) => new RegExp(`^${d}(\\\\/.*)?$`)\n )\n ],\n plugins: [\n nodeResolve({\n preferBuiltins: true,\n exportConditions: ['node']\n }),\n // @ts-ignore https://github.com/rollup/plugins/issues/1329\n commonjs({ strictRequires: true }),\n // @ts-ignore https://github.com/rollup/plugins/issues/1329\n json()\n ],\n onLog(level, log) {\n builder.log[level === 'debug' ? 'minor' : level](log.message);\n }\n });\n\n await bundle.write({\n dir: `${out}/server`,\n format: 'esm',\n sourcemap: opts.sourceMap,\n chunkFileNames: 'chunks/[name]-[hash].js'\n });\n } else {\n const res = await Bun.build({\n target: 'bun',\n entrypoints: [`${tmp}/index.js`, `${tmp}/manifest.js`],\n outdir: `${out}/server`,\n sourcemap:\n opts.sourceMap === true ? 'linked' : opts.sourceMap ? 'inline' : 'none',\n naming: {\n entry: '[name].[ext]',\n chunk: 'chunks/[name]-[hash].[ext]'\n },\n external: [assets_module, ...Object.keys(pkg.dependencies || {})],\n splitting: true,\n format: 'esm',\n minify: opts.bunBuildMinify\n });\n\n for (const msg of res.logs) {\n switch (msg.level) {\n case 'info':\n builder.log.info(Bun.inspect(msg, { colors: true }));\n break;\n case 'warning':\n builder.log.warn(Bun.inspect(msg, { colors: true }));\n break;\n case 'error':\n builder.log.error(Bun.inspect(msg, { colors: true }));\n break;\n }\n }\n\n if (!res.success) {\n process.exit(1);\n }\n }\n\n builder.copy(files, out, {\n replace: {\n SERVER: './server/index.js',\n MANIFEST: './server/manifest.js',\n ASSETS: './assets.js',\n SERVE_STATIC: opts.serveStatic ? 'true' : 'false',\n EXPOSE_BUN_VERSION: opts.exposeBunVersionToClient ? 'true' : 'false',\n EXPOSE_BUN_REVISION: opts.exposeBunRevisionToClient ? 'true' : 'false'\n }\n });\n\n const immutable = `${builder.config.kit.appDir}/immutable/`.replace(/^\\/?/, '/');\n\n const staticIgnores = opts.staticIgnores.map((p) => new Bun.Glob(p));\n const clientFiles = new Bun.Glob('**/*');\n const clientPath = `${out}/client`;\n\n const assets_js = opts.serveStatic\n ? await build_assets_js(\n out,\n clientFiles.scan({\n cwd: clientPath,\n dot: true,\n absolute: false,\n onlyFiles: true\n }),\n builder.prerendered.pages,\n immutable,\n staticIgnores\n )\n : '// @bun\\nexport const assets = new Map();';\n\n await Bun.write(`${out}/assets.js`, assets_js);\n\n if ('patchedDependencies' in pkg) {\n const deps = Object.keys(pkg.devDependencies || {});\n for (const [patchedDep, patch] of Object.entries(pkg.patchedDependencies)) {\n let keep = true;\n for (const dep of deps) {\n if (!patchedDep.startsWith(`${dep}@`)) continue;\n keep = false;\n delete pkg.patchedDependencies[patchedDep];\n break;\n }\n if (keep) builder.copy(patch as string, `${out}/${patch}`);\n }\n }\n\n delete pkg.devDependencies;\n\n writeFileSync(`${out}/package.json`, JSON.stringify(pkg, null, 2) + '\\n');\n\n if (opts.exportPrerender) {\n const js =\n `export const paths = ${uneval(builder.prerendered.paths)};\\n` +\n `export const prerendered = ${uneval(builder.prerendered.pages)};\\n` +\n `export const assets = ${uneval(builder.prerendered.assets)};\\n` +\n `export const redirects = ${uneval(builder.prerendered.redirects)};\\n` +\n `export default { paths, prerendered, assets, redirects };\\n`;\n writeFileSync(`${out}/prerendered.js`, js);\n }\n\n builder.log.success(`Build done.`);\n },\n emulate() {\n return {\n platform(): AdapterPlatform {\n return {\n get originalRequest(): Request {\n throw Error('Not supported in dev mode');\n },\n get bunServer() {\n if (!(symServer in globalThis)) {\n throw Error('Not supported in dev mode');\n }\n return (globalThis as any)[symServer];\n },\n markForUpgrade(res, ws) {\n if (!(symUpgrades in globalThis)) {\n throw Error('Not supported in dev mode');\n }\n const upgrades = (globalThis as any)[symUpgrades] as WeakMap<\n Response,\n WebSocketHandler\n >;\n upgrades.set(res, ws);\n return res;\n }\n };\n }\n };\n },\n supports: {\n read: () => true\n }\n };\n}\n\nconst default_minimum_size = 1024;\n\nasync function compress(directory: string, options: true | PreCompressOptions | number) {\n if (!existsSync(directory)) {\n return;\n }\n\n const files_ext =\n options === true || typeof options === 'number' || !options.files\n ? ['html', 'js', 'json', 'css', 'svg', 'xml', 'wasm']\n : options.files;\n\n const glob = new Bun.Glob(`**/*.{${files_ext.join()}}`);\n const files = [\n ...glob.scanSync({\n cwd: directory,\n dot: true,\n absolute: true,\n onlyFiles: true\n })\n ];\n\n let doBr: false | number = false,\n doGz: false | number = false;\n\n if (options === true) {\n doBr = doGz = default_minimum_size;\n } else if (typeof options == 'number') {\n doBr = doGz = options;\n } else if (typeof options == 'object') {\n doBr =\n typeof options.brotli === 'number'\n ? options.brotli\n : options.brotli\n ? default_minimum_size\n : false;\n doGz =\n typeof options.gzip === 'number'\n ? options.gzip\n : options.gzip\n ? default_minimum_size\n : false;\n }\n\n await Promise.all(\n files.map((file) => {\n const size = Bun.file(file).size;\n return Promise.all([\n doGz !== false && size >= doGz && compress_file(file, 'gz'),\n doBr !== false && size >= doBr && compress_file(file, 'br')\n ]);\n })\n );\n}\n\n/**\n * @param {string} file\n * @param {'gz' | 'br'} format\n */\nasync function compress_file(file: string, format: 'gz' | 'br' = 'gz') {\n if (format === 'br' && typeof zlib.createBrotliCompress !== 'function') {\n throw new Error(\n 'Brotli compression is not supported, this might happens if you are using Bun to build your project instead of Node JS. See https://github.com/oven-sh/bun/issues/267'\n );\n }\n const compress =\n format == 'br'\n ? zlib.createBrotliCompress({\n params: {\n [zlib.constants.BROTLI_PARAM_MODE]: zlib.constants.BROTLI_MODE_TEXT,\n [zlib.constants.BROTLI_PARAM_QUALITY]: zlib.constants.BROTLI_MAX_QUALITY,\n [zlib.constants.BROTLI_PARAM_SIZE_HINT]: statSync(file).size\n }\n })\n : zlib.createGzip({ level: zlib.constants.Z_BEST_COMPRESSION });\n\n const source = createReadStream(file);\n const destination = createWriteStream(`${file}.${format}`);\n\n await pipeline(source, compress, destination);\n}\n\nexport { type AdapterOptions, type AdapterPlatform };\n",
|
|
6
6
|
"/** @type {Record<string, string>} */\nexport const escaped = {\n\t'<': '\\\\u003C',\n\t'\\\\': '\\\\\\\\',\n\t'\\b': '\\\\b',\n\t'\\f': '\\\\f',\n\t'\\n': '\\\\n',\n\t'\\r': '\\\\r',\n\t'\\t': '\\\\t',\n\t'\\u2028': '\\\\u2028',\n\t'\\u2029': '\\\\u2029'\n};\n\nexport class DevalueError extends Error {\n\t/**\n\t * @param {string} message\n\t * @param {string[]} keys\n\t * @param {any} [value] - The value that failed to be serialized\n\t * @param {any} [root] - The root value being serialized\n\t */\n\tconstructor(message, keys, value, root) {\n\t\tsuper(message);\n\t\tthis.name = 'DevalueError';\n\t\tthis.path = keys.join('');\n\t\tthis.value = value;\n\t\tthis.root = root;\n\t}\n}\n\n/** @param {any} thing */\nexport function is_primitive(thing) {\n\treturn Object(thing) !== thing;\n}\n\nconst object_proto_names = /* @__PURE__ */ Object.getOwnPropertyNames(\n\tObject.prototype\n)\n\t.sort()\n\t.join('\\0');\n\n/** @param {any} thing */\nexport function is_plain_object(thing) {\n\tconst proto = Object.getPrototypeOf(thing);\n\n\treturn (\n\t\tproto === Object.prototype ||\n\t\tproto === null ||\n\t\tObject.getPrototypeOf(proto) === null ||\n\t\tObject.getOwnPropertyNames(proto).sort().join('\\0') === object_proto_names\n\t);\n}\n\n/** @param {any} thing */\nexport function get_type(thing) {\n\treturn Object.prototype.toString.call(thing).slice(8, -1);\n}\n\n/** @param {string} char */\nfunction get_escaped_char(char) {\n\tswitch (char) {\n\t\tcase '\"':\n\t\t\treturn '\\\\\"';\n\t\tcase '<':\n\t\t\treturn '\\\\u003C';\n\t\tcase '\\\\':\n\t\t\treturn '\\\\\\\\';\n\t\tcase '\\n':\n\t\t\treturn '\\\\n';\n\t\tcase '\\r':\n\t\t\treturn '\\\\r';\n\t\tcase '\\t':\n\t\t\treturn '\\\\t';\n\t\tcase '\\b':\n\t\t\treturn '\\\\b';\n\t\tcase '\\f':\n\t\t\treturn '\\\\f';\n\t\tcase '\\u2028':\n\t\t\treturn '\\\\u2028';\n\t\tcase '\\u2029':\n\t\t\treturn '\\\\u2029';\n\t\tdefault:\n\t\t\treturn char < ' '\n\t\t\t\t? `\\\\u${char.charCodeAt(0).toString(16).padStart(4, '0')}`\n\t\t\t\t: '';\n\t}\n}\n\n/** @param {string} str */\nexport function stringify_string(str) {\n\tlet result = '';\n\tlet last_pos = 0;\n\tconst len = str.length;\n\n\tfor (let i = 0; i < len; i += 1) {\n\t\tconst char = str[i];\n\t\tconst replacement = get_escaped_char(char);\n\t\tif (replacement) {\n\t\t\tresult += str.slice(last_pos, i) + replacement;\n\t\t\tlast_pos = i + 1;\n\t\t}\n\t}\n\n\treturn `\"${last_pos === 0 ? str : result + str.slice(last_pos)}\"`;\n}\n\n/** @param {Record<string | symbol, any>} object */\nexport function enumerable_symbols(object) {\n\treturn Object.getOwnPropertySymbols(object).filter(\n\t\t(symbol) => Object.getOwnPropertyDescriptor(object, symbol).enumerable\n\t);\n}\n\nconst is_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/;\n\n/** @param {string} key */\nexport function stringify_key(key) {\n\treturn is_identifier.test(key) ? '.' + key : '[' + JSON.stringify(key) + ']';\n}\n",
|
|
7
7
|
"import {\n\tDevalueError,\n\tenumerable_symbols,\n\tescaped,\n\tget_type,\n\tis_plain_object,\n\tis_primitive,\n\tstringify_key,\n\tstringify_string\n} from './utils.js';\n\nconst chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$';\nconst unsafe_chars = /[<\\b\\f\\n\\r\\t\\0\\u2028\\u2029]/g;\nconst reserved =\n\t/^(?:do|if|in|for|int|let|new|try|var|byte|case|char|else|enum|goto|long|this|void|with|await|break|catch|class|const|final|float|short|super|throw|while|yield|delete|double|export|import|native|return|switch|throws|typeof|boolean|default|extends|finally|package|private|abstract|continue|debugger|function|volatile|interface|protected|transient|implements|instanceof|synchronized)$/;\n\n/**\n * Turn a value into the JavaScript that creates an equivalent value\n * @param {any} value\n * @param {(value: any, uneval: (value: any) => string) => string | void} [replacer]\n */\nexport function uneval(value, replacer) {\n\tconst counts = new Map();\n\n\t/** @type {string[]} */\n\tconst keys = [];\n\n\tconst custom = new Map();\n\n\t/** @param {any} thing */\n\tfunction walk(thing) {\n\t\tif (!is_primitive(thing)) {\n\t\t\tif (counts.has(thing)) {\n\t\t\t\tcounts.set(thing, counts.get(thing) + 1);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcounts.set(thing, 1);\n\n\t\t\tif (replacer) {\n\t\t\t\tconst str = replacer(thing, (value) => uneval(value, replacer));\n\n\t\t\t\tif (typeof str === 'string') {\n\t\t\t\t\tcustom.set(thing, str);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (typeof thing === 'function') {\n\t\t\t\tthrow new DevalueError(`Cannot stringify a function`, keys, thing, value);\n\t\t\t}\n\n\t\t\tconst type = get_type(thing);\n\n\t\t\tswitch (type) {\n\t\t\t\tcase 'Number':\n\t\t\t\tcase 'BigInt':\n\t\t\t\tcase 'String':\n\t\t\t\tcase 'Boolean':\n\t\t\t\tcase 'Date':\n\t\t\t\tcase 'RegExp':\n\t\t\t\tcase 'URL':\n\t\t\t\tcase 'URLSearchParams':\n\t\t\t\t\treturn;\n\n\t\t\t\tcase 'Array':\n\t\t\t\t\t/** @type {any[]} */ (thing).forEach((value, i) => {\n\t\t\t\t\t\tkeys.push(`[${i}]`);\n\t\t\t\t\t\twalk(value);\n\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Set':\n\t\t\t\t\tArray.from(thing).forEach(walk);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Map':\n\t\t\t\t\tfor (const [key, value] of thing) {\n\t\t\t\t\t\tkeys.push(\n\t\t\t\t\t\t\t`.get(${is_primitive(key) ? stringify_primitive(key) : '...'})`\n\t\t\t\t\t\t);\n\t\t\t\t\t\twalk(value);\n\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Int8Array':\n\t\t\t\tcase 'Uint8Array':\n\t\t\t\tcase 'Uint8ClampedArray':\n\t\t\t\tcase 'Int16Array':\n\t\t\t\tcase 'Uint16Array':\n\t\t\t\tcase 'Int32Array':\n\t\t\t\tcase 'Uint32Array':\n\t\t\t\tcase 'Float32Array':\n\t\t\t\tcase 'Float64Array':\n\t\t\t\tcase 'BigInt64Array':\n\t\t\t\tcase 'BigUint64Array':\n\t\t\t\t\twalk(thing.buffer);\n\t\t\t\t\treturn;\n\n\t\t\t\tcase 'ArrayBuffer':\n\t\t\t\t\treturn;\n\n\t\t\t\tcase 'Temporal.Duration':\n\t\t\t\tcase 'Temporal.Instant':\n\t\t\t\tcase 'Temporal.PlainDate':\n\t\t\t\tcase 'Temporal.PlainTime':\n\t\t\t\tcase 'Temporal.PlainDateTime':\n\t\t\t\tcase 'Temporal.PlainMonthDay':\n\t\t\t\tcase 'Temporal.PlainYearMonth':\n\t\t\t\tcase 'Temporal.ZonedDateTime':\n\t\t\t\t\treturn;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif (!is_plain_object(thing)) {\n\t\t\t\t\t\tthrow new DevalueError(\n\t\t\t\t\t\t\t`Cannot stringify arbitrary non-POJOs`,\n\t\t\t\t\t\t\tkeys,\n\t\t\t\t\t\t\tthing,\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (enumerable_symbols(thing).length > 0) {\n\t\t\t\t\t\tthrow new DevalueError(\n\t\t\t\t\t\t\t`Cannot stringify POJOs with symbolic keys`,\n\t\t\t\t\t\t\tkeys,\n\t\t\t\t\t\t\tthing,\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (const key in thing) {\n\t\t\t\t\t\tkeys.push(stringify_key(key));\n\t\t\t\t\t\twalk(thing[key]);\n\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\twalk(value);\n\n\tconst names = new Map();\n\n\tArray.from(counts)\n\t\t.filter((entry) => entry[1] > 1)\n\t\t.sort((a, b) => b[1] - a[1])\n\t\t.forEach((entry, i) => {\n\t\t\tnames.set(entry[0], get_name(i));\n\t\t});\n\n\t/**\n\t * @param {any} thing\n\t * @returns {string}\n\t */\n\tfunction stringify(thing) {\n\t\tif (names.has(thing)) {\n\t\t\treturn names.get(thing);\n\t\t}\n\n\t\tif (is_primitive(thing)) {\n\t\t\treturn stringify_primitive(thing);\n\t\t}\n\n\t\tif (custom.has(thing)) {\n\t\t\treturn custom.get(thing);\n\t\t}\n\n\t\tconst type = get_type(thing);\n\n\t\tswitch (type) {\n\t\t\tcase 'Number':\n\t\t\tcase 'String':\n\t\t\tcase 'Boolean':\n\t\t\t\treturn `Object(${stringify(thing.valueOf())})`;\n\n\t\t\tcase 'RegExp':\n\t\t\t\treturn `new RegExp(${stringify_string(thing.source)}, \"${\n\t\t\t\t\tthing.flags\n\t\t\t\t}\")`;\n\n\t\t\tcase 'Date':\n\t\t\t\treturn `new Date(${thing.getTime()})`;\n\n\t\t\tcase 'URL':\n\t\t\t\treturn `new URL(${stringify_string(thing.toString())})`;\n\n\t\t\tcase 'URLSearchParams':\n\t\t\t\treturn `new URLSearchParams(${stringify_string(thing.toString())})`;\n\n\t\t\tcase 'Array':\n\t\t\t\tconst members = /** @type {any[]} */ (thing).map((v, i) =>\n\t\t\t\t\ti in thing ? stringify(v) : ''\n\t\t\t\t);\n\t\t\t\tconst tail = thing.length === 0 || thing.length - 1 in thing ? '' : ',';\n\t\t\t\treturn `[${members.join(',')}${tail}]`;\n\n\t\t\tcase 'Set':\n\t\t\tcase 'Map':\n\t\t\t\treturn `new ${type}([${Array.from(thing).map(stringify).join(',')}])`;\n\n\t\t\tcase 'Int8Array':\n\t\t\tcase 'Uint8Array':\n\t\t\tcase 'Uint8ClampedArray':\n\t\t\tcase 'Int16Array':\n\t\t\tcase 'Uint16Array':\n\t\t\tcase 'Int32Array':\n\t\t\tcase 'Uint32Array':\n\t\t\tcase 'Float32Array':\n\t\t\tcase 'Float64Array':\n\t\t\tcase 'BigInt64Array':\n\t\t\tcase 'BigUint64Array': {\n\t\t\t\tlet str = `new ${type}`;\n\n\t\t\t\tif (counts.get(thing.buffer) === 1) {\n\t\t\t\t\tconst array = new thing.constructor(thing.buffer);\n\t\t\t\t\tstr += `([${array}])`;\n\t\t\t\t} else {\n\t\t\t\t\tstr += `([${stringify(thing.buffer)}])`;\n\t\t\t\t}\n\n\t\t\t\tconst a = thing.byteOffset;\n\t\t\t\tconst b = a + thing.byteLength;\n\n\t\t\t\t// handle subarrays\n\t\t\t\tif (a > 0 || b !== thing.buffer.byteLength) {\n\t\t\t\t\tconst m = +/(\\d+)/.exec(type)[1] / 8;\n\t\t\t\t\tstr += `.subarray(${a / m},${b / m})`;\n\t\t\t\t}\n\n\t\t\t\treturn str;\n\t\t\t}\n\n\t\t\tcase 'ArrayBuffer': {\n\t\t\t\tconst ui8 = new Uint8Array(thing);\n\t\t\t\treturn `new Uint8Array([${ui8.toString()}]).buffer`;\n\t\t\t}\n\n\t\t\tcase 'Temporal.Duration':\n\t\t\tcase 'Temporal.Instant':\n\t\t\tcase 'Temporal.PlainDate':\n\t\t\tcase 'Temporal.PlainTime':\n\t\t\tcase 'Temporal.PlainDateTime':\n\t\t\tcase 'Temporal.PlainMonthDay':\n\t\t\tcase 'Temporal.PlainYearMonth':\n\t\t\tcase 'Temporal.ZonedDateTime':\n\t\t\t\treturn `${type}.from(${stringify_string(thing.toString())})`;\n\n\t\t\tdefault:\n\t\t\t\tconst keys = Object.keys(thing);\n\t\t\t\tconst obj = keys\n\t\t\t\t\t.map((key) => `${safe_key(key)}:${stringify(thing[key])}`)\n\t\t\t\t\t.join(',');\n\t\t\t\tconst proto = Object.getPrototypeOf(thing);\n\t\t\t\tif (proto === null) {\n\t\t\t\t\treturn keys.length > 0\n\t\t\t\t\t\t? `{${obj},__proto__:null}`\n\t\t\t\t\t\t: `{__proto__:null}`;\n\t\t\t\t}\n\n\t\t\t\treturn `{${obj}}`;\n\t\t}\n\t}\n\n\tconst str = stringify(value);\n\n\tif (names.size) {\n\t\t/** @type {string[]} */\n\t\tconst params = [];\n\n\t\t/** @type {string[]} */\n\t\tconst statements = [];\n\n\t\t/** @type {string[]} */\n\t\tconst values = [];\n\n\t\tnames.forEach((name, thing) => {\n\t\t\tparams.push(name);\n\n\t\t\tif (custom.has(thing)) {\n\t\t\t\tvalues.push(/** @type {string} */ (custom.get(thing)));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (is_primitive(thing)) {\n\t\t\t\tvalues.push(stringify_primitive(thing));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst type = get_type(thing);\n\n\t\t\tswitch (type) {\n\t\t\t\tcase 'Number':\n\t\t\t\tcase 'String':\n\t\t\t\tcase 'Boolean':\n\t\t\t\t\tvalues.push(`Object(${stringify(thing.valueOf())})`);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'RegExp':\n\t\t\t\t\tvalues.push(thing.toString());\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Date':\n\t\t\t\t\tvalues.push(`new Date(${thing.getTime()})`);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Array':\n\t\t\t\t\tvalues.push(`Array(${thing.length})`);\n\t\t\t\t\t/** @type {any[]} */ (thing).forEach((v, i) => {\n\t\t\t\t\t\tstatements.push(`${name}[${i}]=${stringify(v)}`);\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Set':\n\t\t\t\t\tvalues.push(`new Set`);\n\t\t\t\t\tstatements.push(\n\t\t\t\t\t\t`${name}.${Array.from(thing)\n\t\t\t\t\t\t\t.map((v) => `add(${stringify(v)})`)\n\t\t\t\t\t\t\t.join('.')}`\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Map':\n\t\t\t\t\tvalues.push(`new Map`);\n\t\t\t\t\tstatements.push(\n\t\t\t\t\t\t`${name}.${Array.from(thing)\n\t\t\t\t\t\t\t.map(([k, v]) => `set(${stringify(k)}, ${stringify(v)})`)\n\t\t\t\t\t\t\t.join('.')}`\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'ArrayBuffer':\n\t\t\t\t\tvalues.push(\n\t\t\t\t\t\t`new Uint8Array([${new Uint8Array(thing).join(',')}]).buffer`\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tvalues.push(\n\t\t\t\t\t\tObject.getPrototypeOf(thing) === null ? 'Object.create(null)' : '{}'\n\t\t\t\t\t);\n\t\t\t\t\tObject.keys(thing).forEach((key) => {\n\t\t\t\t\t\tstatements.push(\n\t\t\t\t\t\t\t`${name}${safe_prop(key)}=${stringify(thing[key])}`\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tstatements.push(`return ${str}`);\n\n\t\treturn `(function(${params.join(',')}){${statements.join(\n\t\t\t';'\n\t\t)}}(${values.join(',')}))`;\n\t} else {\n\t\treturn str;\n\t}\n}\n\n/** @param {number} num */\nfunction get_name(num) {\n\tlet name = '';\n\n\tdo {\n\t\tname = chars[num % chars.length] + name;\n\t\tnum = ~~(num / chars.length) - 1;\n\t} while (num >= 0);\n\n\treturn reserved.test(name) ? `${name}0` : name;\n}\n\n/** @param {string} c */\nfunction escape_unsafe_char(c) {\n\treturn escaped[c] || c;\n}\n\n/** @param {string} str */\nfunction escape_unsafe_chars(str) {\n\treturn str.replace(unsafe_chars, escape_unsafe_char);\n}\n\n/** @param {string} key */\nfunction safe_key(key) {\n\treturn /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key)\n\t\t? key\n\t\t: escape_unsafe_chars(JSON.stringify(key));\n}\n\n/** @param {string} key */\nfunction safe_prop(key) {\n\treturn /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key)\n\t\t? `.${key}`\n\t\t: `[${escape_unsafe_chars(JSON.stringify(key))}]`;\n}\n\n/** @param {any} thing */\nfunction stringify_primitive(thing) {\n\tif (typeof thing === 'string') return stringify_string(thing);\n\tif (thing === void 0) return 'void 0';\n\tif (thing === 0 && 1 / thing < 0) return '-0';\n\tconst str = String(thing);\n\tif (typeof thing === 'number') return str.replace(/^(-)?0\\./, '$1.');\n\tif (typeof thing === 'bigint') return thing + 'n';\n\treturn str;\n}\n",
|
|
8
8
|
"import { name as adapterName } from '../package.json';\n\nexport const symServer: unique symbol = Symbol.for(`${adapterName}/server`);\nexport const symUpgrades: unique symbol = Symbol.for(`${adapterName}/upgrades`);\n",
|
|
9
9
|
"import type { Glob } from 'bun';\nimport { join } from 'path/posix';\n\nnamespace T {\n export function stringify(obj: any) {\n return JSON.stringify(obj, null, 2).replace(\n /[\\u007F-\\uFFFF]/g,\n (c) => '\\\\u' + ('0000' + c.charCodeAt(0).toString(16)).slice(-4)\n );\n }\n\n export function* concat(...args: Iterable<string>[]) {\n for (const arg of args) {\n yield* arg;\n }\n }\n\n export function fn(name: string, wraps: Iterable<string>) {\n return concat(name, '(', wraps, ')');\n }\n\n export function prop(name: Iterable<string>, value: Iterable<string>) {\n return concat(name, ': ', value);\n }\n\n export function obj(pairs: [Iterable<string>, Iterable<string>][]) {\n return concat(\n '{\\n ',\n indent(\n join(\n pairs.map(([k, v]) => prop(k, v)),\n ',\\n'\n )\n ),\n '\\n}'\n );\n }\n\n export function* join(args: Iterable<Iterable<string>>, seperator: string) {\n let last: Iterable<string> | null = null;\n for (const arg of args) {\n if (last) {\n yield* last;\n yield* seperator;\n }\n last = arg;\n }\n if (last) yield* last;\n }\n\n export function* indent(src: Iterable<string>) {\n for (const str of src) {\n for (const char of str) {\n yield char;\n if (char === '\\n') yield ' ';\n }\n }\n }\n\n export function collect(...src: Iterable<string>[]) {\n return Array.from(concat(...src)).join('');\n }\n}\n\nfunction to_base36(n: number) {\n return n.toString(36);\n}\n\nfunction get_imports_n(\n imports: Iterable<string>[],\n declared: Map<string, string>,\n import_path: string\n) {\n let n = declared.get(import_path);\n if (n === undefined) {\n n = to_base36(imports.length);\n imports.push(\n T.concat(`import f_${n} from `, T.stringify(import_path), ' with { type: \"file\" };')\n );\n declared.set(import_path, n);\n }\n return n;\n}\n\nfunction normalize_path(path: string) {\n return path.replace(/\\\\/g, '/');\n}\n\nexport async function build_assets_js(\n base_path: string,\n client_files: AsyncIterableIterator<string>,\n prerendered_pages: Map<string, { file: string }>,\n immutable_prefix: string,\n ignores: Glob[]\n): Promise<string> {\n const imports: Iterable<string>[] = [];\n const records: Iterable<string>[] = [];\n const declared = new Map<string, string>();\n\n for await (const path of client_files) {\n if (ignores.some((ignore) => ignore.match(path))) continue;\n const normalized = normalize_path(path);\n records.push(\n await build_asset_record(\n declared,\n imports,\n normalized.replace(/^(?:\\.?\\/)?/, '/'),\n join(base_path, 'client', normalized),\n './' + join('client', normalized),\n immutable_prefix\n )\n );\n }\n\n for await (const [pathname, target] of prerendered_pages) {\n records.push(\n await build_asset_record(\n declared,\n imports,\n pathname,\n join(base_path, 'prerendered', target.file),\n './' + join('prerendered', target.file),\n immutable_prefix\n )\n );\n }\n\n return T.collect(\n '// @bun\\n',\n \"import { file } from 'bun';\\n\",\n T.join(imports, '\\n'),\n '\\n',\n 'export const assets = new Map([\\n ',\n T.indent(T.join(records, ',\\n')),\n '\\n]);',\n '\\n'\n );\n}\n\nasync function build_asset_record(\n declared: Map<string, string>,\n imports: Iterable<string>[],\n pathname: string,\n filepath: string,\n import_path: string,\n immutable_prefix: string\n) {\n const file_n = get_imports_n(imports, declared, import_path);\n let br_n, gz_n;\n if (Bun.file(filepath + '.br').size) {\n br_n = get_imports_n(imports, declared, import_path + '.br');\n }\n if (Bun.file(filepath + '.gz').size) {\n gz_n = get_imports_n(imports, declared, import_path + '.gz');\n }\n const file = Bun.file(filepath);\n const sha = Bun.SHA1.hash(await file.arrayBuffer(), 'hex');\n return T.concat(\n '[\\n ',\n T.indent(\n T.join(\n [\n T.stringify(pathname),\n T.obj([\n ['file', T.fn('file', `f_${file_n}`)],\n ['immutable', pathname.startsWith(immutable_prefix) ? 'true' : 'false'],\n [\n 'headers',\n T.stringify([new Date(file.lastModified).toUTCString(), sha, file.size])\n ],\n [\n 'compression',\n T.concat(\n '[',\n br_n ? T.fn('file', `f_${br_n}`) : 'undefined',\n ', ',\n gz_n ? T.fn('file', `f_${gz_n}`) : 'undefined',\n ']'\n )\n ]\n ])\n ],\n ',\\n'\n )\n ),\n '\\n]'\n );\n}\n"
|
|
10
10
|
],
|
|
11
|
-
"mappings": ";;;;;;;AASA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA;AACA;AACA;AACA;AACA;;;ACtBO,IAAM,UAAU;AAAA,EACtB,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AACX;AAAA;AAEO,MAAM,qBAAqB,MAAM;AAAA,EAOvC,WAAW,CAAC,SAAS,MAAM,OAAO,MAAM;AAAA,IACvC,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO,KAAK,KAAK,EAAE;AAAA,IACxB,KAAK,QAAQ;AAAA,IACb,KAAK,OAAO;AAAA;AAEd;AAGO,SAAS,YAAY,CAAC,OAAO;AAAA,EACnC,OAAO,OAAO,KAAK,MAAM;AAAA;AAG1B,IAAM,qCAAqC,OAAO,oBACjD,OAAO,SACR,EACE,KAAK,EACL,KAAK,MAAI;AAGJ,SAAS,eAAe,CAAC,OAAO;AAAA,EACtC,MAAM,QAAQ,OAAO,eAAe,KAAK;AAAA,EAEzC,OACC,UAAU,OAAO,aACjB,UAAU,QACV,OAAO,eAAe,KAAK,MAAM,QACjC,OAAO,oBAAoB,KAAK,EAAE,KAAK,EAAE,KAAK,MAAI,MAAM;AAAA;AAKnD,SAAS,QAAQ,CAAC,OAAO;AAAA,EAC/B,OAAO,OAAO,UAAU,SAAS,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE;AAAA;AAIzD,SAAS,gBAAgB,CAAC,MAAM;AAAA,EAC/B,QAAQ;AAAA,SACF;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA,SACH;AAAA;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA,SACH;AAAA,MACJ,OAAO;AAAA;AAAA,MAEP,OAAO,OAAO,MACX,MAAM,KAAK,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,MACrD;AAAA;AAAA;AAKC,SAAS,gBAAgB,CAAC,KAAK;AAAA,EACrC,IAAI,SAAS;AAAA,EACb,IAAI,WAAW;AAAA,EACf,MAAM,MAAM,IAAI;AAAA,EAEhB,SAAS,IAAI,EAAG,IAAI,KAAK,KAAK,GAAG;AAAA,IAChC,MAAM,OAAO,IAAI;AAAA,IACjB,MAAM,cAAc,iBAAiB,IAAI;AAAA,IACzC,IAAI,aAAa;AAAA,MAChB,UAAU,IAAI,MAAM,UAAU,CAAC,IAAI;AAAA,MACnC,WAAW,IAAI;AAAA,IAChB;AAAA,EACD;AAAA,EAEA,OAAO,IAAI,aAAa,IAAI,MAAM,SAAS,IAAI,MAAM,QAAQ;AAAA;AAIvD,SAAS,kBAAkB,CAAC,QAAQ;AAAA,EAC1C,OAAO,OAAO,sBAAsB,MAAM,EAAE,OAC3C,CAAC,WAAW,OAAO,yBAAyB,QAAQ,MAAM,EAAE,UAC7D;AAAA;AAGD,IAAM,gBAAgB;AAGf,SAAS,aAAa,CAAC,KAAK;AAAA,EAClC,OAAO,cAAc,KAAK,GAAG,IAAI,MAAM,MAAM,MAAM,KAAK,UAAU,GAAG,IAAI;AAAA;;;ACzG1E,IAAM,QAAQ;AACd,IAAM,eAAe;AACrB,IAAM,WACL;AAOM,SAAS,MAAM,CAAC,OAAO,UAAU;AAAA,EACvC,MAAM,SAAS,IAAI;AAAA,EAGnB,MAAM,OAAO,CAAC;AAAA,EAEd,MAAM,SAAS,IAAI;AAAA,EAGnB,SAAS,IAAI,CAAC,OAAO;AAAA,IACpB,IAAI,CAAC,aAAa,KAAK,GAAG;AAAA,MACzB,IAAI,OAAO,IAAI,KAAK,GAAG;AAAA,QACtB,OAAO,IAAI,OAAO,OAAO,IAAI,KAAK,IAAI,CAAC;AAAA,QACvC;AAAA,MACD;AAAA,MAEA,OAAO,IAAI,OAAO,CAAC;AAAA,MAEnB,IAAI,UAAU;AAAA,QACb,MAAM,OAAM,SAAS,OAAO,CAAC,WAAU,OAAO,QAAO,QAAQ,CAAC;AAAA,QAE9D,IAAI,OAAO,SAAQ,UAAU;AAAA,UAC5B,OAAO,IAAI,OAAO,IAAG;AAAA,UACrB;AAAA,QACD;AAAA,MACD;AAAA,MAEA,IAAI,OAAO,UAAU,YAAY;AAAA,QAChC,MAAM,IAAI,aAAa,+BAA+B,MAAM,OAAO,KAAK;AAAA,MACzE;AAAA,MAEA,MAAM,OAAO,SAAS,KAAK;AAAA,MAE3B,QAAQ;AAAA,aACF;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,UACJ;AAAA,aAEI;AAAA,UACkB,MAAO,QAAQ,CAAC,QAAO,MAAM;AAAA,YAClD,KAAK,KAAK,IAAI,IAAI;AAAA,YAClB,KAAK,MAAK;AAAA,YACV,KAAK,IAAI;AAAA,WACT;AAAA,UACD;AAAA,aAEI;AAAA,UACJ,MAAM,KAAK,KAAK,EAAE,QAAQ,IAAI;AAAA,UAC9B;AAAA,aAEI;AAAA,UACJ,YAAY,KAAK,WAAU,OAAO;AAAA,YACjC,KAAK,KACJ,QAAQ,aAAa,GAAG,IAAI,oBAAoB,GAAG,IAAI,QACxD;AAAA,YACA,KAAK,MAAK;AAAA,YACV,KAAK,IAAI;AAAA,UACV;AAAA,UACA;AAAA,aAEI;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,UACJ,KAAK,MAAM,MAAM;AAAA,UACjB;AAAA,aAEI;AAAA,UACJ;AAAA,aAEI;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,aACA;AAAA,UACJ;AAAA;AAAA,UAGA,IAAI,CAAC,gBAAgB,KAAK,GAAG;AAAA,YAC5B,MAAM,IAAI,aACT,wCACA,MACA,OACA,KACD;AAAA,UACD;AAAA,UAEA,IAAI,mBAAmB,KAAK,EAAE,SAAS,GAAG;AAAA,YACzC,MAAM,IAAI,aACT,6CACA,MACA,OACA,KACD;AAAA,UACD;AAAA,UAEA,WAAW,OAAO,OAAO;AAAA,YACxB,KAAK,KAAK,cAAc,GAAG,CAAC;AAAA,YAC5B,KAAK,MAAM,IAAI;AAAA,YACf,KAAK,IAAI;AAAA,UACV;AAAA;AAAA,IAEH;AAAA;AAAA,EAGD,KAAK,KAAK;AAAA,EAEV,MAAM,QAAQ,IAAI;AAAA,EAElB,MAAM,KAAK,MAAM,EACf,OAAO,CAAC,UAAU,MAAM,KAAK,CAAC,EAC9B,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,EAC1B,QAAQ,CAAC,OAAO,MAAM;AAAA,IACtB,MAAM,IAAI,MAAM,IAAI,SAAS,CAAC,CAAC;AAAA,GAC/B;AAAA,EAMF,SAAS,SAAS,CAAC,OAAO;AAAA,IACzB,IAAI,MAAM,IAAI,KAAK,GAAG;AAAA,MACrB,OAAO,MAAM,IAAI,KAAK;AAAA,IACvB;AAAA,IAEA,IAAI,aAAa,KAAK,GAAG;AAAA,MACxB,OAAO,oBAAoB,KAAK;AAAA,IACjC;AAAA,IAEA,IAAI,OAAO,IAAI,KAAK,GAAG;AAAA,MACtB,OAAO,OAAO,IAAI,KAAK;AAAA,IACxB;AAAA,IAEA,MAAM,OAAO,SAAS,KAAK;AAAA,IAE3B,QAAQ;AAAA,WACF;AAAA,WACA;AAAA,WACA;AAAA,QACJ,OAAO,UAAU,UAAU,MAAM,QAAQ,CAAC;AAAA,WAEtC;AAAA,QACJ,OAAO,cAAc,iBAAiB,MAAM,MAAM,OACjD,MAAM;AAAA,WAGH;AAAA,QACJ,OAAO,YAAY,MAAM,QAAQ;AAAA,WAE7B;AAAA,QACJ,OAAO,WAAW,iBAAiB,MAAM,SAAS,CAAC;AAAA,WAE/C;AAAA,QACJ,OAAO,uBAAuB,iBAAiB,MAAM,SAAS,CAAC;AAAA,WAE3D;AAAA,QACJ,MAAM,UAAgC,MAAO,IAAI,CAAC,GAAG,OACpD,KAAK,SAAQ,UAAU,CAAC,IAAI,EAC7B;AAAA,QACA,MAAM,OAAO,MAAM,WAAW,KAAK,MAAM,SAAS,KAAK,QAAQ,KAAK;AAAA,QACpE,OAAO,IAAI,QAAQ,KAAK,GAAG,IAAI;AAAA,WAE3B;AAAA,WACA;AAAA,QACJ,OAAO,OAAO,SAAS,MAAM,KAAK,KAAK,EAAE,IAAI,SAAS,EAAE,KAAK,GAAG;AAAA,WAE5D;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA,kBAAkB;AAAA,QACtB,IAAI,OAAM,OAAO;AAAA,QAEjB,IAAI,OAAO,IAAI,MAAM,MAAM,MAAM,GAAG;AAAA,UACnC,MAAM,QAAQ,IAAI,MAAM,YAAY,MAAM,MAAM;AAAA,UAChD,QAAO,KAAK;AAAA,QACb,EAAO;AAAA,UACN,QAAO,KAAK,UAAU,MAAM,MAAM;AAAA;AAAA,QAGnC,MAAM,IAAI,MAAM;AAAA,QAChB,MAAM,IAAI,IAAI,MAAM;AAAA,QAGpB,IAAI,IAAI,KAAK,MAAM,MAAM,OAAO,YAAY;AAAA,UAC3C,MAAM,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,KAAK;AAAA,UACnC,QAAO,aAAa,IAAI,KAAK,IAAI;AAAA,QAClC;AAAA,QAEA,OAAO;AAAA,MACR;AAAA,WAEK,eAAe;AAAA,QACnB,MAAM,MAAM,IAAI,WAAW,KAAK;AAAA,QAChC,OAAO,mBAAmB,IAAI,SAAS;AAAA,MACxC;AAAA,WAEK;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,WACA;AAAA,QACJ,OAAO,GAAG,aAAa,iBAAiB,MAAM,SAAS,CAAC;AAAA;AAAA,QAGxD,MAAM,QAAO,OAAO,KAAK,KAAK;AAAA,QAC9B,MAAM,MAAM,MACV,IAAI,CAAC,QAAQ,GAAG,SAAS,GAAG,KAAK,UAAU,MAAM,IAAI,GAAG,EACxD,KAAK,GAAG;AAAA,QACV,MAAM,QAAQ,OAAO,eAAe,KAAK;AAAA,QACzC,IAAI,UAAU,MAAM;AAAA,UACnB,OAAO,MAAK,SAAS,IAClB,IAAI,wBACJ;AAAA,QACJ;AAAA,QAEA,OAAO,IAAI;AAAA;AAAA;AAAA,EAId,MAAM,MAAM,UAAU,KAAK;AAAA,EAE3B,IAAI,MAAM,MAAM;AAAA,IAEf,MAAM,SAAS,CAAC;AAAA,IAGhB,MAAM,aAAa,CAAC;AAAA,IAGpB,MAAM,SAAS,CAAC;AAAA,IAEhB,MAAM,QAAQ,CAAC,OAAM,UAAU;AAAA,MAC9B,OAAO,KAAK,KAAI;AAAA,MAEhB,IAAI,OAAO,IAAI,KAAK,GAAG;AAAA,QACtB,OAAO,KAA4B,OAAO,IAAI,KAAK,CAAE;AAAA,QACrD;AAAA,MACD;AAAA,MAEA,IAAI,aAAa,KAAK,GAAG;AAAA,QACxB,OAAO,KAAK,oBAAoB,KAAK,CAAC;AAAA,QACtC;AAAA,MACD;AAAA,MAEA,MAAM,OAAO,SAAS,KAAK;AAAA,MAE3B,QAAQ;AAAA,aACF;AAAA,aACA;AAAA,aACA;AAAA,UACJ,OAAO,KAAK,UAAU,UAAU,MAAM,QAAQ,CAAC,IAAI;AAAA,UACnD;AAAA,aAEI;AAAA,UACJ,OAAO,KAAK,MAAM,SAAS,CAAC;AAAA,UAC5B;AAAA,aAEI;AAAA,UACJ,OAAO,KAAK,YAAY,MAAM,QAAQ,IAAI;AAAA,UAC1C;AAAA,aAEI;AAAA,UACJ,OAAO,KAAK,SAAS,MAAM,SAAS;AAAA,UACd,MAAO,QAAQ,CAAC,GAAG,MAAM;AAAA,YAC9C,WAAW,KAAK,GAAG,SAAQ,MAAM,UAAU,CAAC,GAAG;AAAA,WAC/C;AAAA,UACD;AAAA,aAEI;AAAA,UACJ,OAAO,KAAK,SAAS;AAAA,UACrB,WAAW,KACV,GAAG,SAAQ,MAAM,KAAK,KAAK,EACzB,IAAI,CAAC,MAAM,OAAO,UAAU,CAAC,IAAI,EACjC,KAAK,GAAG,GACX;AAAA,UACA;AAAA,aAEI;AAAA,UACJ,OAAO,KAAK,SAAS;AAAA,UACrB,WAAW,KACV,GAAG,SAAQ,MAAM,KAAK,KAAK,EACzB,IAAI,EAAE,GAAG,OAAO,OAAO,UAAU,CAAC,MAAM,UAAU,CAAC,IAAI,EACvD,KAAK,GAAG,GACX;AAAA,UACA;AAAA,aAEI;AAAA,UACJ,OAAO,KACN,mBAAmB,IAAI,WAAW,KAAK,EAAE,KAAK,GAAG,YAClD;AAAA,UACA;AAAA;AAAA,UAGA,OAAO,KACN,OAAO,eAAe,KAAK,MAAM,OAAO,wBAAwB,IACjE;AAAA,UACA,OAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AAAA,YACnC,WAAW,KACV,GAAG,QAAO,UAAU,GAAG,KAAK,UAAU,MAAM,IAAI,GACjD;AAAA,WACA;AAAA;AAAA,KAEH;AAAA,IAED,WAAW,KAAK,UAAU,KAAK;AAAA,IAE/B,OAAO,aAAa,OAAO,KAAK,GAAG,MAAM,WAAW,KACnD,GACD,MAAM,OAAO,KAAK,GAAG;AAAA,EACtB,EAAO;AAAA,IACN,OAAO;AAAA;AAAA;AAKT,SAAS,QAAQ,CAAC,KAAK;AAAA,EACtB,IAAI,QAAO;AAAA,EAEX,GAAG;AAAA,IACF,QAAO,MAAM,MAAM,MAAM,UAAU;AAAA,IACnC,MAAM,CAAC,EAAE,MAAM,MAAM,UAAU;AAAA,EAChC,SAAS,OAAO;AAAA,EAEhB,OAAO,SAAS,KAAK,KAAI,IAAI,GAAG,WAAU;AAAA;AAI3C,SAAS,kBAAkB,CAAC,GAAG;AAAA,EAC9B,OAAO,QAAQ,MAAM;AAAA;AAItB,SAAS,mBAAmB,CAAC,KAAK;AAAA,EACjC,OAAO,IAAI,QAAQ,cAAc,kBAAkB;AAAA;AAIpD,SAAS,QAAQ,CAAC,KAAK;AAAA,EACtB,OAAO,6BAA6B,KAAK,GAAG,IACzC,MACA,oBAAoB,KAAK,UAAU,GAAG,CAAC;AAAA;AAI3C,SAAS,SAAS,CAAC,KAAK;AAAA,EACvB,OAAO,6BAA6B,KAAK,GAAG,IACzC,IAAI,QACJ,IAAI,oBAAoB,KAAK,UAAU,GAAG,CAAC;AAAA;AAI/C,SAAS,mBAAmB,CAAC,OAAO;AAAA,EACnC,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO,iBAAiB,KAAK;AAAA,EAC5D,IAAI,UAAe;AAAA,IAAG,OAAO;AAAA,EAC7B,IAAI,UAAU,KAAK,IAAI,QAAQ;AAAA,IAAG,OAAO;AAAA,EACzC,MAAM,MAAM,OAAO,KAAK;AAAA,EACxB,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO,IAAI,QAAQ,YAAY,KAAK;AAAA,EACnE,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO,QAAQ;AAAA,EAC9C,OAAO;AAAA;;ACnZD,IAAM,YAA2B,OAAO,IAAI,GAAG,aAAoB;AACnE,IAAM,cAA6B,OAAO,IAAI,GAAG,eAAsB;;;ACF9E;AAEA,IAAU;AAAA,CAAV,CAAU,MAAV;AAAA,EACW,SAAS,UAAS,CAAC,MAAU;AAAA,IAChC,OAAO,KAAK,UAAU,MAAK,MAAM,CAAC,EAAE,QAChC,oBACA,CAAC,MAAM,SAAS,SAAS,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CACnE;AAAA;AAAA,EAJG,EAAS;AAAA,EAOT,UAAU,MAAM,IAAI,MAA0B;AAAA,IACjD,WAAW,OAAO,MAAM;AAAA,MACpB,OAAO;AAAA,IACX;AAAA;AAAA,EAHG,EAAU;AAAA,EAMV,SAAS,EAAE,CAAC,OAAc,OAAyB;AAAA,IACtD,OAAO,OAAO,OAAM,KAAK,OAAO,GAAG;AAAA;AAAA,EADhC,EAAS;AAAA,EAIT,SAAS,IAAI,CAAC,OAAwB,OAAyB;AAAA,IAClE,OAAO,OAAO,OAAM,MAAM,KAAK;AAAA;AAAA,EAD5B,EAAS;AAAA,EAIT,SAAS,GAAG,CAAC,OAA+C;AAAA,IAC/D,OAAO,OACH;AAAA,KACA,OACI,MACI,MAAM,IAAI,EAAE,GAAG,OAAO,KAAK,GAAG,CAAC,CAAC,GAChC;AAAA,CACJ,CACJ,GACA;AAAA,EACJ;AAAA;AAAA,EAVG,EAAS;AAAA,EAaT,UAAU,KAAI,CAAC,MAAkC,WAAmB;AAAA,IACvE,IAAI,OAAgC;AAAA,IACpC,WAAW,OAAO,MAAM;AAAA,MACpB,IAAI,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,MACX;AAAA,MACA,OAAO;AAAA,IACX;AAAA,IACA,IAAI;AAAA,MAAM,OAAO;AAAA;AAAA,EATd,EAAU;AAAA,EAYV,UAAU,MAAM,CAAC,KAAuB;AAAA,IAC3C,WAAW,OAAO,KAAK;AAAA,MACnB,WAAW,QAAQ,KAAK;AAAA,QACpB,MAAM;AAAA,QACN,IAAI,SAAS;AAAA;AAAA,UAAM,MAAM;AAAA,MAC7B;AAAA,IACJ;AAAA;AAAA,EANG,EAAU;AAAA,EASV,SAAS,OAAO,IAAI,KAAyB;AAAA,IAChD,OAAO,MAAM,KAAK,OAAO,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE;AAAA;AAAA,EADtC,EAAS;AAAA,GAxDV;AA6DV,SAAS,SAAS,CAAC,GAAW;AAAA,EAC1B,OAAO,EAAE,SAAS,EAAE;AAAA;AAGxB,SAAS,aAAa,CAClB,SACA,UACA,aACF;AAAA,EACE,IAAI,IAAI,SAAS,IAAI,WAAW;AAAA,EAChC,IAAI,MAAM,WAAW;AAAA,IACjB,IAAI,UAAU,QAAQ,MAAM;AAAA,IAC5B,QAAQ,KACJ,EAAE,OAAO,YAAY,WAAW,EAAE,UAAU,WAAW,GAAG,yBAAyB,CACvF;AAAA,IACA,SAAS,IAAI,aAAa,CAAC;AAAA,EAC/B;AAAA,EACA,OAAO;AAAA;AAGX,SAAS,cAAc,CAAC,MAAc;AAAA,EAClC,OAAO,KAAK,QAAQ,OAAO,GAAG;AAAA;AAGlC,eAAsB,eAAe,CACjC,WACA,cACA,mBACA,kBACA,SACe;AAAA,EACf,MAAM,UAA8B,CAAC;AAAA,EACrC,MAAM,UAA8B,CAAC;AAAA,EACrC,MAAM,WAAW,IAAI;AAAA,EAErB,iBAAiB,QAAQ,cAAc;AAAA,IACnC,IAAI,QAAQ,KAAK,CAAC,WAAW,OAAO,MAAM,IAAI,CAAC;AAAA,MAAG;AAAA,IAClD,MAAM,aAAa,eAAe,IAAI;AAAA,IACtC,QAAQ,KACJ,MAAM,mBACF,UACA,SACA,WAAW,QAAQ,eAAe,GAAG,GACrC,KAAK,WAAW,UAAU,UAAU,GACpC,OAAO,KAAK,UAAU,UAAU,GAChC,gBACJ,CACJ;AAAA,EACJ;AAAA,EAEA,kBAAkB,UAAU,WAAW,mBAAmB;AAAA,IACtD,QAAQ,KACJ,MAAM,mBACF,UACA,SACA,UACA,KAAK,WAAW,eAAe,OAAO,IAAI,GAC1C,OAAO,KAAK,eAAe,OAAO,IAAI,GACtC,gBACJ,CACJ;AAAA,EACJ;AAAA,EAEA,OAAO,EAAE,QACL;AAAA,GACA;AAAA,GACA,EAAE,KAAK,SAAS;AAAA,CAAI,GACpB;AAAA,GACA;AAAA,KACA,EAAE,OAAO,EAAE,KAAK,SAAS;AAAA,CAAK,CAAC,GAC/B;AAAA,MACA;AAAA,CACJ;AAAA;AAGJ,eAAe,kBAAkB,CAC7B,UACA,SACA,UACA,UACA,aACA,kBACF;AAAA,EACE,MAAM,SAAS,cAAc,SAAS,UAAU,WAAW;AAAA,EAC3D,IAAI,MAAM;AAAA,EACV,IAAI,IAAI,KAAK,WAAW,KAAK,EAAE,MAAM;AAAA,IACjC,OAAO,cAAc,SAAS,UAAU,cAAc,KAAK;AAAA,EAC/D;AAAA,EACA,IAAI,IAAI,KAAK,WAAW,KAAK,EAAE,MAAM;AAAA,IACjC,OAAO,cAAc,SAAS,UAAU,cAAc,KAAK;AAAA,EAC/D;AAAA,EACA,MAAM,OAAO,IAAI,KAAK,QAAQ;AAAA,EAC9B,MAAM,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,YAAY,GAAG,KAAK;AAAA,EACzD,OAAO,EAAE,OACL;AAAA,KACA,EAAE,OACE,EAAE,KACE;AAAA,IACI,EAAE,UAAU,QAAQ;AAAA,IACpB,EAAE,IAAI;AAAA,MACF,CAAC,QAAQ,EAAE,GAAG,QAAQ,KAAK,QAAQ,CAAC;AAAA,MACpC,CAAC,aAAa,SAAS,WAAW,gBAAgB,IAAI,SAAS,OAAO;AAAA,MACtE;AAAA,QACI;AAAA,QACA,EAAE,UAAU,CAAC,IAAI,KAAK,KAAK,YAAY,EAAE,YAAY,GAAG,KAAK,KAAK,IAAI,CAAC;AAAA,MAC3E;AAAA,MACA;AAAA,QACI;AAAA,QACA,EAAE,OACE,KACA,OAAO,EAAE,GAAG,QAAQ,KAAK,MAAM,IAAI,aACnC,MACA,OAAO,EAAE,GAAG,QAAQ,KAAK,MAAM,IAAI,aACnC,GACJ;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,EACL,GACA;AAAA,CACJ,CACJ,GACA;AAAA,EACJ;AAAA;;;AJ9JJ,IAAM,gBAAgB;AAEtB,IAAM,QAAQ,cAAc,IAAI,IAAI,WAAW,YAAY,GAAG,CAAC;AAE/D,SAAwB,OAAO,CAAC,WAA2B,CAAC,GAAY;AAAA,EACpE,MAAM,OAAiC;AAAA,IACnC,KAAK;AAAA,IACL,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,eAAe,CAAC,OAAO;AAAA,IACvB,SAAS;AAAA,IACT,WAAW;AAAA,IACX,gBAAgB;AAAA,OACb;AAAA,EACP;AAAA,EACA,OAAO;AAAA,IACH;AAAA,SACM,MAAK,CAAC,SAAS;AAAA,MACjB,IAAI,EAAE,SAAS,aAAa;AAAA,QACxB,MAAM,IAAI,MAAM,qBAAqB;AAAA,MACzC;AAAA,MACA,IAAI,IAAI,OAAO,MAAM,IAAI,SAAS,OAAO,IAAI,GAAG;AAAA,QAC5C,IAAI,KAAK,gBAAgB,MAAM;AAAA,UAC3B,QAAQ,IAAI,KACR,QAAQ,IAAI,uHAChB;AAAA,UACA,KAAK,cAAc;AAAA,YACf,MAAM;AAAA,YACN,QAAQ;AAAA,UACZ;AAAA,QACJ,EAAO,SAAI,OAAO,KAAK,gBAAgB,YAAY,KAAK,aAAa;AAAA,UACjE,MAAM,IAAI,MACN,QAAQ,IAAI,sFAChB;AAAA,QACJ;AAAA,MACJ;AAAA,MAEA,MAAM,MAAM,QAAQ,kBAAkB,IAAW;AAAA,MAEjD,QAAQ,OAAO,GAAG;AAAA,MAClB,QAAQ,OAAO,GAAG;AAAA,MAElB,QAAQ,KAAK,gBAAgB;AAAA,MAE7B,QAAQ,OAAO,GAAG;AAAA,MAClB,QAAQ,OAAO,GAAG;AAAA,MAElB,QAAQ,IAAI,MAAM,gBAAgB;AAAA,MAElC,QAAQ,YAAY,GAAG,aAAa,QAAQ,OAAO,IAAI,MAAM,MAAM;AAAA,MACnE,QAAQ,iBAAiB,GAAG,kBAAkB,QAAQ,OAAO,IAAI,MAAM,MAAM;AAAA,MAE7E,IAAI,aAAa;AAAA,QACb,QAAQ,IAAI,MAAM,oBAAoB;AAAA,QACtC,MAAM,QAAQ,IAAI;AAAA,UACd,SAAS,GAAG,cAAc,WAAW;AAAA,UACrC,SAAS,GAAG,mBAAmB,WAAW;AAAA,QAC9C,CAAC;AAAA,MACL;AAAA,MAEA,QAAQ,IAAI,MAAM,iBAAiB;AAAA,MACnC,QAAQ,YAAY,GAAG;AAAA,MAEvB,cACI,GAAG,mBACH,2BAA2B,QAAQ,iBAAiB,EAAE,cAAc,KAAK,CAAC;AAAA;AAAA,IACtE,sCAAsC,KAAK,UAAU,QAAQ,YAAY,KAAK;AAAA,CACtF;AAAA,MAEA,MAAM,MAAM,KAAK,MAAM,aAAa,gBAAgB,MAAM,CAAC;AAAA,MAE3D,QAAQ,IAAI,MAAM,aAAa;AAAA,MAE/B,IAAI,KAAK,YAAY,UAAU;AAAA,QAI3B,MAAM,SAAS,MAAM,OAAO;AAAA,UACxB,OAAO;AAAA,YACH,OAAO,GAAG;AAAA,YACV,UAAU,GAAG;AAAA,UACjB;AAAA,UACA,UAAU;AAAA,YACN;AAAA,YAEA,GAAG,OAAO,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IACnC,CAAC,MAAM,IAAI,OAAO,IAAI,YAAY,CACtC;AAAA,UACJ;AAAA,UACA,SAAS;AAAA,YACL,YAAY;AAAA,cACR,gBAAgB;AAAA,cAChB,kBAAkB,CAAC,MAAM;AAAA,YAC7B,CAAC;AAAA,YAED,SAAS,EAAE,gBAAgB,KAAK,CAAC;AAAA,YAEjC,KAAK;AAAA,UACT;AAAA,UACA,KAAK,CAAC,OAAO,KAAK;AAAA,YACd,QAAQ,IAAI,UAAU,UAAU,UAAU,OAAO,IAAI,OAAO;AAAA;AAAA,QAEpE,CAAC;AAAA,QAED,MAAM,OAAO,MAAM;AAAA,UACf,KAAK,GAAG;AAAA,UACR,QAAQ;AAAA,UACR,WAAW,KAAK;AAAA,UAChB,gBAAgB;AAAA,QACpB,CAAC;AAAA,MACL,EAAO;AAAA,QACH,MAAM,MAAM,MAAM,IAAI,MAAM;AAAA,UACxB,QAAQ;AAAA,UACR,aAAa,CAAC,GAAG,gBAAgB,GAAG,iBAAiB;AAAA,UACrD,QAAQ,GAAG;AAAA,UACX,WACI,KAAK,cAAc,OAAO,WAAW,KAAK,YAAY,WAAW;AAAA,UACrE,QAAQ;AAAA,YACJ,OAAO;AAAA,YACP,OAAO;AAAA,UACX;AAAA,UACA,UAAU,CAAC,eAAe,GAAG,OAAO,KAAK,IAAI,gBAAgB,CAAC,CAAC,CAAC;AAAA,UAChE,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,QAAQ,KAAK;AAAA,QACjB,CAAC;AAAA,QAED,WAAW,OAAO,IAAI,MAAM;AAAA,UACxB,QAAQ,IAAI;AAAA,iBACH;AAAA,cACD,QAAQ,IAAI,KAAK,IAAI,QAAQ,KAAK,EAAE,QAAQ,KAAK,CAAC,CAAC;AAAA,cACnD;AAAA,iBACC;AAAA,cACD,QAAQ,IAAI,KAAK,IAAI,QAAQ,KAAK,EAAE,QAAQ,KAAK,CAAC,CAAC;AAAA,cACnD;AAAA,iBACC;AAAA,cACD,QAAQ,IAAI,MAAM,IAAI,QAAQ,KAAK,EAAE,QAAQ,KAAK,CAAC,CAAC;AAAA,cACpD;AAAA;AAAA,QAEZ;AAAA,QAEA,IAAI,CAAC,IAAI,SAAS;AAAA,UACd,QAAQ,KAAK,CAAC;AAAA,QAClB;AAAA;AAAA,MAGJ,QAAQ,KAAK,OAAO,KAAK;AAAA,QACrB,SAAS;AAAA,UACL,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,cAAc,KAAK,cAAc,SAAS;AAAA,QAC9C;AAAA,MACJ,CAAC;AAAA,MAED,MAAM,YAAY,GAAG,QAAQ,OAAO,IAAI,oBAAoB,QAAQ,QAAQ,GAAG;AAAA,MAE/E,MAAM,gBAAgB,KAAK,cAAc,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC;AAAA,MACnE,MAAM,cAAc,IAAI,IAAI,KAAK,MAAM;AAAA,MACvC,MAAM,aAAa,GAAG;AAAA,MAEtB,MAAM,YAAY,KAAK,cACjB,MAAM,gBACF,KACA,YAAY,KAAK;AAAA,QACb,KAAK;AAAA,QACL,KAAK;AAAA,QACL,UAAU;AAAA,QACV,WAAW;AAAA,MACf,CAAC,GACD,QAAQ,YAAY,OACpB,WACA,aACJ,IACA;AAAA;AAAA,MAEN,MAAM,IAAI,MAAM,GAAG,iBAAiB,SAAS;AAAA,MAE7C,IAAI,yBAAyB,KAAK;AAAA,QAC9B,MAAM,OAAO,OAAO,KAAK,IAAI,mBAAmB,CAAC,CAAC;AAAA,QAClD,YAAY,YAAY,UAAU,OAAO,QAAQ,IAAI,mBAAmB,GAAG;AAAA,UACvE,IAAI,OAAO;AAAA,UACX,WAAW,OAAO,MAAM;AAAA,YACpB,IAAI,CAAC,WAAW,WAAW,GAAG,MAAM;AAAA,cAAG;AAAA,YACvC,OAAO;AAAA,YACP,OAAO,IAAI,oBAAoB;AAAA,YAC/B;AAAA,UACJ;AAAA,UACA,IAAI;AAAA,YAAM,QAAQ,KAAK,OAAiB,GAAG,OAAO,OAAO;AAAA,QAC7D;AAAA,MACJ;AAAA,MAEA,OAAO,IAAI;AAAA,MAEX,cAAc,GAAG,oBAAoB,KAAK,UAAU,KAAK,MAAM,CAAC,IAAI;AAAA,CAAI;AAAA,MAExE,IAAI,KAAK,iBAAiB;AAAA,QACtB,MAAM,KACF,wBAAwB,OAAO,QAAQ,YAAY,KAAK;AAAA,IACxD,8BAA8B,OAAO,QAAQ,YAAY,KAAK;AAAA,IAC9D,yBAAyB,OAAO,QAAQ,YAAY,MAAM;AAAA,IAC1D,4BAA4B,OAAO,QAAQ,YAAY,SAAS;AAAA,IAChE;AAAA;AAAA,QACJ,cAAc,GAAG,sBAAsB,EAAE;AAAA,MAC7C;AAAA,MAEA,QAAQ,IAAI,QAAQ,aAAa;AAAA;AAAA,IAErC,OAAO,GAAG;AAAA,MACN,OAAO;AAAA,QACH,QAAQ,GAAoB;AAAA,UACxB,OAAO;AAAA,gBACC,eAAe,GAAY;AAAA,cAC3B,MAAM,MAAM,2BAA2B;AAAA;AAAA,gBAEvC,SAAS,GAAG;AAAA,cACZ,IAAI,EAAE,aAAa,aAAa;AAAA,gBAC5B,MAAM,MAAM,2BAA2B;AAAA,cAC3C;AAAA,cACA,OAAQ,WAAmB;AAAA;AAAA,YAE/B,cAAc,CAAC,KAAK,IAAI;AAAA,cACpB,IAAI,EAAE,eAAe,aAAa;AAAA,gBAC9B,MAAM,MAAM,2BAA2B;AAAA,cAC3C;AAAA,cACA,MAAM,WAAY,WAAmB;AAAA,cAIrC,SAAS,IAAI,KAAK,EAAE;AAAA,cACpB,OAAO;AAAA;AAAA,UAEf;AAAA;AAAA,MAER;AAAA;AAAA,IAEJ,UAAU;AAAA,MACN,MAAM,MAAM;AAAA,IAChB;AAAA,EACJ;AAAA;AAGJ,IAAM,uBAAuB;AAE7B,eAAe,QAAQ,CAAC,WAAmB,SAA6C;AAAA,EACpF,IAAI,CAAC,WAAW,SAAS,GAAG;AAAA,IACxB;AAAA,EACJ;AAAA,EAEA,MAAM,YACF,YAAY,QAAQ,OAAO,YAAY,YAAY,CAAC,QAAQ,QACtD,CAAC,QAAQ,MAAM,QAAQ,OAAO,OAAO,OAAO,MAAM,IAClD,QAAQ;AAAA,EAElB,MAAM,OAAO,IAAI,IAAI,KAAK,SAAS,UAAU,KAAK,IAAI;AAAA,EACtD,MAAM,SAAQ;AAAA,IACV,GAAG,KAAK,SAAS;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAW;AAAA,IACf,CAAC;AAAA,EACL;AAAA,EAEA,IAAI,OAAuB,OACvB,OAAuB;AAAA,EAE3B,IAAI,YAAY,MAAM;AAAA,IAClB,OAAO,OAAO;AAAA,EAClB,EAAO,SAAI,OAAO,WAAW,UAAU;AAAA,IACnC,OAAO,OAAO;AAAA,EAClB,EAAO,SAAI,OAAO,WAAW,UAAU;AAAA,IACnC,OACI,OAAO,QAAQ,WAAW,WACpB,QAAQ,SACR,QAAQ,SACN,uBACA;AAAA,IACZ,OACI,OAAO,QAAQ,SAAS,WAClB,QAAQ,OACR,QAAQ,OACN,uBACA;AAAA,EAChB;AAAA,EAEA,MAAM,QAAQ,IACV,OAAM,IAAI,CAAC,SAAS;AAAA,IAChB,MAAM,OAAO,IAAI,KAAK,IAAI,EAAE;AAAA,IAC5B,OAAO,QAAQ,IAAI;AAAA,MACf,SAAS,SAAS,QAAQ,QAAQ,cAAc,MAAM,IAAI;AAAA,MAC1D,SAAS,SAAS,QAAQ,QAAQ,cAAc,MAAM,IAAI;AAAA,IAC9D,CAAC;AAAA,GACJ,CACL;AAAA;AAOJ,eAAe,aAAa,CAAC,MAAc,SAAsB,MAAM;AAAA,EACnE,IAAI,WAAW,QAAQ,OAAO,KAAK,yBAAyB,YAAY;AAAA,IACpE,MAAM,IAAI,MACN,sKACJ;AAAA,EACJ;AAAA,EACA,MAAM,YACF,UAAU,OACJ,KAAK,qBAAqB;AAAA,IACtB,QAAQ;AAAA,OACH,KAAK,UAAU,oBAAoB,KAAK,UAAU;AAAA,OAClD,KAAK,UAAU,uBAAuB,KAAK,UAAU;AAAA,OACrD,KAAK,UAAU,yBAAyB,SAAS,IAAI,EAAE;AAAA,IAC5D;AAAA,EACJ,CAAC,IACD,KAAK,WAAW,EAAE,OAAO,KAAK,UAAU,mBAAmB,CAAC;AAAA,EAEtE,MAAM,SAAS,iBAAiB,IAAI;AAAA,EACpC,MAAM,cAAc,kBAAkB,GAAG,QAAQ,QAAQ;AAAA,EAEzD,MAAM,SAAS,QAAQ,WAAU,WAAW;AAAA;",
|
|
12
|
-
"debugId": "
|
|
11
|
+
"mappings": "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",
|
|
12
|
+
"debugId": "9D1BA9E070FFF1F364756E2164756E21",
|
|
13
13
|
"names": []
|
|
14
14
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -22,6 +22,8 @@ export type WebSocketOptions = Pick<BunWSHandler, WebSocketOptionsKey>;
|
|
|
22
22
|
export type DevServeOptions = Omit<BunServeOptions, 'fetch'> & {
|
|
23
23
|
websocket?: WebSocketOptions;
|
|
24
24
|
hmrPort?: number;
|
|
25
|
+
exposeBunVersionToClient?: boolean;
|
|
26
|
+
exposeBunRevisionToClient?: boolean;
|
|
25
27
|
};
|
|
26
28
|
export interface WebSocketHandler {
|
|
27
29
|
/**
|
|
@@ -145,6 +147,16 @@ export type AdapterOptions = {
|
|
|
145
147
|
syntax?: boolean;
|
|
146
148
|
identifiers?: boolean;
|
|
147
149
|
};
|
|
150
|
+
/**
|
|
151
|
+
* Expose the Bun version to the client via public env (`PUBLIC_BUN_VERSION`).
|
|
152
|
+
* @default false
|
|
153
|
+
*/
|
|
154
|
+
exposeBunVersionToClient?: boolean;
|
|
155
|
+
/**
|
|
156
|
+
* Expose the Bun revision to the client via public env (`PUBLIC_BUN_REVISION`).
|
|
157
|
+
* @default false
|
|
158
|
+
*/
|
|
159
|
+
exposeBunRevisionToClient?: boolean;
|
|
148
160
|
};
|
|
149
161
|
export type PreCompressOptions = {
|
|
150
162
|
[k in 'gzip' | 'brotli']?: boolean | number;
|
package/package.json
CHANGED