@liminalfunctions/framework 1.0.49 → 1.0.51
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/F_Collection.d.ts +1 -1
- package/dist/F_Collection.js +2 -2
- package/dist/F_Collection.js.map +1 -1
- package/dist/F_Compile.js +17 -0
- package/dist/F_Compile.js.map +1 -1
- package/dist/code_generation/utils/type_from_zod.js.map +1 -1
- package/dist/utils/malicious_keys.d.ts +1 -0
- package/dist/utils/malicious_keys.js +14 -0
- package/dist/utils/malicious_keys.js.map +1 -0
- package/dist/utils/mongoose_any_paths.d.ts +1 -0
- package/dist/utils/mongoose_any_paths.js +14 -0
- package/dist/utils/mongoose_any_paths.js.map +1 -0
- package/dist/utils/mongoose_from_zod.d.ts +1 -1
- package/dist/utils/mongoose_from_zod.js +2 -2
- package/dist/utils/mongoose_from_zod.js.map +1 -1
- package/package.json +1 -1
- package/src/F_Collection.ts +2 -2
- package/src/F_Compile.ts +17 -0
- package/src/code_generation/utils/type_from_zod.ts +0 -13
- package/src/utils/malicious_keys.ts +12 -0
- package/src/utils/mongoose_from_zod.ts +2 -2
- package/test/0_4_cache.test.ts +1 -1
- package/test/0_5_malicious_keys.test.ts +58 -0
- package/test/1_0_basic_server.test.ts +66 -5
- package/test/1_1_security_ownership.test.ts +10 -10
- package/test/1_2_role_membership.test.ts +10 -10
- package/test/tmp/package-lock.json +110 -110
package/dist/F_Collection.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export declare class F_Collection<Collection_ID extends string, ZodSchema extend
|
|
|
28
28
|
post_create_hooks: ((created_document: z.output<ZodSchema>) => Promise<void>)[];
|
|
29
29
|
post_update_hooks: ((created_document: z.output<ZodSchema>) => Promise<void>)[];
|
|
30
30
|
post_delete_hooks: ((deleted_document: z.output<ZodSchema>) => Promise<void>)[];
|
|
31
|
-
constructor(collection_name: Collection_ID, collection_name_plural: string, validator: ZodSchema);
|
|
31
|
+
constructor(collection_name: Collection_ID, collection_name_plural: string, validator: ZodSchema, database?: typeof mongoose);
|
|
32
32
|
add_layers(layers: string[], security_models: F_Security_Model<Collection_ID, ZodSchema>[]): void;
|
|
33
33
|
on_create(hook: (session: mongoose.mongo.ClientSession, created_document: z.output<ZodSchema>) => Promise<void>): void;
|
|
34
34
|
on_update(hook: (session: mongoose.mongo.ClientSession, updated_document: z.output<ZodSchema>) => Promise<void>): void;
|
package/dist/F_Collection.js
CHANGED
|
@@ -19,12 +19,12 @@ export class F_Collection {
|
|
|
19
19
|
post_create_hooks;
|
|
20
20
|
post_update_hooks;
|
|
21
21
|
post_delete_hooks;
|
|
22
|
-
constructor(collection_name, collection_name_plural, validator) {
|
|
22
|
+
constructor(collection_name, collection_name_plural, validator, database = mongoose) {
|
|
23
23
|
this.collection_id = collection_name;
|
|
24
24
|
this.collection_name_plural = collection_name_plural;
|
|
25
25
|
this.validator = validator;
|
|
26
26
|
this.mongoose_schema = schema_from_zod(validator);
|
|
27
|
-
this.mongoose_model = mongoose_from_zod(collection_name, validator);
|
|
27
|
+
this.mongoose_model = mongoose_from_zod(collection_name, validator, database);
|
|
28
28
|
this.query_validator_server = query_validator_from_zod(validator, 'server');
|
|
29
29
|
this.query_validator_client = query_validator_from_zod(validator, 'client');
|
|
30
30
|
if (!Object.hasOwn(this.validator._zod.def.shape, '_id')) {
|
package/dist/F_Collection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"F_Collection.js","sourceRoot":"","sources":["../src/F_Collection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,QAAyC,MAAM,UAAU,CAAC;AAEjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAY/E,MAAM,OAAO,YAAY;IACrB,aAAa,CAAgB;IAC7B,sBAAsB,CAAS;IAC/B,SAAS,CAAY;IACrB,eAAe,CAAM;IACrB,cAAc,CAA4B;IAE1C,sBAAsB,CAAY;IAClC,sBAAsB,CAAY;IAClC,aAAa,CAAmC;IAGhD,cAAc,CAA+C;IAC7D,WAAW,CAAU;IAErB,aAAa,CAAsC;IACnD,YAAY,CAAsG;IAClH,YAAY,CAAsG;IAClH,YAAY,CAAsG;IAClH,iBAAiB,CAA+D;IAChF,iBAAiB,CAA+D;IAChF,iBAAiB,CAA+D;IAEhF,YAAY,eAA8B,EAAE,sBAA8B,EAAE,SAAoB;
|
|
1
|
+
{"version":3,"file":"F_Collection.js","sourceRoot":"","sources":["../src/F_Collection.ts"],"names":[],"mappings":"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"}
|
package/dist/F_Compile.js
CHANGED
|
@@ -2,6 +2,7 @@ import * as z from "zod/v4";
|
|
|
2
2
|
import { isValidObjectId } from "mongoose";
|
|
3
3
|
import { F_Security_Model } from "./F_Security_Models/F_Security_Model.js";
|
|
4
4
|
import { convert_null, query_object_to_mongodb_limits, query_object_to_mongodb_query } from "./utils/query_object_to_mongodb_query.js";
|
|
5
|
+
import { detect_malicious_keys } from "./utils/malicious_keys.js";
|
|
5
6
|
export function compile(app, collection, api_prefix, collection_registry) {
|
|
6
7
|
for (let access_layers of collection.access_layers) {
|
|
7
8
|
for (let layer of access_layers.layers) {
|
|
@@ -181,6 +182,14 @@ export function compile(app, collection, api_prefix, collection_registry) {
|
|
|
181
182
|
return;
|
|
182
183
|
}
|
|
183
184
|
}
|
|
185
|
+
try {
|
|
186
|
+
detect_malicious_keys(validated_request_body);
|
|
187
|
+
}
|
|
188
|
+
catch (err) {
|
|
189
|
+
res.status(403);
|
|
190
|
+
res.json({ error: `Found an unacceptable JSON key in the request body.` });
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
184
193
|
for (let layer of access_layers.layers) {
|
|
185
194
|
if (validated_request_body[`${layer}_id`] && validated_request_body[`${layer}_id`] !== req.params[layer]) {
|
|
186
195
|
res.status(403);
|
|
@@ -257,6 +266,14 @@ export function compile(app, collection, api_prefix, collection_registry) {
|
|
|
257
266
|
return;
|
|
258
267
|
}
|
|
259
268
|
}
|
|
269
|
+
try {
|
|
270
|
+
detect_malicious_keys(validated_request_body);
|
|
271
|
+
}
|
|
272
|
+
catch (err) {
|
|
273
|
+
res.status(403);
|
|
274
|
+
res.json({ error: `Found an unacceptable JSON key in the request body.` });
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
260
277
|
for (let layer of access_layers.layers) {
|
|
261
278
|
if (validated_request_body[`${layer}_id`] && validated_request_body[`${layer}_id`] !== req.params[layer]) {
|
|
262
279
|
res.status(403);
|
package/dist/F_Compile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"F_Compile.js","sourceRoot":"","sources":["../src/F_Compile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"F_Compile.js","sourceRoot":"","sources":["../src/F_Compile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type_from_zod.js","sourceRoot":"","sources":["../../../src/code_generation/utils/type_from_zod.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAmB,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"type_from_zod.js","sourceRoot":"","sources":["../../../src/code_generation/utils/type_from_zod.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function detect_malicious_keys(input: any): any;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function detect_malicious_keys(input) {
|
|
2
|
+
if (Array.isArray(input)) {
|
|
3
|
+
input.map(detect_malicious_keys);
|
|
4
|
+
}
|
|
5
|
+
if (typeof input === 'object' && input !== null) {
|
|
6
|
+
for (let [key, value] of Object.entries(input)) {
|
|
7
|
+
if (key.trim().startsWith('$')) {
|
|
8
|
+
throw new Error(`Invalid key detected: ${key}`);
|
|
9
|
+
}
|
|
10
|
+
detect_malicious_keys(value);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=malicious_keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"malicious_keys.js","sourceRoot":"","sources":["../../src/utils/malicious_keys.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,KAAU;IAC5C,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC,CAAC;QACrB,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IAED,IAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAC,CAAC;QAC5C,KAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC,CAAC;YAC3C,IAAG,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAA;YAAA,CAAC;YACjF,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function detect_malicious_keys(input: any): any;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function detect_malicious_keys(input) {
|
|
2
|
+
if (Array.isArray(input)) {
|
|
3
|
+
input.map(detect_malicious_keys);
|
|
4
|
+
}
|
|
5
|
+
if (typeof input === 'object' && input !== null) {
|
|
6
|
+
for (let [key, value] of Object.entries(input)) {
|
|
7
|
+
if (key.trim().startsWith('$')) {
|
|
8
|
+
throw new Error(`Invalid key detected: ${key}`);
|
|
9
|
+
}
|
|
10
|
+
detect_malicious_keys(value);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=mongoose_any_paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongoose_any_paths.js","sourceRoot":"","sources":["../../src/utils/mongoose_any_paths.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,KAAU;IAC5C,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC,CAAC;QACrB,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IAED,IAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAC,CAAC;QAC5C,KAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC,CAAC;YAC3C,IAAG,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAA;YAAA,CAAC;YACjF,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;AACL,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { validator_group } from './zod_loop_seperator.js';
|
|
|
4
4
|
export declare const z_mongodb_id: z.ZodCustom<string, string>;
|
|
5
5
|
export declare const z_mongodb_id_optional: z.ZodCustom<string, string>;
|
|
6
6
|
export declare const z_mongodb_id_nullable: z.ZodCustom<string, string>;
|
|
7
|
-
export declare function mongoose_from_zod<T>(schema_name: string, zod_definition: z.core.$ZodType): mongoose.Model<T, {}, {}, {}, mongoose.IfAny<T, any, mongoose.Document<unknown, {}, T, {}, {}> & (mongoose.Require_id<T> extends infer T_1 ? T_1 extends mongoose.Require_id<T> ? T_1 extends {
|
|
7
|
+
export declare function mongoose_from_zod<T>(schema_name: string, zod_definition: z.core.$ZodType, database?: typeof mongoose): mongoose.Model<T, {}, {}, {}, mongoose.IfAny<T, any, mongoose.Document<unknown, {}, T, {}, {}> & (mongoose.Require_id<T> extends infer T_1 ? T_1 extends mongoose.Require_id<T> ? T_1 extends {
|
|
8
8
|
__v?: infer U;
|
|
9
9
|
} ? T_1 : T_1 & {
|
|
10
10
|
__v: number;
|
|
@@ -47,9 +47,9 @@ export const z_mongodb_id_nullable = z.custom((val) => {
|
|
|
47
47
|
"type": "string",
|
|
48
48
|
"format": "string",
|
|
49
49
|
}).meta({ framework_override_type: 'mongodb_id', nullable: true });
|
|
50
|
-
export function mongoose_from_zod(schema_name, zod_definition) {
|
|
50
|
+
export function mongoose_from_zod(schema_name, zod_definition, database = mongoose) {
|
|
51
51
|
let mongoose_schema = schema_from_zod(zod_definition);
|
|
52
|
-
return
|
|
52
|
+
return database.model(schema_name, new Schema(mongoose_schema, { typeKey: 'mongoose_type' }));
|
|
53
53
|
}
|
|
54
54
|
export function schema_from_zod(zod_definition) {
|
|
55
55
|
let loops = find_loops(zod_definition);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongoose_from_zod.js","sourceRoot":"","sources":["../../src/utils/mongoose_from_zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAmB,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEvF,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9D,MAAM,wCAAwC,GAAG,+BAA+B,CAAC,QAAQ,EAAE,CAAC;AAC5F,MAAM,wCAAwC,GAAG,+BAA+B,CAAC,QAAQ,EAAE,CAAC;AAE5F,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,CAAC;AACjC,MAAM,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;AACvD,MAAM,kBAAkB,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE9D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAS,CAAC,GAAG,EAAE,EAAE;IACjD,IAAG,CAAC,GAAG,EAAC,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;IACzB,IAAI,MAAM,GAAG,+BAA+B,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACjB,CAAC;SAAM,CAAC;QACJ,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC,CAAC,CAAC,IAAI,CAAC;IACJ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,QAAQ;CACrB,CAAC,CAAC,IAAI,CAAC,EAAC,uBAAuB,EAAE,YAAY,EAAC,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAS,CAAC,GAAG,EAAE,EAAE;IAC1D,IAAI,MAAM,GAAG,wCAAwC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACjB,CAAC;SAAM,CAAC;QACJ,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC,CAAC,CAAC,IAAI,CAAC;IACJ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,QAAQ;CACrB,CAAC,CAAC,IAAI,CAAC,EAAC,uBAAuB,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAS,CAAC,GAAG,EAAE,EAAE;IAC1D,IAAI,MAAM,GAAG,wCAAwC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACjB,CAAC;SAAM,CAAC;QACJ,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC,CAAC,CAAC,IAAI,CAAC;IACJ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,QAAQ;CACrB,CAAC,CAAC,IAAI,CAAC,EAAC,uBAAuB,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AAEjE,MAAM,UAAU,iBAAiB,CAAI,WAAmB,EAAE,cAA+B;
|
|
1
|
+
{"version":3,"file":"mongoose_from_zod.js","sourceRoot":"","sources":["../../src/utils/mongoose_from_zod.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/F_Collection.ts
CHANGED
|
@@ -37,12 +37,12 @@ export class F_Collection<Collection_ID extends string, ZodSchema extends z.ZodO
|
|
|
37
37
|
post_update_hooks: ((created_document: z.output<ZodSchema>) => Promise<void>)[];
|
|
38
38
|
post_delete_hooks: ((deleted_document: z.output<ZodSchema>) => Promise<void>)[];
|
|
39
39
|
|
|
40
|
-
constructor(collection_name: Collection_ID, collection_name_plural: string, validator: ZodSchema){
|
|
40
|
+
constructor(collection_name: Collection_ID, collection_name_plural: string, validator: ZodSchema, database: typeof mongoose = mongoose){
|
|
41
41
|
this.collection_id = collection_name;
|
|
42
42
|
this.collection_name_plural = collection_name_plural;
|
|
43
43
|
this.validator = validator;
|
|
44
44
|
this.mongoose_schema = schema_from_zod(validator);
|
|
45
|
-
this.mongoose_model = mongoose_from_zod(collection_name, validator);
|
|
45
|
+
this.mongoose_model = mongoose_from_zod(collection_name, validator, database);
|
|
46
46
|
// TODO: validate that the model doesn't use any fields that have special meaning in the query validator; for example: [param]_gt, [param]_in, sort,
|
|
47
47
|
//@ts-ignore
|
|
48
48
|
this.query_validator_server = query_validator_from_zod(validator, 'server');
|
package/src/F_Compile.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { F_Security_Model, Authenticated_Request } from "./F_Security_Models/F_S
|
|
|
7
7
|
import { convert_null, query_object_to_mongodb_limits, query_object_to_mongodb_query } from "./utils/query_object_to_mongodb_query.js";
|
|
8
8
|
import { z_mongodb_id } from "./utils/mongoose_from_zod.js";
|
|
9
9
|
import { F_Collection_Registry } from "./F_Collection_Registry.js";
|
|
10
|
+
import { detect_malicious_keys } from "./utils/malicious_keys.js";
|
|
10
11
|
|
|
11
12
|
/*process.on('unhandledRejection', (reason, promise) => {
|
|
12
13
|
console.log(`CAUGHT UNHANDLED REJECTION`)
|
|
@@ -236,6 +237,14 @@ export function compile<Collection_ID extends string, ZodSchema extends z.ZodObj
|
|
|
236
237
|
}
|
|
237
238
|
}
|
|
238
239
|
|
|
240
|
+
try {
|
|
241
|
+
detect_malicious_keys(validated_request_body);
|
|
242
|
+
} catch(err){
|
|
243
|
+
res.status(403);
|
|
244
|
+
res.json({ error: `Found an unacceptable JSON key in the request body.` });
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
|
|
239
248
|
// if you're accessing the document from /x/:x/y/:y, then you can't change x or y. Note that this does mean if you can access
|
|
240
249
|
// the document from /x/:x, then you'd be able to change y.
|
|
241
250
|
for(let layer of access_layers.layers){
|
|
@@ -331,6 +340,14 @@ export function compile<Collection_ID extends string, ZodSchema extends z.ZodObj
|
|
|
331
340
|
}
|
|
332
341
|
}
|
|
333
342
|
|
|
343
|
+
try {
|
|
344
|
+
detect_malicious_keys(validated_request_body);
|
|
345
|
+
} catch(err){
|
|
346
|
+
res.status(403);
|
|
347
|
+
res.json({ error: `Found an unacceptable JSON key in the request body.` });
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
|
|
334
351
|
// if you're accessing the document from /x/:x/y/:y, then you can't change x or y. Note that this does mean if you can access
|
|
335
352
|
// the document from /x/:x, then you'd be able to change y.
|
|
336
353
|
for(let layer of access_layers.layers){
|
|
@@ -3,19 +3,6 @@ import mongoose, { Schema } from "mongoose";
|
|
|
3
3
|
import { indent } from "./tab_indent.js";
|
|
4
4
|
import { find_loops, validator_group } from '../../utils/zod_loop_seperator.js'
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
/*export function mongoose_from_zod<T>(schema_name: string, zod_definition: z.core.$ZodType) {
|
|
8
|
-
let mongoose_schema = schema_from_zod(zod_definition);
|
|
9
|
-
return mongoose.model<T>(schema_name, mongoose_schema);
|
|
10
|
-
}*/
|
|
11
|
-
|
|
12
|
-
/*export function schema_from_zod(zod_definition: z.core.$ZodType): any {
|
|
13
|
-
let mongoose_schema = schema_entry_from_zod(zod_definition as z.ZodType);
|
|
14
|
-
delete mongoose_schema.type.required;
|
|
15
|
-
delete mongoose_schema.type._id;
|
|
16
|
-
return mongoose_schema.type;
|
|
17
|
-
}*/
|
|
18
|
-
|
|
19
6
|
export function type_from_zod(zod_definition: z.ZodType){
|
|
20
7
|
let loops = find_loops(zod_definition as z.ZodType);
|
|
21
8
|
let results = parse_zod(zod_definition, 0, loops);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export function detect_malicious_keys(input: any): any {
|
|
2
|
+
if(Array.isArray(input)){
|
|
3
|
+
input.map(detect_malicious_keys);
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
if(typeof input === 'object' && input !== null){
|
|
7
|
+
for(let [key, value] of Object.entries(input)){
|
|
8
|
+
if(key.trim().startsWith('$')) { throw new Error(`Invalid key detected: ${key}`)}
|
|
9
|
+
detect_malicious_keys(value);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -49,9 +49,9 @@ export const z_mongodb_id_nullable = z.custom<string>((val) => {
|
|
|
49
49
|
"format": "string",
|
|
50
50
|
}).meta({framework_override_type: 'mongodb_id', nullable: true});
|
|
51
51
|
|
|
52
|
-
export function mongoose_from_zod<T>(schema_name: string, zod_definition: z.core.$ZodType) {
|
|
52
|
+
export function mongoose_from_zod<T>(schema_name: string, zod_definition: z.core.$ZodType, database: typeof mongoose = mongoose) {
|
|
53
53
|
let mongoose_schema = schema_from_zod(zod_definition);
|
|
54
|
-
return
|
|
54
|
+
return database.model<T>(schema_name, new Schema(mongoose_schema, {typeKey: 'mongoose_type', minimize: false}));
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
export function schema_from_zod(zod_definition: z.core.$ZodType): any {
|
package/test/0_4_cache.test.ts
CHANGED
|
@@ -120,7 +120,7 @@ describe('Cache', function () {
|
|
|
120
120
|
const key = 'best_animal'
|
|
121
121
|
const value = { 'test': 'flamingo' }
|
|
122
122
|
|
|
123
|
-
assert.rejects(async() => {
|
|
123
|
+
await assert.rejects(async() => {
|
|
124
124
|
await cache.first_get_then_fetch(key, async () => { throw new Error('bad data here bro') })
|
|
125
125
|
}, {message: 'bad data here bro'})
|
|
126
126
|
});
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import assert from "assert";
|
|
2
|
+
import { z, ZodBoolean, ZodDate, ZodNumber, ZodString } from 'zod'
|
|
3
|
+
|
|
4
|
+
import { detect_malicious_keys } from '../dist/utils/mongoose_any_paths.js';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
import { Schema } from 'mongoose'
|
|
8
|
+
import { required } from "zod/mini";
|
|
9
|
+
|
|
10
|
+
process.env.DEBUG = 'express:*'
|
|
11
|
+
|
|
12
|
+
describe('malcious key detection', function () {
|
|
13
|
+
it('should pass if there are no malicious keys', function () {
|
|
14
|
+
detect_malicious_keys({})
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it('should throw if there is a malicious key', function () {
|
|
18
|
+
assert.throws(() => {
|
|
19
|
+
detect_malicious_keys({
|
|
20
|
+
$set: 5
|
|
21
|
+
})
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('should throw if there is a malicious key embedded as an array child', function () {
|
|
26
|
+
assert.throws(() => {
|
|
27
|
+
detect_malicious_keys({
|
|
28
|
+
array: [
|
|
29
|
+
{$set: 6}
|
|
30
|
+
]
|
|
31
|
+
})
|
|
32
|
+
})
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it('should throw if there is a malicious key embedded as a sub-item', function () {
|
|
36
|
+
assert.throws(() => {
|
|
37
|
+
detect_malicious_keys({
|
|
38
|
+
obj: {$set: 6}
|
|
39
|
+
})
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it('should throw if there is a malicious key embedded as a sub-item of an array child', function () {
|
|
44
|
+
assert.throws(() => {
|
|
45
|
+
detect_malicious_keys({
|
|
46
|
+
arr: [
|
|
47
|
+
{
|
|
48
|
+
sub: {
|
|
49
|
+
obj: {$set: 6}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
|
|
54
|
+
})
|
|
55
|
+
})
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
});
|
|
@@ -28,6 +28,7 @@ describe('Basic Server', function () {
|
|
|
28
28
|
const validate_institution = z.object({
|
|
29
29
|
_id: z_mongodb_id,
|
|
30
30
|
name: z.string(),
|
|
31
|
+
meta: z.any().optional()
|
|
31
32
|
});
|
|
32
33
|
const validate_client = z.object({
|
|
33
34
|
_id: z_mongodb_id,
|
|
@@ -427,11 +428,36 @@ describe('Basic Server', function () {
|
|
|
427
428
|
test_institutions.push(test_institution);
|
|
428
429
|
}
|
|
429
430
|
|
|
430
|
-
assert.rejects(async () => {
|
|
431
|
+
await assert.rejects(async () => {
|
|
431
432
|
return await got.get(`http://localhost:${port}/api/institution?sort=name&cursor=${test_institutions[2]._id}`).json();
|
|
432
433
|
})
|
|
433
434
|
});
|
|
434
435
|
|
|
436
|
+
it(`should reject GET multiple operations with malicious keys in the query`, async function () {
|
|
437
|
+
let test_institutions = []
|
|
438
|
+
for(let q = 0; q < 5; q++){
|
|
439
|
+
let test_institution = await institution.mongoose_model.create({
|
|
440
|
+
name: ['spandex co',
|
|
441
|
+
'the ordinary institute',
|
|
442
|
+
'saliva branding collective',
|
|
443
|
+
'united league of billionare communitsts',
|
|
444
|
+
'geriatric co',
|
|
445
|
+
'jousing club of omaha, nebraska',
|
|
446
|
+
'dental hygenist paratrooper union',
|
|
447
|
+
'martha stewart\'s cannibal fan club',
|
|
448
|
+
'wrecking ball operator crochet club',
|
|
449
|
+
'accidental co'
|
|
450
|
+
][q]
|
|
451
|
+
});
|
|
452
|
+
//@ts-ignore
|
|
453
|
+
test_institutions.push(test_institution);
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
await assert.rejects(async () => {
|
|
457
|
+
let results = await got.get(`http://localhost:${port}/api/institution?$where=5`);
|
|
458
|
+
})
|
|
459
|
+
});
|
|
460
|
+
|
|
435
461
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
436
462
|
///////////////////////////////////////////////////////////// PUT ////////////////////////////////////////////////////////////////////////////////////
|
|
437
463
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
@@ -524,7 +550,7 @@ describe('Basic Server', function () {
|
|
|
524
550
|
name: `Spandex Reincarnation`
|
|
525
551
|
})
|
|
526
552
|
|
|
527
|
-
assert.rejects(async () => {
|
|
553
|
+
await assert.rejects(async () => {
|
|
528
554
|
let results = await got.put(`http://localhost:${port}/api/institution/${test_institution._id}/client/${test_client._id}/project/${test_project._id}`, {
|
|
529
555
|
json: {
|
|
530
556
|
name: `Leather Pants Transubstantiation`,
|
|
@@ -533,7 +559,26 @@ describe('Basic Server', function () {
|
|
|
533
559
|
},
|
|
534
560
|
}).json();
|
|
535
561
|
}, {
|
|
536
|
-
message: '
|
|
562
|
+
message: 'Response code 403 (Forbidden)'
|
|
563
|
+
});
|
|
564
|
+
});
|
|
565
|
+
|
|
566
|
+
it(`should reject a PUT operation with a malicious key in the body`, async function () {
|
|
567
|
+
let test_institution = await institution.mongoose_model.create({
|
|
568
|
+
name: 'Spandex Co'
|
|
569
|
+
});
|
|
570
|
+
|
|
571
|
+
await assert.rejects(async () => {
|
|
572
|
+
let results = await got.put(`http://localhost:${port}/api/institution/${test_institution._id}`, {
|
|
573
|
+
json: {
|
|
574
|
+
name: 'Leather Pants Co',
|
|
575
|
+
meta: {
|
|
576
|
+
$sum: { test: true}
|
|
577
|
+
}
|
|
578
|
+
},
|
|
579
|
+
}).json();
|
|
580
|
+
}, {
|
|
581
|
+
message: 'Response code 403 (Forbidden)'
|
|
537
582
|
});
|
|
538
583
|
});
|
|
539
584
|
|
|
@@ -607,7 +652,7 @@ describe('Basic Server', function () {
|
|
|
607
652
|
name: `Anna's Latex Emporium`
|
|
608
653
|
})
|
|
609
654
|
|
|
610
|
-
assert.rejects(async () => {
|
|
655
|
+
await assert.rejects(async () => {
|
|
611
656
|
let results = await got.post(`http://localhost:${port}/api/institution/${test_institution._id}/client/${test_client._id}/project`, {
|
|
612
657
|
json: {
|
|
613
658
|
name: `Leather Pants Transubstantiation`,
|
|
@@ -616,9 +661,25 @@ describe('Basic Server', function () {
|
|
|
616
661
|
},
|
|
617
662
|
}).json();
|
|
618
663
|
}, {
|
|
619
|
-
message: '
|
|
664
|
+
message: 'Response code 403 (Forbidden)'
|
|
665
|
+
});
|
|
666
|
+
});
|
|
667
|
+
|
|
668
|
+
it(`should reject a POST operation with malicious keys in the body`, async function () {
|
|
669
|
+
await assert.rejects(async () => {
|
|
670
|
+
let results = await got.post(`http://localhost:${port}/api/institution`, {
|
|
671
|
+
json: {
|
|
672
|
+
name: 'Leather Pants Co',
|
|
673
|
+
meta: {
|
|
674
|
+
$sum: {test: true}
|
|
675
|
+
}
|
|
676
|
+
},
|
|
677
|
+
}).json();
|
|
678
|
+
}, {
|
|
679
|
+
message: 'Response code 403 (Forbidden)'
|
|
620
680
|
});
|
|
621
681
|
});
|
|
682
|
+
|
|
622
683
|
|
|
623
684
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
624
685
|
///////////////////////////////////////////////////////////// DELETE /////////////////////////////////////////////////////////////////////////////////
|
|
@@ -131,14 +131,14 @@ describe('Security Model Ownership', function () {
|
|
|
131
131
|
auth_id: 'sharon'
|
|
132
132
|
});
|
|
133
133
|
|
|
134
|
-
assert.rejects(async () => {
|
|
134
|
+
await assert.rejects(async () => {
|
|
135
135
|
let results = await got.get(`http://localhost:${port}/api/user_display/${user_display.id}`, {
|
|
136
136
|
headers: {
|
|
137
137
|
authorization: 'sharon'
|
|
138
138
|
}
|
|
139
139
|
}).json();
|
|
140
140
|
}, {
|
|
141
|
-
message: '
|
|
141
|
+
message: 'Response code 403 (Forbidden)'
|
|
142
142
|
})
|
|
143
143
|
});
|
|
144
144
|
|
|
@@ -190,14 +190,14 @@ describe('Security Model Ownership', function () {
|
|
|
190
190
|
}
|
|
191
191
|
|
|
192
192
|
//@ts-ignore
|
|
193
|
-
assert.rejects(async () => {
|
|
193
|
+
await assert.rejects(async () => {
|
|
194
194
|
let results = await got.get(`http://localhost:${port}/api/user_display?user_id=${user._id}`, {
|
|
195
195
|
headers: {
|
|
196
196
|
authorization: 'sharon'
|
|
197
197
|
}
|
|
198
198
|
}).json();
|
|
199
199
|
}, {
|
|
200
|
-
message: '
|
|
200
|
+
message: 'Response code 403 (Forbidden)'
|
|
201
201
|
})
|
|
202
202
|
});
|
|
203
203
|
|
|
@@ -232,7 +232,7 @@ describe('Security Model Ownership', function () {
|
|
|
232
232
|
auth_id: 'sharon'
|
|
233
233
|
});
|
|
234
234
|
|
|
235
|
-
assert.rejects(async () => {
|
|
235
|
+
await assert.rejects(async () => {
|
|
236
236
|
let results = await got.put(`http://localhost:${port}/api/user_display/${user_display.id}`, {
|
|
237
237
|
headers: {
|
|
238
238
|
authorization: 'sharon'
|
|
@@ -242,7 +242,7 @@ describe('Security Model Ownership', function () {
|
|
|
242
242
|
}
|
|
243
243
|
}).json();
|
|
244
244
|
}, {
|
|
245
|
-
message: '
|
|
245
|
+
message: 'Response code 403 (Forbidden)'
|
|
246
246
|
})
|
|
247
247
|
});
|
|
248
248
|
|
|
@@ -276,7 +276,7 @@ describe('Security Model Ownership', function () {
|
|
|
276
276
|
auth_id: 'sharon'
|
|
277
277
|
});
|
|
278
278
|
|
|
279
|
-
assert.rejects(async () => {
|
|
279
|
+
await assert.rejects(async () => {
|
|
280
280
|
let results = await got.post(`http://localhost:${port}/api/user_display`, {
|
|
281
281
|
headers: {
|
|
282
282
|
authorization: 'sharon'
|
|
@@ -288,7 +288,7 @@ describe('Security Model Ownership', function () {
|
|
|
288
288
|
}
|
|
289
289
|
}).json();
|
|
290
290
|
}, {
|
|
291
|
-
message: '
|
|
291
|
+
message: 'Response code 403 (Forbidden)'
|
|
292
292
|
})
|
|
293
293
|
});
|
|
294
294
|
|
|
@@ -320,14 +320,14 @@ describe('Security Model Ownership', function () {
|
|
|
320
320
|
auth_id: 'sharon'
|
|
321
321
|
});
|
|
322
322
|
|
|
323
|
-
assert.rejects(async () => {
|
|
323
|
+
await assert.rejects(async () => {
|
|
324
324
|
let results = await got.delete(`http://localhost:${port}/api/user_display/${user_display.id}`, {
|
|
325
325
|
headers: {
|
|
326
326
|
authorization: 'sharon'
|
|
327
327
|
}
|
|
328
328
|
}).json();
|
|
329
329
|
}, {
|
|
330
|
-
message: '
|
|
330
|
+
message: 'Response code 403 (Forbidden)'
|
|
331
331
|
})
|
|
332
332
|
});
|
|
333
333
|
});
|
|
@@ -410,7 +410,7 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
410
410
|
it(`should reject a basic GET operation on a document where the user has a role membership without permission`, async function () {
|
|
411
411
|
let { edwin_institution, edna_client, edna_project } = await generate_test_setup();
|
|
412
412
|
|
|
413
|
-
assert.rejects(async () => {
|
|
413
|
+
await assert.rejects(async () => {
|
|
414
414
|
let results = await got.get(`http://localhost:${port}/api/institution/${edwin_institution._id}/client/${edna_client._id}/project/${edna_project._id}`, {
|
|
415
415
|
headers: {
|
|
416
416
|
authorization: 'steve'
|
|
@@ -423,7 +423,7 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
423
423
|
it(`should reject a basic GET operation on a document where the user has no role membership`, async function () {
|
|
424
424
|
let { steve_institution, steve_client, steve_project } = await generate_test_setup();
|
|
425
425
|
|
|
426
|
-
assert.rejects(async () => {
|
|
426
|
+
await assert.rejects(async () => {
|
|
427
427
|
let results = await got.get(`http://localhost:${port}/api/institution/${steve_institution._id}/client/${steve_client._id}/project/${steve_project._id}`, {
|
|
428
428
|
headers: {
|
|
429
429
|
authorization: 'edwin'
|
|
@@ -508,7 +508,7 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
508
508
|
}))
|
|
509
509
|
}
|
|
510
510
|
|
|
511
|
-
assert.rejects(async () => {
|
|
511
|
+
await assert.rejects(async () => {
|
|
512
512
|
let results = await got.get(`http://localhost:${port}/api/institution/${edwin_institution._id}/client/${edna_client._id}/project`, {
|
|
513
513
|
headers: {
|
|
514
514
|
authorization: 'steve'
|
|
@@ -530,7 +530,7 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
530
530
|
}))
|
|
531
531
|
}
|
|
532
532
|
|
|
533
|
-
assert.rejects(async () => {
|
|
533
|
+
await assert.rejects(async () => {
|
|
534
534
|
let results = await got.get(`http://localhost:${port}/api/institution/${steve_institution._id}/client/${steve_client._id}/project`, {
|
|
535
535
|
headers: {
|
|
536
536
|
authorization: 'edwin'
|
|
@@ -587,7 +587,7 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
587
587
|
it(`should reject a basic PUT operation on a document where the user has a role membership without permission`, async function () {
|
|
588
588
|
let { edwin_institution, edna_client, edna_project } = await generate_test_setup();
|
|
589
589
|
|
|
590
|
-
assert.rejects(async () => {
|
|
590
|
+
await assert.rejects(async () => {
|
|
591
591
|
let results = await got.put(`http://localhost:${port}/api/institution/${edwin_institution._id}/client/${edna_client._id}/project/${edna_project._id}`, {
|
|
592
592
|
headers: {
|
|
593
593
|
authorization: 'steve'
|
|
@@ -603,7 +603,7 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
603
603
|
it(`should reject a basic PUT operation on a document where the user has no role membership`, async function () {
|
|
604
604
|
let { steve_institution, steve_client, steve_project } = await generate_test_setup();
|
|
605
605
|
|
|
606
|
-
assert.rejects(async () => {
|
|
606
|
+
await assert.rejects(async () => {
|
|
607
607
|
let results = await got.put(`http://localhost:${port}/api/institution/${steve_institution._id}/client/${steve_client._id}/project/${steve_project._id}`, {
|
|
608
608
|
headers: {
|
|
609
609
|
authorization: 'edwin'
|
|
@@ -659,7 +659,7 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
659
659
|
it(`should reject a basic POST operation on a document where the user has a role membership without permission`, async function () {
|
|
660
660
|
let { edwin_institution, edna_client, edna_project } = await generate_test_setup();
|
|
661
661
|
|
|
662
|
-
assert.rejects(async () => {
|
|
662
|
+
await assert.rejects(async () => {
|
|
663
663
|
let results = await got.post(`http://localhost:${port}/api/institution/${edwin_institution._id}/client/${edna_client._id}/project`, {
|
|
664
664
|
headers: {
|
|
665
665
|
authorization: 'steve'
|
|
@@ -677,7 +677,7 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
677
677
|
it(`should reject a basic POST operation on a document where the user has no role membership`, async function () {
|
|
678
678
|
let { steve_institution, steve_client, steve_project } = await generate_test_setup();
|
|
679
679
|
|
|
680
|
-
assert.rejects(async () => {
|
|
680
|
+
await assert.rejects(async () => {
|
|
681
681
|
let results = await got.post(`http://localhost:${port}/api/institution/${steve_institution._id}/client/${steve_client._id}/project`, {
|
|
682
682
|
headers: {
|
|
683
683
|
authorization: 'edwin'
|
|
@@ -730,7 +730,7 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
730
730
|
it(`should reject a basic DELETE operation on a document where the user has a role membership without permission`, async function () {
|
|
731
731
|
let { edwin_institution, edna_client, edna_project } = await generate_test_setup();
|
|
732
732
|
|
|
733
|
-
assert.rejects(async () => {
|
|
733
|
+
await assert.rejects(async () => {
|
|
734
734
|
let results = await got.delete(`http://localhost:${port}/api/institution/${edwin_institution._id}/client/${edna_client._id}/project/${edna_project._id}`, {
|
|
735
735
|
headers: {
|
|
736
736
|
authorization: 'steve'
|
|
@@ -743,7 +743,7 @@ describe.skip('Security Model Role Membership', function () {
|
|
|
743
743
|
it(`should reject a basic DELETE operation on a document where the user has no role membership`, async function () {
|
|
744
744
|
let { steve_institution, steve_client, steve_project } = await generate_test_setup();
|
|
745
745
|
|
|
746
|
-
assert.rejects(async () => {
|
|
746
|
+
await assert.rejects(async () => {
|
|
747
747
|
let results = await got.delete(`http://localhost:${port}/api/institution/${steve_institution._id}/client/${steve_client._id}/project/${steve_project._id}`, {
|
|
748
748
|
headers: {
|
|
749
749
|
authorization: 'edwin'
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"node_modules/@esbuild/aix-ppc64": {
|
|
19
|
-
"version": "0.25.
|
|
20
|
-
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.
|
|
21
|
-
"integrity": "sha512-
|
|
19
|
+
"version": "0.25.12",
|
|
20
|
+
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
|
|
21
|
+
"integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
|
|
22
22
|
"cpu": [
|
|
23
23
|
"ppc64"
|
|
24
24
|
],
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
"node_modules/@esbuild/android-arm": {
|
|
36
|
-
"version": "0.25.
|
|
37
|
-
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.
|
|
38
|
-
"integrity": "sha512-
|
|
36
|
+
"version": "0.25.12",
|
|
37
|
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
|
|
38
|
+
"integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
|
|
39
39
|
"cpu": [
|
|
40
40
|
"arm"
|
|
41
41
|
],
|
|
@@ -50,9 +50,9 @@
|
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
52
|
"node_modules/@esbuild/android-arm64": {
|
|
53
|
-
"version": "0.25.
|
|
54
|
-
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.
|
|
55
|
-
"integrity": "sha512-
|
|
53
|
+
"version": "0.25.12",
|
|
54
|
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
|
|
55
|
+
"integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
|
|
56
56
|
"cpu": [
|
|
57
57
|
"arm64"
|
|
58
58
|
],
|
|
@@ -67,9 +67,9 @@
|
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
69
|
"node_modules/@esbuild/android-x64": {
|
|
70
|
-
"version": "0.25.
|
|
71
|
-
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.
|
|
72
|
-
"integrity": "sha512-
|
|
70
|
+
"version": "0.25.12",
|
|
71
|
+
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
|
|
72
|
+
"integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
|
|
73
73
|
"cpu": [
|
|
74
74
|
"x64"
|
|
75
75
|
],
|
|
@@ -84,9 +84,9 @@
|
|
|
84
84
|
}
|
|
85
85
|
},
|
|
86
86
|
"node_modules/@esbuild/darwin-arm64": {
|
|
87
|
-
"version": "0.25.
|
|
88
|
-
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.
|
|
89
|
-
"integrity": "sha512-
|
|
87
|
+
"version": "0.25.12",
|
|
88
|
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
|
|
89
|
+
"integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
|
|
90
90
|
"cpu": [
|
|
91
91
|
"arm64"
|
|
92
92
|
],
|
|
@@ -101,9 +101,9 @@
|
|
|
101
101
|
}
|
|
102
102
|
},
|
|
103
103
|
"node_modules/@esbuild/darwin-x64": {
|
|
104
|
-
"version": "0.25.
|
|
105
|
-
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.
|
|
106
|
-
"integrity": "sha512
|
|
104
|
+
"version": "0.25.12",
|
|
105
|
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
|
|
106
|
+
"integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
|
|
107
107
|
"cpu": [
|
|
108
108
|
"x64"
|
|
109
109
|
],
|
|
@@ -118,9 +118,9 @@
|
|
|
118
118
|
}
|
|
119
119
|
},
|
|
120
120
|
"node_modules/@esbuild/freebsd-arm64": {
|
|
121
|
-
"version": "0.25.
|
|
122
|
-
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.
|
|
123
|
-
"integrity": "sha512-
|
|
121
|
+
"version": "0.25.12",
|
|
122
|
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
|
|
123
|
+
"integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
|
|
124
124
|
"cpu": [
|
|
125
125
|
"arm64"
|
|
126
126
|
],
|
|
@@ -135,9 +135,9 @@
|
|
|
135
135
|
}
|
|
136
136
|
},
|
|
137
137
|
"node_modules/@esbuild/freebsd-x64": {
|
|
138
|
-
"version": "0.25.
|
|
139
|
-
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.
|
|
140
|
-
"integrity": "sha512-
|
|
138
|
+
"version": "0.25.12",
|
|
139
|
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
|
|
140
|
+
"integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
|
|
141
141
|
"cpu": [
|
|
142
142
|
"x64"
|
|
143
143
|
],
|
|
@@ -152,9 +152,9 @@
|
|
|
152
152
|
}
|
|
153
153
|
},
|
|
154
154
|
"node_modules/@esbuild/linux-arm": {
|
|
155
|
-
"version": "0.25.
|
|
156
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.
|
|
157
|
-
"integrity": "sha512-
|
|
155
|
+
"version": "0.25.12",
|
|
156
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
|
|
157
|
+
"integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
|
|
158
158
|
"cpu": [
|
|
159
159
|
"arm"
|
|
160
160
|
],
|
|
@@ -169,9 +169,9 @@
|
|
|
169
169
|
}
|
|
170
170
|
},
|
|
171
171
|
"node_modules/@esbuild/linux-arm64": {
|
|
172
|
-
"version": "0.25.
|
|
173
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.
|
|
174
|
-
"integrity": "sha512-
|
|
172
|
+
"version": "0.25.12",
|
|
173
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
|
|
174
|
+
"integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
|
|
175
175
|
"cpu": [
|
|
176
176
|
"arm64"
|
|
177
177
|
],
|
|
@@ -186,9 +186,9 @@
|
|
|
186
186
|
}
|
|
187
187
|
},
|
|
188
188
|
"node_modules/@esbuild/linux-ia32": {
|
|
189
|
-
"version": "0.25.
|
|
190
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.
|
|
191
|
-
"integrity": "sha512-
|
|
189
|
+
"version": "0.25.12",
|
|
190
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
|
|
191
|
+
"integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
|
|
192
192
|
"cpu": [
|
|
193
193
|
"ia32"
|
|
194
194
|
],
|
|
@@ -203,9 +203,9 @@
|
|
|
203
203
|
}
|
|
204
204
|
},
|
|
205
205
|
"node_modules/@esbuild/linux-loong64": {
|
|
206
|
-
"version": "0.25.
|
|
207
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.
|
|
208
|
-
"integrity": "sha512-
|
|
206
|
+
"version": "0.25.12",
|
|
207
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
|
|
208
|
+
"integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
|
|
209
209
|
"cpu": [
|
|
210
210
|
"loong64"
|
|
211
211
|
],
|
|
@@ -220,9 +220,9 @@
|
|
|
220
220
|
}
|
|
221
221
|
},
|
|
222
222
|
"node_modules/@esbuild/linux-mips64el": {
|
|
223
|
-
"version": "0.25.
|
|
224
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.
|
|
225
|
-
"integrity": "sha512-
|
|
223
|
+
"version": "0.25.12",
|
|
224
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
|
|
225
|
+
"integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
|
|
226
226
|
"cpu": [
|
|
227
227
|
"mips64el"
|
|
228
228
|
],
|
|
@@ -237,9 +237,9 @@
|
|
|
237
237
|
}
|
|
238
238
|
},
|
|
239
239
|
"node_modules/@esbuild/linux-ppc64": {
|
|
240
|
-
"version": "0.25.
|
|
241
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.
|
|
242
|
-
"integrity": "sha512-
|
|
240
|
+
"version": "0.25.12",
|
|
241
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
|
|
242
|
+
"integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
|
|
243
243
|
"cpu": [
|
|
244
244
|
"ppc64"
|
|
245
245
|
],
|
|
@@ -254,9 +254,9 @@
|
|
|
254
254
|
}
|
|
255
255
|
},
|
|
256
256
|
"node_modules/@esbuild/linux-riscv64": {
|
|
257
|
-
"version": "0.25.
|
|
258
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.
|
|
259
|
-
"integrity": "sha512-
|
|
257
|
+
"version": "0.25.12",
|
|
258
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
|
|
259
|
+
"integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
|
|
260
260
|
"cpu": [
|
|
261
261
|
"riscv64"
|
|
262
262
|
],
|
|
@@ -271,9 +271,9 @@
|
|
|
271
271
|
}
|
|
272
272
|
},
|
|
273
273
|
"node_modules/@esbuild/linux-s390x": {
|
|
274
|
-
"version": "0.25.
|
|
275
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.
|
|
276
|
-
"integrity": "sha512-
|
|
274
|
+
"version": "0.25.12",
|
|
275
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
|
|
276
|
+
"integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
|
|
277
277
|
"cpu": [
|
|
278
278
|
"s390x"
|
|
279
279
|
],
|
|
@@ -288,9 +288,9 @@
|
|
|
288
288
|
}
|
|
289
289
|
},
|
|
290
290
|
"node_modules/@esbuild/linux-x64": {
|
|
291
|
-
"version": "0.25.
|
|
292
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.
|
|
293
|
-
"integrity": "sha512-
|
|
291
|
+
"version": "0.25.12",
|
|
292
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
|
|
293
|
+
"integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
|
|
294
294
|
"cpu": [
|
|
295
295
|
"x64"
|
|
296
296
|
],
|
|
@@ -305,9 +305,9 @@
|
|
|
305
305
|
}
|
|
306
306
|
},
|
|
307
307
|
"node_modules/@esbuild/netbsd-arm64": {
|
|
308
|
-
"version": "0.25.
|
|
309
|
-
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.
|
|
310
|
-
"integrity": "sha512-
|
|
308
|
+
"version": "0.25.12",
|
|
309
|
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
|
|
310
|
+
"integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
|
|
311
311
|
"cpu": [
|
|
312
312
|
"arm64"
|
|
313
313
|
],
|
|
@@ -322,9 +322,9 @@
|
|
|
322
322
|
}
|
|
323
323
|
},
|
|
324
324
|
"node_modules/@esbuild/netbsd-x64": {
|
|
325
|
-
"version": "0.25.
|
|
326
|
-
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.
|
|
327
|
-
"integrity": "sha512-
|
|
325
|
+
"version": "0.25.12",
|
|
326
|
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
|
|
327
|
+
"integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
|
|
328
328
|
"cpu": [
|
|
329
329
|
"x64"
|
|
330
330
|
],
|
|
@@ -339,9 +339,9 @@
|
|
|
339
339
|
}
|
|
340
340
|
},
|
|
341
341
|
"node_modules/@esbuild/openbsd-arm64": {
|
|
342
|
-
"version": "0.25.
|
|
343
|
-
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.
|
|
344
|
-
"integrity": "sha512-
|
|
342
|
+
"version": "0.25.12",
|
|
343
|
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
|
|
344
|
+
"integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
|
|
345
345
|
"cpu": [
|
|
346
346
|
"arm64"
|
|
347
347
|
],
|
|
@@ -356,9 +356,9 @@
|
|
|
356
356
|
}
|
|
357
357
|
},
|
|
358
358
|
"node_modules/@esbuild/openbsd-x64": {
|
|
359
|
-
"version": "0.25.
|
|
360
|
-
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.
|
|
361
|
-
"integrity": "sha512-
|
|
359
|
+
"version": "0.25.12",
|
|
360
|
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
|
|
361
|
+
"integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
|
|
362
362
|
"cpu": [
|
|
363
363
|
"x64"
|
|
364
364
|
],
|
|
@@ -373,9 +373,9 @@
|
|
|
373
373
|
}
|
|
374
374
|
},
|
|
375
375
|
"node_modules/@esbuild/openharmony-arm64": {
|
|
376
|
-
"version": "0.25.
|
|
377
|
-
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.
|
|
378
|
-
"integrity": "sha512-
|
|
376
|
+
"version": "0.25.12",
|
|
377
|
+
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
|
|
378
|
+
"integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
|
|
379
379
|
"cpu": [
|
|
380
380
|
"arm64"
|
|
381
381
|
],
|
|
@@ -390,9 +390,9 @@
|
|
|
390
390
|
}
|
|
391
391
|
},
|
|
392
392
|
"node_modules/@esbuild/sunos-x64": {
|
|
393
|
-
"version": "0.25.
|
|
394
|
-
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.
|
|
395
|
-
"integrity": "sha512-
|
|
393
|
+
"version": "0.25.12",
|
|
394
|
+
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
|
|
395
|
+
"integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
|
|
396
396
|
"cpu": [
|
|
397
397
|
"x64"
|
|
398
398
|
],
|
|
@@ -407,9 +407,9 @@
|
|
|
407
407
|
}
|
|
408
408
|
},
|
|
409
409
|
"node_modules/@esbuild/win32-arm64": {
|
|
410
|
-
"version": "0.25.
|
|
411
|
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.
|
|
412
|
-
"integrity": "sha512-
|
|
410
|
+
"version": "0.25.12",
|
|
411
|
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
|
|
412
|
+
"integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
|
|
413
413
|
"cpu": [
|
|
414
414
|
"arm64"
|
|
415
415
|
],
|
|
@@ -424,9 +424,9 @@
|
|
|
424
424
|
}
|
|
425
425
|
},
|
|
426
426
|
"node_modules/@esbuild/win32-ia32": {
|
|
427
|
-
"version": "0.25.
|
|
428
|
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.
|
|
429
|
-
"integrity": "sha512-
|
|
427
|
+
"version": "0.25.12",
|
|
428
|
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
|
|
429
|
+
"integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
|
|
430
430
|
"cpu": [
|
|
431
431
|
"ia32"
|
|
432
432
|
],
|
|
@@ -441,9 +441,9 @@
|
|
|
441
441
|
}
|
|
442
442
|
},
|
|
443
443
|
"node_modules/@esbuild/win32-x64": {
|
|
444
|
-
"version": "0.25.
|
|
445
|
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.
|
|
446
|
-
"integrity": "sha512-
|
|
444
|
+
"version": "0.25.12",
|
|
445
|
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
|
|
446
|
+
"integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
|
|
447
447
|
"cpu": [
|
|
448
448
|
"x64"
|
|
449
449
|
],
|
|
@@ -458,9 +458,9 @@
|
|
|
458
458
|
}
|
|
459
459
|
},
|
|
460
460
|
"node_modules/esbuild": {
|
|
461
|
-
"version": "0.25.
|
|
462
|
-
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.
|
|
463
|
-
"integrity": "sha512-
|
|
461
|
+
"version": "0.25.12",
|
|
462
|
+
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
|
|
463
|
+
"integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
|
|
464
464
|
"dev": true,
|
|
465
465
|
"hasInstallScript": true,
|
|
466
466
|
"license": "MIT",
|
|
@@ -471,32 +471,32 @@
|
|
|
471
471
|
"node": ">=18"
|
|
472
472
|
},
|
|
473
473
|
"optionalDependencies": {
|
|
474
|
-
"@esbuild/aix-ppc64": "0.25.
|
|
475
|
-
"@esbuild/android-arm": "0.25.
|
|
476
|
-
"@esbuild/android-arm64": "0.25.
|
|
477
|
-
"@esbuild/android-x64": "0.25.
|
|
478
|
-
"@esbuild/darwin-arm64": "0.25.
|
|
479
|
-
"@esbuild/darwin-x64": "0.25.
|
|
480
|
-
"@esbuild/freebsd-arm64": "0.25.
|
|
481
|
-
"@esbuild/freebsd-x64": "0.25.
|
|
482
|
-
"@esbuild/linux-arm": "0.25.
|
|
483
|
-
"@esbuild/linux-arm64": "0.25.
|
|
484
|
-
"@esbuild/linux-ia32": "0.25.
|
|
485
|
-
"@esbuild/linux-loong64": "0.25.
|
|
486
|
-
"@esbuild/linux-mips64el": "0.25.
|
|
487
|
-
"@esbuild/linux-ppc64": "0.25.
|
|
488
|
-
"@esbuild/linux-riscv64": "0.25.
|
|
489
|
-
"@esbuild/linux-s390x": "0.25.
|
|
490
|
-
"@esbuild/linux-x64": "0.25.
|
|
491
|
-
"@esbuild/netbsd-arm64": "0.25.
|
|
492
|
-
"@esbuild/netbsd-x64": "0.25.
|
|
493
|
-
"@esbuild/openbsd-arm64": "0.25.
|
|
494
|
-
"@esbuild/openbsd-x64": "0.25.
|
|
495
|
-
"@esbuild/openharmony-arm64": "0.25.
|
|
496
|
-
"@esbuild/sunos-x64": "0.25.
|
|
497
|
-
"@esbuild/win32-arm64": "0.25.
|
|
498
|
-
"@esbuild/win32-ia32": "0.25.
|
|
499
|
-
"@esbuild/win32-x64": "0.25.
|
|
474
|
+
"@esbuild/aix-ppc64": "0.25.12",
|
|
475
|
+
"@esbuild/android-arm": "0.25.12",
|
|
476
|
+
"@esbuild/android-arm64": "0.25.12",
|
|
477
|
+
"@esbuild/android-x64": "0.25.12",
|
|
478
|
+
"@esbuild/darwin-arm64": "0.25.12",
|
|
479
|
+
"@esbuild/darwin-x64": "0.25.12",
|
|
480
|
+
"@esbuild/freebsd-arm64": "0.25.12",
|
|
481
|
+
"@esbuild/freebsd-x64": "0.25.12",
|
|
482
|
+
"@esbuild/linux-arm": "0.25.12",
|
|
483
|
+
"@esbuild/linux-arm64": "0.25.12",
|
|
484
|
+
"@esbuild/linux-ia32": "0.25.12",
|
|
485
|
+
"@esbuild/linux-loong64": "0.25.12",
|
|
486
|
+
"@esbuild/linux-mips64el": "0.25.12",
|
|
487
|
+
"@esbuild/linux-ppc64": "0.25.12",
|
|
488
|
+
"@esbuild/linux-riscv64": "0.25.12",
|
|
489
|
+
"@esbuild/linux-s390x": "0.25.12",
|
|
490
|
+
"@esbuild/linux-x64": "0.25.12",
|
|
491
|
+
"@esbuild/netbsd-arm64": "0.25.12",
|
|
492
|
+
"@esbuild/netbsd-x64": "0.25.12",
|
|
493
|
+
"@esbuild/openbsd-arm64": "0.25.12",
|
|
494
|
+
"@esbuild/openbsd-x64": "0.25.12",
|
|
495
|
+
"@esbuild/openharmony-arm64": "0.25.12",
|
|
496
|
+
"@esbuild/sunos-x64": "0.25.12",
|
|
497
|
+
"@esbuild/win32-arm64": "0.25.12",
|
|
498
|
+
"@esbuild/win32-ia32": "0.25.12",
|
|
499
|
+
"@esbuild/win32-x64": "0.25.12"
|
|
500
500
|
}
|
|
501
501
|
},
|
|
502
502
|
"node_modules/fsevents": {
|
|
@@ -528,9 +528,9 @@
|
|
|
528
528
|
}
|
|
529
529
|
},
|
|
530
530
|
"node_modules/ky": {
|
|
531
|
-
"version": "1.
|
|
532
|
-
"resolved": "https://registry.npmjs.org/ky/-/ky-1.
|
|
533
|
-
"integrity": "sha512-
|
|
531
|
+
"version": "1.14.0",
|
|
532
|
+
"resolved": "https://registry.npmjs.org/ky/-/ky-1.14.0.tgz",
|
|
533
|
+
"integrity": "sha512-Rczb6FMM6JT0lvrOlP5WUOCB7s9XKxzwgErzhKlKde1bEV90FXplV1o87fpt4PU/asJFiqjYJxAJyzJhcrxOsQ==",
|
|
534
534
|
"license": "MIT",
|
|
535
535
|
"engines": {
|
|
536
536
|
"node": ">=18"
|