@rolandsall24/nest-mediator 0.4.1 → 0.4.2

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/index.js CHANGED
@@ -1,11 +1,25 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
17
  // Interfaces
5
- tslib_1.__exportStar(require("./lib/interfaces/index.js"), exports);
18
+ __exportStar(require("./lib/interfaces/index.js"), exports);
6
19
  // Decorators
7
- tslib_1.__exportStar(require("./lib/decorators/index.js"), exports);
20
+ __exportStar(require("./lib/decorators/index.js"), exports);
8
21
  // Services
9
- tslib_1.__exportStar(require("./lib/services/index.js"), exports);
22
+ __exportStar(require("./lib/services/index.js"), exports);
10
23
  // Module
11
- tslib_1.__exportStar(require("./lib/nest-mediator.module.js"), exports);
24
+ __exportStar(require("./lib/nest-mediator.module.js"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,aAAa;AACb,4DAA0C;AAE1C,aAAa;AACb,4DAA0C;AAE1C,WAAW;AACX,0DAAwC;AAExC,SAAS;AACT,gEAA8C"}
@@ -22,3 +22,4 @@ const CommandHandler = (command) => {
22
22
  return (0, common_1.SetMetadata)(exports.COMMAND_HANDLER_METADATA, command);
23
23
  };
24
24
  exports.CommandHandler = CommandHandler;
25
+ //# sourceMappingURL=command-handler.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-handler.decorator.js","sourceRoot":"","sources":["../../../src/lib/decorators/command-handler.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAGhC,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACI,MAAM,cAAc,GAAG,CAAC,OAAyC,EAAkB,EAAE;IAC1F,OAAO,IAAA,oBAAW,EAAC,gCAAwB,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
@@ -1,5 +1,19 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./command-handler.decorator.js"), exports);
5
- tslib_1.__exportStar(require("./query-handler.decorator.js"), exports);
17
+ __exportStar(require("./command-handler.decorator.js"), exports);
18
+ __exportStar(require("./query-handler.decorator.js"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,+DAA6C"}
@@ -22,3 +22,4 @@ const QueryHandler = (query) => {
22
22
  return (0, common_1.SetMetadata)(exports.QUERY_HANDLER_METADATA, query);
23
23
  };
24
24
  exports.QueryHandler = QueryHandler;
25
+ //# sourceMappingURL=query-handler.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-handler.decorator.js","sourceRoot":"","sources":["../../../src/lib/decorators/query-handler.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAGhC,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACI,MAAM,YAAY,GAAG,CAAC,KAAqC,EAAkB,EAAE;IACpF,OAAO,IAAA,oBAAW,EAAC,8BAAsB,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB"}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=command-handler.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-handler.interface.js","sourceRoot":"","sources":["../../../src/lib/interfaces/command-handler.interface.ts"],"names":[],"mappings":""}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=command.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.interface.js","sourceRoot":"","sources":["../../../src/lib/interfaces/command.interface.ts"],"names":[],"mappings":""}
@@ -1,7 +1,21 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./command.interface.js"), exports);
5
- tslib_1.__exportStar(require("./query.interface.js"), exports);
6
- tslib_1.__exportStar(require("./command-handler.interface.js"), exports);
7
- tslib_1.__exportStar(require("./query-handler.interface.js"), exports);
17
+ __exportStar(require("./command.interface.js"), exports);
18
+ __exportStar(require("./query.interface.js"), exports);
19
+ __exportStar(require("./command-handler.interface.js"), exports);
20
+ __exportStar(require("./query-handler.interface.js"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,uDAAqC;AACrC,iEAA+C;AAC/C,+DAA6C"}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=query-handler.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-handler.interface.js","sourceRoot":"","sources":["../../../src/lib/interfaces/query-handler.interface.ts"],"names":[],"mappings":""}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=query.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.interface.js","sourceRoot":"","sources":["../../../src/lib/interfaces/query.interface.ts"],"names":[],"mappings":""}
@@ -1,16 +1,21 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
2
11
  var NestMediatorModule_1;
3
12
  Object.defineProperty(exports, "__esModule", { value: true });
4
13
  exports.NestMediatorModule = void 0;
5
- const tslib_1 = require("tslib");
6
14
  const common_1 = require("@nestjs/common");
7
15
  const core_1 = require("@nestjs/core");
8
16
  const index_js_1 = require("./services/index.js");
9
17
  const index_js_2 = require("./decorators/index.js");
10
18
  let NestMediatorModule = NestMediatorModule_1 = class NestMediatorModule {
11
- mediatorBus;
12
- reflector;
13
- discoveryService;
14
19
  constructor(mediatorBus, reflector, discoveryService) {
15
20
  this.mediatorBus = mediatorBus;
16
21
  this.reflector = reflector;
@@ -60,9 +65,10 @@ let NestMediatorModule = NestMediatorModule_1 = class NestMediatorModule {
60
65
  }
61
66
  };
62
67
  exports.NestMediatorModule = NestMediatorModule;
63
- exports.NestMediatorModule = NestMediatorModule = NestMediatorModule_1 = tslib_1.__decorate([
68
+ exports.NestMediatorModule = NestMediatorModule = NestMediatorModule_1 = __decorate([
64
69
  (0, common_1.Module)({}),
65
- tslib_1.__metadata("design:paramtypes", [index_js_1.MediatorBus,
70
+ __metadata("design:paramtypes", [index_js_1.MediatorBus,
66
71
  core_1.Reflector,
67
72
  core_1.DiscoveryService])
68
73
  ], NestMediatorModule);
74
+ //# sourceMappingURL=nest-mediator.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nest-mediator.module.js","sourceRoot":"","sources":["../../src/lib/nest-mediator.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA2E;AAC3E,uCAA4E;AAC5E,kDAAkD;AAClD,oDAAyF;AAKlF,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAC7B,YACqB,WAAwB,EACxB,SAAoB,EACpB,gBAAkC;QAFlC,gBAAW,GAAX,WAAW,CAAa;QACxB,cAAS,GAAT,SAAS,CAAW;QACpB,qBAAgB,GAAhB,gBAAgB,CAAkB;IACpD,CAAC;IAEJ,YAAY;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAEvD,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC3C,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC;YAC1D,MAAM,aAAa,GAAG,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC;YAE7E,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,QAAgB,CAAC;YAE7C,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACxC,mCAAwB,EACxB,WAAW,CACZ,CAAC;YAEF,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CACP,+CAA+C,WAAW,CAAC,IAAI,iBAAiB,eAAe,CAAC,IAAI,EAAE,CACzG,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,sBAAsB,CACnC,eAAe,EACf,WAAyC,CAC5C,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACtC,iCAAsB,EACtB,WAAW,CACZ,CAAC;YAEF,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CACP,6CAA6C,WAAW,CAAC,IAAI,eAAe,aAAa,CAAC,IAAI,EAAE,CACnG,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,oBAAoB,CACjC,aAAa,EACb,WAA4C,CAC/C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,MAAM,EAAE,oBAAkB;YAC1B,OAAO,EAAE;gBACP,sBAAe;aAChB;YACD,SAAS,EAAE;gBACT,sBAAW;aACZ;YACD,OAAO,EAAE,CAAC,sBAAW,CAAC;YACtB,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;CACF,CAAA;AA1EY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,eAAM,EAAC,EAAE,CAAC;qCAGyB,sBAAW;QACb,gBAAS;QACF,uBAAgB;GAJ5C,kBAAkB,CA0E9B"}
@@ -1,4 +1,18 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./mediator.bus.js"), exports);
17
+ __exportStar(require("./mediator.bus.js"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}
@@ -1,15 +1,22 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.MediatorBus = void 0;
4
- const tslib_1 = require("tslib");
5
13
  const common_1 = require("@nestjs/common");
6
14
  const core_1 = require("@nestjs/core");
7
15
  let MediatorBus = class MediatorBus {
8
- moduleRef;
9
- commandHandlers = new Map();
10
- queryHandlers = new Map();
11
16
  constructor(moduleRef) {
12
17
  this.moduleRef = moduleRef;
18
+ this.commandHandlers = new Map();
19
+ this.queryHandlers = new Map();
13
20
  }
14
21
  /**
15
22
  * Register a command handler
@@ -65,7 +72,8 @@ let MediatorBus = class MediatorBus {
65
72
  }
66
73
  };
67
74
  exports.MediatorBus = MediatorBus;
68
- exports.MediatorBus = MediatorBus = tslib_1.__decorate([
75
+ exports.MediatorBus = MediatorBus = __decorate([
69
76
  (0, common_1.Injectable)(),
70
- tslib_1.__metadata("design:paramtypes", [core_1.ModuleRef])
77
+ __metadata("design:paramtypes", [core_1.ModuleRef])
71
78
  ], MediatorBus);
79
+ //# sourceMappingURL=mediator.bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediator.bus.js","sourceRoot":"","sources":["../../../src/lib/services/mediator.bus.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAkD;AAClD,uCAAyC;AAIlC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAItB,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;QAHzC,oBAAe,GAAG,IAAI,GAAG,EAAsC,CAAC;QAChE,kBAAa,GAAG,IAAI,GAAG,EAAyC,CAAC;IAErB,CAAC;IAErD;;;;OAIG;IACH,sBAAsB,CACpB,OAAuB,EACvB,OAAmC;QAEnC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QACjC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,wBAAwB,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAClB,KAAmB,EACnB,OAAsC;QAEtC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAC7B,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,wBAAwB,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CACR,OAAiB;QAEjB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE1D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,sCAAsC,WAAW,oDAAoD,CACtG,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAChC,WAAW,EACX,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QAEF,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CACT,KAAa;QAEb,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEtD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,oCAAoC,SAAS,kDAAkD,CAChG,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAChC,WAAW,EACX,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QAEF,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;CACF,CAAA;AAvFY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAK6B,gBAAS;GAJtC,WAAW,CAuFvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolandsall24/nest-mediator",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "A lightweight CQRS (Command Query Responsibility Segregation) mediator pattern implementation for NestJS applications",
5
5
  "author": "Roland Salloum",
6
6
  "license": "MIT",
@@ -50,7 +50,10 @@
50
50
  "dependencies": {
51
51
  "tslib": "^2.3.0"
52
52
  },
53
- "devDependencies": {},
53
+ "devDependencies": {
54
+ "@types/node": "^24.8.1",
55
+ "typescript": "^5.9.3"
56
+ },
54
57
  "engines": {
55
58
  "node": ">=18.0.0",
56
59
  "npm": ">=9.0.0"