@liminalfunctions/framework 1.0.36 → 1.0.38

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.
@@ -1,7 +1,7 @@
1
1
  import * as z from "zod/v4";
2
2
  import mongoose, { Model } from "mongoose";
3
3
  import { F_Security_Model } from "./F_Security_Models/F_Security_Model.js";
4
- export type CollectionType<Col extends F_Collection<ID, Val>, ID extends string, Val extends z.ZodObject> = z.output<Col['validator']>;
4
+ export type CollectionType<Col extends F_Collection<string, Validator>, Validator extends z.ZodObject> = z.output<Col['validator']>;
5
5
  export type F_Layer<Collection_ID extends string, ZodSchema extends z.ZodObject> = {
6
6
  layers: string[];
7
7
  security_models: F_Security_Model<Collection_ID, ZodSchema>[];
@@ -20,14 +20,19 @@ export declare class F_Collection<Collection_ID extends string, ZodSchema extend
20
20
  access_layers: F_Layer<Collection_ID, ZodSchema>[];
21
21
  create_hooks: ((session: mongoose.mongo.ClientSession, created_document: z.output<ZodSchema>) => Promise<void>)[];
22
22
  update_hooks: ((session: mongoose.mongo.ClientSession, updated_document: z.output<ZodSchema>) => Promise<void>)[];
23
+ delete_hooks: ((session: mongoose.mongo.ClientSession, updated_document: z.output<ZodSchema>) => Promise<void>)[];
23
24
  post_create_hooks: ((created_document: z.output<ZodSchema>) => Promise<void>)[];
24
25
  post_update_hooks: ((created_document: z.output<ZodSchema>) => Promise<void>)[];
26
+ post_delete_hooks: ((deleted_document: z.output<ZodSchema>) => Promise<void>)[];
25
27
  constructor(collection_name: Collection_ID, collection_name_plural: string, validator: ZodSchema);
26
- add_layers(layers: string[], security_models: F_Security_Model<Collection_ID, ZodSchema>[], is_layer_owner?: boolean): void;
27
- add_create_hook(hook: (session: mongoose.mongo.ClientSession, created_document: z.output<ZodSchema>) => Promise<void>): void;
28
- add_update_hook(hook: (session: mongoose.mongo.ClientSession, updated_document: z.output<ZodSchema>) => Promise<void>): void;
29
- add_post_create_hook(hook: (created_document: z.output<ZodSchema>) => Promise<void>): void;
30
- add_post_update_hook(hook: (updated_document: z.output<ZodSchema>) => Promise<void>): void;
31
- mongoose_create(data: z.output<ZodSchema>): Promise<z.output<ZodSchema>>;
32
- mongoose_update(find: any, data: z.output<ZodSchema>): Promise<z.output<ZodSchema>>;
28
+ add_layers(layers: string[], security_models: F_Security_Model<Collection_ID, ZodSchema>[]): void;
29
+ on_create(hook: (session: mongoose.mongo.ClientSession, created_document: z.output<ZodSchema>) => Promise<void>): void;
30
+ on_update(hook: (session: mongoose.mongo.ClientSession, updated_document: z.output<ZodSchema>) => Promise<void>): void;
31
+ on_delete(hook: (session: mongoose.mongo.ClientSession, updated_document: z.output<ZodSchema>) => Promise<void>): void;
32
+ after_create(hook: (created_document: z.output<ZodSchema>) => Promise<void>): void;
33
+ after_update(hook: (updated_document: z.output<ZodSchema>) => Promise<void>): void;
34
+ after_delete(hook: (deleted_document: z.output<ZodSchema>) => Promise<void>): void;
35
+ perform_create_and_side_effects(data: z.output<ZodSchema>): Promise<z.output<ZodSchema>>;
36
+ perform_update_and_side_effects(find: any, data: z.output<ZodSchema>): Promise<z.output<ZodSchema>>;
37
+ perform_delete_and_side_effects(find: any): Promise<z.output<ZodSchema>>;
33
38
  }
@@ -15,8 +15,10 @@ export class F_Collection {
15
15
  access_layers;
16
16
  create_hooks;
17
17
  update_hooks;
18
+ delete_hooks;
18
19
  post_create_hooks;
19
20
  post_update_hooks;
21
+ post_delete_hooks;
20
22
  constructor(collection_name, collection_name_plural, validator) {
21
23
  this.collection_id = collection_name;
22
24
  this.collection_name_plural = collection_name_plural;
@@ -31,10 +33,12 @@ export class F_Collection {
31
33
  this.is_compiled = false;
32
34
  this.create_hooks = [];
33
35
  this.update_hooks = [];
36
+ this.delete_hooks = [];
34
37
  this.post_create_hooks = [];
35
38
  this.post_update_hooks = [];
39
+ this.post_delete_hooks = [];
36
40
  }
37
- add_layers(layers, security_models, is_layer_owner = false) {
41
+ add_layers(layers, security_models) {
38
42
  if (this.is_compiled) {
39
43
  throw new Error(`Manipulating a model post-compilation doesn't work.`);
40
44
  }
@@ -43,19 +47,25 @@ export class F_Collection {
43
47
  security_models: security_models
44
48
  });
45
49
  }
46
- add_create_hook(hook) {
50
+ on_create(hook) {
47
51
  this.create_hooks.push(hook);
48
52
  }
49
- add_update_hook(hook) {
53
+ on_update(hook) {
50
54
  this.update_hooks.push(hook);
51
55
  }
52
- add_post_create_hook(hook) {
56
+ on_delete(hook) {
57
+ this.delete_hooks.push(hook);
58
+ }
59
+ after_create(hook) {
53
60
  this.post_create_hooks.push(hook);
54
61
  }
55
- add_post_update_hook(hook) {
62
+ after_update(hook) {
56
63
  this.post_update_hooks.push(hook);
57
64
  }
58
- async mongoose_create(data) {
65
+ after_delete(hook) {
66
+ this.post_delete_hooks.push(hook);
67
+ }
68
+ async perform_create_and_side_effects(data) {
59
69
  let created_document_data;
60
70
  if (this.create_hooks.length > 0) {
61
71
  await mongoose.connection.transaction(async (session) => {
@@ -74,13 +84,13 @@ export class F_Collection {
74
84
  await hook(created_document_data);
75
85
  }
76
86
  catch (err) {
77
- console.error(`Error in ${this.collection_id} post_create_hook:`);
87
+ console.error(`Error in ${this.collection_id} after_create:`);
78
88
  console.error(err);
79
89
  }
80
90
  }
81
91
  return created_document_data;
82
92
  }
83
- async mongoose_update(find, data) {
93
+ async perform_update_and_side_effects(find, data) {
84
94
  let update_document_data;
85
95
  if (this.update_hooks.length > 0) {
86
96
  await mongoose.connection.transaction(async (session) => {
@@ -99,11 +109,36 @@ export class F_Collection {
99
109
  await hook(update_document_data);
100
110
  }
101
111
  catch (err) {
102
- console.error(`Error in ${this.collection_id} post_update_hook:`);
112
+ console.error(`Error in ${this.collection_id} after_update:`);
103
113
  console.error(err);
104
114
  }
105
115
  }
106
116
  return update_document_data;
107
117
  }
118
+ async perform_delete_and_side_effects(find) {
119
+ let deleted_document_data;
120
+ if (this.update_hooks.length > 0) {
121
+ await mongoose.connection.transaction(async (session) => {
122
+ let deleted_document = await this.mongoose_model.findOneAndDelete(find, { returnDocument: 'after', session: session, lean: true });
123
+ deleted_document_data = deleted_document;
124
+ for (let hook of this.delete_hooks) {
125
+ await hook(session, deleted_document);
126
+ }
127
+ });
128
+ }
129
+ else {
130
+ deleted_document_data = await this.mongoose_model.findOneAndDelete(find, { returnDocument: 'after', lean: true });
131
+ }
132
+ for (let hook of this.post_delete_hooks) {
133
+ try {
134
+ await hook(deleted_document_data);
135
+ }
136
+ catch (err) {
137
+ console.error(`Error in ${this.collection_id} after_delete:`);
138
+ console.error(err);
139
+ }
140
+ }
141
+ return deleted_document_data;
142
+ }
108
143
  }
109
144
  //# sourceMappingURL=F_Collection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"F_Collection.js","sourceRoot":"","sources":["../src/F_Collection.ts"],"names":[],"mappings":"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"}
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
@@ -168,7 +168,7 @@ export function compile(app, collection, api_prefix) {
168
168
  }
169
169
  let results;
170
170
  try {
171
- results = await collection.mongoose_update(find, validated_request_body);
171
+ results = await collection.perform_update_and_side_effects(find, validated_request_body);
172
172
  }
173
173
  catch (err) {
174
174
  res.status(500);
@@ -244,7 +244,7 @@ export function compile(app, collection, api_prefix) {
244
244
  }
245
245
  let results;
246
246
  try {
247
- results = await collection.mongoose_create(validated_request_body);
247
+ results = await collection.perform_create_and_side_effects(validated_request_body);
248
248
  }
249
249
  catch (err) {
250
250
  res.status(500);
@@ -283,7 +283,7 @@ export function compile(app, collection, api_prefix) {
283
283
  }
284
284
  let results;
285
285
  try {
286
- results = await collection.mongoose_model.findOneAndDelete(find, { lean: true });
286
+ results = await collection.perform_delete_and_side_effects(find);
287
287
  }
288
288
  catch (err) {
289
289
  res.status(500);
@@ -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,11 +1,11 @@
1
1
  import { z } from "zod/v4";
2
- import { z_mongodb_id } from "./mongoose_from_zod.js";
2
+ import { z_mongodb_id_nullable, z_mongodb_id_optional } from "./mongoose_from_zod.js";
3
3
  import { find_loops } from './zod_loop_seperator.js';
4
4
  export function query_validator_from_zod(zod_definition, mode = 'server') {
5
5
  let loops = find_loops(zod_definition);
6
6
  let retval = {
7
7
  limit: z.coerce.number().int().optional(),
8
- cursor: z_mongodb_id.optional(),
8
+ cursor: z_mongodb_id_optional,
9
9
  sort_order: z.enum(['ascending', 'descending']).optional()
10
10
  };
11
11
  let object_filters = parse_object(zod_definition._zod.def, '', loops, mode);
@@ -193,21 +193,21 @@ function parse_date(prefix, mode) {
193
193
  }];
194
194
  }
195
195
  function parse_mongodb_id(prefix, mode) {
196
- let array_parser = mode === 'client' ? z.array(z_mongodb_id.nullable()) : z.string().transform(val => val.split(',').filter(ele => ele.length > 0));
196
+ let array_parser = mode === 'client' ? z.array(z_mongodb_id_nullable) : z.string().transform(val => val.split(',').filter(ele => ele.length > 0));
197
197
  return [
198
198
  {
199
199
  path: prefix,
200
- filter: z_mongodb_id.nullable().optional(),
200
+ filter: z_mongodb_id_nullable.optional(),
201
201
  sortable: true,
202
202
  },
203
203
  {
204
204
  path: prefix + '_gt',
205
- filter: z_mongodb_id.nullable().optional(),
205
+ filter: z_mongodb_id_nullable.optional(),
206
206
  sortable: false,
207
207
  },
208
208
  {
209
209
  path: prefix + '_lt',
210
- filter: z_mongodb_id.nullable().optional(),
210
+ filter: z_mongodb_id_nullable.optional(),
211
211
  sortable: false,
212
212
  },
213
213
  {
@@ -1 +1 @@
1
- {"version":3,"file":"query_validator_from_zod.js","sourceRoot":"","sources":["../../src/utils/query_validator_from_zod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query_validator_from_zod.js","sourceRoot":"","sources":["../../src/utils/query_validator_from_zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAgB,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAmB,MAAM,yBAAyB,CAAA;AASrE,MAAM,UAAU,wBAAwB,CAAC,cAA2B,EAAE,OAAa,QAAQ;IACvF,IAAI,KAAK,GAAG,UAAU,CAAC,cAA2B,CAAC,CAAC;IAEpD,IAAI,MAAM,GAAG;QACT,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACzC,MAAM,EAAE,qBAAqB;QAC7B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAoB,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;KAC9D,CAAC;IAEpB,IAAI,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5E,KAAI,IAAI,MAAM,IAAI,cAAc,EAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAEzG,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,SAAS,CAAC,cAA4B,EAAE,MAAc,EAAE,aAAwC,EAAE,OAAa,QAAQ;IAC5H,QAAQ,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACnC,KAAK,MAAM;YACP,OAAO,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,GAAyB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACnF,KAAK,QAAQ;YACT,OAAO,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK;YACN,OAAO,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,KAAK,QAAQ;YACT,OAAO,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,GAA2B,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QACtG,KAAK,SAAS;YACV,OAAO,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvC,KAAK,MAAM;YACP,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,KAAK,OAAO;YACR,OAAO,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,GAA0B,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;QACnG,KAAK,OAAO;YACR,OAAO,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,GAA0B,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACpF,KAAK,QAAQ;YACT,IAAG,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;YACjF,CAAC;YACD,IAAI,EAAE,uBAAuB,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;YAExD,IAAG,uBAAuB,KAAK,YAAY,EAAC,CAAC;gBACzC,OAAO,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,oCAAoC,uBAAuB,gCAAgC,CAAC,CAAA;YAChH,CAAC;QACL,KAAK,SAAS;YAEV,OAAO,SAAS,CAAE,cAAc,CAAC,IAAI,CAAC,GAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;QAC/G;YACI,OAAO,EAAE,CAAA;IACjB,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,GAAwB,EAAE,MAAc,EAAE,aAAwC,EAAE,IAAU;IAC/G,IAAI,eAAe,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IACpE,IAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAErD,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;IACjG,CAAC;SAAM,IAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAC,CAAC;QAE9C,IAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,EAAE,uBAAuB,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAErD,IAAG,uBAAuB,KAAK,YAAY,EAAC,CAAC;YACzC,OAAO,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,GAAyB,EAAE,MAAc,EAAE,aAAwC,EAAE,IAAU;IACjH,IAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,MAAM,GAAG,EAAkB,CAAC;IAChC,KAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAC,CAAC;QAE/C,IAAI,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,MAAM,IAAI,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,GAAwB,EAAE,MAAc,EAAE,IAAU;IACrE,IAAI,eAAe,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IACpE,IAAI,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAClG,IAAG,YAAY,CAAC,MAAM,KAAK,CAAC,EAAC,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAC3C,IAAI,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;IAChC,KAAI,IAAI,MAAM,IAAK,YAAY,EAAC,CAAC;QAE7B,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO;QACH;YACI,IAAI,EAAE,MAAM;YAEZ,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;SACjB;KACJ,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,IAAU;IAC5C,IAAI,YAAY,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACvI,OAAO;QACC;YACI,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC7B,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,MAAM,GAAG,KAAK;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC7B,QAAQ,EAAE,KAAK;SAClB;QACD;YACI,IAAI,EAAE,MAAM,GAAG,KAAK;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC7B,QAAQ,EAAE,KAAK;SAClB;QACD;YACI,IAAI,EAAE,MAAM,GAAG,KAAK;YACpB,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE;YAC/B,QAAQ,EAAE,KAAK;SAClB;KACJ,CAAC;AACV,CAAC;AAED,SAAS,UAAU,CAAC,UAA8B,EAAE,MAAc,EAAE,IAAU;IAE1E,IAAI,YAAY,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACvJ,OAAO;QACC;YACI,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;YAC7C,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,MAAM,GAAG,KAAK;YACpB,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE;YAC/B,QAAQ,EAAE,KAAK;SAClB;KACJ,CAAC;AACV,CAAC;AAED,SAAS,aAAa,CAAC,MAAc,EAAE,IAAU;IAC7C,IAAI,cAAc,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACtE,OAAO,CAAC;YACJ,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE;YACjC,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;AACP,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,IAAU;IAC5C,IAAI,aAAa,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvE,OAAO;QACH;YACI,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;YAChC,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,MAAM,GAAG,KAAK;YACpB,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;YAChC,QAAQ,EAAE,KAAK;SAClB;QACD;YACI,IAAI,EAAE,MAAM,GAAG,MAAM;YACrB,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;YAChC,QAAQ,EAAE,KAAK;SAClB;QACD;YACI,IAAI,EAAE,MAAM,GAAG,KAAK;YACpB,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;YAChC,QAAQ,EAAE,KAAK;SAClB;QACD;YACI,IAAI,EAAE,MAAM,GAAG,MAAM;YACrB,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;YAChC,QAAQ,EAAE,KAAK;SAClB;KACJ,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,IAAU;IAC1C,IAAI,WAAW,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACjE,OAAO,CAAC;YACJ,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE;YAC9B,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,MAAM,GAAG,KAAK;YACpB,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE;YAC9B,QAAQ,EAAE,KAAK;SAClB;QACD;YACI,IAAI,EAAE,MAAM,GAAG,KAAK;YACpB,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE;YAC9B,QAAQ,EAAE,KAAK;SAClB,CAAC,CAAC;AACP,CAAC;AAGD,SAAS,gBAAgB,CAAC,MAAc,EAAE,IAAU;IAChD,IAAI,YAAY,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAClJ,OAAO;QACH;YACI,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,qBAAqB,CAAC,QAAQ,EAAE;YACxC,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,MAAM,GAAG,KAAK;YACpB,MAAM,EAAE,qBAAqB,CAAC,QAAQ,EAAE;YACxC,QAAQ,EAAE,KAAK;SAClB;QACD;YACI,IAAI,EAAE,MAAM,GAAG,KAAK;YACpB,MAAM,EAAE,qBAAqB,CAAC,QAAQ,EAAE;YACxC,QAAQ,EAAE,KAAK;SAClB;QACD;YACI,IAAI,EAAE,MAAM,GAAG,KAAK;YACpB,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE;YAC/B,QAAQ,EAAE,KAAK;SAClB;KACJ,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liminalfunctions/framework",
3
- "version": "1.0.36",
3
+ "version": "1.0.38",
4
4
  "main": "./dist/index.js",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -4,7 +4,7 @@ import mongoose, { Collection, Model, ObjectId } from "mongoose";
4
4
  import { F_Security_Model } from "./F_Security_Models/F_Security_Model.js";
5
5
  import { query_validator_from_zod } from "./utils/query_validator_from_zod.js";
6
6
 
7
- export type CollectionType<Col extends F_Collection<ID, Val>, ID extends string, Val extends z.ZodObject> = z.output<Col['validator']>;
7
+ export type CollectionType<Col extends F_Collection<string, Validator>, Validator extends z.ZodObject> = z.output<Col['validator']>;
8
8
 
9
9
  export type F_Layer<Collection_ID extends string, ZodSchema extends z.ZodObject> = {
10
10
  layers: string[],
@@ -27,8 +27,10 @@ export class F_Collection<Collection_ID extends string, ZodSchema extends z.ZodO
27
27
  access_layers: F_Layer<Collection_ID, ZodSchema>[];
28
28
  create_hooks: ((session: mongoose.mongo.ClientSession, created_document: z.output<ZodSchema>) => Promise<void>)[];
29
29
  update_hooks: ((session: mongoose.mongo.ClientSession, updated_document: z.output<ZodSchema>) => Promise<void>)[];
30
+ delete_hooks: ((session: mongoose.mongo.ClientSession, updated_document: z.output<ZodSchema>) => Promise<void>)[];
30
31
  post_create_hooks: ((created_document: z.output<ZodSchema>) => Promise<void>)[];
31
32
  post_update_hooks: ((created_document: z.output<ZodSchema>) => Promise<void>)[];
33
+ post_delete_hooks: ((deleted_document: z.output<ZodSchema>) => Promise<void>)[];
32
34
 
33
35
  constructor(collection_name: Collection_ID, collection_name_plural: string, validator: ZodSchema){
34
36
  this.collection_id = collection_name;
@@ -47,11 +49,21 @@ export class F_Collection<Collection_ID extends string, ZodSchema extends z.ZodO
47
49
  this.is_compiled = false;
48
50
  this.create_hooks = [];
49
51
  this.update_hooks = [];
52
+ this.delete_hooks = [];
50
53
  this.post_create_hooks = [];
51
54
  this.post_update_hooks = [];
55
+ this.post_delete_hooks = [];
52
56
  }
53
57
 
54
- add_layers(layers: string[], security_models: F_Security_Model<Collection_ID, ZodSchema>[], is_layer_owner = false){
58
+ /**
59
+ * adds a logical point of access and the security models that define it. For example, given a
60
+ * user who has several boxes, and each box has several items, the layers might look like:
61
+ *
62
+ * collection_user.add_layers([], [new SecurityModelOfSomeKind()]); // users can be accessed through /api/user
63
+ * collection_box.add_layers(['user'], [new SecurityModelOfSomeKind()]); // users can be accessed through /api/user/<user_id>/box
64
+ * collection_item.add_layers(['user', 'box'], [new SecurityModelOfSomeKind()]); // users can be accessed through /api/user/<user_id>/box/<box_id>/item
65
+ */
66
+ add_layers(layers: string[], security_models: F_Security_Model<Collection_ID, ZodSchema>[]){
55
67
  if(this.is_compiled){ throw new Error(`Manipulating a model post-compilation doesn't work.`); }
56
68
  this.access_layers.push({
57
69
  layers: layers,
@@ -63,7 +75,7 @@ export class F_Collection<Collection_ID extends string, ZodSchema extends z.ZodO
63
75
  * Adds code that runs in a transaction when the document is being created. If you want side-effect code
64
76
  * that doesn't DIRECTLY pertain to the database create operation, use the post-create hook instead.
65
77
  */
66
- add_create_hook(hook: (session: mongoose.mongo.ClientSession, created_document: z.output<ZodSchema>) => Promise<void>): void {
78
+ on_create(hook: (session: mongoose.mongo.ClientSession, created_document: z.output<ZodSchema>) => Promise<void>): void {
67
79
  this.create_hooks.push(hook);
68
80
  }
69
81
 
@@ -71,20 +83,51 @@ export class F_Collection<Collection_ID extends string, ZodSchema extends z.ZodO
71
83
  * Adds code that runs in a transaction when the document is being updated. If you want side-effect code
72
84
  * that doesn't DIRECTLY pertain to the database update operation, use the post-update hook instead.
73
85
  */
74
- add_update_hook(hook: (session: mongoose.mongo.ClientSession, updated_document: z.output<ZodSchema>) => Promise<void>): void {
86
+ on_update(hook: (session: mongoose.mongo.ClientSession, updated_document: z.output<ZodSchema>) => Promise<void>): void {
75
87
  this.update_hooks.push(hook);
76
88
  }
77
89
 
78
- add_post_create_hook(hook: (created_document: z.output<ZodSchema>) => Promise<void>): void {
90
+ /**
91
+ * Adds code that runs in a transaction when the document is being deleted. If you want side-effect code
92
+ * that doesn't DIRECTLY pertain to the database delete operation, use the post-delete hook instead.
93
+ */
94
+ on_delete(hook: (session: mongoose.mongo.ClientSession, updated_document: z.output<ZodSchema>) => Promise<void>): void {
95
+ this.delete_hooks.push(hook);
96
+ }
97
+
98
+ /**
99
+ * Adds code that runs after a document is created. If this code fails, no error is thrown--a message is merely
100
+ * printed to the console. This means that the code needs to contain any error-handlers within itself.
101
+ */
102
+ after_create(hook: (created_document: z.output<ZodSchema>) => Promise<void>): void {
79
103
  this.post_create_hooks.push(hook);
80
104
  }
81
105
 
82
- add_post_update_hook(hook: (updated_document: z.output<ZodSchema>) => Promise<void>): void {
106
+ /**
107
+ * Adds code that runs after a document is updated. If this code fails, no error is thrown--a message is merely
108
+ * printed to the console. This means that the code needs to contain any error-handlers within itself.
109
+ */
110
+ after_update(hook: (updated_document: z.output<ZodSchema>) => Promise<void>): void {
83
111
  this.post_update_hooks.push(hook);
84
112
  }
85
113
 
86
- // TODO: write tests for this
87
- async mongoose_create(data: z.output<ZodSchema>): Promise<z.output<ZodSchema>> {
114
+ /**
115
+ * Adds code that runs after a document is deleted. If this code fails, no error is thrown--a message is merely
116
+ * printed to the console. This means that the code needs to contain any error-handlers within itself.
117
+ */
118
+ after_delete(hook: (deleted_document: z.output<ZodSchema>) => Promise<void>): void {
119
+ this.post_delete_hooks.push(hook);
120
+ }
121
+
122
+ /**
123
+ * //TODO: Write tests for this
124
+ * Runs both a create operation and any side-effects added by the on_create method within a mongodb transaction.
125
+ * Then, performs any side-effects added by the after_create method.
126
+ *
127
+ * If there are no side-effects specified by the on_create method, runs a normal non-transaction create to avoid
128
+ * the performance impacts of a transaction.
129
+ */
130
+ async perform_create_and_side_effects(data: z.output<ZodSchema>): Promise<z.output<ZodSchema>> {
88
131
  let created_document_data;
89
132
 
90
133
  // if we have any create hooks, run the create operation in a transaction
@@ -109,7 +152,7 @@ export class F_Collection<Collection_ID extends string, ZodSchema extends z.ZodO
109
152
  try {
110
153
  await hook(created_document_data);
111
154
  } catch(err) {
112
- console.error(`Error in ${this.collection_id} post_create_hook:`)
155
+ console.error(`Error in ${this.collection_id} after_create:`)
113
156
  console.error(err);
114
157
  }
115
158
 
@@ -118,8 +161,15 @@ export class F_Collection<Collection_ID extends string, ZodSchema extends z.ZodO
118
161
  return created_document_data;
119
162
  }
120
163
 
121
- // TODO: write tests for this
122
- async mongoose_update(find: any, data: z.output<ZodSchema>): Promise<z.output<ZodSchema>> {
164
+ /**
165
+ * //TODO: Write tests for this
166
+ * Runs both a update operation and any side-effects added by the on_update method within a mongodb transaction.
167
+ * Then, performs any side-effects added by the after_update method.
168
+ *
169
+ * If there are no side-effects specified by the on_update method, runs a normal non-transaction update to avoid
170
+ * the performance impacts of a transaction.
171
+ */
172
+ async perform_update_and_side_effects(find: any, data: z.output<ZodSchema>): Promise<z.output<ZodSchema>> {
123
173
  let update_document_data;
124
174
 
125
175
  // if we have any update hooks, run the update operation in a transaction
@@ -146,7 +196,7 @@ export class F_Collection<Collection_ID extends string, ZodSchema extends z.ZodO
146
196
  //@ts-expect-error
147
197
  await hook(update_document_data);
148
198
  } catch(err) {
149
- console.error(`Error in ${this.collection_id} post_update_hook:`)
199
+ console.error(`Error in ${this.collection_id} after_update:`)
150
200
  console.error(err);
151
201
  }
152
202
  }
@@ -154,4 +204,48 @@ export class F_Collection<Collection_ID extends string, ZodSchema extends z.ZodO
154
204
  //@ts-expect-error
155
205
  return update_document_data;
156
206
  }
207
+
208
+ /**
209
+ * //TODO: Write tests for this
210
+ * Runs both a delete operation and any side-effects added by the on_delete method within a mongodb transaction.
211
+ * Then, performs any side-effects added by the after_delete method.
212
+ *
213
+ * If there are no side-effects specified by the on_delete method, runs a normal non-transaction delete to avoid
214
+ * the performance impacts of a transaction.
215
+ */
216
+ async perform_delete_and_side_effects(find: any): Promise<z.output<ZodSchema>> {
217
+ let deleted_document_data;
218
+
219
+ // if we have any update hooks, run the update operation in a transaction
220
+ if(this.update_hooks.length > 0){
221
+ await mongoose.connection.transaction(async (session) => {
222
+ // update the document
223
+ let deleted_document = await this.mongoose_model.findOneAndDelete(find, {returnDocument: 'after', session: session, lean: true})
224
+ deleted_document_data = deleted_document;
225
+
226
+ // run each hook one-by-one because running them in parallell is verboten
227
+ // https://mongoosejs.com/docs/transactions.html
228
+ for(let hook of this.delete_hooks){
229
+ //@ts-expect-error
230
+ await hook(session, deleted_document);
231
+ }
232
+ });
233
+ } else {// if we don't have any post update hooks, run the update operation normally
234
+ deleted_document_data = await this.mongoose_model.findOneAndDelete(find, {returnDocument: 'after', lean: true})
235
+ }
236
+
237
+ // run the post-update hooks, which should not make DB changes.
238
+ for(let hook of this.post_delete_hooks) {
239
+ try {
240
+ //@ts-expect-error
241
+ await hook(deleted_document_data);
242
+ } catch(err) {
243
+ console.error(`Error in ${this.collection_id} after_delete:`)
244
+ console.error(err);
245
+ }
246
+ }
247
+
248
+ //@ts-expect-error
249
+ return deleted_document_data;
250
+ }
157
251
  }
package/src/F_Compile.ts CHANGED
@@ -220,7 +220,7 @@ export function compile<Collection_ID extends string, ZodSchema extends z.ZodObj
220
220
  let results;
221
221
  try {
222
222
  //@ts-expect-error
223
- results = await collection.mongoose_update(find, validated_request_body);
223
+ results = await collection.perform_update_and_side_effects(find, validated_request_body);
224
224
  //results = await collection.mongoose_model.findOneAndUpdate(find, validated_request_body, { returnDocument: 'after', lean: true });
225
225
  } catch(err){
226
226
  res.status(500);
@@ -316,7 +316,7 @@ export function compile<Collection_ID extends string, ZodSchema extends z.ZodObj
316
316
  let results;
317
317
  try {
318
318
  //@ts-expect-error
319
- results = await collection.mongoose_create(validated_request_body);
319
+ results = await collection.perform_create_and_side_effects(validated_request_body);
320
320
  //results = await collection.mongoose_model.create(validated_request_body);
321
321
  } catch(err){
322
322
  res.status(500);
@@ -361,8 +361,7 @@ export function compile<Collection_ID extends string, ZodSchema extends z.ZodObj
361
361
 
362
362
  let results;
363
363
  try {
364
- //@ts-expect-error
365
- results = await collection.mongoose_model.findOneAndDelete(find, {lean: true });
364
+ results = await collection.perform_delete_and_side_effects(find);
366
365
  } catch(err){
367
366
  res.status(500);
368
367
  res.json({ error: `there was a novel error` });
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod/v4"
2
2
  import { $ZodLooseShape } from "zod/v4/core";
3
- import { z_mongodb_id } from "./mongoose_from_zod.js";
3
+ import { z_mongodb_id, z_mongodb_id_nullable, z_mongodb_id_optional } from "./mongoose_from_zod.js";
4
4
  import { find_loops, validator_group } from './zod_loop_seperator.js'
5
5
 
6
6
  type type_filters = {
@@ -15,7 +15,7 @@ export function query_validator_from_zod(zod_definition: z.ZodObject, mode: Mode
15
15
 
16
16
  let retval = {
17
17
  limit: z.coerce.number().int().optional(),
18
- cursor: z_mongodb_id.optional(),
18
+ cursor: z_mongodb_id_optional,
19
19
  sort_order: z.enum([/*'asc', 'desc', */'ascending', 'descending']).optional()
20
20
  } as $ZodLooseShape;
21
21
 
@@ -225,21 +225,21 @@ function parse_date(prefix: string, mode: Mode): type_filters {
225
225
 
226
226
 
227
227
  function parse_mongodb_id(prefix: string, mode: Mode): type_filters {
228
- let array_parser = mode === 'client' ? z.array(z_mongodb_id.nullable()) : z.string().transform(val => val.split(',').filter(ele => ele.length > 0));
228
+ let array_parser = mode === 'client' ? z.array(z_mongodb_id_nullable) : z.string().transform(val => val.split(',').filter(ele => ele.length > 0));
229
229
  return [
230
230
  {
231
231
  path: prefix,
232
- filter: z_mongodb_id.nullable().optional(),
232
+ filter: z_mongodb_id_nullable.optional(),
233
233
  sortable: true,
234
234
  },
235
235
  {
236
236
  path: prefix + '_gt',
237
- filter: z_mongodb_id.nullable().optional(),
237
+ filter: z_mongodb_id_nullable.optional(),
238
238
  sortable: false,
239
239
  },
240
240
  {
241
241
  path: prefix + '_lt',
242
- filter: z_mongodb_id.nullable().optional(),
242
+ filter: z_mongodb_id_nullable.optional(),
243
243
  sortable: false,
244
244
  },
245
245
  {
@@ -17,7 +17,7 @@ import { Server } from "http";
17
17
 
18
18
  // IF YOU RUN THESE TESTS ON THEIR OWN, THEY WORK FINE
19
19
  // there's something janky going on with the mongodb or express
20
- // setup/teardown that's causing the mto fail.
20
+ // setup/teardown that's causing them to fail when run with the other tests
21
21
  describe.skip('Security Model Role Membership', function () {
22
22
  const port = 4601;
23
23
  let express_app: Express;
@@ -16,9 +16,9 @@
16
16
  }
17
17
  },
18
18
  "node_modules/@esbuild/aix-ppc64": {
19
- "version": "0.25.10",
20
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.10.tgz",
21
- "integrity": "sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==",
19
+ "version": "0.25.11",
20
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz",
21
+ "integrity": "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==",
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.10",
37
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.10.tgz",
38
- "integrity": "sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==",
36
+ "version": "0.25.11",
37
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz",
38
+ "integrity": "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==",
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.10",
54
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.10.tgz",
55
- "integrity": "sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==",
53
+ "version": "0.25.11",
54
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz",
55
+ "integrity": "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==",
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.10",
71
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.10.tgz",
72
- "integrity": "sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==",
70
+ "version": "0.25.11",
71
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz",
72
+ "integrity": "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==",
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.10",
88
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.10.tgz",
89
- "integrity": "sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==",
87
+ "version": "0.25.11",
88
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz",
89
+ "integrity": "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==",
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.10",
105
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.10.tgz",
106
- "integrity": "sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==",
104
+ "version": "0.25.11",
105
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz",
106
+ "integrity": "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==",
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.10",
122
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.10.tgz",
123
- "integrity": "sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==",
121
+ "version": "0.25.11",
122
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz",
123
+ "integrity": "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==",
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.10",
139
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.10.tgz",
140
- "integrity": "sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==",
138
+ "version": "0.25.11",
139
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz",
140
+ "integrity": "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==",
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.10",
156
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.10.tgz",
157
- "integrity": "sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==",
155
+ "version": "0.25.11",
156
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz",
157
+ "integrity": "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==",
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.10",
173
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.10.tgz",
174
- "integrity": "sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==",
172
+ "version": "0.25.11",
173
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz",
174
+ "integrity": "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==",
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.10",
190
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.10.tgz",
191
- "integrity": "sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==",
189
+ "version": "0.25.11",
190
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz",
191
+ "integrity": "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==",
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.10",
207
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.10.tgz",
208
- "integrity": "sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==",
206
+ "version": "0.25.11",
207
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz",
208
+ "integrity": "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==",
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.10",
224
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.10.tgz",
225
- "integrity": "sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==",
223
+ "version": "0.25.11",
224
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz",
225
+ "integrity": "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==",
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.10",
241
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.10.tgz",
242
- "integrity": "sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==",
240
+ "version": "0.25.11",
241
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz",
242
+ "integrity": "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==",
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.10",
258
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.10.tgz",
259
- "integrity": "sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==",
257
+ "version": "0.25.11",
258
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz",
259
+ "integrity": "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==",
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.10",
275
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.10.tgz",
276
- "integrity": "sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==",
274
+ "version": "0.25.11",
275
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz",
276
+ "integrity": "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==",
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.10",
292
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.10.tgz",
293
- "integrity": "sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==",
291
+ "version": "0.25.11",
292
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz",
293
+ "integrity": "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==",
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.10",
309
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.10.tgz",
310
- "integrity": "sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==",
308
+ "version": "0.25.11",
309
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz",
310
+ "integrity": "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==",
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.10",
326
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.10.tgz",
327
- "integrity": "sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==",
325
+ "version": "0.25.11",
326
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz",
327
+ "integrity": "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==",
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.10",
343
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.10.tgz",
344
- "integrity": "sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==",
342
+ "version": "0.25.11",
343
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz",
344
+ "integrity": "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==",
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.10",
360
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.10.tgz",
361
- "integrity": "sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==",
359
+ "version": "0.25.11",
360
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz",
361
+ "integrity": "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==",
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.10",
377
- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.10.tgz",
378
- "integrity": "sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==",
376
+ "version": "0.25.11",
377
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz",
378
+ "integrity": "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==",
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.10",
394
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.10.tgz",
395
- "integrity": "sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==",
393
+ "version": "0.25.11",
394
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz",
395
+ "integrity": "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==",
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.10",
411
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.10.tgz",
412
- "integrity": "sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==",
410
+ "version": "0.25.11",
411
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz",
412
+ "integrity": "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==",
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.10",
428
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.10.tgz",
429
- "integrity": "sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==",
427
+ "version": "0.25.11",
428
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz",
429
+ "integrity": "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==",
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.10",
445
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.10.tgz",
446
- "integrity": "sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==",
444
+ "version": "0.25.11",
445
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz",
446
+ "integrity": "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==",
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.10",
462
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.10.tgz",
463
- "integrity": "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==",
461
+ "version": "0.25.11",
462
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz",
463
+ "integrity": "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==",
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.10",
475
- "@esbuild/android-arm": "0.25.10",
476
- "@esbuild/android-arm64": "0.25.10",
477
- "@esbuild/android-x64": "0.25.10",
478
- "@esbuild/darwin-arm64": "0.25.10",
479
- "@esbuild/darwin-x64": "0.25.10",
480
- "@esbuild/freebsd-arm64": "0.25.10",
481
- "@esbuild/freebsd-x64": "0.25.10",
482
- "@esbuild/linux-arm": "0.25.10",
483
- "@esbuild/linux-arm64": "0.25.10",
484
- "@esbuild/linux-ia32": "0.25.10",
485
- "@esbuild/linux-loong64": "0.25.10",
486
- "@esbuild/linux-mips64el": "0.25.10",
487
- "@esbuild/linux-ppc64": "0.25.10",
488
- "@esbuild/linux-riscv64": "0.25.10",
489
- "@esbuild/linux-s390x": "0.25.10",
490
- "@esbuild/linux-x64": "0.25.10",
491
- "@esbuild/netbsd-arm64": "0.25.10",
492
- "@esbuild/netbsd-x64": "0.25.10",
493
- "@esbuild/openbsd-arm64": "0.25.10",
494
- "@esbuild/openbsd-x64": "0.25.10",
495
- "@esbuild/openharmony-arm64": "0.25.10",
496
- "@esbuild/sunos-x64": "0.25.10",
497
- "@esbuild/win32-arm64": "0.25.10",
498
- "@esbuild/win32-ia32": "0.25.10",
499
- "@esbuild/win32-x64": "0.25.10"
474
+ "@esbuild/aix-ppc64": "0.25.11",
475
+ "@esbuild/android-arm": "0.25.11",
476
+ "@esbuild/android-arm64": "0.25.11",
477
+ "@esbuild/android-x64": "0.25.11",
478
+ "@esbuild/darwin-arm64": "0.25.11",
479
+ "@esbuild/darwin-x64": "0.25.11",
480
+ "@esbuild/freebsd-arm64": "0.25.11",
481
+ "@esbuild/freebsd-x64": "0.25.11",
482
+ "@esbuild/linux-arm": "0.25.11",
483
+ "@esbuild/linux-arm64": "0.25.11",
484
+ "@esbuild/linux-ia32": "0.25.11",
485
+ "@esbuild/linux-loong64": "0.25.11",
486
+ "@esbuild/linux-mips64el": "0.25.11",
487
+ "@esbuild/linux-ppc64": "0.25.11",
488
+ "@esbuild/linux-riscv64": "0.25.11",
489
+ "@esbuild/linux-s390x": "0.25.11",
490
+ "@esbuild/linux-x64": "0.25.11",
491
+ "@esbuild/netbsd-arm64": "0.25.11",
492
+ "@esbuild/netbsd-x64": "0.25.11",
493
+ "@esbuild/openbsd-arm64": "0.25.11",
494
+ "@esbuild/openbsd-x64": "0.25.11",
495
+ "@esbuild/openharmony-arm64": "0.25.11",
496
+ "@esbuild/sunos-x64": "0.25.11",
497
+ "@esbuild/win32-arm64": "0.25.11",
498
+ "@esbuild/win32-ia32": "0.25.11",
499
+ "@esbuild/win32-x64": "0.25.11"
500
500
  }
501
501
  },
502
502
  "node_modules/fsevents": {
@@ -515,9 +515,9 @@
515
515
  }
516
516
  },
517
517
  "node_modules/get-tsconfig": {
518
- "version": "4.10.1",
519
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz",
520
- "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==",
518
+ "version": "4.12.0",
519
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.12.0.tgz",
520
+ "integrity": "sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==",
521
521
  "dev": true,
522
522
  "license": "MIT",
523
523
  "dependencies": {
@@ -528,9 +528,9 @@
528
528
  }
529
529
  },
530
530
  "node_modules/ky": {
531
- "version": "1.10.0",
532
- "resolved": "https://registry.npmjs.org/ky/-/ky-1.10.0.tgz",
533
- "integrity": "sha512-YRPCzHEWZffbfvmRrfwa+5nwBHwZuYiTrfDX0wuhGBPV0pA/zCqcOq93MDssON/baIkpYbvehIX5aLpMxrRhaA==",
531
+ "version": "1.12.0",
532
+ "resolved": "https://registry.npmjs.org/ky/-/ky-1.12.0.tgz",
533
+ "integrity": "sha512-YRLmSUHCwOJRBMArtqMRLOmO7fewn3yOoui6aB8ERkRVXupa0UiaQaKbIXteMt4jUElhbdqTMsLFHs8APxxUoQ==",
534
534
  "license": "MIT",
535
535
  "engines": {
536
536
  "node": ">=18"
@@ -550,9 +550,9 @@
550
550
  }
551
551
  },
552
552
  "node_modules/tsx": {
553
- "version": "4.20.5",
554
- "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.5.tgz",
555
- "integrity": "sha512-+wKjMNU9w/EaQayHXb7WA7ZaHY6hN8WgfvHNQ3t1PnU91/7O8TcTnIhCDYTZwnt8JsO9IBqZ30Ln1r7pPF52Aw==",
553
+ "version": "4.20.6",
554
+ "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz",
555
+ "integrity": "sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==",
556
556
  "dev": true,
557
557
  "license": "MIT",
558
558
  "dependencies": {