h3 1.15.3 → 1.15.4
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 +4 -4
- package/dist/index.cjs +2 -1
- package/dist/index.d.cts +8 -7
- package/dist/index.d.mts +8 -7
- package/dist/index.d.ts +8 -7
- package/dist/index.mjs +2 -1
- package/package.json +21 -21
package/README.md
CHANGED
|
@@ -33,11 +33,11 @@ H3 (pronounced as /eɪtʃθriː/, like h-3) is a minimal h(ttp) framework built
|
|
|
33
33
|
|
|
34
34
|
<!-- automd:contributors license=MIT author="pi0" -->
|
|
35
35
|
|
|
36
|
-
Published under the [MIT](https://github.com/
|
|
37
|
-
Made by [@pi0](https://github.com/pi0) and [community](https://github.com/
|
|
36
|
+
Published under the [MIT](https://github.com/h3js/h3/blob/main/LICENSE) license.
|
|
37
|
+
Made by [@pi0](https://github.com/pi0) and [community](https://github.com/h3js/h3/graphs/contributors) 💛
|
|
38
38
|
<br><br>
|
|
39
|
-
<a href="https://github.com/
|
|
40
|
-
<img src="https://contrib.rocks/image?repo=
|
|
39
|
+
<a href="https://github.com/h3js/h3/graphs/contributors">
|
|
40
|
+
<img src="https://contrib.rocks/image?repo=h3js/h3" />
|
|
41
41
|
</a>
|
|
42
42
|
|
|
43
43
|
<!-- /automd -->
|
package/dist/index.cjs
CHANGED
|
@@ -315,7 +315,8 @@ function getRequestHeader(event, name) {
|
|
|
315
315
|
const getHeader = getRequestHeader;
|
|
316
316
|
function getRequestHost(event, opts = {}) {
|
|
317
317
|
if (opts.xForwardedHost) {
|
|
318
|
-
const
|
|
318
|
+
const _header = event.node.req.headers["x-forwarded-host"];
|
|
319
|
+
const xForwardedHost = (_header || "").split(",").shift()?.trim();
|
|
319
320
|
if (xForwardedHost) {
|
|
320
321
|
return xForwardedHost;
|
|
321
322
|
}
|
package/dist/index.d.cts
CHANGED
|
@@ -117,6 +117,12 @@ interface Session<T extends SessionDataT = SessionDataT> {
|
|
|
117
117
|
data: SessionData<T>;
|
|
118
118
|
[getSessionPromise]?: Promise<Session<T>>;
|
|
119
119
|
}
|
|
120
|
+
interface SessionManager<T extends SessionDataT = SessionDataT> {
|
|
121
|
+
readonly id: string | undefined;
|
|
122
|
+
readonly data: SessionData<T>;
|
|
123
|
+
update: (update: SessionUpdate<T>) => Promise<SessionManager<T>>;
|
|
124
|
+
clear: () => Promise<SessionManager<T>>;
|
|
125
|
+
}
|
|
120
126
|
interface SessionConfig {
|
|
121
127
|
/** Private key used to encrypt session tokens */
|
|
122
128
|
password: string;
|
|
@@ -145,12 +151,7 @@ type CompatEvent = {
|
|
|
145
151
|
/**
|
|
146
152
|
* Create a session manager for the current request.
|
|
147
153
|
*/
|
|
148
|
-
declare function useSession<T extends SessionDataT = SessionDataT>(event: H3Event | CompatEvent, config: SessionConfig): Promise<
|
|
149
|
-
readonly id: any;
|
|
150
|
-
readonly data: T;
|
|
151
|
-
update: (update: SessionUpdate<T>) => Promise</*elided*/ any>;
|
|
152
|
-
clear: () => Promise</*elided*/ any>;
|
|
153
|
-
}>;
|
|
154
|
+
declare function useSession<T extends SessionDataT = SessionDataT>(event: H3Event | CompatEvent, config: SessionConfig): Promise<SessionManager<T>>;
|
|
154
155
|
/**
|
|
155
156
|
* Get the session for the current request.
|
|
156
157
|
*/
|
|
@@ -1393,4 +1394,4 @@ declare function toPlainHandler(app: App): PlainHandler;
|
|
|
1393
1394
|
declare function fromPlainHandler(handler: PlainHandler): EventHandler<EventHandlerRequest, Promise<unknown>>;
|
|
1394
1395
|
|
|
1395
1396
|
export { H3Error, H3Event, H3Headers, H3Response, MIMES, appendCorsHeaders, appendCorsPreflightHeaders, appendHeader, appendHeaders, appendResponseHeader, appendResponseHeaders, assertMethod, callNodeListener, clearResponseHeaders, clearSession, createApp, createAppEventHandler, createError, createEvent, createEventStream, createRouter, defaultContentType, defineEventHandler, defineLazyEventHandler, defineNodeListener, defineNodeMiddleware, defineRequestMiddleware, defineResponseMiddleware, defineWebSocket, defineWebSocketHandler, deleteCookie, dynamicEventHandler, eventHandler, fetchWithEvent, fromNodeMiddleware, fromPlainHandler, fromWebHandler, getCookie, getHeader, getHeaders, getMethod, getProxyRequestHeaders, getQuery, getRequestFingerprint, getRequestHeader, getRequestHeaders, getRequestHost, getRequestIP, getRequestPath, getRequestProtocol, getRequestURL, getRequestWebStream, getResponseHeader, getResponseHeaders, getResponseStatus, getResponseStatusText, getRouterParam, getRouterParams, getSession, getValidatedQuery, getValidatedRouterParams, handleCacheHeaders, handleCors, isCorsOriginAllowed, isError, isEvent, isEventHandler, isMethod, isPreflightRequest, isStream, isWebResponse, lazyEventHandler, parseCookies, promisifyNodeListener, proxyRequest, readBody, readFormData, readMultipartFormData, readRawBody, readValidatedBody, removeResponseHeader, sanitizeStatusCode, sanitizeStatusMessage, sealSession, send, sendError, sendIterable, sendNoContent, sendProxy, sendRedirect, sendStream, sendWebResponse, serveStatic, setCookie, setHeader, setHeaders, setResponseHeader, setResponseHeaders, setResponseStatus, splitCookiesString, toEventHandler, toNodeListener, toPlainHandler, toWebHandler, toWebRequest, unsealSession, updateSession, use, useBase, useSession, writeEarlyHints };
|
|
1396
|
-
export type { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CreateRouterOptions, Duplex, DynamicEventHandler, Encoding, EventHandler, EventHandlerObject, EventHandlerRequest, EventHandlerResolver, EventHandlerResponse, EventStream, EventStreamMessage, EventStreamOptions, H3CorsOptions, H3EventContext, HTTPHeaderName, HTTPMethod, InferEventInput, InputLayer, InputStack, Layer, LazyEventHandler, Matcher, MimeType, MultiPartData, NodeEventContext, NodeListener, NodeMiddleware, NodePromisifiedHandler, PlainHandler, PlainRequest, PlainResponse, ProxyOptions, RequestFingerprintOptions, RequestHeaders, RouteNode, Router, RouterMethod, RouterUse, ServeStaticOptions, Session, SessionConfig, SessionData, Stack, StaticAssetMeta, StatusCode, TypedHeaders, ValidateFunction, ValidateResult, WebEventContext, WebHandler, WebSocketOptions, _RequestMiddleware, _ResponseMiddleware };
|
|
1397
|
+
export type { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CreateRouterOptions, Duplex, DynamicEventHandler, Encoding, EventHandler, EventHandlerObject, EventHandlerRequest, EventHandlerResolver, EventHandlerResponse, EventStream, EventStreamMessage, EventStreamOptions, H3CorsOptions, H3EventContext, HTTPHeaderName, HTTPMethod, InferEventInput, InputLayer, InputStack, Layer, LazyEventHandler, Matcher, MimeType, MultiPartData, NodeEventContext, NodeListener, NodeMiddleware, NodePromisifiedHandler, PlainHandler, PlainRequest, PlainResponse, ProxyOptions, RequestFingerprintOptions, RequestHeaders, RouteNode, Router, RouterMethod, RouterUse, ServeStaticOptions, Session, SessionConfig, SessionData, SessionManager, Stack, StaticAssetMeta, StatusCode, TypedHeaders, ValidateFunction, ValidateResult, WebEventContext, WebHandler, WebSocketOptions, _RequestMiddleware, _ResponseMiddleware };
|
package/dist/index.d.mts
CHANGED
|
@@ -117,6 +117,12 @@ interface Session<T extends SessionDataT = SessionDataT> {
|
|
|
117
117
|
data: SessionData<T>;
|
|
118
118
|
[getSessionPromise]?: Promise<Session<T>>;
|
|
119
119
|
}
|
|
120
|
+
interface SessionManager<T extends SessionDataT = SessionDataT> {
|
|
121
|
+
readonly id: string | undefined;
|
|
122
|
+
readonly data: SessionData<T>;
|
|
123
|
+
update: (update: SessionUpdate<T>) => Promise<SessionManager<T>>;
|
|
124
|
+
clear: () => Promise<SessionManager<T>>;
|
|
125
|
+
}
|
|
120
126
|
interface SessionConfig {
|
|
121
127
|
/** Private key used to encrypt session tokens */
|
|
122
128
|
password: string;
|
|
@@ -145,12 +151,7 @@ type CompatEvent = {
|
|
|
145
151
|
/**
|
|
146
152
|
* Create a session manager for the current request.
|
|
147
153
|
*/
|
|
148
|
-
declare function useSession<T extends SessionDataT = SessionDataT>(event: H3Event | CompatEvent, config: SessionConfig): Promise<
|
|
149
|
-
readonly id: any;
|
|
150
|
-
readonly data: T;
|
|
151
|
-
update: (update: SessionUpdate<T>) => Promise</*elided*/ any>;
|
|
152
|
-
clear: () => Promise</*elided*/ any>;
|
|
153
|
-
}>;
|
|
154
|
+
declare function useSession<T extends SessionDataT = SessionDataT>(event: H3Event | CompatEvent, config: SessionConfig): Promise<SessionManager<T>>;
|
|
154
155
|
/**
|
|
155
156
|
* Get the session for the current request.
|
|
156
157
|
*/
|
|
@@ -1393,4 +1394,4 @@ declare function toPlainHandler(app: App): PlainHandler;
|
|
|
1393
1394
|
declare function fromPlainHandler(handler: PlainHandler): EventHandler<EventHandlerRequest, Promise<unknown>>;
|
|
1394
1395
|
|
|
1395
1396
|
export { H3Error, H3Event, H3Headers, H3Response, MIMES, appendCorsHeaders, appendCorsPreflightHeaders, appendHeader, appendHeaders, appendResponseHeader, appendResponseHeaders, assertMethod, callNodeListener, clearResponseHeaders, clearSession, createApp, createAppEventHandler, createError, createEvent, createEventStream, createRouter, defaultContentType, defineEventHandler, defineLazyEventHandler, defineNodeListener, defineNodeMiddleware, defineRequestMiddleware, defineResponseMiddleware, defineWebSocket, defineWebSocketHandler, deleteCookie, dynamicEventHandler, eventHandler, fetchWithEvent, fromNodeMiddleware, fromPlainHandler, fromWebHandler, getCookie, getHeader, getHeaders, getMethod, getProxyRequestHeaders, getQuery, getRequestFingerprint, getRequestHeader, getRequestHeaders, getRequestHost, getRequestIP, getRequestPath, getRequestProtocol, getRequestURL, getRequestWebStream, getResponseHeader, getResponseHeaders, getResponseStatus, getResponseStatusText, getRouterParam, getRouterParams, getSession, getValidatedQuery, getValidatedRouterParams, handleCacheHeaders, handleCors, isCorsOriginAllowed, isError, isEvent, isEventHandler, isMethod, isPreflightRequest, isStream, isWebResponse, lazyEventHandler, parseCookies, promisifyNodeListener, proxyRequest, readBody, readFormData, readMultipartFormData, readRawBody, readValidatedBody, removeResponseHeader, sanitizeStatusCode, sanitizeStatusMessage, sealSession, send, sendError, sendIterable, sendNoContent, sendProxy, sendRedirect, sendStream, sendWebResponse, serveStatic, setCookie, setHeader, setHeaders, setResponseHeader, setResponseHeaders, setResponseStatus, splitCookiesString, toEventHandler, toNodeListener, toPlainHandler, toWebHandler, toWebRequest, unsealSession, updateSession, use, useBase, useSession, writeEarlyHints };
|
|
1396
|
-
export type { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CreateRouterOptions, Duplex, DynamicEventHandler, Encoding, EventHandler, EventHandlerObject, EventHandlerRequest, EventHandlerResolver, EventHandlerResponse, EventStream, EventStreamMessage, EventStreamOptions, H3CorsOptions, H3EventContext, HTTPHeaderName, HTTPMethod, InferEventInput, InputLayer, InputStack, Layer, LazyEventHandler, Matcher, MimeType, MultiPartData, NodeEventContext, NodeListener, NodeMiddleware, NodePromisifiedHandler, PlainHandler, PlainRequest, PlainResponse, ProxyOptions, RequestFingerprintOptions, RequestHeaders, RouteNode, Router, RouterMethod, RouterUse, ServeStaticOptions, Session, SessionConfig, SessionData, Stack, StaticAssetMeta, StatusCode, TypedHeaders, ValidateFunction, ValidateResult, WebEventContext, WebHandler, WebSocketOptions, _RequestMiddleware, _ResponseMiddleware };
|
|
1397
|
+
export type { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CreateRouterOptions, Duplex, DynamicEventHandler, Encoding, EventHandler, EventHandlerObject, EventHandlerRequest, EventHandlerResolver, EventHandlerResponse, EventStream, EventStreamMessage, EventStreamOptions, H3CorsOptions, H3EventContext, HTTPHeaderName, HTTPMethod, InferEventInput, InputLayer, InputStack, Layer, LazyEventHandler, Matcher, MimeType, MultiPartData, NodeEventContext, NodeListener, NodeMiddleware, NodePromisifiedHandler, PlainHandler, PlainRequest, PlainResponse, ProxyOptions, RequestFingerprintOptions, RequestHeaders, RouteNode, Router, RouterMethod, RouterUse, ServeStaticOptions, Session, SessionConfig, SessionData, SessionManager, Stack, StaticAssetMeta, StatusCode, TypedHeaders, ValidateFunction, ValidateResult, WebEventContext, WebHandler, WebSocketOptions, _RequestMiddleware, _ResponseMiddleware };
|
package/dist/index.d.ts
CHANGED
|
@@ -117,6 +117,12 @@ interface Session<T extends SessionDataT = SessionDataT> {
|
|
|
117
117
|
data: SessionData<T>;
|
|
118
118
|
[getSessionPromise]?: Promise<Session<T>>;
|
|
119
119
|
}
|
|
120
|
+
interface SessionManager<T extends SessionDataT = SessionDataT> {
|
|
121
|
+
readonly id: string | undefined;
|
|
122
|
+
readonly data: SessionData<T>;
|
|
123
|
+
update: (update: SessionUpdate<T>) => Promise<SessionManager<T>>;
|
|
124
|
+
clear: () => Promise<SessionManager<T>>;
|
|
125
|
+
}
|
|
120
126
|
interface SessionConfig {
|
|
121
127
|
/** Private key used to encrypt session tokens */
|
|
122
128
|
password: string;
|
|
@@ -145,12 +151,7 @@ type CompatEvent = {
|
|
|
145
151
|
/**
|
|
146
152
|
* Create a session manager for the current request.
|
|
147
153
|
*/
|
|
148
|
-
declare function useSession<T extends SessionDataT = SessionDataT>(event: H3Event | CompatEvent, config: SessionConfig): Promise<
|
|
149
|
-
readonly id: any;
|
|
150
|
-
readonly data: T;
|
|
151
|
-
update: (update: SessionUpdate<T>) => Promise</*elided*/ any>;
|
|
152
|
-
clear: () => Promise</*elided*/ any>;
|
|
153
|
-
}>;
|
|
154
|
+
declare function useSession<T extends SessionDataT = SessionDataT>(event: H3Event | CompatEvent, config: SessionConfig): Promise<SessionManager<T>>;
|
|
154
155
|
/**
|
|
155
156
|
* Get the session for the current request.
|
|
156
157
|
*/
|
|
@@ -1393,4 +1394,4 @@ declare function toPlainHandler(app: App): PlainHandler;
|
|
|
1393
1394
|
declare function fromPlainHandler(handler: PlainHandler): EventHandler<EventHandlerRequest, Promise<unknown>>;
|
|
1394
1395
|
|
|
1395
1396
|
export { H3Error, H3Event, H3Headers, H3Response, MIMES, appendCorsHeaders, appendCorsPreflightHeaders, appendHeader, appendHeaders, appendResponseHeader, appendResponseHeaders, assertMethod, callNodeListener, clearResponseHeaders, clearSession, createApp, createAppEventHandler, createError, createEvent, createEventStream, createRouter, defaultContentType, defineEventHandler, defineLazyEventHandler, defineNodeListener, defineNodeMiddleware, defineRequestMiddleware, defineResponseMiddleware, defineWebSocket, defineWebSocketHandler, deleteCookie, dynamicEventHandler, eventHandler, fetchWithEvent, fromNodeMiddleware, fromPlainHandler, fromWebHandler, getCookie, getHeader, getHeaders, getMethod, getProxyRequestHeaders, getQuery, getRequestFingerprint, getRequestHeader, getRequestHeaders, getRequestHost, getRequestIP, getRequestPath, getRequestProtocol, getRequestURL, getRequestWebStream, getResponseHeader, getResponseHeaders, getResponseStatus, getResponseStatusText, getRouterParam, getRouterParams, getSession, getValidatedQuery, getValidatedRouterParams, handleCacheHeaders, handleCors, isCorsOriginAllowed, isError, isEvent, isEventHandler, isMethod, isPreflightRequest, isStream, isWebResponse, lazyEventHandler, parseCookies, promisifyNodeListener, proxyRequest, readBody, readFormData, readMultipartFormData, readRawBody, readValidatedBody, removeResponseHeader, sanitizeStatusCode, sanitizeStatusMessage, sealSession, send, sendError, sendIterable, sendNoContent, sendProxy, sendRedirect, sendStream, sendWebResponse, serveStatic, setCookie, setHeader, setHeaders, setResponseHeader, setResponseHeaders, setResponseStatus, splitCookiesString, toEventHandler, toNodeListener, toPlainHandler, toWebHandler, toWebRequest, unsealSession, updateSession, use, useBase, useSession, writeEarlyHints };
|
|
1396
|
-
export type { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CreateRouterOptions, Duplex, DynamicEventHandler, Encoding, EventHandler, EventHandlerObject, EventHandlerRequest, EventHandlerResolver, EventHandlerResponse, EventStream, EventStreamMessage, EventStreamOptions, H3CorsOptions, H3EventContext, HTTPHeaderName, HTTPMethod, InferEventInput, InputLayer, InputStack, Layer, LazyEventHandler, Matcher, MimeType, MultiPartData, NodeEventContext, NodeListener, NodeMiddleware, NodePromisifiedHandler, PlainHandler, PlainRequest, PlainResponse, ProxyOptions, RequestFingerprintOptions, RequestHeaders, RouteNode, Router, RouterMethod, RouterUse, ServeStaticOptions, Session, SessionConfig, SessionData, Stack, StaticAssetMeta, StatusCode, TypedHeaders, ValidateFunction, ValidateResult, WebEventContext, WebHandler, WebSocketOptions, _RequestMiddleware, _ResponseMiddleware };
|
|
1397
|
+
export type { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CreateRouterOptions, Duplex, DynamicEventHandler, Encoding, EventHandler, EventHandlerObject, EventHandlerRequest, EventHandlerResolver, EventHandlerResponse, EventStream, EventStreamMessage, EventStreamOptions, H3CorsOptions, H3EventContext, HTTPHeaderName, HTTPMethod, InferEventInput, InputLayer, InputStack, Layer, LazyEventHandler, Matcher, MimeType, MultiPartData, NodeEventContext, NodeListener, NodeMiddleware, NodePromisifiedHandler, PlainHandler, PlainRequest, PlainResponse, ProxyOptions, RequestFingerprintOptions, RequestHeaders, RouteNode, Router, RouterMethod, RouterUse, ServeStaticOptions, Session, SessionConfig, SessionData, SessionManager, Stack, StaticAssetMeta, StatusCode, TypedHeaders, ValidateFunction, ValidateResult, WebEventContext, WebHandler, WebSocketOptions, _RequestMiddleware, _ResponseMiddleware };
|
package/dist/index.mjs
CHANGED
|
@@ -308,7 +308,8 @@ function getRequestHeader(event, name) {
|
|
|
308
308
|
const getHeader = getRequestHeader;
|
|
309
309
|
function getRequestHost(event, opts = {}) {
|
|
310
310
|
if (opts.xForwardedHost) {
|
|
311
|
-
const
|
|
311
|
+
const _header = event.node.req.headers["x-forwarded-host"];
|
|
312
|
+
const xForwardedHost = (_header || "").split(",").shift()?.trim();
|
|
312
313
|
if (xForwardedHost) {
|
|
313
314
|
return xForwardedHost;
|
|
314
315
|
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "h3",
|
|
3
|
-
"version": "1.15.
|
|
3
|
+
"version": "1.15.4",
|
|
4
4
|
"description": "Minimal H(TTP) framework built for high performance and portability.",
|
|
5
|
-
"repository": "
|
|
5
|
+
"repository": "h3js/h3",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"sideEffects": false,
|
|
8
8
|
"exports": {
|
|
@@ -34,42 +34,42 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"cookie-es": "^1.2.2",
|
|
37
|
-
"crossws": "^0.3.
|
|
37
|
+
"crossws": "^0.3.5",
|
|
38
38
|
"defu": "^6.1.4",
|
|
39
39
|
"destr": "^2.0.5",
|
|
40
40
|
"iron-webcrypto": "^1.2.1",
|
|
41
|
-
"node-mock-http": "^1.0.
|
|
41
|
+
"node-mock-http": "^1.0.2",
|
|
42
42
|
"radix3": "^1.1.2",
|
|
43
43
|
"ufo": "^1.6.1",
|
|
44
44
|
"uncrypto": "^0.1.3"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"0x": "^
|
|
48
|
-
"@types/express": "^5.0.
|
|
49
|
-
"@types/node": "^
|
|
47
|
+
"0x": "^6.0.0",
|
|
48
|
+
"@types/express": "^5.0.3",
|
|
49
|
+
"@types/node": "^24.1.0",
|
|
50
50
|
"@types/supertest": "^6.0.3",
|
|
51
|
-
"@vitest/coverage-v8": "^3.
|
|
51
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
52
52
|
"autocannon": "^8.0.0",
|
|
53
53
|
"automd": "^0.4.0",
|
|
54
|
-
"changelogen": "^0.6.
|
|
54
|
+
"changelogen": "^0.6.2",
|
|
55
55
|
"connect": "^3.7.0",
|
|
56
|
-
"eslint": "^9.
|
|
57
|
-
"eslint-config-unjs": "^0.
|
|
56
|
+
"eslint": "^9.32.0",
|
|
57
|
+
"eslint-config-unjs": "^0.5.0",
|
|
58
58
|
"express": "^5.1.0",
|
|
59
59
|
"get-port": "^7.1.0",
|
|
60
|
-
"h3": "^1.15.
|
|
61
|
-
"jiti": "^2.
|
|
60
|
+
"h3": "^1.15.3",
|
|
61
|
+
"jiti": "^2.5.1",
|
|
62
62
|
"listhen": "^1.9.0",
|
|
63
63
|
"node-fetch-native": "^1.6.6",
|
|
64
|
-
"prettier": "^3.
|
|
65
|
-
"react": "^19.1.
|
|
66
|
-
"react-dom": "^19.1.
|
|
67
|
-
"supertest": "^7.1.
|
|
64
|
+
"prettier": "^3.6.2",
|
|
65
|
+
"react": "^19.1.1",
|
|
66
|
+
"react-dom": "^19.1.1",
|
|
67
|
+
"supertest": "^7.1.4",
|
|
68
68
|
"typescript": "^5.8.3",
|
|
69
|
-
"unbuild": "^3.
|
|
70
|
-
"undici": "^7.
|
|
71
|
-
"vitest": "^3.
|
|
72
|
-
"zod": "^
|
|
69
|
+
"unbuild": "^3.6.0",
|
|
70
|
+
"undici": "^7.12.0",
|
|
71
|
+
"vitest": "^3.2.4",
|
|
72
|
+
"zod": "^4.0.14"
|
|
73
73
|
},
|
|
74
74
|
"packageManager": "pnpm@10.2.0"
|
|
75
75
|
}
|