@daloyjs/core 0.35.0 → 0.35.1
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 +145 -29
- package/dist/adapters/bun.d.ts +0 -1
- package/dist/adapters/bun.js +0 -1
- package/dist/adapters/cloudflare.d.ts +0 -1
- package/dist/adapters/cloudflare.js +0 -1
- package/dist/adapters/deno.d.ts +0 -1
- package/dist/adapters/deno.js +0 -1
- package/dist/adapters/fastly.d.ts +0 -1
- package/dist/adapters/fastly.js +0 -1
- package/dist/adapters/lambda.d.ts +0 -1
- package/dist/adapters/lambda.js +0 -1
- package/dist/adapters/node.d.ts +0 -1
- package/dist/adapters/node.js +175 -35
- package/dist/adapters/vercel.d.ts +0 -1
- package/dist/adapters/vercel.js +0 -1
- package/dist/app.d.ts +18 -1
- package/dist/app.js +396 -118
- package/dist/banner.d.ts +0 -1
- package/dist/banner.js +0 -1
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +0 -1
- package/dist/client.d.ts +0 -1
- package/dist/client.js +0 -1
- package/dist/combine.d.ts +0 -1
- package/dist/combine.js +0 -1
- package/dist/compression.d.ts +0 -1
- package/dist/compression.js +0 -1
- package/dist/config.d.ts +0 -1
- package/dist/config.js +0 -1
- package/dist/conn-info.d.ts +0 -1
- package/dist/conn-info.js +0 -1
- package/dist/contract.d.ts +0 -1
- package/dist/contract.js +0 -1
- package/dist/cookie.d.ts +0 -1
- package/dist/cookie.js +0 -1
- package/dist/dependency.d.ts +0 -1
- package/dist/dependency.js +0 -1
- package/dist/discriminator.d.ts +0 -1
- package/dist/discriminator.js +0 -1
- package/dist/docs.d.ts +0 -1
- package/dist/docs.js +0 -1
- package/dist/errors.d.ts +0 -1
- package/dist/errors.js +0 -1
- package/dist/etag.d.ts +0 -1
- package/dist/etag.js +0 -1
- package/dist/fetch-guard.d.ts +0 -1
- package/dist/fetch-guard.js +0 -1
- package/dist/hashing.d.ts +0 -1
- package/dist/hashing.js +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/ip-restriction.d.ts +0 -1
- package/dist/ip-restriction.js +0 -1
- package/dist/jwk.d.ts +0 -1
- package/dist/jwk.js +0 -1
- package/dist/jwt.d.ts +0 -1
- package/dist/jwt.js +0 -1
- package/dist/load-shedding.d.ts +0 -1
- package/dist/load-shedding.js +0 -1
- package/dist/logger.d.ts +0 -1
- package/dist/logger.js +0 -1
- package/dist/middleware.d.ts +0 -1
- package/dist/middleware.js +16 -13
- package/dist/multipart.d.ts +0 -1
- package/dist/multipart.js +0 -1
- package/dist/openapi.d.ts +0 -1
- package/dist/openapi.js +0 -1
- package/dist/rate-limit-redis.d.ts +0 -1
- package/dist/rate-limit-redis.js +0 -1
- package/dist/router.d.ts +0 -1
- package/dist/router.js +0 -1
- package/dist/safe-redirect.d.ts +2 -3
- package/dist/safe-redirect.js +2 -3
- package/dist/sbom.cdx.json +9 -9
- package/dist/sbom.spdx.json +5 -5
- package/dist/schema.d.ts +0 -1
- package/dist/schema.js +0 -1
- package/dist/security-schemes.d.ts +0 -1
- package/dist/security-schemes.js +0 -1
- package/dist/security.d.ts +4 -5
- package/dist/security.js +4 -5
- package/dist/session.d.ts +0 -1
- package/dist/session.js +0 -1
- package/dist/streaming.d.ts +0 -1
- package/dist/streaming.js +0 -1
- package/dist/subdomains.d.ts +0 -1
- package/dist/subdomains.js +0 -1
- package/dist/time-claims.d.ts +0 -1
- package/dist/time-claims.js +0 -1
- package/dist/tracing.d.ts +0 -1
- package/dist/tracing.js +0 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.js +0 -1
- package/dist/websocket.d.ts +0 -1
- package/dist/websocket.js +0 -1
- package/package.json +6 -2
- package/dist/adapters/bun.d.ts.map +0 -1
- package/dist/adapters/bun.js.map +0 -1
- package/dist/adapters/cloudflare.d.ts.map +0 -1
- package/dist/adapters/cloudflare.js.map +0 -1
- package/dist/adapters/deno.d.ts.map +0 -1
- package/dist/adapters/deno.js.map +0 -1
- package/dist/adapters/fastly.d.ts.map +0 -1
- package/dist/adapters/fastly.js.map +0 -1
- package/dist/adapters/lambda.d.ts.map +0 -1
- package/dist/adapters/lambda.js.map +0 -1
- package/dist/adapters/node.d.ts.map +0 -1
- package/dist/adapters/node.js.map +0 -1
- package/dist/adapters/vercel.d.ts.map +0 -1
- package/dist/adapters/vercel.js.map +0 -1
- package/dist/app.d.ts.map +0 -1
- package/dist/app.js.map +0 -1
- package/dist/banner.d.ts.map +0 -1
- package/dist/banner.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/combine.d.ts.map +0 -1
- package/dist/combine.js.map +0 -1
- package/dist/compression.d.ts.map +0 -1
- package/dist/compression.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/conn-info.d.ts.map +0 -1
- package/dist/conn-info.js.map +0 -1
- package/dist/contract.d.ts.map +0 -1
- package/dist/contract.js.map +0 -1
- package/dist/cookie.d.ts.map +0 -1
- package/dist/cookie.js.map +0 -1
- package/dist/dependency.d.ts.map +0 -1
- package/dist/dependency.js.map +0 -1
- package/dist/discriminator.d.ts.map +0 -1
- package/dist/discriminator.js.map +0 -1
- package/dist/docs.d.ts.map +0 -1
- package/dist/docs.js.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js.map +0 -1
- package/dist/etag.d.ts.map +0 -1
- package/dist/etag.js.map +0 -1
- package/dist/fetch-guard.d.ts.map +0 -1
- package/dist/fetch-guard.js.map +0 -1
- package/dist/hashing.d.ts.map +0 -1
- package/dist/hashing.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/ip-restriction.d.ts.map +0 -1
- package/dist/ip-restriction.js.map +0 -1
- package/dist/jwk.d.ts.map +0 -1
- package/dist/jwk.js.map +0 -1
- package/dist/jwt.d.ts.map +0 -1
- package/dist/jwt.js.map +0 -1
- package/dist/load-shedding.d.ts.map +0 -1
- package/dist/load-shedding.js.map +0 -1
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js.map +0 -1
- package/dist/middleware.d.ts.map +0 -1
- package/dist/middleware.js.map +0 -1
- package/dist/multipart.d.ts.map +0 -1
- package/dist/multipart.js.map +0 -1
- package/dist/openapi.d.ts.map +0 -1
- package/dist/openapi.js.map +0 -1
- package/dist/rate-limit-redis.d.ts.map +0 -1
- package/dist/rate-limit-redis.js.map +0 -1
- package/dist/router.d.ts.map +0 -1
- package/dist/router.js.map +0 -1
- package/dist/safe-redirect.d.ts.map +0 -1
- package/dist/safe-redirect.js.map +0 -1
- package/dist/schema.d.ts.map +0 -1
- package/dist/schema.js.map +0 -1
- package/dist/security-schemes.d.ts.map +0 -1
- package/dist/security-schemes.js.map +0 -1
- package/dist/security.d.ts.map +0 -1
- package/dist/security.js.map +0 -1
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js.map +0 -1
- package/dist/streaming.d.ts.map +0 -1
- package/dist/streaming.js.map +0 -1
- package/dist/subdomains.d.ts.map +0 -1
- package/dist/subdomains.js.map +0 -1
- package/dist/time-claims.d.ts.map +0 -1
- package/dist/time-claims.js.map +0 -1
- package/dist/tracing.d.ts.map +0 -1
- package/dist/tracing.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/websocket.d.ts.map +0 -1
- package/dist/websocket.js.map +0 -1
package/dist/banner.d.ts
CHANGED
|
@@ -37,4 +37,3 @@ export declare function formatStartupBanner(options: StartupBannerOptions): stri
|
|
|
37
37
|
* replace ad-hoc `console.log("listening on …")` calls in starter templates.
|
|
38
38
|
*/
|
|
39
39
|
export declare function printStartupBanner(options: StartupBannerOptions, write?: (s: string) => void): void;
|
|
40
|
-
//# sourceMappingURL=banner.d.ts.map
|
package/dist/banner.js
CHANGED
package/dist/cli.d.ts
CHANGED
package/dist/cli.js
CHANGED
package/dist/client.d.ts
CHANGED
package/dist/client.js
CHANGED
package/dist/combine.d.ts
CHANGED
package/dist/combine.js
CHANGED
package/dist/compression.d.ts
CHANGED
package/dist/compression.js
CHANGED
package/dist/config.d.ts
CHANGED
|
@@ -95,4 +95,3 @@ export interface DefineConfigOptions<S extends StandardSchemaV1> {
|
|
|
95
95
|
* @since 0.20.0
|
|
96
96
|
*/
|
|
97
97
|
export declare function defineConfig<S extends StandardSchemaV1>(opts: DefineConfigOptions<S>): Promise<StandardSchemaV1.InferOutput<S>>;
|
|
98
|
-
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.js
CHANGED
package/dist/conn-info.d.ts
CHANGED
package/dist/conn-info.js
CHANGED
package/dist/contract.d.ts
CHANGED
|
@@ -47,4 +47,3 @@ export interface ContractTestOptions {
|
|
|
47
47
|
* @returns A {@link ContractReport}. In CI, exit non-zero when `report.ok` is `false`.
|
|
48
48
|
*/
|
|
49
49
|
export declare function runContractTests(app: App, opts?: ContractTestOptions): Promise<ContractReport>;
|
|
50
|
-
//# sourceMappingURL=contract.d.ts.map
|
package/dist/contract.js
CHANGED
package/dist/cookie.d.ts
CHANGED
|
@@ -123,4 +123,3 @@ export declare function serializeClearCookie(name: string, attributes?: CookieAt
|
|
|
123
123
|
export declare function readRequestCookie(header: string | null | undefined, name: string): string | null;
|
|
124
124
|
/** @internal Re-exported for tests. */
|
|
125
125
|
export declare const __COOKIE_FRAMEWORK_PREFIX__ = "daloy.cookie";
|
|
126
|
-
//# sourceMappingURL=cookie.d.ts.map
|
package/dist/cookie.js
CHANGED
package/dist/dependency.d.ts
CHANGED
|
@@ -45,4 +45,3 @@ export interface DependencyHooks extends Hooks {
|
|
|
45
45
|
* @since 0.24.0
|
|
46
46
|
*/
|
|
47
47
|
export declare function defineDependency<TName extends string, TValue, TStateKey extends string = TName>(opts: DependencyOptions<TName, TValue, TStateKey>): DependencyHooks;
|
|
48
|
-
//# sourceMappingURL=dependency.d.ts.map
|
package/dist/dependency.js
CHANGED
package/dist/discriminator.d.ts
CHANGED
|
@@ -71,4 +71,3 @@ export type DiscriminatedUnion<V extends Record<string, StandardSchemaV1>> = Sta
|
|
|
71
71
|
*/
|
|
72
72
|
export declare function discriminatedUnion<P extends string, V extends Record<string, StandardSchemaV1>>(propertyName: P, variants: V, opts?: DiscriminatedUnionOptions): DiscriminatedUnion<V>;
|
|
73
73
|
export {};
|
|
74
|
-
//# sourceMappingURL=discriminator.d.ts.map
|
package/dist/discriminator.js
CHANGED
package/dist/docs.d.ts
CHANGED
|
@@ -153,4 +153,3 @@ export declare function docsContentSecurityPolicy(opts?: DocsContentSecurityPoli
|
|
|
153
153
|
* {@link docsContentSecurityPolicy} (or a caller-supplied override).
|
|
154
154
|
*/
|
|
155
155
|
export declare function htmlResponse(html: string, opts?: HtmlResponseOptions): Response;
|
|
156
|
-
//# sourceMappingURL=docs.d.ts.map
|
package/dist/docs.js
CHANGED
|
@@ -113,4 +113,3 @@ function scalarConfigurationAttr(specUrl, configuration) {
|
|
|
113
113
|
const { content: _content, fetch: _fetch, plugins: _plugins, sources: _sources, spec: _spec, url: _url, ...uiConfiguration } = configuration;
|
|
114
114
|
return ` data-configuration='${escapeHtml(JSON.stringify({ ...uiConfiguration, url: specUrl }))}'`;
|
|
115
115
|
}
|
|
116
|
-
//# sourceMappingURL=docs.js.map
|
package/dist/errors.d.ts
CHANGED
package/dist/errors.js
CHANGED
package/dist/etag.d.ts
CHANGED
package/dist/etag.js
CHANGED
package/dist/fetch-guard.d.ts
CHANGED
package/dist/fetch-guard.js
CHANGED
package/dist/hashing.d.ts
CHANGED
package/dist/hashing.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -63,4 +63,3 @@ export { otelTracing, TRACING_SPAN_KIND_SERVER, TRACING_SPAN_STATUS_UNSET, TRACI
|
|
|
63
63
|
export type { OtelTracingOptions, TracingAttributes, TracingAttributeValue, TracingSpan, TracingStartSpanOptions, TracingTracer, } from "./tracing.js";
|
|
64
64
|
export { defineWebSocket, WebSocketRegistry, WebSocketProtocolError, WebSocketPayloadTooLargeError, WS_GUID, WS_READY_STATE, WS_OPCODE, WS_CLOSE_CODE, WS_MAX_CONTROL_PAYLOAD, DEFAULT_WS_BACKPRESSURE_LIMIT, DEFAULT_WS_MAX_PAYLOAD_LENGTH, DEFAULT_WS_IDLE_TIMEOUT_SECONDS, computeAcceptKey, parseSubprotocols, validateSelectedSubprotocol, validateUpgrade, checkWebSocketOrigin, parseFrame, encodeFrame, encodeClosePayload, decodeClosePayload, encodeSendPayload, normalizeWebSocketOptions, wsRateLimit, FrameSink, FRAME_INCOMPLETE, } from "./websocket.js";
|
|
65
65
|
export type { WebSocketConnection, WebSocketContext, WebSocketHandler, WebSocketRouteEntry, NormalizedWebSocketOptions, WebSocketBeforeUpgrade, HandshakeResult, ParsedFrame, MessageEvent as WebSocketMessageEvent, FrameSinkEvents, } from "./websocket.js";
|
|
66
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -31,4 +31,3 @@ export { session, rotateSession, signValue, verifySignedValue, MemorySessionStor
|
|
|
31
31
|
export { fileField, multipartObject, isFileFieldSchema, isMultipartObjectSchema, } from "./multipart.js";
|
|
32
32
|
export { otelTracing, TRACING_SPAN_KIND_SERVER, TRACING_SPAN_STATUS_UNSET, TRACING_SPAN_STATUS_OK, TRACING_SPAN_STATUS_ERROR, } from "./tracing.js";
|
|
33
33
|
export { defineWebSocket, WebSocketRegistry, WebSocketProtocolError, WebSocketPayloadTooLargeError, WS_GUID, WS_READY_STATE, WS_OPCODE, WS_CLOSE_CODE, WS_MAX_CONTROL_PAYLOAD, DEFAULT_WS_BACKPRESSURE_LIMIT, DEFAULT_WS_MAX_PAYLOAD_LENGTH, DEFAULT_WS_IDLE_TIMEOUT_SECONDS, computeAcceptKey, parseSubprotocols, validateSelectedSubprotocol, validateUpgrade, checkWebSocketOrigin, parseFrame, encodeFrame, encodeClosePayload, decodeClosePayload, encodeSendPayload, normalizeWebSocketOptions, wsRateLimit, FrameSink, FRAME_INCOMPLETE, } from "./websocket.js";
|
|
34
|
-
//# sourceMappingURL=index.js.map
|
package/dist/ip-restriction.d.ts
CHANGED
|
@@ -89,4 +89,3 @@ export declare function matchesMatcher(ip: ParsedIp, m: IpMatcher): boolean;
|
|
|
89
89
|
export declare function compileCidrMatcher(input: string): IpMatcher;
|
|
90
90
|
/** @internal */
|
|
91
91
|
export declare function parseIp(input: string): ParsedIp | undefined;
|
|
92
|
-
//# sourceMappingURL=ip-restriction.d.ts.map
|
package/dist/ip-restriction.js
CHANGED
package/dist/jwk.d.ts
CHANGED
package/dist/jwk.js
CHANGED
package/dist/jwt.d.ts
CHANGED
package/dist/jwt.js
CHANGED
package/dist/load-shedding.d.ts
CHANGED
package/dist/load-shedding.js
CHANGED
package/dist/logger.d.ts
CHANGED
package/dist/logger.js
CHANGED
package/dist/middleware.d.ts
CHANGED
package/dist/middleware.js
CHANGED
|
@@ -223,7 +223,7 @@ export function secureHeaders(opts = {}) {
|
|
|
223
223
|
const ref = opts.referrerPolicy ?? "no-referrer";
|
|
224
224
|
if (ref !== false)
|
|
225
225
|
headers["referrer-policy"] = ref;
|
|
226
|
-
const perm = opts.permissionsPolicy ?? "camera=(), microphone=(), geolocation=()";
|
|
226
|
+
const perm = opts.permissionsPolicy ?? "camera=(), microphone=(), geolocation=(), clipboard-write=()";
|
|
227
227
|
if (perm !== false)
|
|
228
228
|
headers["permissions-policy"] = perm;
|
|
229
229
|
const coop = opts.crossOriginOpenerPolicy ?? "same-origin";
|
|
@@ -259,14 +259,16 @@ export function secureHeaders(opts = {}) {
|
|
|
259
259
|
.join(", ");
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
|
-
const
|
|
263
|
-
|
|
264
|
-
|
|
262
|
+
const headerEntries = Object.entries(headers);
|
|
263
|
+
const hooks = {};
|
|
264
|
+
if (cspIsDynamic) {
|
|
265
|
+
hooks.beforeHandle = (ctx) => {
|
|
266
|
+
if (cspOpt.nonce) {
|
|
265
267
|
ctx.state[CSP_NONCE_STATE] = generateCspNonce();
|
|
266
268
|
}
|
|
267
|
-
}
|
|
268
|
-
onSend(res, ctx) {
|
|
269
|
-
if (
|
|
269
|
+
};
|
|
270
|
+
hooks.onSend = (res, ctx) => {
|
|
271
|
+
if (!res.headers.has("content-security-policy")) {
|
|
270
272
|
const nonce = ctx
|
|
271
273
|
? ctx.state[CSP_NONCE_STATE]
|
|
272
274
|
: undefined;
|
|
@@ -275,14 +277,16 @@ export function secureHeaders(opts = {}) {
|
|
|
275
277
|
res.headers.set("content-security-policy", header);
|
|
276
278
|
}
|
|
277
279
|
return undefined;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
if (headerEntries.length > 0) {
|
|
283
|
+
hooks.onResponse = (res) => {
|
|
284
|
+
for (const [k, v] of headerEntries) {
|
|
281
285
|
if (!res.headers.has(k))
|
|
282
286
|
res.headers.set(k, v);
|
|
283
287
|
}
|
|
284
|
-
}
|
|
285
|
-
}
|
|
288
|
+
};
|
|
289
|
+
}
|
|
286
290
|
hooks[SECURE_HEADERS_MARKER] = true;
|
|
287
291
|
return hooks;
|
|
288
292
|
}
|
|
@@ -1248,4 +1252,3 @@ export function requireScopes(scopes) {
|
|
|
1248
1252
|
return hooks;
|
|
1249
1253
|
}
|
|
1250
1254
|
export { timingSafeEqual };
|
|
1251
|
-
//# sourceMappingURL=middleware.js.map
|
package/dist/multipart.d.ts
CHANGED
|
@@ -166,4 +166,3 @@ export declare function getMultipartShape(s: unknown): {
|
|
|
166
166
|
/** Internal: read the file-field options used for OpenAPI documentation. */
|
|
167
167
|
export declare function getFileFieldOptions(s: unknown): (Required<Pick<FileFieldOptions, "format">> & FileFieldOptions) | undefined;
|
|
168
168
|
export {};
|
|
169
|
-
//# sourceMappingURL=multipart.d.ts.map
|
package/dist/multipart.js
CHANGED
package/dist/openapi.d.ts
CHANGED
package/dist/openapi.js
CHANGED
package/dist/rate-limit-redis.js
CHANGED
package/dist/router.d.ts
CHANGED
package/dist/router.js
CHANGED
package/dist/safe-redirect.d.ts
CHANGED
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
* });
|
|
39
39
|
* ```
|
|
40
40
|
*
|
|
41
|
-
* @since 0.35.
|
|
41
|
+
* @since 0.35.1
|
|
42
42
|
*/
|
|
43
43
|
/** Reason an open-redirect candidate was refused. */
|
|
44
44
|
export type SafeRedirectBlockReason = "empty-target" | "invalid-control-characters" | "protocol-relative" | "backslash-path" | "path-not-allowed" | "origin-not-allowed" | "scheme-not-allowed" | "parse-failed";
|
|
@@ -86,7 +86,6 @@ export interface SafeRedirectOptions {
|
|
|
86
86
|
* @param target - User-supplied URL candidate (path or absolute URL).
|
|
87
87
|
* @param options - Allowlist + response configuration.
|
|
88
88
|
*
|
|
89
|
-
* @since 0.35.
|
|
89
|
+
* @since 0.35.1
|
|
90
90
|
*/
|
|
91
91
|
export declare function safeRedirect(target: string, options?: SafeRedirectOptions): Response;
|
|
92
|
-
//# sourceMappingURL=safe-redirect.d.ts.map
|
package/dist/safe-redirect.js
CHANGED
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
* });
|
|
39
39
|
* ```
|
|
40
40
|
*
|
|
41
|
-
* @since 0.35.
|
|
41
|
+
* @since 0.35.1
|
|
42
42
|
*/
|
|
43
43
|
/** Thrown when {@link safeRedirect} refuses a candidate URL and no `fallback` is configured. */
|
|
44
44
|
export class OpenRedirectBlockedError extends Error {
|
|
@@ -126,7 +126,7 @@ function classify(target, allowedPaths, allowedOrigins) {
|
|
|
126
126
|
* @param target - User-supplied URL candidate (path or absolute URL).
|
|
127
127
|
* @param options - Allowlist + response configuration.
|
|
128
128
|
*
|
|
129
|
-
* @since 0.35.
|
|
129
|
+
* @since 0.35.1
|
|
130
130
|
*/
|
|
131
131
|
export function safeRedirect(target, options = {}) {
|
|
132
132
|
const allowedPaths = options.allowedPaths ?? [];
|
|
@@ -166,4 +166,3 @@ export function safeRedirect(target, options = {}) {
|
|
|
166
166
|
}
|
|
167
167
|
throw new OpenRedirectBlockedError(result.reason, target);
|
|
168
168
|
}
|
|
169
|
-
//# sourceMappingURL=safe-redirect.js.map
|
package/dist/sbom.cdx.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"bomFormat": "CycloneDX",
|
|
3
3
|
"specVersion": "1.5",
|
|
4
|
-
"serialNumber": "urn:uuid:
|
|
4
|
+
"serialNumber": "urn:uuid:3d46c2b6-0b38-564b-9dd2-79098e99155b",
|
|
5
5
|
"version": 1,
|
|
6
6
|
"metadata": {
|
|
7
|
-
"timestamp": "2026-05-
|
|
7
|
+
"timestamp": "2026-05-26T23:20:20.188Z",
|
|
8
8
|
"tools": [
|
|
9
9
|
{
|
|
10
10
|
"vendor": "DaloyJS",
|
|
11
11
|
"name": "daloy-generate-sbom",
|
|
12
|
-
"version": "0.35.
|
|
12
|
+
"version": "0.35.1"
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"authors": [
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
],
|
|
20
20
|
"component": {
|
|
21
21
|
"type": "library",
|
|
22
|
-
"bom-ref": "pkg:npm/@daloyjs/core@0.35.
|
|
22
|
+
"bom-ref": "pkg:npm/@daloyjs/core@0.35.1",
|
|
23
23
|
"name": "@daloyjs/core",
|
|
24
|
-
"version": "0.35.
|
|
24
|
+
"version": "0.35.1",
|
|
25
25
|
"description": "DaloyJS is a runtime-portable, contract-first TypeScript web framework with built-in OpenAPI (Hey API), typed client generation, large-scale maintainability, and security-first defaults. Hono-grade portability, Elysia-grade DX, FastAPI-grade docs, Fastify-grade ops — distributed via pnpm.",
|
|
26
|
-
"purl": "pkg:npm/@daloyjs/core@0.35.
|
|
26
|
+
"purl": "pkg:npm/@daloyjs/core@0.35.1",
|
|
27
27
|
"licenses": [
|
|
28
28
|
{
|
|
29
29
|
"license": {
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
}
|
|
47
47
|
],
|
|
48
48
|
"swid": {
|
|
49
|
-
"tagId": "swidtag--daloyjs-core-0.35.
|
|
49
|
+
"tagId": "swidtag--daloyjs-core-0.35.1",
|
|
50
50
|
"name": "@daloyjs/core",
|
|
51
|
-
"version": "0.35.
|
|
51
|
+
"version": "0.35.1",
|
|
52
52
|
"tagVersion": 0,
|
|
53
53
|
"patch": false
|
|
54
54
|
}
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"components": [],
|
|
58
58
|
"dependencies": [
|
|
59
59
|
{
|
|
60
|
-
"ref": "pkg:npm/@daloyjs/core@0.35.
|
|
60
|
+
"ref": "pkg:npm/@daloyjs/core@0.35.1",
|
|
61
61
|
"dependsOn": []
|
|
62
62
|
}
|
|
63
63
|
]
|
package/dist/sbom.spdx.json
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"spdxVersion": "SPDX-2.3",
|
|
3
3
|
"dataLicense": "CC0-1.0",
|
|
4
4
|
"SPDXID": "SPDXRef-DOCUMENT",
|
|
5
|
-
"name": "@daloyjs/core-0.35.
|
|
6
|
-
"documentNamespace": "https://github.com/daloyjs/daloy/sbom/@daloyjs/core-0.35.
|
|
5
|
+
"name": "@daloyjs/core-0.35.1",
|
|
6
|
+
"documentNamespace": "https://github.com/daloyjs/daloy/sbom/@daloyjs/core-0.35.1-3d46c2b6-0b38-564b-9dd2-79098e99155b",
|
|
7
7
|
"creationInfo": {
|
|
8
|
-
"created": "2026-05-
|
|
8
|
+
"created": "2026-05-26T23:20:20.188Z",
|
|
9
9
|
"creators": [
|
|
10
10
|
"Tool: daloy-generate-sbom",
|
|
11
11
|
"Organization: DaloyJS"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
{
|
|
17
17
|
"SPDXID": "SPDXRef-Package--daloyjs-core",
|
|
18
18
|
"name": "@daloyjs/core",
|
|
19
|
-
"versionInfo": "0.35.
|
|
19
|
+
"versionInfo": "0.35.1",
|
|
20
20
|
"downloadLocation": "https://github.com/daloyjs/daloy",
|
|
21
21
|
"filesAnalyzed": false,
|
|
22
22
|
"licenseConcluded": "MIT",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
{
|
|
28
28
|
"referenceCategory": "PACKAGE-MANAGER",
|
|
29
29
|
"referenceType": "purl",
|
|
30
|
-
"referenceLocator": "pkg:npm/@daloyjs/core@0.35.
|
|
30
|
+
"referenceLocator": "pkg:npm/@daloyjs/core@0.35.1"
|
|
31
31
|
}
|
|
32
32
|
]
|
|
33
33
|
}
|
package/dist/schema.d.ts
CHANGED
package/dist/schema.js
CHANGED
package/dist/security-schemes.js
CHANGED
package/dist/security.d.ts
CHANGED
|
@@ -338,7 +338,7 @@ export declare function signWebhookPayload(opts: {
|
|
|
338
338
|
* @returns A sanitized basename safe to combine with a trusted directory.
|
|
339
339
|
* @throws {BadRequestError} When the input reduces to an empty string or
|
|
340
340
|
* matches a Windows-reserved device name.
|
|
341
|
-
* @since 0.35.
|
|
341
|
+
* @since 0.35.1
|
|
342
342
|
*/
|
|
343
343
|
export declare function sanitizeFilename(name: string): string;
|
|
344
344
|
/**
|
|
@@ -365,7 +365,7 @@ export declare function sanitizeFilename(name: string): string;
|
|
|
365
365
|
* @param input - The candidate relative path.
|
|
366
366
|
* @returns The input unchanged when safe.
|
|
367
367
|
* @throws {BadRequestError} When the path could escape its base directory.
|
|
368
|
-
* @since 0.35.
|
|
368
|
+
* @since 0.35.1
|
|
369
369
|
*/
|
|
370
370
|
export declare function assertSafeRelativePath(input: string): string;
|
|
371
371
|
/**
|
|
@@ -376,7 +376,7 @@ export declare function assertSafeRelativePath(input: string): string;
|
|
|
376
376
|
* Returns `true` on the first hit. Use before passing untrusted data
|
|
377
377
|
* into a query object that may be interpreted as an operator expression.
|
|
378
378
|
*
|
|
379
|
-
* @since 0.35.
|
|
379
|
+
* @since 0.35.1
|
|
380
380
|
*/
|
|
381
381
|
export declare function hasMongoOperatorKeys(value: unknown): boolean;
|
|
382
382
|
/**
|
|
@@ -385,7 +385,6 @@ export declare function hasMongoOperatorKeys(value: unknown): boolean;
|
|
|
385
385
|
* threading it into a NoSQL driver — closes the
|
|
386
386
|
* `{"password": {"$ne": null}}` authentication-bypass class of bug.
|
|
387
387
|
*
|
|
388
|
-
* @since 0.35.
|
|
388
|
+
* @since 0.35.1
|
|
389
389
|
*/
|
|
390
390
|
export declare function assertNoMongoOperators(value: unknown): void;
|
|
391
|
-
//# sourceMappingURL=security.d.ts.map
|
package/dist/security.js
CHANGED
|
@@ -631,7 +631,7 @@ const WINDOWS_RESERVED_NAMES = new Set([
|
|
|
631
631
|
* @returns A sanitized basename safe to combine with a trusted directory.
|
|
632
632
|
* @throws {BadRequestError} When the input reduces to an empty string or
|
|
633
633
|
* matches a Windows-reserved device name.
|
|
634
|
-
* @since 0.35.
|
|
634
|
+
* @since 0.35.1
|
|
635
635
|
*/
|
|
636
636
|
export function sanitizeFilename(name) {
|
|
637
637
|
if (typeof name !== "string") {
|
|
@@ -683,7 +683,7 @@ export function sanitizeFilename(name) {
|
|
|
683
683
|
* @param input - The candidate relative path.
|
|
684
684
|
* @returns The input unchanged when safe.
|
|
685
685
|
* @throws {BadRequestError} When the path could escape its base directory.
|
|
686
|
-
* @since 0.35.
|
|
686
|
+
* @since 0.35.1
|
|
687
687
|
*/
|
|
688
688
|
export function assertSafeRelativePath(input) {
|
|
689
689
|
if (typeof input !== "string" || input.length === 0) {
|
|
@@ -744,7 +744,7 @@ function walkForMongoOperators(value) {
|
|
|
744
744
|
* Returns `true` on the first hit. Use before passing untrusted data
|
|
745
745
|
* into a query object that may be interpreted as an operator expression.
|
|
746
746
|
*
|
|
747
|
-
* @since 0.35.
|
|
747
|
+
* @since 0.35.1
|
|
748
748
|
*/
|
|
749
749
|
export function hasMongoOperatorKeys(value) {
|
|
750
750
|
return walkForMongoOperators(value);
|
|
@@ -755,11 +755,10 @@ export function hasMongoOperatorKeys(value) {
|
|
|
755
755
|
* threading it into a NoSQL driver — closes the
|
|
756
756
|
* `{"password": {"$ne": null}}` authentication-bypass class of bug.
|
|
757
757
|
*
|
|
758
|
-
* @since 0.35.
|
|
758
|
+
* @since 0.35.1
|
|
759
759
|
*/
|
|
760
760
|
export function assertNoMongoOperators(value) {
|
|
761
761
|
if (walkForMongoOperators(value)) {
|
|
762
762
|
throw new BadRequestError("Operator-prefixed key rejected");
|
|
763
763
|
}
|
|
764
764
|
}
|
|
765
|
-
//# sourceMappingURL=security.js.map
|
package/dist/session.d.ts
CHANGED