@lokalise/api-contracts 5.4.0 → 6.0.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/README.md +68 -0
- package/dist/apiContracts.d.ts +38 -9
- package/dist/apiContracts.js +3 -0
- package/dist/apiContracts.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -18,6 +18,7 @@ const getContract = buildGetRoute({
|
|
|
18
18
|
requestPathParamsSchema: REQUEST_PATH_PARAMS_SCHEMA,
|
|
19
19
|
requestQuerySchema: REQUEST_QUERY_SCHEMA,
|
|
20
20
|
requestHeaderSchema: REQUEST_HEADER_SCHEMA,
|
|
21
|
+
responseHeaderSchema: RESPONSE_HEADER_SCHEMA,
|
|
21
22
|
pathResolver: (pathParams) => `/users/${pathParams.userId}`,
|
|
22
23
|
summary: 'Route summary',
|
|
23
24
|
metadata: { allowedRoles: ['admin'] },
|
|
@@ -64,6 +65,73 @@ Note that in order to make contract-based requests, you need to use a compatible
|
|
|
64
65
|
|
|
65
66
|
In case you are using fastify on the backend, you can also use `@lokalise/fastify-api-contracts` in order to simplify definition of your fastify routes, utilizing contracts as the single source of truth.
|
|
66
67
|
|
|
68
|
+
## Header Schemas
|
|
69
|
+
|
|
70
|
+
### Request Headers (`requestHeaderSchema`)
|
|
71
|
+
|
|
72
|
+
Use `requestHeaderSchema` to define and validate headers that the client must send with the request. This is useful for authentication headers, API keys, content negotiation, and other request-specific headers.
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
import { buildGetRoute } from '@lokalise/api-contracts'
|
|
76
|
+
import { z } from 'zod'
|
|
77
|
+
|
|
78
|
+
const contract = buildGetRoute({
|
|
79
|
+
successResponseBodySchema: DATA_SCHEMA,
|
|
80
|
+
requestHeaderSchema: z.object({
|
|
81
|
+
'authorization': z.string(),
|
|
82
|
+
'x-api-key': z.string(),
|
|
83
|
+
'accept-language': z.string().optional(),
|
|
84
|
+
}),
|
|
85
|
+
pathResolver: () => '/api/data',
|
|
86
|
+
})
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Response Headers (`responseHeaderSchema`)
|
|
90
|
+
|
|
91
|
+
Use `responseHeaderSchema` to define and validate headers that the server will send in the response. This is particularly useful for documenting:
|
|
92
|
+
- Rate limiting headers
|
|
93
|
+
- Pagination headers
|
|
94
|
+
- Cache control headers
|
|
95
|
+
- Custom API metadata headers
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
import { buildGetRoute } from '@lokalise/api-contracts'
|
|
99
|
+
import { z } from 'zod'
|
|
100
|
+
|
|
101
|
+
const contract = buildGetRoute({
|
|
102
|
+
successResponseBodySchema: DATA_SCHEMA,
|
|
103
|
+
responseHeaderSchema: z.object({
|
|
104
|
+
'x-ratelimit-limit': z.string(),
|
|
105
|
+
'x-ratelimit-remaining': z.string(),
|
|
106
|
+
'x-ratelimit-reset': z.string(),
|
|
107
|
+
'cache-control': z.string(),
|
|
108
|
+
}),
|
|
109
|
+
pathResolver: () => '/api/data',
|
|
110
|
+
})
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Both header schemas can be used together in a single contract:
|
|
114
|
+
|
|
115
|
+
```ts
|
|
116
|
+
const contract = buildGetRoute({
|
|
117
|
+
successResponseBodySchema: DATA_SCHEMA,
|
|
118
|
+
requestHeaderSchema: z.object({
|
|
119
|
+
'authorization': z.string(),
|
|
120
|
+
}),
|
|
121
|
+
responseHeaderSchema: z.object({
|
|
122
|
+
'x-ratelimit-limit': z.string(),
|
|
123
|
+
'x-ratelimit-remaining': z.string(),
|
|
124
|
+
}),
|
|
125
|
+
pathResolver: () => '/api/data',
|
|
126
|
+
})
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
These header schemas are primarily used for:
|
|
130
|
+
- OpenAPI/Swagger documentation generation
|
|
131
|
+
- Client-side validation of response headers
|
|
132
|
+
- Type-safe header access in TypeScript
|
|
133
|
+
- Contract testing between frontend and backend
|
|
134
|
+
|
|
67
135
|
## Utility Functions
|
|
68
136
|
|
|
69
137
|
### `mapRouteToPath`
|
package/dist/apiContracts.d.ts
CHANGED
|
@@ -5,13 +5,42 @@ export type InferSchemaOutput<T extends ZodSchema | undefined> = T extends ZodSc
|
|
|
5
5
|
export type RoutePathResolver<PathParams> = (pathParams: PathParams) => string;
|
|
6
6
|
export interface CommonRouteDefinitionMetadata extends Record<string, unknown> {
|
|
7
7
|
}
|
|
8
|
-
export type CommonRouteDefinition<ResponseBodySchema extends z.Schema | undefined = undefined, PathParamsSchema extends z.Schema | undefined = undefined, RequestQuerySchema extends z.Schema | undefined = undefined, RequestHeaderSchema extends z.Schema | undefined = undefined, IsNonJSONResponseExpected extends boolean = false, IsEmptyResponseExpected extends boolean = false, ResponseSchemasByStatusCode extends Partial<Record<HttpStatusCode, z.Schema>> | undefined = undefined> = {
|
|
8
|
+
export type CommonRouteDefinition<ResponseBodySchema extends z.Schema | undefined = undefined, PathParamsSchema extends z.Schema | undefined = undefined, RequestQuerySchema extends z.Schema | undefined = undefined, RequestHeaderSchema extends z.Schema | undefined = undefined, ResponseHeaderSchema extends z.Schema | undefined = undefined, IsNonJSONResponseExpected extends boolean = false, IsEmptyResponseExpected extends boolean = false, ResponseSchemasByStatusCode extends Partial<Record<HttpStatusCode, z.Schema>> | undefined = undefined> = {
|
|
9
9
|
isNonJSONResponseExpected?: IsNonJSONResponseExpected;
|
|
10
10
|
isEmptyResponseExpected?: IsEmptyResponseExpected;
|
|
11
11
|
successResponseBodySchema: ResponseBodySchema;
|
|
12
12
|
requestPathParamsSchema?: PathParamsSchema;
|
|
13
13
|
requestQuerySchema?: RequestQuerySchema;
|
|
14
|
+
/**
|
|
15
|
+
* Schema for validating request headers.
|
|
16
|
+
* Used to define and validate headers that the client must send with the request.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* requestHeaderSchema: z.object({
|
|
21
|
+
* 'authorization': z.string(),
|
|
22
|
+
* 'x-api-key': z.string()
|
|
23
|
+
* })
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
14
26
|
requestHeaderSchema?: RequestHeaderSchema;
|
|
27
|
+
/**
|
|
28
|
+
* Schema for validating response headers.
|
|
29
|
+
* Used to define and validate headers that the server will send in the response.
|
|
30
|
+
* This is useful for documenting expected response headers (e.g., rate limit headers,
|
|
31
|
+
* pagination headers, cache control headers) and can be used by clients to validate
|
|
32
|
+
* the response they receive.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* responseHeaderSchema: z.object({
|
|
37
|
+
* 'x-ratelimit-limit': z.string(),
|
|
38
|
+
* 'x-ratelimit-remaining': z.string(),
|
|
39
|
+
* 'x-ratelimit-reset': z.string()
|
|
40
|
+
* })
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
responseHeaderSchema?: ResponseHeaderSchema;
|
|
15
44
|
pathResolver: RoutePathResolver<InferSchemaOutput<PathParamsSchema>>;
|
|
16
45
|
responseSchemasByStatusCode?: ResponseSchemasByStatusCode;
|
|
17
46
|
metadata?: CommonRouteDefinitionMetadata;
|
|
@@ -19,21 +48,21 @@ export type CommonRouteDefinition<ResponseBodySchema extends z.Schema | undefine
|
|
|
19
48
|
summary?: string;
|
|
20
49
|
tags?: readonly string[];
|
|
21
50
|
};
|
|
22
|
-
export type PayloadRouteDefinition<RequestBodySchema extends z.Schema | undefined = undefined, SuccessResponseBodySchema extends z.Schema | undefined = undefined, PathParamsSchema extends z.Schema | undefined = undefined, RequestQuerySchema extends z.Schema | undefined = undefined, RequestHeaderSchema extends z.Schema | undefined = undefined, IsNonJSONResponseExpected extends boolean = false, IsEmptyResponseExpected extends boolean = false, ResponseSchemasByStatusCode extends Partial<Record<HttpStatusCode, z.Schema>> | undefined = undefined> = CommonRouteDefinition<SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode> & {
|
|
51
|
+
export type PayloadRouteDefinition<RequestBodySchema extends z.Schema | undefined = undefined, SuccessResponseBodySchema extends z.Schema | undefined = undefined, PathParamsSchema extends z.Schema | undefined = undefined, RequestQuerySchema extends z.Schema | undefined = undefined, RequestHeaderSchema extends z.Schema | undefined = undefined, ResponseHeaderSchema extends z.Schema | undefined = undefined, IsNonJSONResponseExpected extends boolean = false, IsEmptyResponseExpected extends boolean = false, ResponseSchemasByStatusCode extends Partial<Record<HttpStatusCode, z.Schema>> | undefined = undefined> = CommonRouteDefinition<SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, ResponseHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode> & {
|
|
23
52
|
method: 'post' | 'put' | 'patch';
|
|
24
53
|
requestBodySchema: RequestBodySchema;
|
|
25
54
|
};
|
|
26
|
-
export type GetRouteDefinition<SuccessResponseBodySchema extends z.Schema | undefined = undefined, PathParamsSchema extends z.Schema | undefined = undefined, RequestQuerySchema extends z.Schema | undefined = undefined, RequestHeaderSchema extends z.Schema | undefined = undefined, IsNonJSONResponseExpected extends boolean = false, IsEmptyResponseExpected extends boolean = false, ResponseSchemasByStatusCode extends Partial<Record<HttpStatusCode, z.Schema>> | undefined = undefined> = CommonRouteDefinition<SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode> & {
|
|
55
|
+
export type GetRouteDefinition<SuccessResponseBodySchema extends z.Schema | undefined = undefined, PathParamsSchema extends z.Schema | undefined = undefined, RequestQuerySchema extends z.Schema | undefined = undefined, RequestHeaderSchema extends z.Schema | undefined = undefined, ResponseHeaderSchema extends z.Schema | undefined = undefined, IsNonJSONResponseExpected extends boolean = false, IsEmptyResponseExpected extends boolean = false, ResponseSchemasByStatusCode extends Partial<Record<HttpStatusCode, z.Schema>> | undefined = undefined> = CommonRouteDefinition<SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, ResponseHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode> & {
|
|
27
56
|
method: 'get';
|
|
28
57
|
};
|
|
29
|
-
export type DeleteRouteDefinition<SuccessResponseBodySchema extends z.Schema | undefined = undefined, PathParamsSchema extends z.Schema | undefined = undefined, RequestQuerySchema extends z.Schema | undefined = undefined, RequestHeaderSchema extends z.Schema | undefined = undefined, IsNonJSONResponseExpected extends boolean = false, IsEmptyResponseExpected extends boolean = true, ResponseSchemasByStatusCode extends Partial<Record<HttpStatusCode, z.Schema>> | undefined = undefined> = CommonRouteDefinition<SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode> & {
|
|
58
|
+
export type DeleteRouteDefinition<SuccessResponseBodySchema extends z.Schema | undefined = undefined, PathParamsSchema extends z.Schema | undefined = undefined, RequestQuerySchema extends z.Schema | undefined = undefined, RequestHeaderSchema extends z.Schema | undefined = undefined, ResponseHeaderSchema extends z.Schema | undefined = undefined, IsNonJSONResponseExpected extends boolean = false, IsEmptyResponseExpected extends boolean = true, ResponseSchemasByStatusCode extends Partial<Record<HttpStatusCode, z.Schema>> | undefined = undefined> = CommonRouteDefinition<SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, ResponseHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode> & {
|
|
30
59
|
method: 'delete';
|
|
31
60
|
};
|
|
32
|
-
export declare function buildPayloadRoute<RequestBodySchema extends z.Schema | undefined = undefined, SuccessResponseBodySchema extends z.Schema | undefined = undefined, PathParamsSchema extends z.Schema | undefined = undefined, RequestQuerySchema extends z.Schema | undefined = undefined, RequestHeaderSchema extends z.Schema | undefined = undefined, IsNonJSONResponseExpected extends boolean = false, IsEmptyResponseExpected extends boolean = false, ResponseSchemasByStatusCode extends Partial<Record<HttpStatusCode, z.Schema>> | undefined = undefined>(params: PayloadRouteDefinition<RequestBodySchema, SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode>): PayloadRouteDefinition<RequestBodySchema, SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode>;
|
|
33
|
-
export declare function buildGetRoute<SuccessResponseBodySchema extends z.Schema | undefined = undefined, PathParamsSchema extends z.Schema | undefined = undefined, RequestQuerySchema extends z.Schema | undefined = undefined, RequestHeaderSchema extends z.Schema | undefined = undefined, IsNonJSONResponseExpected extends boolean = false, IsEmptyResponseExpected extends boolean = false, ResponseSchemasByStatusCode extends Partial<Record<HttpStatusCode, z.Schema>> | undefined = undefined>(params: Omit<GetRouteDefinition<SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode>, 'method'>): GetRouteDefinition<SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode>;
|
|
34
|
-
export declare function buildDeleteRoute<SuccessResponseBodySchema extends z.Schema | undefined = undefined, PathParamsSchema extends z.Schema | undefined = undefined, RequestQuerySchema extends z.Schema | undefined = undefined, RequestHeaderSchema extends z.Schema | undefined = undefined, IsNonJSONResponseExpected extends boolean = false, IsEmptyResponseExpected extends boolean = true, ResponseSchemasByStatusCode extends Partial<Record<HttpStatusCode, z.Schema>> | undefined = undefined>(params: Omit<DeleteRouteDefinition<SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode>, 'method'>): DeleteRouteDefinition<SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode>;
|
|
61
|
+
export declare function buildPayloadRoute<RequestBodySchema extends z.Schema | undefined = undefined, SuccessResponseBodySchema extends z.Schema | undefined = undefined, PathParamsSchema extends z.Schema | undefined = undefined, RequestQuerySchema extends z.Schema | undefined = undefined, RequestHeaderSchema extends z.Schema | undefined = undefined, ResponseHeaderSchema extends z.Schema | undefined = undefined, IsNonJSONResponseExpected extends boolean = false, IsEmptyResponseExpected extends boolean = false, ResponseSchemasByStatusCode extends Partial<Record<HttpStatusCode, z.Schema>> | undefined = undefined>(params: PayloadRouteDefinition<RequestBodySchema, SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, ResponseHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode>): PayloadRouteDefinition<RequestBodySchema, SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, ResponseHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode>;
|
|
62
|
+
export declare function buildGetRoute<SuccessResponseBodySchema extends z.Schema | undefined = undefined, PathParamsSchema extends z.Schema | undefined = undefined, RequestQuerySchema extends z.Schema | undefined = undefined, RequestHeaderSchema extends z.Schema | undefined = undefined, ResponseHeaderSchema extends z.Schema | undefined = undefined, IsNonJSONResponseExpected extends boolean = false, IsEmptyResponseExpected extends boolean = false, ResponseSchemasByStatusCode extends Partial<Record<HttpStatusCode, z.Schema>> | undefined = undefined>(params: Omit<GetRouteDefinition<SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, ResponseHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode>, 'method'>): GetRouteDefinition<SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, ResponseHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode>;
|
|
63
|
+
export declare function buildDeleteRoute<SuccessResponseBodySchema extends z.Schema | undefined = undefined, PathParamsSchema extends z.Schema | undefined = undefined, RequestQuerySchema extends z.Schema | undefined = undefined, RequestHeaderSchema extends z.Schema | undefined = undefined, ResponseHeaderSchema extends z.Schema | undefined = undefined, IsNonJSONResponseExpected extends boolean = false, IsEmptyResponseExpected extends boolean = true, ResponseSchemasByStatusCode extends Partial<Record<HttpStatusCode, z.Schema>> | undefined = undefined>(params: Omit<DeleteRouteDefinition<SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, ResponseHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode>, 'method'>): DeleteRouteDefinition<SuccessResponseBodySchema, PathParamsSchema, RequestQuerySchema, RequestHeaderSchema, ResponseHeaderSchema, IsNonJSONResponseExpected, IsEmptyResponseExpected, ResponseSchemasByStatusCode>;
|
|
35
64
|
/**
|
|
36
65
|
* This method maps given route definition to a string of the format '/static-path-part/:path-param-value'
|
|
37
66
|
*/
|
|
38
|
-
export declare function mapRouteToPath(routeDefinition: CommonRouteDefinition<any, any, any, any, any, any, any>): string;
|
|
39
|
-
export declare function describeContract(contract: PayloadRouteDefinition<any, any, any, any, any, any, any, any> | GetRouteDefinition<any, any, any, any, any, any, any> | DeleteRouteDefinition<any, any, any, any, any, any, any>): string;
|
|
67
|
+
export declare function mapRouteToPath(routeDefinition: CommonRouteDefinition<any, any, any, any, any, any, any, any>): string;
|
|
68
|
+
export declare function describeContract(contract: PayloadRouteDefinition<any, any, any, any, any, any, any, any, any> | GetRouteDefinition<any, any, any, any, any, any, any, any> | DeleteRouteDefinition<any, any, any, any, any, any, any, any>): string;
|
package/dist/apiContracts.js
CHANGED
|
@@ -7,6 +7,7 @@ export function buildPayloadRoute(params) {
|
|
|
7
7
|
pathResolver: params.pathResolver,
|
|
8
8
|
requestBodySchema: params.requestBodySchema,
|
|
9
9
|
requestHeaderSchema: params.requestHeaderSchema,
|
|
10
|
+
responseHeaderSchema: params.responseHeaderSchema,
|
|
10
11
|
requestPathParamsSchema: params.requestPathParamsSchema,
|
|
11
12
|
requestQuerySchema: params.requestQuerySchema,
|
|
12
13
|
successResponseBodySchema: params.successResponseBodySchema,
|
|
@@ -24,6 +25,7 @@ export function buildGetRoute(params) {
|
|
|
24
25
|
method: 'get',
|
|
25
26
|
pathResolver: params.pathResolver,
|
|
26
27
|
requestHeaderSchema: params.requestHeaderSchema,
|
|
28
|
+
responseHeaderSchema: params.responseHeaderSchema,
|
|
27
29
|
requestPathParamsSchema: params.requestPathParamsSchema,
|
|
28
30
|
requestQuerySchema: params.requestQuerySchema,
|
|
29
31
|
successResponseBodySchema: params.successResponseBodySchema,
|
|
@@ -41,6 +43,7 @@ export function buildDeleteRoute(params) {
|
|
|
41
43
|
method: 'delete',
|
|
42
44
|
pathResolver: params.pathResolver,
|
|
43
45
|
requestHeaderSchema: params.requestHeaderSchema,
|
|
46
|
+
responseHeaderSchema: params.responseHeaderSchema,
|
|
44
47
|
requestPathParamsSchema: params.requestPathParamsSchema,
|
|
45
48
|
requestQuerySchema: params.requestQuerySchema,
|
|
46
49
|
successResponseBodySchema: params.successResponseBodySchema,
|
package/dist/apiContracts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiContracts.js","sourceRoot":"","sources":["../src/apiContracts.ts"],"names":[],"mappings":"AAGA,MAAM,YAAY,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"apiContracts.js","sourceRoot":"","sources":["../src/apiContracts.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lokalise/api-contracts",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist"
|
|
6
6
|
],
|
|
@@ -45,13 +45,13 @@
|
|
|
45
45
|
"zod": ">=3.25.56"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@biomejs/biome": "^2.
|
|
48
|
+
"@biomejs/biome": "^2.3.2",
|
|
49
49
|
"@lokalise/biome-config": "^3.1.0",
|
|
50
50
|
"@lokalise/tsconfig": "^1.3.0",
|
|
51
|
-
"@vitest/coverage-v8": "^3.2.
|
|
51
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
52
52
|
"rimraf": "^6.0.1",
|
|
53
|
-
"typescript": "5.9.
|
|
54
|
-
"vitest": "^3.2.
|
|
53
|
+
"typescript": "5.9.3",
|
|
54
|
+
"vitest": "^3.2.4",
|
|
55
55
|
"zod": "^4.0.17"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {}
|