@devbro/pashmak 0.1.45 → 0.1.47

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.
@@ -111,7 +111,9 @@ var CompiledRoute = class {
111
111
  return typeof func === "function" && /^class\s/.test(Function.prototype.toString.call(func));
112
112
  }
113
113
  async run() {
114
- return await this.runMiddlewares(this.middlewares, this.request, this.response);
114
+ let rc = await this.runMiddlewares(this.middlewares, this.request, this.response);
115
+ this.response.end();
116
+ return rc;
115
117
  }
116
118
  prepareOutputJsonFormat(obj) {
117
119
  function traverse(value) {
@@ -162,20 +164,18 @@ var CompiledRoute = class {
162
164
  const header_content_type = res.getHeader("Content-Type");
163
165
  if (controller_rc instanceof import_stream.Stream || Buffer.isBuffer(controller_rc)) {
164
166
  await this.writeAsync(res, controller_rc);
165
- res.end();
166
167
  } else if (!header_content_type && typeof controller_rc === "object") {
167
168
  res.setHeader("Content-Type", "application/json");
168
- res.end(this.convertToString(controller_rc));
169
+ res.write(this.convertToString(controller_rc));
169
170
  } else if (!header_content_type) {
170
171
  res.setHeader("Content-Type", "text/plain");
171
- res.end(this.convertToString(controller_rc));
172
+ res.write(this.convertToString(controller_rc));
172
173
  } else {
173
- res.end(this.convertToString(controller_rc));
174
+ res.write(this.convertToString(controller_rc));
174
175
  }
175
176
  return;
176
177
  } else {
177
178
  res.statusCode = [200].includes(res.statusCode) ? 204 : res.statusCode;
178
- res.end();
179
179
  }
180
180
  }
181
181
  async writeAsync(res, chunk) {
@@ -456,16 +456,13 @@ var Router = class {
456
456
  }
457
457
  };
458
458
 
459
- // src/router.mts
460
- var import_neko_config = require("@devbro/neko-config");
461
-
462
459
  // src/facades.mts
463
460
  var import_neko_scheduler = require("@devbro/neko-scheduler");
464
461
  var import_neko_helper2 = require("@devbro/neko-helper");
465
462
  var import_neko_context3 = require("@devbro/neko-context");
466
463
  var import_neko_storage2 = require("@devbro/neko-storage");
467
464
  var import_neko_mailer2 = require("@devbro/neko-mailer");
468
- var import_neko_config2 = require("@devbro/neko-config");
465
+ var import_neko_config = require("@devbro/neko-config");
469
466
  var import_clipanion = require("clipanion");
470
467
 
471
468
  // src/http.mts
@@ -544,8 +541,8 @@ var DatabaseTransport = class {
544
541
  }
545
542
  });
546
543
  }, "processMessage");
547
- constructor(config3 = {}) {
548
- this.config = { ...this.config, ...config3 };
544
+ constructor(config2 = {}) {
545
+ this.config = { ...this.config, ...config2 };
549
546
  this.repeater = (0, import_neko_helper.createRepeater)(
550
547
  this.processMessage,
551
548
  this.config.listen_interval * 1e3
@@ -662,7 +659,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
662
659
  });
663
660
  var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
664
661
  var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
665
- let storage_config = import_neko_config2.config.get(["storages", label].join("."));
662
+ let storage_config = import_neko_config.config.get(["storages", label].join("."));
666
663
  const provider = import_neko_storage2.StorageProviderFactory.create(
667
664
  storage_config.provider,
668
665
  storage_config.config
@@ -695,7 +692,7 @@ var httpServer = (0, import_neko_helper2.createSingleton)(() => {
695
692
  return server;
696
693
  });
697
694
  var logger = (0, import_neko_helper2.createSingleton)((label) => {
698
- const logger_config = import_neko_config2.config.get(["loggers", label].join("."));
695
+ const logger_config = import_neko_config.config.get(["loggers", label].join("."));
699
696
  const rc = new import_neko_logger.Logger(logger_config);
700
697
  rc.setExtrasFunction((message) => {
701
698
  message.requestId = (0, import_neko_context3.ctxSafe)()?.get("requestId") || "N/A";
@@ -704,7 +701,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
704
701
  return rc;
705
702
  });
706
703
  var mailer = (0, import_neko_helper2.createSingleton)((label) => {
707
- const mailer_config = import_neko_config2.config.get(["mailer", label].join("."));
704
+ const mailer_config = import_neko_config.config.get(["mailer", label].join("."));
708
705
  const provider = import_neko_mailer2.MailerProviderFactory.create(
709
706
  mailer_config.provider,
710
707
  mailer_config.config
@@ -713,7 +710,7 @@ var mailer = (0, import_neko_helper2.createSingleton)((label) => {
713
710
  return rc;
714
711
  });
715
712
  var queue = (0, import_neko_helper2.createSingleton)((label) => {
716
- const queue_config = import_neko_config2.config.get(["queues", label].join("."));
713
+ const queue_config = import_neko_config.config.get(["queues", label].join("."));
717
714
  if (!queue_config) {
718
715
  throw new Error(`Queue configuration for '${label}' not found`);
719
716
  }
@@ -721,11 +718,10 @@ var queue = (0, import_neko_helper2.createSingleton)((label) => {
721
718
  queue_config.provider,
722
719
  queue_config.config
723
720
  );
724
- const rc = new import_neko_queue2.QueueConnection(provider);
725
- return rc;
721
+ return new import_neko_queue2.QueueConnection(provider);
726
722
  });
727
723
  var cache = (0, import_neko_helper2.createSingleton)((label) => {
728
- const cache_config = import_neko_config2.config.get(["caches", label].join("."));
724
+ const cache_config = import_neko_config.config.get(["caches", label].join("."));
729
725
  if (!cache_config) {
730
726
  throw new Error(`Cache configuration for '${label}' not found`);
731
727
  }
@@ -114,7 +114,9 @@ var CompiledRoute = class {
114
114
  return typeof func === "function" && /^class\s/.test(Function.prototype.toString.call(func));
115
115
  }
116
116
  async run() {
117
- return await this.runMiddlewares(this.middlewares, this.request, this.response);
117
+ let rc = await this.runMiddlewares(this.middlewares, this.request, this.response);
118
+ this.response.end();
119
+ return rc;
118
120
  }
119
121
  prepareOutputJsonFormat(obj) {
120
122
  function traverse(value) {
@@ -165,20 +167,18 @@ var CompiledRoute = class {
165
167
  const header_content_type = res.getHeader("Content-Type");
166
168
  if (controller_rc instanceof import_stream.Stream || Buffer.isBuffer(controller_rc)) {
167
169
  await this.writeAsync(res, controller_rc);
168
- res.end();
169
170
  } else if (!header_content_type && typeof controller_rc === "object") {
170
171
  res.setHeader("Content-Type", "application/json");
171
- res.end(this.convertToString(controller_rc));
172
+ res.write(this.convertToString(controller_rc));
172
173
  } else if (!header_content_type) {
173
174
  res.setHeader("Content-Type", "text/plain");
174
- res.end(this.convertToString(controller_rc));
175
+ res.write(this.convertToString(controller_rc));
175
176
  } else {
176
- res.end(this.convertToString(controller_rc));
177
+ res.write(this.convertToString(controller_rc));
177
178
  }
178
179
  return;
179
180
  } else {
180
181
  res.statusCode = [200].includes(res.statusCode) ? 204 : res.statusCode;
181
- res.end();
182
182
  }
183
183
  }
184
184
  async writeAsync(res, chunk) {
@@ -459,16 +459,13 @@ var Router = class {
459
459
  }
460
460
  };
461
461
 
462
- // src/router.mts
463
- var import_neko_config = require("@devbro/neko-config");
464
-
465
462
  // src/facades.mts
466
463
  var import_neko_scheduler = require("@devbro/neko-scheduler");
467
464
  var import_neko_helper2 = require("@devbro/neko-helper");
468
465
  var import_neko_context3 = require("@devbro/neko-context");
469
466
  var import_neko_storage2 = require("@devbro/neko-storage");
470
467
  var import_neko_mailer2 = require("@devbro/neko-mailer");
471
- var import_neko_config2 = require("@devbro/neko-config");
468
+ var import_neko_config = require("@devbro/neko-config");
472
469
  var import_clipanion = require("clipanion");
473
470
 
474
471
  // src/http.mts
@@ -547,8 +544,8 @@ var DatabaseTransport = class {
547
544
  }
548
545
  });
549
546
  }, "processMessage");
550
- constructor(config3 = {}) {
551
- this.config = { ...this.config, ...config3 };
547
+ constructor(config2 = {}) {
548
+ this.config = { ...this.config, ...config2 };
552
549
  this.repeater = (0, import_neko_helper.createRepeater)(
553
550
  this.processMessage,
554
551
  this.config.listen_interval * 1e3
@@ -665,7 +662,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
665
662
  });
666
663
  var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
667
664
  var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
668
- let storage_config = import_neko_config2.config.get(["storages", label].join("."));
665
+ let storage_config = import_neko_config.config.get(["storages", label].join("."));
669
666
  const provider = import_neko_storage2.StorageProviderFactory.create(
670
667
  storage_config.provider,
671
668
  storage_config.config
@@ -698,7 +695,7 @@ var httpServer = (0, import_neko_helper2.createSingleton)(() => {
698
695
  return server;
699
696
  });
700
697
  var logger = (0, import_neko_helper2.createSingleton)((label) => {
701
- const logger_config = import_neko_config2.config.get(["loggers", label].join("."));
698
+ const logger_config = import_neko_config.config.get(["loggers", label].join("."));
702
699
  const rc = new import_neko_logger.Logger(logger_config);
703
700
  rc.setExtrasFunction((message) => {
704
701
  message.requestId = (0, import_neko_context3.ctxSafe)()?.get("requestId") || "N/A";
@@ -707,7 +704,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
707
704
  return rc;
708
705
  });
709
706
  var mailer = (0, import_neko_helper2.createSingleton)((label) => {
710
- const mailer_config = import_neko_config2.config.get(["mailer", label].join("."));
707
+ const mailer_config = import_neko_config.config.get(["mailer", label].join("."));
711
708
  const provider = import_neko_mailer2.MailerProviderFactory.create(
712
709
  mailer_config.provider,
713
710
  mailer_config.config
@@ -716,7 +713,7 @@ var mailer = (0, import_neko_helper2.createSingleton)((label) => {
716
713
  return rc;
717
714
  });
718
715
  var queue = (0, import_neko_helper2.createSingleton)((label) => {
719
- const queue_config = import_neko_config2.config.get(["queues", label].join("."));
716
+ const queue_config = import_neko_config.config.get(["queues", label].join("."));
720
717
  if (!queue_config) {
721
718
  throw new Error(`Queue configuration for '${label}' not found`);
722
719
  }
@@ -724,11 +721,10 @@ var queue = (0, import_neko_helper2.createSingleton)((label) => {
724
721
  queue_config.provider,
725
722
  queue_config.config
726
723
  );
727
- const rc = new import_neko_queue2.QueueConnection(provider);
728
- return rc;
724
+ return new import_neko_queue2.QueueConnection(provider);
729
725
  });
730
726
  var cache = (0, import_neko_helper2.createSingleton)((label) => {
731
- const cache_config = import_neko_config2.config.get(["caches", label].join("."));
727
+ const cache_config = import_neko_config.config.get(["caches", label].join("."));
732
728
  if (!cache_config) {
733
729
  throw new Error(`Cache configuration for '${label}' not found`);
734
730
  }
@@ -36,7 +36,7 @@ __export(StartCommand_exports, {
36
36
  });
37
37
  module.exports = __toCommonJS(StartCommand_exports);
38
38
  var import_clipanion2 = require("clipanion");
39
- var import_neko_config3 = require("@devbro/neko-config");
39
+ var import_neko_config2 = require("@devbro/neko-config");
40
40
 
41
41
  // src/router.mts
42
42
  var import_neko_context = require("@devbro/neko-context");
@@ -112,7 +112,9 @@ var CompiledRoute = class {
112
112
  return typeof func === "function" && /^class\s/.test(Function.prototype.toString.call(func));
113
113
  }
114
114
  async run() {
115
- return await this.runMiddlewares(this.middlewares, this.request, this.response);
115
+ let rc = await this.runMiddlewares(this.middlewares, this.request, this.response);
116
+ this.response.end();
117
+ return rc;
116
118
  }
117
119
  prepareOutputJsonFormat(obj) {
118
120
  function traverse(value) {
@@ -163,20 +165,18 @@ var CompiledRoute = class {
163
165
  const header_content_type = res.getHeader("Content-Type");
164
166
  if (controller_rc instanceof import_stream.Stream || Buffer.isBuffer(controller_rc)) {
165
167
  await this.writeAsync(res, controller_rc);
166
- res.end();
167
168
  } else if (!header_content_type && typeof controller_rc === "object") {
168
169
  res.setHeader("Content-Type", "application/json");
169
- res.end(this.convertToString(controller_rc));
170
+ res.write(this.convertToString(controller_rc));
170
171
  } else if (!header_content_type) {
171
172
  res.setHeader("Content-Type", "text/plain");
172
- res.end(this.convertToString(controller_rc));
173
+ res.write(this.convertToString(controller_rc));
173
174
  } else {
174
- res.end(this.convertToString(controller_rc));
175
+ res.write(this.convertToString(controller_rc));
175
176
  }
176
177
  return;
177
178
  } else {
178
179
  res.statusCode = [200].includes(res.statusCode) ? 204 : res.statusCode;
179
- res.end();
180
180
  }
181
181
  }
182
182
  async writeAsync(res, chunk) {
@@ -457,16 +457,13 @@ var Router = class {
457
457
  }
458
458
  };
459
459
 
460
- // src/router.mts
461
- var import_neko_config = require("@devbro/neko-config");
462
-
463
460
  // src/facades.mts
464
461
  var import_neko_scheduler = require("@devbro/neko-scheduler");
465
462
  var import_neko_helper2 = require("@devbro/neko-helper");
466
463
  var import_neko_context3 = require("@devbro/neko-context");
467
464
  var import_neko_storage2 = require("@devbro/neko-storage");
468
465
  var import_neko_mailer2 = require("@devbro/neko-mailer");
469
- var import_neko_config2 = require("@devbro/neko-config");
466
+ var import_neko_config = require("@devbro/neko-config");
470
467
  var import_clipanion = require("clipanion");
471
468
 
472
469
  // src/http.mts
@@ -545,8 +542,8 @@ var DatabaseTransport = class {
545
542
  }
546
543
  });
547
544
  }, "processMessage");
548
- constructor(config4 = {}) {
549
- this.config = { ...this.config, ...config4 };
545
+ constructor(config3 = {}) {
546
+ this.config = { ...this.config, ...config3 };
550
547
  this.repeater = (0, import_neko_helper.createRepeater)(
551
548
  this.processMessage,
552
549
  this.config.listen_interval * 1e3
@@ -663,7 +660,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
663
660
  });
664
661
  var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
665
662
  var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
666
- let storage_config = import_neko_config2.config.get(["storages", label].join("."));
663
+ let storage_config = import_neko_config.config.get(["storages", label].join("."));
667
664
  const provider = import_neko_storage2.StorageProviderFactory.create(
668
665
  storage_config.provider,
669
666
  storage_config.config
@@ -696,7 +693,7 @@ var httpServer = (0, import_neko_helper2.createSingleton)(() => {
696
693
  return server;
697
694
  });
698
695
  var logger = (0, import_neko_helper2.createSingleton)((label) => {
699
- const logger_config = import_neko_config2.config.get(["loggers", label].join("."));
696
+ const logger_config = import_neko_config.config.get(["loggers", label].join("."));
700
697
  const rc = new import_neko_logger.Logger(logger_config);
701
698
  rc.setExtrasFunction((message) => {
702
699
  message.requestId = (0, import_neko_context3.ctxSafe)()?.get("requestId") || "N/A";
@@ -705,7 +702,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
705
702
  return rc;
706
703
  });
707
704
  var mailer = (0, import_neko_helper2.createSingleton)((label) => {
708
- const mailer_config = import_neko_config2.config.get(["mailer", label].join("."));
705
+ const mailer_config = import_neko_config.config.get(["mailer", label].join("."));
709
706
  const provider = import_neko_mailer2.MailerProviderFactory.create(
710
707
  mailer_config.provider,
711
708
  mailer_config.config
@@ -714,7 +711,7 @@ var mailer = (0, import_neko_helper2.createSingleton)((label) => {
714
711
  return rc;
715
712
  });
716
713
  var queue = (0, import_neko_helper2.createSingleton)((label) => {
717
- const queue_config = import_neko_config2.config.get(["queues", label].join("."));
714
+ const queue_config = import_neko_config.config.get(["queues", label].join("."));
718
715
  if (!queue_config) {
719
716
  throw new Error(`Queue configuration for '${label}' not found`);
720
717
  }
@@ -722,11 +719,10 @@ var queue = (0, import_neko_helper2.createSingleton)((label) => {
722
719
  queue_config.provider,
723
720
  queue_config.config
724
721
  );
725
- const rc = new import_neko_queue2.QueueConnection(provider);
726
- return rc;
722
+ return new import_neko_queue2.QueueConnection(provider);
727
723
  });
728
724
  var cache = (0, import_neko_helper2.createSingleton)((label) => {
729
- const cache_config = import_neko_config2.config.get(["caches", label].join("."));
725
+ const cache_config = import_neko_config.config.get(["caches", label].join("."));
730
726
  if (!cache_config) {
731
727
  throw new Error(`Cache configuration for '${label}' not found`);
732
728
  }
@@ -765,16 +761,16 @@ var StartCommand = class extends import_clipanion2.Command {
765
761
  scheduler().start();
766
762
  }
767
763
  if (this.queue || this.all) {
768
- const config_queues = import_neko_config3.config.get("queues");
764
+ const config_queues = import_neko_config2.config.get("queues");
769
765
  for (const [name, conf] of Object.entries(config_queues)) {
770
766
  queue(name).start();
771
767
  }
772
768
  }
773
769
  if (this.http || this.all) {
774
770
  const server = httpServer();
775
- await server.listen(import_neko_config3.config.get("port"), () => {
771
+ await server.listen(import_neko_config2.config.get("port"), () => {
776
772
  logger().info(
777
- "Server is running on http://localhost:" + import_neko_config3.config.get("port")
773
+ "Server is running on http://localhost:" + import_neko_config2.config.get("port")
778
774
  );
779
775
  });
780
776
  }
@@ -110,7 +110,9 @@ var CompiledRoute = class {
110
110
  return typeof func === "function" && /^class\s/.test(Function.prototype.toString.call(func));
111
111
  }
112
112
  async run() {
113
- return await this.runMiddlewares(this.middlewares, this.request, this.response);
113
+ let rc = await this.runMiddlewares(this.middlewares, this.request, this.response);
114
+ this.response.end();
115
+ return rc;
114
116
  }
115
117
  prepareOutputJsonFormat(obj) {
116
118
  function traverse(value) {
@@ -161,20 +163,18 @@ var CompiledRoute = class {
161
163
  const header_content_type = res.getHeader("Content-Type");
162
164
  if (controller_rc instanceof import_stream.Stream || Buffer.isBuffer(controller_rc)) {
163
165
  await this.writeAsync(res, controller_rc);
164
- res.end();
165
166
  } else if (!header_content_type && typeof controller_rc === "object") {
166
167
  res.setHeader("Content-Type", "application/json");
167
- res.end(this.convertToString(controller_rc));
168
+ res.write(this.convertToString(controller_rc));
168
169
  } else if (!header_content_type) {
169
170
  res.setHeader("Content-Type", "text/plain");
170
- res.end(this.convertToString(controller_rc));
171
+ res.write(this.convertToString(controller_rc));
171
172
  } else {
172
- res.end(this.convertToString(controller_rc));
173
+ res.write(this.convertToString(controller_rc));
173
174
  }
174
175
  return;
175
176
  } else {
176
177
  res.statusCode = [200].includes(res.statusCode) ? 204 : res.statusCode;
177
- res.end();
178
178
  }
179
179
  }
180
180
  async writeAsync(res, chunk) {
@@ -455,16 +455,13 @@ var Router = class {
455
455
  }
456
456
  };
457
457
 
458
- // src/router.mts
459
- var import_neko_config = require("@devbro/neko-config");
460
-
461
458
  // src/facades.mts
462
459
  var import_neko_scheduler = require("@devbro/neko-scheduler");
463
460
  var import_neko_helper2 = require("@devbro/neko-helper");
464
461
  var import_neko_context3 = require("@devbro/neko-context");
465
462
  var import_neko_storage2 = require("@devbro/neko-storage");
466
463
  var import_neko_mailer2 = require("@devbro/neko-mailer");
467
- var import_neko_config2 = require("@devbro/neko-config");
464
+ var import_neko_config = require("@devbro/neko-config");
468
465
  var import_clipanion = require("clipanion");
469
466
 
470
467
  // src/http.mts
@@ -543,8 +540,8 @@ var DatabaseTransport = class {
543
540
  }
544
541
  });
545
542
  }, "processMessage");
546
- constructor(config4 = {}) {
547
- this.config = { ...this.config, ...config4 };
543
+ constructor(config3 = {}) {
544
+ this.config = { ...this.config, ...config3 };
548
545
  this.repeater = (0, import_neko_helper.createRepeater)(
549
546
  this.processMessage,
550
547
  this.config.listen_interval * 1e3
@@ -661,7 +658,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
661
658
  });
662
659
  var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
663
660
  var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
664
- let storage_config = import_neko_config2.config.get(["storages", label].join("."));
661
+ let storage_config = import_neko_config.config.get(["storages", label].join("."));
665
662
  const provider = import_neko_storage2.StorageProviderFactory.create(
666
663
  storage_config.provider,
667
664
  storage_config.config
@@ -694,7 +691,7 @@ var httpServer = (0, import_neko_helper2.createSingleton)(() => {
694
691
  return server;
695
692
  });
696
693
  var logger = (0, import_neko_helper2.createSingleton)((label) => {
697
- const logger_config = import_neko_config2.config.get(["loggers", label].join("."));
694
+ const logger_config = import_neko_config.config.get(["loggers", label].join("."));
698
695
  const rc = new import_neko_logger.Logger(logger_config);
699
696
  rc.setExtrasFunction((message) => {
700
697
  message.requestId = (0, import_neko_context3.ctxSafe)()?.get("requestId") || "N/A";
@@ -703,7 +700,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
703
700
  return rc;
704
701
  });
705
702
  var mailer = (0, import_neko_helper2.createSingleton)((label) => {
706
- const mailer_config = import_neko_config2.config.get(["mailer", label].join("."));
703
+ const mailer_config = import_neko_config.config.get(["mailer", label].join("."));
707
704
  const provider = import_neko_mailer2.MailerProviderFactory.create(
708
705
  mailer_config.provider,
709
706
  mailer_config.config
@@ -712,7 +709,7 @@ var mailer = (0, import_neko_helper2.createSingleton)((label) => {
712
709
  return rc;
713
710
  });
714
711
  var queue = (0, import_neko_helper2.createSingleton)((label) => {
715
- const queue_config = import_neko_config2.config.get(["queues", label].join("."));
712
+ const queue_config = import_neko_config.config.get(["queues", label].join("."));
716
713
  if (!queue_config) {
717
714
  throw new Error(`Queue configuration for '${label}' not found`);
718
715
  }
@@ -720,11 +717,10 @@ var queue = (0, import_neko_helper2.createSingleton)((label) => {
720
717
  queue_config.provider,
721
718
  queue_config.config
722
719
  );
723
- const rc = new import_neko_queue2.QueueConnection(provider);
724
- return rc;
720
+ return new import_neko_queue2.QueueConnection(provider);
725
721
  });
726
722
  var cache = (0, import_neko_helper2.createSingleton)((label) => {
727
- const cache_config = import_neko_config2.config.get(["caches", label].join("."));
723
+ const cache_config = import_neko_config.config.get(["caches", label].join("."));
728
724
  if (!cache_config) {
729
725
  throw new Error(`Cache configuration for '${label}' not found`);
730
726
  }
@@ -110,7 +110,9 @@ var CompiledRoute = class {
110
110
  return typeof func === "function" && /^class\s/.test(Function.prototype.toString.call(func));
111
111
  }
112
112
  async run() {
113
- return await this.runMiddlewares(this.middlewares, this.request, this.response);
113
+ let rc = await this.runMiddlewares(this.middlewares, this.request, this.response);
114
+ this.response.end();
115
+ return rc;
114
116
  }
115
117
  prepareOutputJsonFormat(obj) {
116
118
  function traverse(value) {
@@ -161,20 +163,18 @@ var CompiledRoute = class {
161
163
  const header_content_type = res.getHeader("Content-Type");
162
164
  if (controller_rc instanceof import_stream.Stream || Buffer.isBuffer(controller_rc)) {
163
165
  await this.writeAsync(res, controller_rc);
164
- res.end();
165
166
  } else if (!header_content_type && typeof controller_rc === "object") {
166
167
  res.setHeader("Content-Type", "application/json");
167
- res.end(this.convertToString(controller_rc));
168
+ res.write(this.convertToString(controller_rc));
168
169
  } else if (!header_content_type) {
169
170
  res.setHeader("Content-Type", "text/plain");
170
- res.end(this.convertToString(controller_rc));
171
+ res.write(this.convertToString(controller_rc));
171
172
  } else {
172
- res.end(this.convertToString(controller_rc));
173
+ res.write(this.convertToString(controller_rc));
173
174
  }
174
175
  return;
175
176
  } else {
176
177
  res.statusCode = [200].includes(res.statusCode) ? 204 : res.statusCode;
177
- res.end();
178
178
  }
179
179
  }
180
180
  async writeAsync(res, chunk) {
@@ -455,16 +455,13 @@ var Router = class {
455
455
  }
456
456
  };
457
457
 
458
- // src/router.mts
459
- var import_neko_config = require("@devbro/neko-config");
460
-
461
458
  // src/facades.mts
462
459
  var import_neko_scheduler = require("@devbro/neko-scheduler");
463
460
  var import_neko_helper2 = require("@devbro/neko-helper");
464
461
  var import_neko_context3 = require("@devbro/neko-context");
465
462
  var import_neko_storage2 = require("@devbro/neko-storage");
466
463
  var import_neko_mailer2 = require("@devbro/neko-mailer");
467
- var import_neko_config2 = require("@devbro/neko-config");
464
+ var import_neko_config = require("@devbro/neko-config");
468
465
  var import_clipanion = require("clipanion");
469
466
 
470
467
  // src/http.mts
@@ -543,8 +540,8 @@ var DatabaseTransport = class {
543
540
  }
544
541
  });
545
542
  }, "processMessage");
546
- constructor(config4 = {}) {
547
- this.config = { ...this.config, ...config4 };
543
+ constructor(config3 = {}) {
544
+ this.config = { ...this.config, ...config3 };
548
545
  this.repeater = (0, import_neko_helper.createRepeater)(
549
546
  this.processMessage,
550
547
  this.config.listen_interval * 1e3
@@ -661,7 +658,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
661
658
  });
662
659
  var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
663
660
  var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
664
- let storage_config = import_neko_config2.config.get(["storages", label].join("."));
661
+ let storage_config = import_neko_config.config.get(["storages", label].join("."));
665
662
  const provider = import_neko_storage2.StorageProviderFactory.create(
666
663
  storage_config.provider,
667
664
  storage_config.config
@@ -694,7 +691,7 @@ var httpServer = (0, import_neko_helper2.createSingleton)(() => {
694
691
  return server;
695
692
  });
696
693
  var logger = (0, import_neko_helper2.createSingleton)((label) => {
697
- const logger_config = import_neko_config2.config.get(["loggers", label].join("."));
694
+ const logger_config = import_neko_config.config.get(["loggers", label].join("."));
698
695
  const rc = new import_neko_logger.Logger(logger_config);
699
696
  rc.setExtrasFunction((message) => {
700
697
  message.requestId = (0, import_neko_context3.ctxSafe)()?.get("requestId") || "N/A";
@@ -703,7 +700,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
703
700
  return rc;
704
701
  });
705
702
  var mailer = (0, import_neko_helper2.createSingleton)((label) => {
706
- const mailer_config = import_neko_config2.config.get(["mailer", label].join("."));
703
+ const mailer_config = import_neko_config.config.get(["mailer", label].join("."));
707
704
  const provider = import_neko_mailer2.MailerProviderFactory.create(
708
705
  mailer_config.provider,
709
706
  mailer_config.config
@@ -712,7 +709,7 @@ var mailer = (0, import_neko_helper2.createSingleton)((label) => {
712
709
  return rc;
713
710
  });
714
711
  var queue = (0, import_neko_helper2.createSingleton)((label) => {
715
- const queue_config = import_neko_config2.config.get(["queues", label].join("."));
712
+ const queue_config = import_neko_config.config.get(["queues", label].join("."));
716
713
  if (!queue_config) {
717
714
  throw new Error(`Queue configuration for '${label}' not found`);
718
715
  }
@@ -720,11 +717,10 @@ var queue = (0, import_neko_helper2.createSingleton)((label) => {
720
717
  queue_config.provider,
721
718
  queue_config.config
722
719
  );
723
- const rc = new import_neko_queue2.QueueConnection(provider);
724
- return rc;
720
+ return new import_neko_queue2.QueueConnection(provider);
725
721
  });
726
722
  var cache = (0, import_neko_helper2.createSingleton)((label) => {
727
- const cache_config = import_neko_config2.config.get(["caches", label].join("."));
723
+ const cache_config = import_neko_config.config.get(["caches", label].join("."));
728
724
  if (!cache_config) {
729
725
  throw new Error(`Cache configuration for '${label}' not found`);
730
726
  }
@@ -740,7 +736,7 @@ var import_clipanion2 = require("clipanion");
740
736
  var import_change_case_all = require("change-case-all");
741
737
  var import_path2 = __toESM(require("path"), 1);
742
738
  var fs = __toESM(require("fs/promises"), 1);
743
- var import_neko_config3 = require("@devbro/neko-config");
739
+ var import_neko_config2 = require("@devbro/neko-config");
744
740
  var import_handlebars = __toESM(require("handlebars"), 1);
745
741
  var import_url = require("url");
746
742
  var import_pluralize = __toESM(require("pluralize"), 1);
@@ -767,7 +763,7 @@ var GenerateControllerCommand = class extends import_clipanion2.Command {
767
763
  const filename = `${import_change_case_all.Case.capital(this.name)}Controller.ts`;
768
764
  this.context.stdout.write(`creating migration file ${filename}
769
765
  `);
770
- await fs.mkdir(import_neko_config3.config.get("migration.path"), { recursive: true });
766
+ await fs.mkdir(import_neko_config2.config.get("migration.path"), { recursive: true });
771
767
  let dirname = typeof __dirname === "string" ? __dirname : void 0;
772
768
  if (!dirname) {
773
769
  dirname = import_path2.default.dirname((0, import_url.fileURLToPath)(import_meta.url));