@warlock.js/herald 4.0.100 → 4.0.102

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/cjs/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';var communicator=require('./communicators/communicator.js'),communicatorRegistry=require('./communicators/communicator-registry.js'),rabbitmqDriver=require('./drivers/rabbitmq/rabbitmq-driver.js'),rabbitmqChannel=require('./drivers/rabbitmq/rabbitmq-channel.js'),connectToCommunicator=require('./utils/connect-to-communicator.js');exports.Communicator=communicator.Communicator;exports.MissingCommunicatorError=communicatorRegistry.MissingCommunicatorError;exports.communicatorRegistry=communicatorRegistry.communicatorRegistry;exports.RabbitMQDriver=rabbitmqDriver.RabbitMQDriver;exports.RabbitMQChannel=rabbitmqChannel.RabbitMQChannel;exports.communicators=connectToCommunicator.communicators;exports.connectToCommunicator=connectToCommunicator.connectToCommunicator;//# sourceMappingURL=index.js.map
1
+ 'use strict';var communicator=require('./communicators/communicator.js'),communicatorRegistry=require('./communicators/communicator-registry.js'),rabbitmqDriver=require('./drivers/rabbitmq/rabbitmq-driver.js'),rabbitmqChannel=require('./drivers/rabbitmq/rabbitmq-channel.js'),connectToCommunicator=require('./utils/connect-to-communicator.js');exports.Communicator=communicator.Communicator;exports.MissingCommunicatorError=communicatorRegistry.MissingCommunicatorError;exports.communicatorRegistry=communicatorRegistry.communicatorRegistry;exports.RabbitMQDriver=rabbitmqDriver.RabbitMQDriver;exports.RabbitMQChannel=rabbitmqChannel.RabbitMQChannel;exports.communicatorChannel=connectToCommunicator.communicatorChannel;exports.communicators=connectToCommunicator.communicators;exports.connectToCommunicator=connectToCommunicator.connectToCommunicator;//# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
1
  import { Communicator } from "../communicators";
2
+ import type { ChannelContract } from "../contracts";
2
3
  import type { ConnectionOptions } from "../types";
3
4
  /**
4
5
  * Connect to a message broker and register the communicator.
@@ -83,4 +84,17 @@ export declare function connectToCommunicator(options: ConnectionOptions): Promi
83
84
  * ```
84
85
  */
85
86
  export declare function communicators(name?: string): Communicator;
87
+ /**
88
+ * Get channel instance for the given name from default communicator
89
+ * @param name - Channel name
90
+ * @returns Channel instance
91
+ * @throws MissingCommunicatorError if communicator not found
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * const channel = communicatorChannel("user.created");
96
+ * await channel.publish({ userId: 1 });
97
+ * ```
98
+ */
99
+ export declare function communicatorChannel(name: string): ChannelContract;
86
100
  //# sourceMappingURL=connect-to-communicator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect-to-communicator.d.ts","sourceRoot":"","sources":["../../src/utils/connect-to-communicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,kBAAkB,CAAC;AAEtE,OAAO,KAAK,EAAE,iBAAiB,EAA6B,MAAM,UAAU,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CA+C7F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAEzD"}
1
+ {"version":3,"file":"connect-to-communicator.d.ts","sourceRoot":"","sources":["../../src/utils/connect-to-communicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAA8B,MAAM,cAAc,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAA6B,MAAM,UAAU,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CA+C7F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAEzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAEjE"}
@@ -119,4 +119,19 @@ async function connectToCommunicator(options) {
119
119
  */
120
120
  function communicators(name) {
121
121
  return communicatorRegistry.communicatorRegistry.get(name);
122
- }exports.communicators=communicators;exports.connectToCommunicator=connectToCommunicator;//# sourceMappingURL=connect-to-communicator.js.map
122
+ }
123
+ /**
124
+ * Get channel instance for the given name from default communicator
125
+ * @param name - Channel name
126
+ * @returns Channel instance
127
+ * @throws MissingCommunicatorError if communicator not found
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * const channel = communicatorChannel("user.created");
132
+ * await channel.publish({ userId: 1 });
133
+ * ```
134
+ */
135
+ function communicatorChannel(name) {
136
+ return communicators().channel(name);
137
+ }exports.communicatorChannel=communicatorChannel;exports.communicators=communicators;exports.connectToCommunicator=connectToCommunicator;//# sourceMappingURL=connect-to-communicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect-to-communicator.js","sources":["../../src/utils/connect-to-communicator.ts"],"sourcesContent":[null],"names":["communicatorRegistry"],"mappings":"2FAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDG;AACI,eAAe,qBAAqB,CAAC,OAA0B,EAAA;;AAEpE,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;AAChD,IAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;AACnD,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;;AAG5C,IAAA,IAAI,MAAkC,CAAC;AAEvC,IAAA,QAAQ,UAAU;QAChB,KAAK,UAAU,EAAE;YACf,MAAM,aAAa,GAAG,OAAoC,CAAC;;YAE3D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,iDAAO,wCAAqC,GAAC,CAAC;AAC/E,YAAA,MAAM,GAAG,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;YAC3C,MAAM;AACP,SAAA;QAED,KAAK,OAAO,EAAE;;;AAGZ,YAAA,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;AACH,SAAA;AAED,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,CAAA,qCAAA,CAAuC,CAAC,CAAC;AAC1F,KAAA;;AAGD,IAAA,MAAM,YAAY,GAAGA,yCAAoB,CAAC,QAAQ,CAAC;AACjD,QAAA,IAAI,EAAE,gBAAgB;QACtB,MAAM;QACN,SAAS;AACV,KAAA,CAAC,CAAC;;IAGH,IAAI;AACF,QAAA,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AACxB,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CACb,CAAwB,qBAAA,EAAA,UAAU,KAAK,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAE,CAAA,CAChG,CAAC;AACH,KAAA;AAED,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACG,SAAU,aAAa,CAAC,IAAa,EAAA;AACzC,IAAA,OAAOA,yCAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC"}
1
+ {"version":3,"file":"connect-to-communicator.js","sources":["../../src/utils/connect-to-communicator.ts"],"sourcesContent":[null],"names":["communicatorRegistry"],"mappings":"2FAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDG;AACI,eAAe,qBAAqB,CAAC,OAA0B,EAAA;;AAEpE,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;AAChD,IAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;AACnD,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;;AAG5C,IAAA,IAAI,MAAkC,CAAC;AAEvC,IAAA,QAAQ,UAAU;QAChB,KAAK,UAAU,EAAE;YACf,MAAM,aAAa,GAAG,OAAoC,CAAC;;YAE3D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,iDAAO,wCAAqC,GAAC,CAAC;AAC/E,YAAA,MAAM,GAAG,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;YAC3C,MAAM;AACP,SAAA;QAED,KAAK,OAAO,EAAE;;;AAGZ,YAAA,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;AACH,SAAA;AAED,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,CAAA,qCAAA,CAAuC,CAAC,CAAC;AAC1F,KAAA;;AAGD,IAAA,MAAM,YAAY,GAAGA,yCAAoB,CAAC,QAAQ,CAAC;AACjD,QAAA,IAAI,EAAE,gBAAgB;QACtB,MAAM;QACN,SAAS;AACV,KAAA,CAAC,CAAC;;IAGH,IAAI;AACF,QAAA,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AACxB,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CACb,CAAwB,qBAAA,EAAA,UAAU,KAAK,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAE,CAAA,CAChG,CAAC;AACH,KAAA;AAED,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACG,SAAU,aAAa,CAAC,IAAa,EAAA;AACzC,IAAA,OAAOA,yCAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;AAWG;AACG,SAAU,mBAAmB,CAAC,IAAY,EAAA;AAC9C,IAAA,OAAO,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACvC"}
package/esm/index.js CHANGED
@@ -1 +1 @@
1
- export{Communicator}from'./communicators/communicator.js';export{MissingCommunicatorError,communicatorRegistry}from'./communicators/communicator-registry.js';export{RabbitMQDriver}from'./drivers/rabbitmq/rabbitmq-driver.js';export{RabbitMQChannel}from'./drivers/rabbitmq/rabbitmq-channel.js';export{communicators,connectToCommunicator}from'./utils/connect-to-communicator.js';//# sourceMappingURL=index.js.map
1
+ export{Communicator}from'./communicators/communicator.js';export{MissingCommunicatorError,communicatorRegistry}from'./communicators/communicator-registry.js';export{RabbitMQDriver}from'./drivers/rabbitmq/rabbitmq-driver.js';export{RabbitMQChannel}from'./drivers/rabbitmq/rabbitmq-channel.js';export{communicatorChannel,communicators,connectToCommunicator}from'./utils/connect-to-communicator.js';//# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
1
  import { Communicator } from "../communicators";
2
+ import type { ChannelContract } from "../contracts";
2
3
  import type { ConnectionOptions } from "../types";
3
4
  /**
4
5
  * Connect to a message broker and register the communicator.
@@ -83,4 +84,17 @@ export declare function connectToCommunicator(options: ConnectionOptions): Promi
83
84
  * ```
84
85
  */
85
86
  export declare function communicators(name?: string): Communicator;
87
+ /**
88
+ * Get channel instance for the given name from default communicator
89
+ * @param name - Channel name
90
+ * @returns Channel instance
91
+ * @throws MissingCommunicatorError if communicator not found
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * const channel = communicatorChannel("user.created");
96
+ * await channel.publish({ userId: 1 });
97
+ * ```
98
+ */
99
+ export declare function communicatorChannel(name: string): ChannelContract;
86
100
  //# sourceMappingURL=connect-to-communicator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect-to-communicator.d.ts","sourceRoot":"","sources":["../../src/utils/connect-to-communicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,kBAAkB,CAAC;AAEtE,OAAO,KAAK,EAAE,iBAAiB,EAA6B,MAAM,UAAU,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CA+C7F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAEzD"}
1
+ {"version":3,"file":"connect-to-communicator.d.ts","sourceRoot":"","sources":["../../src/utils/connect-to-communicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAA8B,MAAM,cAAc,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAA6B,MAAM,UAAU,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CA+C7F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAEzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAEjE"}
@@ -119,4 +119,19 @@ async function connectToCommunicator(options) {
119
119
  */
120
120
  function communicators(name) {
121
121
  return communicatorRegistry.get(name);
122
- }export{communicators,connectToCommunicator};//# sourceMappingURL=connect-to-communicator.js.map
122
+ }
123
+ /**
124
+ * Get channel instance for the given name from default communicator
125
+ * @param name - Channel name
126
+ * @returns Channel instance
127
+ * @throws MissingCommunicatorError if communicator not found
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * const channel = communicatorChannel("user.created");
132
+ * await channel.publish({ userId: 1 });
133
+ * ```
134
+ */
135
+ function communicatorChannel(name) {
136
+ return communicators().channel(name);
137
+ }export{communicatorChannel,communicators,connectToCommunicator};//# sourceMappingURL=connect-to-communicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect-to-communicator.js","sources":["../../src/utils/connect-to-communicator.ts"],"sourcesContent":[null],"names":[],"mappings":"6EAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDG;AACI,eAAe,qBAAqB,CAAC,OAA0B,EAAA;;AAEpE,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;AAChD,IAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;AACnD,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;;AAG5C,IAAA,IAAI,MAAkC,CAAC;AAEvC,IAAA,QAAQ,UAAU;QAChB,KAAK,UAAU,EAAE;YACf,MAAM,aAAa,GAAG,OAAoC,CAAC;;YAE3D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,OAAO,wCAAqC,CAAC,CAAC;AAC/E,YAAA,MAAM,GAAG,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;YAC3C,MAAM;AACP,SAAA;QAED,KAAK,OAAO,EAAE;;;AAGZ,YAAA,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;AACH,SAAA;AAED,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,CAAA,qCAAA,CAAuC,CAAC,CAAC;AAC1F,KAAA;;AAGD,IAAA,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAC;AACjD,QAAA,IAAI,EAAE,gBAAgB;QACtB,MAAM;QACN,SAAS;AACV,KAAA,CAAC,CAAC;;IAGH,IAAI;AACF,QAAA,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AACxB,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CACb,CAAwB,qBAAA,EAAA,UAAU,KAAK,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAE,CAAA,CAChG,CAAC;AACH,KAAA;AAED,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACG,SAAU,aAAa,CAAC,IAAa,EAAA;AACzC,IAAA,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC"}
1
+ {"version":3,"file":"connect-to-communicator.js","sources":["../../src/utils/connect-to-communicator.ts"],"sourcesContent":[null],"names":[],"mappings":"6EAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDG;AACI,eAAe,qBAAqB,CAAC,OAA0B,EAAA;;AAEpE,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;AAChD,IAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;AACnD,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;;AAG5C,IAAA,IAAI,MAAkC,CAAC;AAEvC,IAAA,QAAQ,UAAU;QAChB,KAAK,UAAU,EAAE;YACf,MAAM,aAAa,GAAG,OAAoC,CAAC;;YAE3D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,OAAO,wCAAqC,CAAC,CAAC;AAC/E,YAAA,MAAM,GAAG,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;YAC3C,MAAM;AACP,SAAA;QAED,KAAK,OAAO,EAAE;;;AAGZ,YAAA,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;AACH,SAAA;AAED,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,CAAA,qCAAA,CAAuC,CAAC,CAAC;AAC1F,KAAA;;AAGD,IAAA,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAC;AACjD,QAAA,IAAI,EAAE,gBAAgB;QACtB,MAAM;QACN,SAAS;AACV,KAAA,CAAC,CAAC;;IAGH,IAAI;AACF,QAAA,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AACxB,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CACb,CAAwB,qBAAA,EAAA,UAAU,KAAK,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAE,CAAA,CAChG,CAAC;AACH,KAAA;AAED,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACG,SAAU,aAAa,CAAC,IAAa,EAAA;AACzC,IAAA,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;AAWG;AACG,SAAU,mBAAmB,CAAC,IAAY,EAAA;AAC9C,IAAA,OAAO,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACvC"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@warlock.js/herald",
3
- "version": "4.0.100",
3
+ "version": "4.0.102",
4
4
  "description": "Message bus/communicators for RabbitMQ, Kafka, and more",
5
5
  "main": "./cjs/index.js",
6
6
  "dependencies": {
7
7
  "@mongez/copper": "^1.0.1",
8
8
  "@mongez/events": "^2.1.0",
9
9
  "@mongez/reinforcements": "^2.3.17",
10
- "@warlock.js/logger": "4.0.100",
11
- "@warlock.js/seal": "4.0.100"
10
+ "@warlock.js/logger": "4.0.102",
11
+ "@warlock.js/seal": "4.0.102"
12
12
  },
13
13
  "scripts": {
14
14
  "update": "npx ncu -u",