alepha 0.22.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/jobs/index.d.ts +20 -20
- package/dist/api/jobs/index.d.ts.map +1 -1
- package/dist/api/keys/index.d.ts +6 -6
- package/dist/api/users/index.d.ts +43 -9
- package/dist/api/users/index.d.ts.map +1 -1
- package/dist/api/users/index.js +24 -3
- package/dist/api/users/index.js.map +1 -1
- package/dist/api/verifications/index.d.ts +13 -13
- package/dist/cli/core/index.d.ts +46 -40
- package/dist/cli/core/index.d.ts.map +1 -1
- package/dist/cli/core/index.js +51 -101
- package/dist/cli/core/index.js.map +1 -1
- package/dist/cli/i18n/index.d.ts +12 -5
- package/dist/cli/i18n/index.d.ts.map +1 -1
- package/dist/cli/i18n/index.js +45 -11
- package/dist/cli/i18n/index.js.map +1 -1
- package/dist/cli/platform-lib/index.d.ts +32 -6
- package/dist/cli/platform-lib/index.d.ts.map +1 -1
- package/dist/cli/platform-lib/index.js +82 -19
- package/dist/cli/platform-lib/index.js.map +1 -1
- package/dist/command/index.d.ts +1 -1
- package/dist/mcp/index.d.ts +9 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +23 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/react/form/index.d.ts +0 -1
- package/dist/react/form/index.d.ts.map +1 -1
- package/dist/react/form/index.js +16 -15
- package/dist/react/form/index.js.map +1 -1
- package/dist/react/i18n/index.d.ts +43 -0
- package/dist/react/i18n/index.d.ts.map +1 -1
- package/dist/react/i18n/index.js +114 -10
- package/dist/react/i18n/index.js.map +1 -1
- package/dist/react/router/index.browser.js +128 -5
- package/dist/react/router/index.browser.js.map +1 -1
- package/dist/react/router/index.d.ts +108 -1
- package/dist/react/router/index.d.ts.map +1 -1
- package/dist/react/router/index.js +184 -6
- package/dist/react/router/index.js.map +1 -1
- package/dist/react/sitemap/index.browser.js +35 -0
- package/dist/react/sitemap/index.browser.js.map +1 -0
- package/dist/react/sitemap/index.d.ts +92 -0
- package/dist/react/sitemap/index.d.ts.map +1 -0
- package/dist/react/sitemap/index.js +131 -0
- package/dist/react/sitemap/index.js.map +1 -0
- package/dist/server/auth/index.d.ts +105 -1
- package/dist/server/auth/index.d.ts.map +1 -1
- package/dist/server/auth/index.js +1604 -7
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/cookies/index.d.ts +15 -0
- package/dist/server/cookies/index.d.ts.map +1 -1
- package/dist/server/cookies/index.js +22 -3
- package/dist/server/cookies/index.js.map +1 -1
- package/dist/server/core/index.d.ts +18 -0
- package/dist/server/core/index.d.ts.map +1 -1
- package/dist/server/core/index.js +25 -0
- package/dist/server/core/index.js.map +1 -1
- package/package.json +16 -3
- package/src/api/users/controllers/RealmController.ts +1 -0
- package/src/api/users/primitives/$realm.ts +26 -0
- package/src/api/users/providers/RealmProvider.ts +15 -0
- package/src/api/users/schemas/realmConfigSchema.ts +14 -0
- package/src/cli/core/atoms/buildOptions.ts +0 -12
- package/src/cli/core/commands/build.ts +0 -10
- package/src/cli/core/index.ts +0 -3
- package/src/cli/core/tasks/BuildCloudflareTask.ts +37 -17
- package/src/cli/core/tasks/BuildPrerenderTask.ts +44 -7
- package/src/cli/i18n/__tests__/I18nCheckService.spec.ts +48 -0
- package/src/cli/i18n/services/I18nCheckService.ts +65 -11
- package/src/cli/platform-lib/adapters/CloudflareAdapter.ts +128 -36
- package/src/mcp/__tests__/McpServerProvider.spec.ts +71 -0
- package/src/mcp/providers/McpServerProvider.ts +55 -0
- package/src/react/form/__tests__/FormModel-submit-loading.spec.ts +71 -0
- package/src/react/form/__tests__/form-submitting-reactive.browser.spec.tsx +96 -0
- package/src/react/form/services/FormModel.ts +57 -39
- package/src/react/i18n/__tests__/I18nProvider.spec.ts +89 -0
- package/src/react/i18n/__tests__/locale-routing.spec.ts +107 -0
- package/src/react/i18n/providers/I18nProvider.ts +171 -12
- package/src/react/router/__tests__/RouterLocaleProvider.spec.ts +127 -0
- package/src/react/router/index.browser.ts +4 -0
- package/src/react/router/index.shared.ts +1 -0
- package/src/react/router/index.ts +9 -0
- package/src/react/router/providers/ReactBrowserRouterProvider.ts +15 -1
- package/src/react/router/providers/ReactPageProvider.ts +12 -1
- package/src/react/router/providers/ReactServerProvider.ts +92 -1
- package/src/react/router/providers/RootComponentsProvider.ts +13 -0
- package/src/react/router/providers/RouterLocaleProvider.ts +125 -0
- package/src/react/router/providers/__tests__/RootComponentsProvider.spec.ts +15 -0
- package/src/react/router/providers/__tests__/rootComponents.ssr.browser.spec.tsx +67 -0
- package/src/react/sitemap/__tests__/$sitemap.spec.ts +131 -0
- package/src/react/sitemap/index.browser.ts +21 -0
- package/src/react/sitemap/index.ts +25 -0
- package/src/react/sitemap/primitives/$sitemap.browser.ts +26 -0
- package/src/react/sitemap/primitives/$sitemap.ts +196 -0
- package/src/server/auth/__tests__/appleClientSecret.spec.ts +34 -0
- package/src/server/auth/__tests__/authFederationClient.spec.ts +40 -0
- package/src/server/auth/__tests__/federationAssertion.spec.ts +146 -0
- package/src/server/auth/__tests__/federationRedirectReplay.spec.ts +44 -0
- package/src/server/auth/helpers/appleClientSecret.ts +24 -0
- package/src/server/auth/helpers/federationAssertion.ts +74 -0
- package/src/server/auth/helpers/jtiReplayGuard.ts +41 -0
- package/src/server/auth/helpers/safeRedirectPath.ts +19 -0
- package/src/server/auth/index.ts +4 -0
- package/src/server/auth/primitives/$authFederationBroker.ts +273 -0
- package/src/server/auth/primitives/$authFederationClient.ts +89 -0
- package/src/server/auth/providers/ServerAuthProvider.ts +18 -4
- package/src/server/cookies/__tests__/ServerCookiesProvider.spec.ts +70 -0
- package/src/server/cookies/providers/ServerCookiesProvider.ts +23 -3
- package/src/server/core/interfaces/ServerRequest.ts +8 -0
- package/src/server/core/primitives/$route.ts +27 -0
- package/src/cli/core/tasks/BuildSitemapTask.ts +0 -130
|
@@ -24,6 +24,21 @@ declare class ServerCookiesProvider {
|
|
|
24
24
|
readonly onAction: import("alepha").HookPrimitive<"action:onRequest">;
|
|
25
25
|
readonly onSend: import("alepha").HookPrimitive<"server:onSend">;
|
|
26
26
|
protected getCookiesFromContext(cookies?: Cookies): Cookies;
|
|
27
|
+
/**
|
|
28
|
+
* Namespaces a cookie name with the app's `APP_NAME` (lowercased) so that
|
|
29
|
+
* two Alepha apps sharing a cookie jar do not collide.
|
|
30
|
+
*
|
|
31
|
+
* Cookies are scoped by host + path only — never by port — so two apps on
|
|
32
|
+
* `localhost:3000` and `localhost:4000` would otherwise both read/write a
|
|
33
|
+
* cookie literally named `tokens` and silently clobber each other (and,
|
|
34
|
+
* because each encrypts with its own `APP_SECRET`, the foreign cookie fails
|
|
35
|
+
* to decrypt and gets deleted, logging the user out).
|
|
36
|
+
*
|
|
37
|
+
* When `APP_NAME` is unset the name is returned unchanged, so existing
|
|
38
|
+
* single-app deployments keep their current cookie names. Same convention as
|
|
39
|
+
* the `APP_NAME` prefix used by R2 storage and server-timing.
|
|
40
|
+
*/
|
|
41
|
+
protected prefixName(name: string): string;
|
|
27
42
|
getCookie<T extends TSchema>(name: string, options: CookiePrimitiveOptions<T>, contextCookies?: Cookies): Static<T> | undefined;
|
|
28
43
|
setCookie<T extends TSchema>(name: string, options: CookiePrimitiveOptions<T>, data: Static<T>, contextCookies?: Cookies): void;
|
|
29
44
|
deleteCookie<T extends TSchema>(name: string, contextCookies?: Cookies): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/server/cookies/services/CookieParser.ts","../../../src/server/cookies/providers/ServerCookiesProvider.ts","../../../src/server/cookies/primitives/$cookie.ts","../../../src/server/cookies/index.ts"],"mappings":";;;;;cAEa,YAAA;EACJ,mBAAA,CAAoB,MAAA,WAAiB,MAAA;EAsBrC,wBAAA,CACL,OAAA,EAAS,MAAA,SAAe,MAAA,UACxB,OAAA;EAqBK,cAAA,CACL,IAAA,UACA,MAAA,EAAQ,MAAA,EACR,OAAA;AAAA;;;cCxBS,qBAAA;EAAA,mBACQ,MAAA,EAAM,MAAA;EAAA,mBACN,GAAA,0BAAG,MAAA;EAAA,mBACH,YAAA,EAAY,YAAA;EAAA,mBACZ,gBAAA,EAAgB,gBAAA;EAAA,mBAChB,cAAA,EAAc,cAAA;EAAA,mBAGd,SAAA;EAAA,mBACA,SAAA;EAAA,mBACA,eAAA;EAAA,mBACA,gBAAA;EAAA,SAEH,SAAA,mBAAS,aAAA;EAAA,SAYT,QAAA,mBAAQ,aAAA;EAAA,SAYR,MAAA,mBAAM,aAAA;EAAA,UAeZ,qBAAA,CAAsB,OAAA,GAAU,OAAA,GAAU,OAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/server/cookies/services/CookieParser.ts","../../../src/server/cookies/providers/ServerCookiesProvider.ts","../../../src/server/cookies/primitives/$cookie.ts","../../../src/server/cookies/index.ts"],"mappings":"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"}
|
|
@@ -89,9 +89,28 @@ var ServerCookiesProvider = class {
|
|
|
89
89
|
if (contextCookies) return contextCookies;
|
|
90
90
|
throw new AlephaError("Cookie context is not available. This method must be called within a server request cycle.");
|
|
91
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Namespaces a cookie name with the app's `APP_NAME` (lowercased) so that
|
|
94
|
+
* two Alepha apps sharing a cookie jar do not collide.
|
|
95
|
+
*
|
|
96
|
+
* Cookies are scoped by host + path only — never by port — so two apps on
|
|
97
|
+
* `localhost:3000` and `localhost:4000` would otherwise both read/write a
|
|
98
|
+
* cookie literally named `tokens` and silently clobber each other (and,
|
|
99
|
+
* because each encrypts with its own `APP_SECRET`, the foreign cookie fails
|
|
100
|
+
* to decrypt and gets deleted, logging the user out).
|
|
101
|
+
*
|
|
102
|
+
* When `APP_NAME` is unset the name is returned unchanged, so existing
|
|
103
|
+
* single-app deployments keep their current cookie names. Same convention as
|
|
104
|
+
* the `APP_NAME` prefix used by R2 storage and server-timing.
|
|
105
|
+
*/
|
|
106
|
+
prefixName(name) {
|
|
107
|
+
const app = this.alepha.env.APP_NAME;
|
|
108
|
+
if (!app) return name;
|
|
109
|
+
return `${String(app).toLowerCase()}.${name}`;
|
|
110
|
+
}
|
|
92
111
|
getCookie(name, options, contextCookies) {
|
|
93
112
|
const cookies = this.getCookiesFromContext(contextCookies);
|
|
94
|
-
let rawValue = cookies.req[name];
|
|
113
|
+
let rawValue = cookies.req[this.prefixName(name)];
|
|
95
114
|
if (!rawValue) return void 0;
|
|
96
115
|
try {
|
|
97
116
|
rawValue = decodeURIComponent(rawValue);
|
|
@@ -129,11 +148,11 @@ var ServerCookiesProvider = class {
|
|
|
129
148
|
domain: options.domain
|
|
130
149
|
};
|
|
131
150
|
if (options.ttl) cookie.maxAge = this.dateTimeProvider.duration(options.ttl).as("seconds");
|
|
132
|
-
cookies.res[name] = cookie;
|
|
151
|
+
cookies.res[this.prefixName(name)] = cookie;
|
|
133
152
|
}
|
|
134
153
|
deleteCookie(name, contextCookies) {
|
|
135
154
|
const cookies = this.getCookiesFromContext(contextCookies);
|
|
136
|
-
cookies.res[name] = null;
|
|
155
|
+
cookies.res[this.prefixName(name)] = null;
|
|
137
156
|
}
|
|
138
157
|
encrypt(text) {
|
|
139
158
|
const iv = randomBytes(this.IV_LENGTH);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/server/cookies/services/CookieParser.ts","../../../src/server/cookies/providers/ServerCookiesProvider.ts","../../../src/server/cookies/primitives/$cookie.ts","../../../src/server/cookies/index.ts"],"sourcesContent":["import type { Cookie } from \"../primitives/$cookie.ts\";\n\nexport class CookieParser {\n public parseRequestCookies(header: string): Record<string, string> {\n const cookies: Record<string, string> = {};\n const parts = header.split(\";\");\n for (const part of parts) {\n const eqIndex = part.indexOf(\"=\");\n if (eqIndex === -1) {\n continue;\n }\n\n const key = part.slice(0, eqIndex).trim();\n const value = part.slice(eqIndex + 1).trim();\n\n if (!key || !value) {\n continue;\n }\n\n cookies[key] = value;\n }\n\n return cookies;\n }\n\n public serializeResponseCookies(\n cookies: Record<string, Cookie | null>,\n isHttps: boolean,\n ): string[] {\n const headers = [];\n\n for (const [name, cookie] of Object.entries(cookies)) {\n // If the cookie is null, we need to delete it\n if (cookie == null) {\n headers.push(`${name}=; Path=/; Max-Age=0`);\n continue;\n }\n\n if (!cookie.value) {\n continue;\n }\n\n headers.push(this.cookieToString(name, cookie, isHttps));\n }\n\n return headers;\n }\n\n public cookieToString(\n name: string,\n cookie: Cookie,\n isHttps?: boolean,\n ): string {\n const parts: string[] = [];\n\n parts.push(`${name}=${cookie.value}`);\n\n if (cookie.path) {\n parts.push(`Path=${cookie.path}`);\n }\n if (cookie.maxAge) {\n parts.push(`Max-Age=${cookie.maxAge}`);\n }\n if (cookie.secure !== false && isHttps) {\n parts.push(\"Secure\");\n }\n if (cookie.httpOnly) {\n parts.push(\"HttpOnly\");\n }\n if (cookie.sameSite) {\n parts.push(`SameSite=${cookie.sameSite}`);\n }\n if (cookie.domain) {\n parts.push(`Domain=${cookie.domain}`);\n }\n\n return parts.join(\"; \");\n }\n}\n","import {\n createCipheriv,\n createDecipheriv,\n createHash,\n createHmac,\n randomBytes,\n timingSafeEqual,\n} from \"node:crypto\";\nimport { deflateRawSync, inflateRawSync } from \"node:zlib\";\nimport {\n $hook,\n $inject,\n Alepha,\n AlephaError,\n type Static,\n type TSchema,\n} from \"alepha\";\nimport { SecretProvider } from \"alepha/crypto\";\nimport { DateTimeProvider } from \"alepha/datetime\";\nimport { $logger } from \"alepha/logger\";\nimport type {\n Cookie,\n CookiePrimitiveOptions,\n Cookies,\n} from \"../primitives/$cookie.ts\";\nimport { CookieParser } from \"../services/CookieParser.ts\";\n\nexport class ServerCookiesProvider {\n protected readonly alepha = $inject(Alepha);\n protected readonly log = $logger();\n protected readonly cookieParser = $inject(CookieParser);\n protected readonly dateTimeProvider = $inject(DateTimeProvider);\n protected readonly secretProvider = $inject(SecretProvider);\n\n // crypto constants\n protected readonly ALGORITHM = \"aes-256-gcm\";\n protected readonly IV_LENGTH = 16; // For GCM\n protected readonly AUTH_TAG_LENGTH = 16;\n protected readonly SIGNATURE_LENGTH = 32; // For SHA256\n\n public readonly onRequest = $hook({\n on: \"server:onRequest\",\n handler: ({ request }) => {\n request.cookies = {\n req: this.cookieParser.parseRequestCookies(\n request.headers.cookie ?? \"\",\n ),\n res: {},\n };\n },\n });\n\n public readonly onAction = $hook({\n on: \"action:onRequest\",\n handler: ({ request }) => {\n request.cookies = {\n req: this.cookieParser.parseRequestCookies(\n request.headers.cookie ?? \"\",\n ),\n res: {},\n };\n },\n });\n\n public readonly onSend = $hook({\n on: \"server:onSend\",\n handler: ({ request }) => {\n if (request.cookies && Object.keys(request.cookies.res).length > 0) {\n const setCookieHeaders = this.cookieParser.serializeResponseCookies(\n request.cookies.res,\n request.url.protocol === \"https:\",\n );\n if (setCookieHeaders.length > 0) {\n request.reply.headers[\"set-cookie\"] = setCookieHeaders;\n }\n }\n },\n });\n\n protected getCookiesFromContext(cookies?: Cookies): Cookies {\n const contextCookies = this.alepha.store.get(\n \"alepha.http.request\",\n )?.cookies;\n if (cookies) return cookies;\n if (contextCookies) return contextCookies;\n throw new AlephaError(\n \"Cookie context is not available. This method must be called within a server request cycle.\",\n );\n }\n\n public getCookie<T extends TSchema>(\n name: string,\n options: CookiePrimitiveOptions<T>,\n contextCookies?: Cookies,\n ): Static<T> | undefined {\n const cookies = this.getCookiesFromContext(contextCookies);\n let rawValue = cookies.req[name];\n\n if (!rawValue) return undefined;\n\n try {\n rawValue = decodeURIComponent(rawValue);\n\n if (options.sign) {\n const signature = rawValue.substring(0, this.SIGNATURE_LENGTH * 2);\n const value = rawValue.substring(this.SIGNATURE_LENGTH * 2);\n const expectedSignature = this.sign(value);\n\n if (\n !timingSafeEqual(\n Buffer.from(signature, \"hex\"),\n Buffer.from(expectedSignature, \"hex\"),\n )\n ) {\n this.log.warn(`Invalid signature for cookie \"${name}\".`);\n return undefined;\n }\n rawValue = value;\n }\n\n if (options.encrypt) {\n rawValue = this.decrypt(rawValue);\n }\n\n if (options.compress) {\n rawValue = inflateRawSync(Buffer.from(rawValue, \"base64\")).toString(\n \"utf8\",\n );\n }\n\n return this.alepha.codec.decode(options.schema, JSON.parse(rawValue));\n } catch (error) {\n this.log.warn(`Failed to parse cookie \"${name}\"`, error);\n // corrupted or invalid cookie, instruct browser to delete it on next response\n this.deleteCookie(name, cookies);\n return undefined;\n }\n }\n\n public setCookie<T extends TSchema>(\n name: string,\n options: CookiePrimitiveOptions<T>,\n data: Static<T>,\n contextCookies?: Cookies,\n ): void {\n const cookies = this.getCookiesFromContext(contextCookies);\n let value = JSON.stringify(this.alepha.codec.decode(options.schema, data));\n\n if (options.compress) {\n value = deflateRawSync(value).toString(\"base64\");\n }\n\n if (options.encrypt) {\n value = this.encrypt(value);\n }\n\n if (options.sign) {\n value = this.sign(value) + value;\n }\n\n const cookie: Cookie = {\n value: encodeURIComponent(value),\n path: options.path ?? \"/\",\n // \"lax\" is correct here — \"strict\" would break OAuth flows because OAuth callbacks\n // are top-level redirects from the IdP, and strict cookies are not sent on cross-site\n // top-level navigations. \"lax\" is Chrome's own default and the industry standard.\n sameSite: options.sameSite ?? \"lax\",\n secure: options.secure ?? this.alepha.isProduction(),\n httpOnly: options.httpOnly,\n domain: options.domain,\n };\n\n if (options.ttl) {\n cookie.maxAge = this.dateTimeProvider.duration(options.ttl).as(\"seconds\");\n }\n\n cookies.res[name] = cookie;\n }\n\n public deleteCookie<T extends TSchema>(\n name: string,\n contextCookies?: Cookies,\n ): void {\n const cookies = this.getCookiesFromContext(contextCookies);\n cookies.res[name] = null;\n }\n\n // --- Crypto & Parsing ---\n\n protected encrypt(text: string): string {\n const iv = randomBytes(this.IV_LENGTH);\n const cipher = createCipheriv(this.ALGORITHM, this.deriveKey(), iv);\n const encrypted = Buffer.concat([\n cipher.update(text, \"utf8\"),\n cipher.final(),\n ]);\n const authTag = cipher.getAuthTag();\n return Buffer.concat([iv, authTag, encrypted]).toString(\"base64\");\n }\n\n protected decrypt(encryptedText: string): string {\n const data = Buffer.from(encryptedText, \"base64\");\n const iv = data.subarray(0, this.IV_LENGTH);\n const authTag = data.subarray(\n this.IV_LENGTH,\n this.IV_LENGTH + this.AUTH_TAG_LENGTH,\n );\n\n const encrypted = data.subarray(this.IV_LENGTH + this.AUTH_TAG_LENGTH);\n const decipher = createDecipheriv(this.ALGORITHM, this.deriveKey(), iv);\n\n decipher.setAuthTag(authTag);\n\n const decrypted = Buffer.concat([\n decipher.update(encrypted),\n decipher.final(),\n ]);\n\n return decrypted.toString(\"utf8\");\n }\n\n /**\n * Derives a 32-byte key from APP_SECRET via SHA-256.\n * Accepts any string length — no padding or truncation needed.\n */\n protected deriveKey(): Buffer {\n return createHash(\"sha256\").update(this.secretProvider.secretKey).digest();\n }\n\n protected sign(data: string): string {\n return createHmac(\"sha256\", this.deriveKey()).update(data).digest(\"hex\");\n }\n}\n","import {\n $inject,\n createPrimitive,\n KIND,\n Primitive,\n type Static,\n type TSchema,\n} from \"alepha\";\nimport type { DurationLike } from \"alepha/datetime\";\nimport { ServerCookiesProvider } from \"../providers/ServerCookiesProvider.ts\";\n\n/**\n * Declares a type-safe, configurable HTTP cookie.\n * This primitive provides methods to get, set, and delete the cookie\n * within the server request/response cycle.\n */\nexport const $cookie = <T extends TSchema>(\n options: CookiePrimitiveOptions<T>,\n extendedOptions?: Omit<CookiePrimitiveOptions<T>, \"schema\">,\n): AbstractCookiePrimitive<T> => {\n if (extendedOptions) {\n options = {\n key: options.key,\n schema: options.schema,\n ...extendedOptions,\n };\n }\n return createPrimitive(CookiePrimitive<T>, options);\n};\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport interface CookiePrimitiveOptions<T extends TSchema> {\n /**\n * The schema for the cookie's value, used for validation and type safety.\n */\n schema: T;\n\n /**\n * The name of the cookie.\n */\n name?: string;\n\n /**\n * The cookie's path. Defaults to \"/\".\n */\n path?: string;\n\n /**\n * Time-to-live for the cookie. Maps to `Max-Age`.\n */\n ttl?: DurationLike;\n\n /**\n * If true, the cookie is only sent over HTTPS. Defaults to true in production.\n */\n secure?: boolean;\n\n /**\n * If true, the cookie cannot be accessed by client-side scripts.\n */\n httpOnly?: boolean;\n\n /**\n * SameSite policy for the cookie. Defaults to \"lax\".\n */\n sameSite?: \"strict\" | \"lax\" | \"none\";\n\n /**\n * The domain for the cookie.\n */\n domain?: string;\n\n /**\n * If true, the cookie value will be compressed using zlib.\n */\n compress?: boolean;\n\n /**\n * If true, the cookie value will be encrypted. Requires `COOKIE_SECRET` env var.\n */\n encrypt?: boolean;\n\n /**\n * If true, the cookie will be signed to prevent tampering. Requires `COOKIE_SECRET` env var.\n */\n sign?: boolean;\n\n /**\n * Optional key to link this cookie to an Atom, enabling automatic synchronization between the cookie and the Atom's state.\n */\n key?: string;\n}\n\nexport interface AbstractCookiePrimitive<T extends TSchema> {\n readonly name: string;\n readonly options: CookiePrimitiveOptions<T>;\n set(\n value: Static<T>,\n options?: { cookies?: Cookies; ttl?: DurationLike },\n ): void;\n get(options?: { cookies?: Cookies }): Static<T> | undefined;\n del(options?: { cookies?: Cookies }): void;\n}\n\nexport class CookiePrimitive<T extends TSchema>\n extends Primitive<CookiePrimitiveOptions<T>>\n implements AbstractCookiePrimitive<T>\n{\n protected readonly serverCookiesProvider = $inject(ServerCookiesProvider);\n\n protected onInit() {\n if (this.options.key) {\n this.alepha.events.on(\"state:mutate\", ({ key, value }) => {\n if (key === this.options.key) {\n this.set(value);\n }\n });\n this.alepha.events.on(\"server:onRequest\", ({ request }) => {\n try {\n const value = this.get(request);\n if (value !== undefined) {\n this.alepha.store.set(this.options.key as any, value, {\n skipEvents: true,\n });\n }\n } catch {}\n });\n }\n }\n\n public get schema(): T {\n return this.options.schema;\n }\n\n public get name(): string {\n return this.options.name ?? `${this.config.propertyKey}`;\n }\n\n /**\n * Sets the cookie with the given value in the current request's response.\n */\n public set(\n value: Static<T>,\n options?: { cookies?: Cookies; ttl?: DurationLike },\n ): void {\n this.serverCookiesProvider.setCookie(\n this.name,\n {\n ...this.options,\n ttl: options?.ttl ?? this.options.ttl,\n },\n value,\n options?.cookies,\n );\n }\n\n /**\n * Gets the cookie value from the current request. Returns undefined if not found or invalid.\n */\n public get(options?: { cookies?: Cookies }): Static<T> | undefined {\n return this.serverCookiesProvider.getCookie(\n this.name,\n this.options,\n options?.cookies,\n );\n }\n\n /**\n * Deletes the cookie in the current request's response.\n */\n public del(options?: { cookies?: Cookies }): void {\n this.serverCookiesProvider.deleteCookie(this.name, options?.cookies);\n }\n}\n\n$cookie[KIND] = CookiePrimitive;\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport interface Cookies {\n req: Record<string, string>;\n res: Record<string, Cookie | null>;\n}\n\nexport interface Cookie {\n value: string;\n path?: string;\n maxAge?: number;\n secure?: boolean;\n httpOnly?: boolean;\n sameSite?: \"strict\" | \"lax\" | \"none\";\n domain?: string;\n}\n","import { $module } from \"alepha\";\nimport { AlephaServer } from \"alepha/server\";\nimport { $cookie, type Cookies } from \"./primitives/$cookie.ts\";\nimport { ServerCookiesProvider } from \"./providers/ServerCookiesProvider.ts\";\nimport { CookieParser } from \"./services/CookieParser.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport * from \"./primitives/$cookie.ts\";\nexport * from \"./providers/ServerCookiesProvider.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\ndeclare module \"alepha/server\" {\n interface ServerRequest {\n cookies: Cookies;\n }\n}\n\n/**\n * Server and browser-safe cookie handling.\n *\n * **Features:**\n * - Cookie management on server and browser\n *\n * @module alepha.server.cookies\n */\nexport const AlephaServerCookies = $module({\n name: \"alepha.server.cookies\",\n primitives: [$cookie],\n services: [AlephaServer, ServerCookiesProvider, CookieParser],\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/server/cookies/services/CookieParser.ts","../../../src/server/cookies/providers/ServerCookiesProvider.ts","../../../src/server/cookies/primitives/$cookie.ts","../../../src/server/cookies/index.ts"],"sourcesContent":["import type { Cookie } from \"../primitives/$cookie.ts\";\n\nexport class CookieParser {\n public parseRequestCookies(header: string): Record<string, string> {\n const cookies: Record<string, string> = {};\n const parts = header.split(\";\");\n for (const part of parts) {\n const eqIndex = part.indexOf(\"=\");\n if (eqIndex === -1) {\n continue;\n }\n\n const key = part.slice(0, eqIndex).trim();\n const value = part.slice(eqIndex + 1).trim();\n\n if (!key || !value) {\n continue;\n }\n\n cookies[key] = value;\n }\n\n return cookies;\n }\n\n public serializeResponseCookies(\n cookies: Record<string, Cookie | null>,\n isHttps: boolean,\n ): string[] {\n const headers = [];\n\n for (const [name, cookie] of Object.entries(cookies)) {\n // If the cookie is null, we need to delete it\n if (cookie == null) {\n headers.push(`${name}=; Path=/; Max-Age=0`);\n continue;\n }\n\n if (!cookie.value) {\n continue;\n }\n\n headers.push(this.cookieToString(name, cookie, isHttps));\n }\n\n return headers;\n }\n\n public cookieToString(\n name: string,\n cookie: Cookie,\n isHttps?: boolean,\n ): string {\n const parts: string[] = [];\n\n parts.push(`${name}=${cookie.value}`);\n\n if (cookie.path) {\n parts.push(`Path=${cookie.path}`);\n }\n if (cookie.maxAge) {\n parts.push(`Max-Age=${cookie.maxAge}`);\n }\n if (cookie.secure !== false && isHttps) {\n parts.push(\"Secure\");\n }\n if (cookie.httpOnly) {\n parts.push(\"HttpOnly\");\n }\n if (cookie.sameSite) {\n parts.push(`SameSite=${cookie.sameSite}`);\n }\n if (cookie.domain) {\n parts.push(`Domain=${cookie.domain}`);\n }\n\n return parts.join(\"; \");\n }\n}\n","import {\n createCipheriv,\n createDecipheriv,\n createHash,\n createHmac,\n randomBytes,\n timingSafeEqual,\n} from \"node:crypto\";\nimport { deflateRawSync, inflateRawSync } from \"node:zlib\";\nimport {\n $hook,\n $inject,\n Alepha,\n AlephaError,\n type Static,\n type TSchema,\n} from \"alepha\";\nimport { SecretProvider } from \"alepha/crypto\";\nimport { DateTimeProvider } from \"alepha/datetime\";\nimport { $logger } from \"alepha/logger\";\nimport type {\n Cookie,\n CookiePrimitiveOptions,\n Cookies,\n} from \"../primitives/$cookie.ts\";\nimport { CookieParser } from \"../services/CookieParser.ts\";\n\nexport class ServerCookiesProvider {\n protected readonly alepha = $inject(Alepha);\n protected readonly log = $logger();\n protected readonly cookieParser = $inject(CookieParser);\n protected readonly dateTimeProvider = $inject(DateTimeProvider);\n protected readonly secretProvider = $inject(SecretProvider);\n\n // crypto constants\n protected readonly ALGORITHM = \"aes-256-gcm\";\n protected readonly IV_LENGTH = 16; // For GCM\n protected readonly AUTH_TAG_LENGTH = 16;\n protected readonly SIGNATURE_LENGTH = 32; // For SHA256\n\n public readonly onRequest = $hook({\n on: \"server:onRequest\",\n handler: ({ request }) => {\n request.cookies = {\n req: this.cookieParser.parseRequestCookies(\n request.headers.cookie ?? \"\",\n ),\n res: {},\n };\n },\n });\n\n public readonly onAction = $hook({\n on: \"action:onRequest\",\n handler: ({ request }) => {\n request.cookies = {\n req: this.cookieParser.parseRequestCookies(\n request.headers.cookie ?? \"\",\n ),\n res: {},\n };\n },\n });\n\n public readonly onSend = $hook({\n on: \"server:onSend\",\n handler: ({ request }) => {\n if (request.cookies && Object.keys(request.cookies.res).length > 0) {\n const setCookieHeaders = this.cookieParser.serializeResponseCookies(\n request.cookies.res,\n request.url.protocol === \"https:\",\n );\n if (setCookieHeaders.length > 0) {\n request.reply.headers[\"set-cookie\"] = setCookieHeaders;\n }\n }\n },\n });\n\n protected getCookiesFromContext(cookies?: Cookies): Cookies {\n const contextCookies = this.alepha.store.get(\n \"alepha.http.request\",\n )?.cookies;\n if (cookies) return cookies;\n if (contextCookies) return contextCookies;\n throw new AlephaError(\n \"Cookie context is not available. This method must be called within a server request cycle.\",\n );\n }\n\n /**\n * Namespaces a cookie name with the app's `APP_NAME` (lowercased) so that\n * two Alepha apps sharing a cookie jar do not collide.\n *\n * Cookies are scoped by host + path only — never by port — so two apps on\n * `localhost:3000` and `localhost:4000` would otherwise both read/write a\n * cookie literally named `tokens` and silently clobber each other (and,\n * because each encrypts with its own `APP_SECRET`, the foreign cookie fails\n * to decrypt and gets deleted, logging the user out).\n *\n * When `APP_NAME` is unset the name is returned unchanged, so existing\n * single-app deployments keep their current cookie names. Same convention as\n * the `APP_NAME` prefix used by R2 storage and server-timing.\n */\n protected prefixName(name: string): string {\n const app = this.alepha.env.APP_NAME;\n if (!app) return name;\n return `${String(app).toLowerCase()}.${name}`;\n }\n\n public getCookie<T extends TSchema>(\n name: string,\n options: CookiePrimitiveOptions<T>,\n contextCookies?: Cookies,\n ): Static<T> | undefined {\n const cookies = this.getCookiesFromContext(contextCookies);\n let rawValue = cookies.req[this.prefixName(name)];\n\n if (!rawValue) return undefined;\n\n try {\n rawValue = decodeURIComponent(rawValue);\n\n if (options.sign) {\n const signature = rawValue.substring(0, this.SIGNATURE_LENGTH * 2);\n const value = rawValue.substring(this.SIGNATURE_LENGTH * 2);\n const expectedSignature = this.sign(value);\n\n if (\n !timingSafeEqual(\n Buffer.from(signature, \"hex\"),\n Buffer.from(expectedSignature, \"hex\"),\n )\n ) {\n this.log.warn(`Invalid signature for cookie \"${name}\".`);\n return undefined;\n }\n rawValue = value;\n }\n\n if (options.encrypt) {\n rawValue = this.decrypt(rawValue);\n }\n\n if (options.compress) {\n rawValue = inflateRawSync(Buffer.from(rawValue, \"base64\")).toString(\n \"utf8\",\n );\n }\n\n return this.alepha.codec.decode(options.schema, JSON.parse(rawValue));\n } catch (error) {\n this.log.warn(`Failed to parse cookie \"${name}\"`, error);\n // corrupted or invalid cookie, instruct browser to delete it on next response\n this.deleteCookie(name, cookies);\n return undefined;\n }\n }\n\n public setCookie<T extends TSchema>(\n name: string,\n options: CookiePrimitiveOptions<T>,\n data: Static<T>,\n contextCookies?: Cookies,\n ): void {\n const cookies = this.getCookiesFromContext(contextCookies);\n let value = JSON.stringify(this.alepha.codec.decode(options.schema, data));\n\n if (options.compress) {\n value = deflateRawSync(value).toString(\"base64\");\n }\n\n if (options.encrypt) {\n value = this.encrypt(value);\n }\n\n if (options.sign) {\n value = this.sign(value) + value;\n }\n\n const cookie: Cookie = {\n value: encodeURIComponent(value),\n path: options.path ?? \"/\",\n // \"lax\" is correct here — \"strict\" would break OAuth flows because OAuth callbacks\n // are top-level redirects from the IdP, and strict cookies are not sent on cross-site\n // top-level navigations. \"lax\" is Chrome's own default and the industry standard.\n sameSite: options.sameSite ?? \"lax\",\n secure: options.secure ?? this.alepha.isProduction(),\n httpOnly: options.httpOnly,\n domain: options.domain,\n };\n\n if (options.ttl) {\n cookie.maxAge = this.dateTimeProvider.duration(options.ttl).as(\"seconds\");\n }\n\n cookies.res[this.prefixName(name)] = cookie;\n }\n\n public deleteCookie<T extends TSchema>(\n name: string,\n contextCookies?: Cookies,\n ): void {\n const cookies = this.getCookiesFromContext(contextCookies);\n cookies.res[this.prefixName(name)] = null;\n }\n\n // --- Crypto & Parsing ---\n\n protected encrypt(text: string): string {\n const iv = randomBytes(this.IV_LENGTH);\n const cipher = createCipheriv(this.ALGORITHM, this.deriveKey(), iv);\n const encrypted = Buffer.concat([\n cipher.update(text, \"utf8\"),\n cipher.final(),\n ]);\n const authTag = cipher.getAuthTag();\n return Buffer.concat([iv, authTag, encrypted]).toString(\"base64\");\n }\n\n protected decrypt(encryptedText: string): string {\n const data = Buffer.from(encryptedText, \"base64\");\n const iv = data.subarray(0, this.IV_LENGTH);\n const authTag = data.subarray(\n this.IV_LENGTH,\n this.IV_LENGTH + this.AUTH_TAG_LENGTH,\n );\n\n const encrypted = data.subarray(this.IV_LENGTH + this.AUTH_TAG_LENGTH);\n const decipher = createDecipheriv(this.ALGORITHM, this.deriveKey(), iv);\n\n decipher.setAuthTag(authTag);\n\n const decrypted = Buffer.concat([\n decipher.update(encrypted),\n decipher.final(),\n ]);\n\n return decrypted.toString(\"utf8\");\n }\n\n /**\n * Derives a 32-byte key from APP_SECRET via SHA-256.\n * Accepts any string length — no padding or truncation needed.\n */\n protected deriveKey(): Buffer {\n return createHash(\"sha256\").update(this.secretProvider.secretKey).digest();\n }\n\n protected sign(data: string): string {\n return createHmac(\"sha256\", this.deriveKey()).update(data).digest(\"hex\");\n }\n}\n","import {\n $inject,\n createPrimitive,\n KIND,\n Primitive,\n type Static,\n type TSchema,\n} from \"alepha\";\nimport type { DurationLike } from \"alepha/datetime\";\nimport { ServerCookiesProvider } from \"../providers/ServerCookiesProvider.ts\";\n\n/**\n * Declares a type-safe, configurable HTTP cookie.\n * This primitive provides methods to get, set, and delete the cookie\n * within the server request/response cycle.\n */\nexport const $cookie = <T extends TSchema>(\n options: CookiePrimitiveOptions<T>,\n extendedOptions?: Omit<CookiePrimitiveOptions<T>, \"schema\">,\n): AbstractCookiePrimitive<T> => {\n if (extendedOptions) {\n options = {\n key: options.key,\n schema: options.schema,\n ...extendedOptions,\n };\n }\n return createPrimitive(CookiePrimitive<T>, options);\n};\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport interface CookiePrimitiveOptions<T extends TSchema> {\n /**\n * The schema for the cookie's value, used for validation and type safety.\n */\n schema: T;\n\n /**\n * The name of the cookie.\n */\n name?: string;\n\n /**\n * The cookie's path. Defaults to \"/\".\n */\n path?: string;\n\n /**\n * Time-to-live for the cookie. Maps to `Max-Age`.\n */\n ttl?: DurationLike;\n\n /**\n * If true, the cookie is only sent over HTTPS. Defaults to true in production.\n */\n secure?: boolean;\n\n /**\n * If true, the cookie cannot be accessed by client-side scripts.\n */\n httpOnly?: boolean;\n\n /**\n * SameSite policy for the cookie. Defaults to \"lax\".\n */\n sameSite?: \"strict\" | \"lax\" | \"none\";\n\n /**\n * The domain for the cookie.\n */\n domain?: string;\n\n /**\n * If true, the cookie value will be compressed using zlib.\n */\n compress?: boolean;\n\n /**\n * If true, the cookie value will be encrypted. Requires `COOKIE_SECRET` env var.\n */\n encrypt?: boolean;\n\n /**\n * If true, the cookie will be signed to prevent tampering. Requires `COOKIE_SECRET` env var.\n */\n sign?: boolean;\n\n /**\n * Optional key to link this cookie to an Atom, enabling automatic synchronization between the cookie and the Atom's state.\n */\n key?: string;\n}\n\nexport interface AbstractCookiePrimitive<T extends TSchema> {\n readonly name: string;\n readonly options: CookiePrimitiveOptions<T>;\n set(\n value: Static<T>,\n options?: { cookies?: Cookies; ttl?: DurationLike },\n ): void;\n get(options?: { cookies?: Cookies }): Static<T> | undefined;\n del(options?: { cookies?: Cookies }): void;\n}\n\nexport class CookiePrimitive<T extends TSchema>\n extends Primitive<CookiePrimitiveOptions<T>>\n implements AbstractCookiePrimitive<T>\n{\n protected readonly serverCookiesProvider = $inject(ServerCookiesProvider);\n\n protected onInit() {\n if (this.options.key) {\n this.alepha.events.on(\"state:mutate\", ({ key, value }) => {\n if (key === this.options.key) {\n this.set(value);\n }\n });\n this.alepha.events.on(\"server:onRequest\", ({ request }) => {\n try {\n const value = this.get(request);\n if (value !== undefined) {\n this.alepha.store.set(this.options.key as any, value, {\n skipEvents: true,\n });\n }\n } catch {}\n });\n }\n }\n\n public get schema(): T {\n return this.options.schema;\n }\n\n public get name(): string {\n return this.options.name ?? `${this.config.propertyKey}`;\n }\n\n /**\n * Sets the cookie with the given value in the current request's response.\n */\n public set(\n value: Static<T>,\n options?: { cookies?: Cookies; ttl?: DurationLike },\n ): void {\n this.serverCookiesProvider.setCookie(\n this.name,\n {\n ...this.options,\n ttl: options?.ttl ?? this.options.ttl,\n },\n value,\n options?.cookies,\n );\n }\n\n /**\n * Gets the cookie value from the current request. Returns undefined if not found or invalid.\n */\n public get(options?: { cookies?: Cookies }): Static<T> | undefined {\n return this.serverCookiesProvider.getCookie(\n this.name,\n this.options,\n options?.cookies,\n );\n }\n\n /**\n * Deletes the cookie in the current request's response.\n */\n public del(options?: { cookies?: Cookies }): void {\n this.serverCookiesProvider.deleteCookie(this.name, options?.cookies);\n }\n}\n\n$cookie[KIND] = CookiePrimitive;\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport interface Cookies {\n req: Record<string, string>;\n res: Record<string, Cookie | null>;\n}\n\nexport interface Cookie {\n value: string;\n path?: string;\n maxAge?: number;\n secure?: boolean;\n httpOnly?: boolean;\n sameSite?: \"strict\" | \"lax\" | \"none\";\n domain?: string;\n}\n","import { $module } from \"alepha\";\nimport { AlephaServer } from \"alepha/server\";\nimport { $cookie, type Cookies } from \"./primitives/$cookie.ts\";\nimport { ServerCookiesProvider } from \"./providers/ServerCookiesProvider.ts\";\nimport { CookieParser } from \"./services/CookieParser.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport * from \"./primitives/$cookie.ts\";\nexport * from \"./providers/ServerCookiesProvider.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\ndeclare module \"alepha/server\" {\n interface ServerRequest {\n cookies: Cookies;\n }\n}\n\n/**\n * Server and browser-safe cookie handling.\n *\n * **Features:**\n * - Cookie management on server and browser\n *\n * @module alepha.server.cookies\n */\nexport const AlephaServerCookies = $module({\n name: \"alepha.server.cookies\",\n primitives: [$cookie],\n services: [AlephaServer, ServerCookiesProvider, CookieParser],\n});\n"],"mappings":"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"}
|
|
@@ -208,6 +208,13 @@ interface ServerRoute<TConfig extends RequestConfigSchema = RequestConfigSchema>
|
|
|
208
208
|
* @see ServerLoggerProvider
|
|
209
209
|
*/
|
|
210
210
|
silent?: boolean;
|
|
211
|
+
/**
|
|
212
|
+
* Mark this `GET` route as prerenderable. When `true`, the build invokes the
|
|
213
|
+
* handler in-process and writes its body verbatim to `dist/public/{path}`,
|
|
214
|
+
* so the route is served as a static file (e.g. `sitemap.xml`, `robots.txt`).
|
|
215
|
+
* The route still serves live at request time for runtimes that have a server.
|
|
216
|
+
*/
|
|
217
|
+
static?: boolean;
|
|
211
218
|
}
|
|
212
219
|
/**
|
|
213
220
|
* Input type for `createRoute()`. Accepts both a `PipelineHandler` and a plain handler function.
|
|
@@ -944,6 +951,17 @@ interface RoutePrimitiveOptions<TConfig extends RequestConfigSchema = RequestCon
|
|
|
944
951
|
declare class RoutePrimitive<TConfig extends RequestConfigSchema> extends PipelinePrimitive<RoutePrimitiveOptions<TConfig>> {
|
|
945
952
|
protected readonly serverRouterProvider: ServerRouterProvider;
|
|
946
953
|
protected onInit(): void;
|
|
954
|
+
/**
|
|
955
|
+
* Invoke this route's handler in-process (no HTTP server) and return its path
|
|
956
|
+
* and body. Used by the build to snapshot `static` routes to files.
|
|
957
|
+
*
|
|
958
|
+
* Only meaningful for self-contained `GET` handlers that return a string or
|
|
959
|
+
* Buffer (e.g. `sitemap.xml`, `robots.txt`).
|
|
960
|
+
*/
|
|
961
|
+
prerender(): Promise<{
|
|
962
|
+
path: string;
|
|
963
|
+
body: string | Buffer;
|
|
964
|
+
}>;
|
|
947
965
|
}
|
|
948
966
|
//#endregion
|
|
949
967
|
//#region ../../src/server/core/primitives/$sse.d.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/server/core/schemas/errorSchema.ts","../../../src/server/core/errors/HttpError.ts","../../../src/server/core/constants/routeMethods.ts","../../../src/server/core/helpers/ServerReply.ts","../../../src/server/core/services/UserAgentParser.ts","../../../src/server/core/interfaces/ServerRequest.ts","../../../src/server/core/services/ServerRequestParser.ts","../../../src/server/core/providers/ServerTimingProvider.ts","../../../src/server/core/providers/ServerRouterProvider.ts","../../../src/server/core/providers/ServerProvider.ts","../../../src/server/core/services/HttpClient.ts","../../../src/server/core/primitives/$action.ts","../../../src/server/core/errors/BadRequestError.ts","../../../src/server/core/errors/ConflictError.ts","../../../src/server/core/errors/ForbiddenError.ts","../../../src/server/core/errors/NotFoundError.ts","../../../src/server/core/errors/UnauthorizedError.ts","../../../src/server/core/errors/ValidationError.ts","../../../src/server/core/helpers/isMultipart.ts","../../../src/server/core/schemas/okSchema.ts","../../../src/server/core/primitives/$circuit.ts","../../../src/server/core/primitives/$middleware.ts","../../../src/server/core/primitives/$route.ts","../../../src/server/core/primitives/$sse.ts","../../../src/server/core/providers/BunHttpServerProvider.ts","../../../src/server/core/providers/NodeHttpServerProvider.ts","../../../src/server/core/providers/ServerCompressProvider.ts","../../../src/server/core/providers/ServerHelmetProvider.ts","../../../src/server/core/providers/ServerLoggerProvider.ts","../../../src/server/core/providers/ServerMultipartProvider.ts","../../../src/server/core/providers/ServerNotReadyProvider.ts","../../../src/server/core/index.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/server/core/schemas/errorSchema.ts","../../../src/server/core/errors/HttpError.ts","../../../src/server/core/constants/routeMethods.ts","../../../src/server/core/helpers/ServerReply.ts","../../../src/server/core/services/UserAgentParser.ts","../../../src/server/core/interfaces/ServerRequest.ts","../../../src/server/core/services/ServerRequestParser.ts","../../../src/server/core/providers/ServerTimingProvider.ts","../../../src/server/core/providers/ServerRouterProvider.ts","../../../src/server/core/providers/ServerProvider.ts","../../../src/server/core/services/HttpClient.ts","../../../src/server/core/primitives/$action.ts","../../../src/server/core/errors/BadRequestError.ts","../../../src/server/core/errors/ConflictError.ts","../../../src/server/core/errors/ForbiddenError.ts","../../../src/server/core/errors/NotFoundError.ts","../../../src/server/core/errors/UnauthorizedError.ts","../../../src/server/core/errors/ValidationError.ts","../../../src/server/core/helpers/isMultipart.ts","../../../src/server/core/schemas/okSchema.ts","../../../src/server/core/primitives/$circuit.ts","../../../src/server/core/primitives/$middleware.ts","../../../src/server/core/primitives/$route.ts","../../../src/server/core/primitives/$sse.ts","../../../src/server/core/providers/BunHttpServerProvider.ts","../../../src/server/core/providers/NodeHttpServerProvider.ts","../../../src/server/core/providers/ServerCompressProvider.ts","../../../src/server/core/providers/ServerHelmetProvider.ts","../../../src/server/core/providers/ServerLoggerProvider.ts","../../../src/server/core/providers/ServerMultipartProvider.ts","../../../src/server/core/providers/ServerNotReadyProvider.ts","../../../src/server/core/index.ts"],"mappings":"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"}
|
|
@@ -1615,6 +1615,31 @@ var RoutePrimitive = class extends PipelinePrimitive {
|
|
|
1615
1615
|
handler: this.handler
|
|
1616
1616
|
});
|
|
1617
1617
|
}
|
|
1618
|
+
/**
|
|
1619
|
+
* Invoke this route's handler in-process (no HTTP server) and return its path
|
|
1620
|
+
* and body. Used by the build to snapshot `static` routes to files.
|
|
1621
|
+
*
|
|
1622
|
+
* Only meaningful for self-contained `GET` handlers that return a string or
|
|
1623
|
+
* Buffer (e.g. `sitemap.xml`, `robots.txt`).
|
|
1624
|
+
*/
|
|
1625
|
+
async prerender() {
|
|
1626
|
+
const reply = new ServerReply();
|
|
1627
|
+
const request = {
|
|
1628
|
+
method: this.options.method ?? "GET",
|
|
1629
|
+
url: new URL(`http://localhost${this.options.path}`),
|
|
1630
|
+
params: {},
|
|
1631
|
+
query: {},
|
|
1632
|
+
headers: {},
|
|
1633
|
+
body: void 0,
|
|
1634
|
+
metadata: {},
|
|
1635
|
+
reply
|
|
1636
|
+
};
|
|
1637
|
+
const body = await this.handler.run(request) ?? reply.body;
|
|
1638
|
+
return {
|
|
1639
|
+
path: this.options.path,
|
|
1640
|
+
body
|
|
1641
|
+
};
|
|
1642
|
+
}
|
|
1618
1643
|
};
|
|
1619
1644
|
$route[KIND] = RoutePrimitive;
|
|
1620
1645
|
//#endregion
|