@devbro/pashmak 0.1.48 → 0.1.49
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/DatabaseServiceProvider.d.mts +4 -1
- package/dist/DatabaseServiceProvider.mjs +5 -2
- package/dist/DatabaseServiceProvider.mjs.map +1 -1
- package/dist/app/console/StartCommand.d.mts +1 -0
- package/dist/app/console/StartCommand.mjs +5 -2
- package/dist/app/console/StartCommand.mjs.map +1 -1
- package/dist/app/console/generate/GenerateApiDocsCommand.d.mts +34 -2
- package/dist/app/console/generate/GenerateApiDocsCommand.mjs +183 -100
- package/dist/app/console/generate/GenerateApiDocsCommand.mjs.map +1 -1
- package/dist/app/console/project/base_project/src/config/storages.ts.tpl +2 -2
- package/dist/bin/DatabaseServiceProvider.cjs +8 -2
- package/dist/bin/app/console/DefaultCommand.cjs +45 -17
- package/dist/bin/app/console/KeyGenerateCommand.cjs +45 -17
- package/dist/bin/app/console/StartCommand.cjs +50 -19
- package/dist/bin/app/console/generate/GenerateApiDocsCommand.cjs +229 -118
- package/dist/bin/app/console/generate/GenerateControllerCommand.cjs +45 -17
- package/dist/bin/app/console/generate/index.cjs +229 -118
- package/dist/bin/app/console/index.cjs +234 -120
- package/dist/bin/app/console/migrate/GenerateMigrateCommand.cjs +45 -17
- package/dist/bin/app/console/migrate/MigrateCommand.cjs +45 -17
- package/dist/bin/app/console/migrate/MigrateRollbackCommand.cjs +45 -17
- package/dist/bin/app/console/migrate/index.cjs +45 -17
- package/dist/bin/app/console/queue/GenerateQueueMigrateCommand.cjs +45 -17
- package/dist/bin/cache.cjs +45 -17
- package/dist/bin/facades.cjs +45 -17
- package/dist/bin/factories.cjs +45 -17
- package/dist/bin/http.cjs +45 -17
- package/dist/bin/index.cjs +243 -126
- package/dist/bin/middlewares.cjs +45 -17
- package/dist/bin/queue.cjs +45 -17
- package/dist/bin/router.cjs +3 -5
- package/dist/factories.mjs +45 -2
- package/dist/factories.mjs.map +1 -1
- package/dist/http.mjs +1 -1
- package/dist/http.mjs.map +1 -1
- package/dist/queue.d.mts +1 -1
- package/dist/queue.mjs.map +1 -1
- package/package.json +1 -1
package/dist/bin/middlewares.cjs
CHANGED
|
@@ -75,6 +75,7 @@ var MiddlewareFactory = class {
|
|
|
75
75
|
};
|
|
76
76
|
|
|
77
77
|
// ../neko-router/dist/CompiledRoute.mjs
|
|
78
|
+
var import_neko_helper = require("@devbro/neko-helper");
|
|
78
79
|
var CompiledRoute = class {
|
|
79
80
|
static {
|
|
80
81
|
__name(this, "CompiledRoute");
|
|
@@ -95,7 +96,7 @@ var CompiledRoute = class {
|
|
|
95
96
|
for (const middleware of [...this.globalMiddlewares, ...this.route.getMiddlewares()]) {
|
|
96
97
|
if (middleware instanceof Middleware) {
|
|
97
98
|
this.middlewares.push(middleware);
|
|
98
|
-
} else if (
|
|
99
|
+
} else if ((0, import_neko_helper.isClass)(middleware)) {
|
|
99
100
|
this.middlewares.push(middleware.getInstance({}));
|
|
100
101
|
} else if (typeof middleware === "function") {
|
|
101
102
|
this.middlewares.push(MiddlewareFactory.create(middleware));
|
|
@@ -104,9 +105,6 @@ var CompiledRoute = class {
|
|
|
104
105
|
}
|
|
105
106
|
}
|
|
106
107
|
}
|
|
107
|
-
isClass(func) {
|
|
108
|
-
return typeof func === "function" && /^class\s/.test(Function.prototype.toString.call(func));
|
|
109
|
-
}
|
|
110
108
|
async run() {
|
|
111
109
|
return await this.runMiddlewares(this.middlewares, this.request, this.response);
|
|
112
110
|
}
|
|
@@ -242,7 +240,7 @@ var Route = class {
|
|
|
242
240
|
i = start;
|
|
243
241
|
} else if (char === "*") {
|
|
244
242
|
let start = i + 1;
|
|
245
|
-
while (start < path2.length && /[a-zA-Z0-9_
|
|
243
|
+
while (start < path2.length && /[a-zA-Z0-9_]/.test(path2[start])) {
|
|
246
244
|
start++;
|
|
247
245
|
}
|
|
248
246
|
tokens.push({ type: "WILDCARD", value: path2.slice(i + 1, start) });
|
|
@@ -457,7 +455,7 @@ var import_errors = require("@devbro/neko-http/errors");
|
|
|
457
455
|
|
|
458
456
|
// src/facades.mts
|
|
459
457
|
var import_neko_scheduler = require("@devbro/neko-scheduler");
|
|
460
|
-
var
|
|
458
|
+
var import_neko_helper3 = require("@devbro/neko-helper");
|
|
461
459
|
var import_neko_context3 = require("@devbro/neko-context");
|
|
462
460
|
var import_neko_storage2 = require("@devbro/neko-storage");
|
|
463
461
|
var import_neko_mailer2 = require("@devbro/neko-mailer");
|
|
@@ -498,7 +496,7 @@ __export(queue_exports, {
|
|
|
498
496
|
DatabaseTransport: () => DatabaseTransport
|
|
499
497
|
});
|
|
500
498
|
__reExport(queue_exports, require("@devbro/neko-queue"));
|
|
501
|
-
var
|
|
499
|
+
var import_neko_helper2 = require("@devbro/neko-helper");
|
|
502
500
|
var import_neko_context2 = require("@devbro/neko-context");
|
|
503
501
|
var DatabaseTransport = class {
|
|
504
502
|
static {
|
|
@@ -559,7 +557,7 @@ var DatabaseTransport = class {
|
|
|
559
557
|
}, "processMessage");
|
|
560
558
|
constructor(config2 = {}) {
|
|
561
559
|
this.config = { ...this.config, ...config2 };
|
|
562
|
-
this.repeater = (0,
|
|
560
|
+
this.repeater = (0, import_neko_helper2.createRepeater)(
|
|
563
561
|
this.processMessage,
|
|
564
562
|
this.config.listen_interval * 1e3
|
|
565
563
|
);
|
|
@@ -627,6 +625,24 @@ import_neko_queue.QueueTransportFactory.register("database", (opt) => {
|
|
|
627
625
|
import_neko_queue.QueueTransportFactory.register("memory", (opt) => {
|
|
628
626
|
return new import_neko_queue.MemoryTransport(opt);
|
|
629
627
|
});
|
|
628
|
+
import_neko_queue.QueueTransportFactory.register("sqs", (opt) => {
|
|
629
|
+
return new import_neko_queue.AwsSqsTransport(opt);
|
|
630
|
+
});
|
|
631
|
+
import_neko_queue.QueueTransportFactory.register("amqp", (opt) => {
|
|
632
|
+
return new import_neko_queue.AmqpTransport(opt);
|
|
633
|
+
});
|
|
634
|
+
import_neko_queue.QueueTransportFactory.register("redis", (opt) => {
|
|
635
|
+
return new import_neko_queue.RedisTransport(opt);
|
|
636
|
+
});
|
|
637
|
+
import_neko_queue.QueueTransportFactory.register("async", (opt) => {
|
|
638
|
+
return new import_neko_queue.AsyncTransport();
|
|
639
|
+
});
|
|
640
|
+
import_neko_queue.QueueTransportFactory.register("azure_service_bus", (opt) => {
|
|
641
|
+
return new import_neko_queue.AzureServiceBusTransport(opt);
|
|
642
|
+
});
|
|
643
|
+
import_neko_queue.QueueTransportFactory.register("google_pubsub", (opt) => {
|
|
644
|
+
return new import_neko_queue.GooglePubSubTransport(opt);
|
|
645
|
+
});
|
|
630
646
|
var CacheProviderFactory = class _CacheProviderFactory {
|
|
631
647
|
static {
|
|
632
648
|
__name(this, "CacheProviderFactory");
|
|
@@ -657,12 +673,24 @@ import_neko_storage.StorageProviderFactory.register("local", (opt) => {
|
|
|
657
673
|
import_neko_storage.StorageProviderFactory.register("s3", (opt) => {
|
|
658
674
|
return new import_neko_storage.AWSS3StorageProvider(opt);
|
|
659
675
|
});
|
|
676
|
+
import_neko_storage.StorageProviderFactory.register("gcp", (opt) => {
|
|
677
|
+
return new import_neko_storage.GCPStorageProvider(opt);
|
|
678
|
+
});
|
|
679
|
+
import_neko_storage.StorageProviderFactory.register("azure", (opt) => {
|
|
680
|
+
return new import_neko_storage.AzureBlobStorageProvider(opt);
|
|
681
|
+
});
|
|
682
|
+
import_neko_storage.StorageProviderFactory.register("ftp", (opt) => {
|
|
683
|
+
return new import_neko_storage.FTPStorageProvider(opt);
|
|
684
|
+
});
|
|
685
|
+
import_neko_storage.StorageProviderFactory.register("sftp", (opt) => {
|
|
686
|
+
return new import_neko_storage.SFTPStorageProvider(opt);
|
|
687
|
+
});
|
|
660
688
|
|
|
661
689
|
// src/facades.mts
|
|
662
690
|
var import_neko_cache2 = require("@devbro/neko-cache");
|
|
663
691
|
var import_neko_queue2 = require("@devbro/neko-queue");
|
|
664
|
-
var router = (0,
|
|
665
|
-
var scheduler = (0,
|
|
692
|
+
var router = (0, import_neko_helper3.createSingleton)(() => new Router());
|
|
693
|
+
var scheduler = (0, import_neko_helper3.createSingleton)(() => {
|
|
666
694
|
const rc = new import_neko_scheduler.Scheduler();
|
|
667
695
|
rc.setErrorHandler((err, job) => {
|
|
668
696
|
logger().error({
|
|
@@ -674,7 +702,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
|
|
|
674
702
|
return rc;
|
|
675
703
|
});
|
|
676
704
|
var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
|
|
677
|
-
var storage = (0,
|
|
705
|
+
var storage = (0, import_neko_helper3.createSingleton)((label = "default") => {
|
|
678
706
|
let storage_config = import_neko_config.config.get(["storages", label].join("."));
|
|
679
707
|
const provider = import_neko_storage2.StorageProviderFactory.create(
|
|
680
708
|
storage_config.provider,
|
|
@@ -682,7 +710,7 @@ var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
|
|
|
682
710
|
);
|
|
683
711
|
return new import_neko_storage2.Storage(provider);
|
|
684
712
|
});
|
|
685
|
-
var cli = (0,
|
|
713
|
+
var cli = (0, import_neko_helper3.createSingleton)(() => {
|
|
686
714
|
const [node, app, ...args] = process.argv;
|
|
687
715
|
return new import_clipanion.Cli({
|
|
688
716
|
binaryLabel: `My Application`,
|
|
@@ -690,13 +718,13 @@ var cli = (0, import_neko_helper2.createSingleton)(() => {
|
|
|
690
718
|
binaryVersion: `1.0.0`
|
|
691
719
|
});
|
|
692
720
|
});
|
|
693
|
-
var httpServer = (0,
|
|
721
|
+
var httpServer = (0, import_neko_helper3.createSingleton)(() => {
|
|
694
722
|
const server = new http_exports.HttpServer();
|
|
695
723
|
server.setErrorHandler(handleHttpErrors);
|
|
696
724
|
server.setRouter(router());
|
|
697
725
|
return server;
|
|
698
726
|
});
|
|
699
|
-
var logger = (0,
|
|
727
|
+
var logger = (0, import_neko_helper3.createSingleton)((label) => {
|
|
700
728
|
const logger_config = import_neko_config.config.get(["loggers", label].join("."));
|
|
701
729
|
const rc = new import_neko_logger.Logger(logger_config);
|
|
702
730
|
rc.setExtrasFunction((message) => {
|
|
@@ -705,7 +733,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
705
733
|
});
|
|
706
734
|
return rc;
|
|
707
735
|
});
|
|
708
|
-
var mailer = (0,
|
|
736
|
+
var mailer = (0, import_neko_helper3.createSingleton)((label) => {
|
|
709
737
|
const mailer_config = import_neko_config.config.get(["mailer", label].join("."));
|
|
710
738
|
const provider = import_neko_mailer2.MailerProviderFactory.create(
|
|
711
739
|
mailer_config.provider,
|
|
@@ -714,7 +742,7 @@ var mailer = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
714
742
|
const rc = new import_neko_mailer2.Mailer(provider);
|
|
715
743
|
return rc;
|
|
716
744
|
});
|
|
717
|
-
var queue = (0,
|
|
745
|
+
var queue = (0, import_neko_helper3.createSingleton)((label) => {
|
|
718
746
|
const queue_config = import_neko_config.config.get(["queues", label].join("."));
|
|
719
747
|
if (!queue_config) {
|
|
720
748
|
throw new Error(`Queue configuration for '${label}' not found`);
|
|
@@ -725,7 +753,7 @@ var queue = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
725
753
|
);
|
|
726
754
|
return new import_neko_queue2.QueueConnection(provider);
|
|
727
755
|
});
|
|
728
|
-
var cache = (0,
|
|
756
|
+
var cache = (0, import_neko_helper3.createSingleton)((label) => {
|
|
729
757
|
const cache_config = import_neko_config.config.get(["caches", label].join("."));
|
|
730
758
|
if (!cache_config) {
|
|
731
759
|
throw new Error(`Cache configuration for '${label}' not found`);
|
package/dist/bin/queue.cjs
CHANGED
|
@@ -78,6 +78,7 @@ var MiddlewareFactory = class {
|
|
|
78
78
|
};
|
|
79
79
|
|
|
80
80
|
// ../neko-router/dist/CompiledRoute.mjs
|
|
81
|
+
var import_neko_helper = require("@devbro/neko-helper");
|
|
81
82
|
var CompiledRoute = class {
|
|
82
83
|
static {
|
|
83
84
|
__name(this, "CompiledRoute");
|
|
@@ -98,7 +99,7 @@ var CompiledRoute = class {
|
|
|
98
99
|
for (const middleware of [...this.globalMiddlewares, ...this.route.getMiddlewares()]) {
|
|
99
100
|
if (middleware instanceof Middleware) {
|
|
100
101
|
this.middlewares.push(middleware);
|
|
101
|
-
} else if (
|
|
102
|
+
} else if ((0, import_neko_helper.isClass)(middleware)) {
|
|
102
103
|
this.middlewares.push(middleware.getInstance({}));
|
|
103
104
|
} else if (typeof middleware === "function") {
|
|
104
105
|
this.middlewares.push(MiddlewareFactory.create(middleware));
|
|
@@ -107,9 +108,6 @@ var CompiledRoute = class {
|
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
110
|
}
|
|
110
|
-
isClass(func) {
|
|
111
|
-
return typeof func === "function" && /^class\s/.test(Function.prototype.toString.call(func));
|
|
112
|
-
}
|
|
113
111
|
async run() {
|
|
114
112
|
return await this.runMiddlewares(this.middlewares, this.request, this.response);
|
|
115
113
|
}
|
|
@@ -245,7 +243,7 @@ var Route = class {
|
|
|
245
243
|
i = start;
|
|
246
244
|
} else if (char === "*") {
|
|
247
245
|
let start = i + 1;
|
|
248
|
-
while (start < path2.length && /[a-zA-Z0-9_
|
|
246
|
+
while (start < path2.length && /[a-zA-Z0-9_]/.test(path2[start])) {
|
|
249
247
|
start++;
|
|
250
248
|
}
|
|
251
249
|
tokens.push({ type: "WILDCARD", value: path2.slice(i + 1, start) });
|
|
@@ -456,7 +454,7 @@ var Router = class {
|
|
|
456
454
|
|
|
457
455
|
// src/facades.mts
|
|
458
456
|
var import_neko_scheduler = require("@devbro/neko-scheduler");
|
|
459
|
-
var
|
|
457
|
+
var import_neko_helper2 = require("@devbro/neko-helper");
|
|
460
458
|
var import_neko_context2 = require("@devbro/neko-context");
|
|
461
459
|
var import_neko_storage2 = require("@devbro/neko-storage");
|
|
462
460
|
var import_neko_mailer2 = require("@devbro/neko-mailer");
|
|
@@ -523,6 +521,24 @@ import_neko_queue.QueueTransportFactory.register("database", (opt) => {
|
|
|
523
521
|
import_neko_queue.QueueTransportFactory.register("memory", (opt) => {
|
|
524
522
|
return new import_neko_queue.MemoryTransport(opt);
|
|
525
523
|
});
|
|
524
|
+
import_neko_queue.QueueTransportFactory.register("sqs", (opt) => {
|
|
525
|
+
return new import_neko_queue.AwsSqsTransport(opt);
|
|
526
|
+
});
|
|
527
|
+
import_neko_queue.QueueTransportFactory.register("amqp", (opt) => {
|
|
528
|
+
return new import_neko_queue.AmqpTransport(opt);
|
|
529
|
+
});
|
|
530
|
+
import_neko_queue.QueueTransportFactory.register("redis", (opt) => {
|
|
531
|
+
return new import_neko_queue.RedisTransport(opt);
|
|
532
|
+
});
|
|
533
|
+
import_neko_queue.QueueTransportFactory.register("async", (opt) => {
|
|
534
|
+
return new import_neko_queue.AsyncTransport();
|
|
535
|
+
});
|
|
536
|
+
import_neko_queue.QueueTransportFactory.register("azure_service_bus", (opt) => {
|
|
537
|
+
return new import_neko_queue.AzureServiceBusTransport(opt);
|
|
538
|
+
});
|
|
539
|
+
import_neko_queue.QueueTransportFactory.register("google_pubsub", (opt) => {
|
|
540
|
+
return new import_neko_queue.GooglePubSubTransport(opt);
|
|
541
|
+
});
|
|
526
542
|
var CacheProviderFactory = class _CacheProviderFactory {
|
|
527
543
|
static {
|
|
528
544
|
__name(this, "CacheProviderFactory");
|
|
@@ -553,12 +569,24 @@ import_neko_storage.StorageProviderFactory.register("local", (opt) => {
|
|
|
553
569
|
import_neko_storage.StorageProviderFactory.register("s3", (opt) => {
|
|
554
570
|
return new import_neko_storage.AWSS3StorageProvider(opt);
|
|
555
571
|
});
|
|
572
|
+
import_neko_storage.StorageProviderFactory.register("gcp", (opt) => {
|
|
573
|
+
return new import_neko_storage.GCPStorageProvider(opt);
|
|
574
|
+
});
|
|
575
|
+
import_neko_storage.StorageProviderFactory.register("azure", (opt) => {
|
|
576
|
+
return new import_neko_storage.AzureBlobStorageProvider(opt);
|
|
577
|
+
});
|
|
578
|
+
import_neko_storage.StorageProviderFactory.register("ftp", (opt) => {
|
|
579
|
+
return new import_neko_storage.FTPStorageProvider(opt);
|
|
580
|
+
});
|
|
581
|
+
import_neko_storage.StorageProviderFactory.register("sftp", (opt) => {
|
|
582
|
+
return new import_neko_storage.SFTPStorageProvider(opt);
|
|
583
|
+
});
|
|
556
584
|
|
|
557
585
|
// src/facades.mts
|
|
558
586
|
var import_neko_cache2 = require("@devbro/neko-cache");
|
|
559
587
|
var import_neko_queue2 = require("@devbro/neko-queue");
|
|
560
|
-
var router = (0,
|
|
561
|
-
var scheduler = (0,
|
|
588
|
+
var router = (0, import_neko_helper2.createSingleton)(() => new Router());
|
|
589
|
+
var scheduler = (0, import_neko_helper2.createSingleton)(() => {
|
|
562
590
|
const rc = new import_neko_scheduler.Scheduler();
|
|
563
591
|
rc.setErrorHandler((err, job) => {
|
|
564
592
|
logger().error({
|
|
@@ -570,7 +598,7 @@ var scheduler = (0, import_neko_helper.createSingleton)(() => {
|
|
|
570
598
|
return rc;
|
|
571
599
|
});
|
|
572
600
|
var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context2.ctx)().getOrThrow(["database", label]), "db");
|
|
573
|
-
var storage = (0,
|
|
601
|
+
var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
|
|
574
602
|
let storage_config = import_neko_config.config.get(["storages", label].join("."));
|
|
575
603
|
const provider = import_neko_storage2.StorageProviderFactory.create(
|
|
576
604
|
storage_config.provider,
|
|
@@ -578,7 +606,7 @@ var storage = (0, import_neko_helper.createSingleton)((label = "default") => {
|
|
|
578
606
|
);
|
|
579
607
|
return new import_neko_storage2.Storage(provider);
|
|
580
608
|
});
|
|
581
|
-
var cli = (0,
|
|
609
|
+
var cli = (0, import_neko_helper2.createSingleton)(() => {
|
|
582
610
|
const [node, app, ...args] = process.argv;
|
|
583
611
|
return new import_clipanion.Cli({
|
|
584
612
|
binaryLabel: `My Application`,
|
|
@@ -586,13 +614,13 @@ var cli = (0, import_neko_helper.createSingleton)(() => {
|
|
|
586
614
|
binaryVersion: `1.0.0`
|
|
587
615
|
});
|
|
588
616
|
});
|
|
589
|
-
var httpServer = (0,
|
|
617
|
+
var httpServer = (0, import_neko_helper2.createSingleton)(() => {
|
|
590
618
|
const server = new http_exports.HttpServer();
|
|
591
619
|
server.setErrorHandler(handleHttpErrors);
|
|
592
620
|
server.setRouter(router());
|
|
593
621
|
return server;
|
|
594
622
|
});
|
|
595
|
-
var logger = (0,
|
|
623
|
+
var logger = (0, import_neko_helper2.createSingleton)((label) => {
|
|
596
624
|
const logger_config = import_neko_config.config.get(["loggers", label].join("."));
|
|
597
625
|
const rc = new import_neko_logger.Logger(logger_config);
|
|
598
626
|
rc.setExtrasFunction((message) => {
|
|
@@ -601,7 +629,7 @@ var logger = (0, import_neko_helper.createSingleton)((label) => {
|
|
|
601
629
|
});
|
|
602
630
|
return rc;
|
|
603
631
|
});
|
|
604
|
-
var mailer = (0,
|
|
632
|
+
var mailer = (0, import_neko_helper2.createSingleton)((label) => {
|
|
605
633
|
const mailer_config = import_neko_config.config.get(["mailer", label].join("."));
|
|
606
634
|
const provider = import_neko_mailer2.MailerProviderFactory.create(
|
|
607
635
|
mailer_config.provider,
|
|
@@ -610,7 +638,7 @@ var mailer = (0, import_neko_helper.createSingleton)((label) => {
|
|
|
610
638
|
const rc = new import_neko_mailer2.Mailer(provider);
|
|
611
639
|
return rc;
|
|
612
640
|
});
|
|
613
|
-
var queue = (0,
|
|
641
|
+
var queue = (0, import_neko_helper2.createSingleton)((label) => {
|
|
614
642
|
const queue_config = import_neko_config.config.get(["queues", label].join("."));
|
|
615
643
|
if (!queue_config) {
|
|
616
644
|
throw new Error(`Queue configuration for '${label}' not found`);
|
|
@@ -621,7 +649,7 @@ var queue = (0, import_neko_helper.createSingleton)((label) => {
|
|
|
621
649
|
);
|
|
622
650
|
return new import_neko_queue2.QueueConnection(provider);
|
|
623
651
|
});
|
|
624
|
-
var cache = (0,
|
|
652
|
+
var cache = (0, import_neko_helper2.createSingleton)((label) => {
|
|
625
653
|
const cache_config = import_neko_config.config.get(["caches", label].join("."));
|
|
626
654
|
if (!cache_config) {
|
|
627
655
|
throw new Error(`Cache configuration for '${label}' not found`);
|
|
@@ -634,7 +662,7 @@ var cache = (0, import_neko_helper.createSingleton)((label) => {
|
|
|
634
662
|
});
|
|
635
663
|
|
|
636
664
|
// src/queue.mts
|
|
637
|
-
var
|
|
665
|
+
var import_neko_helper3 = require("@devbro/neko-helper");
|
|
638
666
|
var import_neko_context3 = require("@devbro/neko-context");
|
|
639
667
|
var DatabaseTransport = class {
|
|
640
668
|
static {
|
|
@@ -695,7 +723,7 @@ var DatabaseTransport = class {
|
|
|
695
723
|
}, "processMessage");
|
|
696
724
|
constructor(config2 = {}) {
|
|
697
725
|
this.config = { ...this.config, ...config2 };
|
|
698
|
-
this.repeater = (0,
|
|
726
|
+
this.repeater = (0, import_neko_helper3.createRepeater)(
|
|
699
727
|
this.processMessage,
|
|
700
728
|
this.config.listen_interval * 1e3
|
|
701
729
|
);
|
package/dist/bin/router.cjs
CHANGED
|
@@ -91,6 +91,7 @@ var MiddlewareFactory = class {
|
|
|
91
91
|
};
|
|
92
92
|
|
|
93
93
|
// ../neko-router/dist/CompiledRoute.mjs
|
|
94
|
+
var import_neko_helper = require("@devbro/neko-helper");
|
|
94
95
|
var CompiledRoute = class {
|
|
95
96
|
static {
|
|
96
97
|
__name(this, "CompiledRoute");
|
|
@@ -111,7 +112,7 @@ var CompiledRoute = class {
|
|
|
111
112
|
for (const middleware of [...this.globalMiddlewares, ...this.route.getMiddlewares()]) {
|
|
112
113
|
if (middleware instanceof Middleware) {
|
|
113
114
|
this.middlewares.push(middleware);
|
|
114
|
-
} else if (
|
|
115
|
+
} else if ((0, import_neko_helper.isClass)(middleware)) {
|
|
115
116
|
this.middlewares.push(middleware.getInstance({}));
|
|
116
117
|
} else if (typeof middleware === "function") {
|
|
117
118
|
this.middlewares.push(MiddlewareFactory.create(middleware));
|
|
@@ -120,9 +121,6 @@ var CompiledRoute = class {
|
|
|
120
121
|
}
|
|
121
122
|
}
|
|
122
123
|
}
|
|
123
|
-
isClass(func) {
|
|
124
|
-
return typeof func === "function" && /^class\s/.test(Function.prototype.toString.call(func));
|
|
125
|
-
}
|
|
126
124
|
async run() {
|
|
127
125
|
return await this.runMiddlewares(this.middlewares, this.request, this.response);
|
|
128
126
|
}
|
|
@@ -361,7 +359,7 @@ var Route = class {
|
|
|
361
359
|
i = start;
|
|
362
360
|
} else if (char === "*") {
|
|
363
361
|
let start = i + 1;
|
|
364
|
-
while (start < path2.length && /[a-zA-Z0-9_
|
|
362
|
+
while (start < path2.length && /[a-zA-Z0-9_]/.test(path2[start])) {
|
|
365
363
|
start++;
|
|
366
364
|
}
|
|
367
365
|
tokens.push({ type: "WILDCARD", value: path2.slice(i + 1, start) });
|
package/dist/factories.mjs
CHANGED
|
@@ -6,7 +6,16 @@ import {
|
|
|
6
6
|
MemoryProvider,
|
|
7
7
|
MailerProviderFactory
|
|
8
8
|
} from "@devbro/neko-mailer";
|
|
9
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
MemoryTransport,
|
|
11
|
+
QueueTransportFactory,
|
|
12
|
+
AwsSqsTransport,
|
|
13
|
+
AmqpTransport,
|
|
14
|
+
RedisTransport,
|
|
15
|
+
AsyncTransport,
|
|
16
|
+
AzureServiceBusTransport,
|
|
17
|
+
GooglePubSubTransport
|
|
18
|
+
} from "@devbro/neko-queue";
|
|
10
19
|
import { DatabaseTransport } from "./queue.mjs";
|
|
11
20
|
import {
|
|
12
21
|
MemoryCacheProvider,
|
|
@@ -17,7 +26,11 @@ import {
|
|
|
17
26
|
import {
|
|
18
27
|
AWSS3StorageProvider,
|
|
19
28
|
LocalStorageProvider,
|
|
20
|
-
StorageProviderFactory
|
|
29
|
+
StorageProviderFactory,
|
|
30
|
+
GCPStorageProvider,
|
|
31
|
+
AzureBlobStorageProvider,
|
|
32
|
+
FTPStorageProvider,
|
|
33
|
+
SFTPStorageProvider
|
|
21
34
|
} from "@devbro/neko-storage";
|
|
22
35
|
class FlexibleFactory {
|
|
23
36
|
static {
|
|
@@ -50,6 +63,24 @@ QueueTransportFactory.register("database", (opt) => {
|
|
|
50
63
|
QueueTransportFactory.register("memory", (opt) => {
|
|
51
64
|
return new MemoryTransport(opt);
|
|
52
65
|
});
|
|
66
|
+
QueueTransportFactory.register("sqs", (opt) => {
|
|
67
|
+
return new AwsSqsTransport(opt);
|
|
68
|
+
});
|
|
69
|
+
QueueTransportFactory.register("amqp", (opt) => {
|
|
70
|
+
return new AmqpTransport(opt);
|
|
71
|
+
});
|
|
72
|
+
QueueTransportFactory.register("redis", (opt) => {
|
|
73
|
+
return new RedisTransport(opt);
|
|
74
|
+
});
|
|
75
|
+
QueueTransportFactory.register("async", (opt) => {
|
|
76
|
+
return new AsyncTransport();
|
|
77
|
+
});
|
|
78
|
+
QueueTransportFactory.register("azure_service_bus", (opt) => {
|
|
79
|
+
return new AzureServiceBusTransport(opt);
|
|
80
|
+
});
|
|
81
|
+
QueueTransportFactory.register("google_pubsub", (opt) => {
|
|
82
|
+
return new GooglePubSubTransport(opt);
|
|
83
|
+
});
|
|
53
84
|
class CacheProviderFactory {
|
|
54
85
|
static {
|
|
55
86
|
__name(this, "CacheProviderFactory");
|
|
@@ -80,6 +111,18 @@ StorageProviderFactory.register("local", (opt) => {
|
|
|
80
111
|
StorageProviderFactory.register("s3", (opt) => {
|
|
81
112
|
return new AWSS3StorageProvider(opt);
|
|
82
113
|
});
|
|
114
|
+
StorageProviderFactory.register("gcp", (opt) => {
|
|
115
|
+
return new GCPStorageProvider(opt);
|
|
116
|
+
});
|
|
117
|
+
StorageProviderFactory.register("azure", (opt) => {
|
|
118
|
+
return new AzureBlobStorageProvider(opt);
|
|
119
|
+
});
|
|
120
|
+
StorageProviderFactory.register("ftp", (opt) => {
|
|
121
|
+
return new FTPStorageProvider(opt);
|
|
122
|
+
});
|
|
123
|
+
StorageProviderFactory.register("sftp", (opt) => {
|
|
124
|
+
return new SFTPStorageProvider(opt);
|
|
125
|
+
});
|
|
83
126
|
export {
|
|
84
127
|
CacheProviderFactory,
|
|
85
128
|
FlexibleFactory
|
package/dist/factories.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/factories.mts"],"sourcesContent":["import {\n SESProvider,\n SMTPProvider,\n MemoryProvider,\n MailerProviderFactory,\n} from \"@devbro/neko-mailer\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../src/factories.mts"],"sourcesContent":["import {\n SESProvider,\n SMTPProvider,\n MemoryProvider,\n MailerProviderFactory,\n} from \"@devbro/neko-mailer\";\nimport {\n MemoryTransport,\n QueueTransportFactory,\n AwsSqsTransport,\n AmqpTransport,\n RedisTransport,\n AsyncTransport,\n AzureServiceBusTransport,\n GooglePubSubTransport,\n} from \"@devbro/neko-queue\";\nimport { DatabaseTransport } from \"./queue.mjs\";\nimport {\n CacheProviderInterface,\n MemoryCacheProvider,\n RedisCacheProvider,\n FileCacheProvider,\n DisabledCacheProvider,\n} from \"@devbro/neko-cache\";\nimport {\n AWSS3StorageProvider,\n LocalStorageProvider,\n StorageProviderFactory,\n GCPStorageProvider,\n AzureBlobStorageProvider,\n FTPStorageProvider,\n SFTPStorageProvider,\n} from \"@devbro/neko-storage\";\n\nexport class FlexibleFactory<T> {\n registry: Map<string, any> = new Map();\n\n register<T>(key: string, ctor: (...args: any[]) => T) {\n this.registry.set(key, ctor);\n }\n\n create<T>(key: string, ...args: any[]): T {\n const ctor = this.registry.get(key);\n if (!ctor) {\n throw new Error(`No factory registered for key: ${key}`);\n }\n return ctor(...args);\n }\n}\n\nMailerProviderFactory.register(\"ses\", (opt) => {\n return new SESProvider(opt);\n});\n\nMailerProviderFactory.register(\"smtp\", (opt) => {\n return new SMTPProvider(opt);\n});\n\nMailerProviderFactory.register(\"memory\", (opt) => {\n return new MemoryProvider();\n});\n\n// Queue\n\nQueueTransportFactory.register(\"database\", (opt) => {\n return new DatabaseTransport(opt);\n});\n\nQueueTransportFactory.register(\"memory\", (opt) => {\n return new MemoryTransport(opt);\n});\n\nQueueTransportFactory.register(\"sqs\", (opt) => {\n return new AwsSqsTransport(opt);\n});\n\nQueueTransportFactory.register(\"amqp\", (opt) => {\n return new AmqpTransport(opt);\n});\n\nQueueTransportFactory.register(\"redis\", (opt) => {\n return new RedisTransport(opt);\n});\n\nQueueTransportFactory.register(\"async\", (opt) => {\n return new AsyncTransport();\n});\n\nQueueTransportFactory.register(\"azure_service_bus\", (opt) => {\n return new AzureServiceBusTransport(opt);\n});\n\nQueueTransportFactory.register(\"google_pubsub\", (opt) => {\n return new GooglePubSubTransport(opt);\n});\n\n// CACHE\nexport class CacheProviderFactory {\n static instance: FlexibleFactory<CacheProviderInterface> =\n new FlexibleFactory<CacheProviderInterface>();\n\n static register(\n key: string,\n factory: (...args: any[]) => CacheProviderInterface,\n ): void {\n CacheProviderFactory.instance.register(key, factory);\n }\n\n static create<T>(key: string, ...args: any[]): CacheProviderInterface {\n return CacheProviderFactory.instance.create(key, ...args);\n }\n}\n\nCacheProviderFactory.register(\"memory\", (opt) => {\n return new MemoryCacheProvider(opt);\n});\n\nCacheProviderFactory.register(\"redis\", (opt) => {\n return new RedisCacheProvider(opt);\n});\n\nCacheProviderFactory.register(\"file\", (opt) => {\n return new FileCacheProvider(opt);\n});\n\nCacheProviderFactory.register(\"disabled\", (opt) => {\n return new DisabledCacheProvider();\n});\n\nStorageProviderFactory.register(\"local\", (opt) => {\n return new LocalStorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"s3\", (opt) => {\n return new AWSS3StorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"gcp\", (opt) => {\n return new GCPStorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"azure\", (opt) => {\n return new AzureBlobStorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"ftp\", (opt) => {\n return new FTPStorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"sftp\", (opt) => {\n return new SFTPStorageProvider(opt);\n});\n"],"mappings":"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","names":[]}
|
package/dist/http.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
3
|
import { HttpError } from "@devbro/neko-http";
|
|
4
|
-
import { logger } from "./facades.
|
|
4
|
+
import { logger } from "./facades.mjs";
|
|
5
5
|
export * from "@devbro/neko-http";
|
|
6
6
|
async function handleHttpErrors(err, req, res) {
|
|
7
7
|
if (err instanceof HttpError) {
|
package/dist/http.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/http.mts"],"sourcesContent":["import { HttpError } from \"@devbro/neko-http\";\nimport { logger } from \"./facades.
|
|
1
|
+
{"version":3,"sources":["../src/http.mts"],"sourcesContent":["import { HttpError } from \"@devbro/neko-http\";\nimport { logger } from \"./facades.mjs\";\n\nexport * from \"@devbro/neko-http\";\n\nexport async function handleHttpErrors(\n err: Error,\n req: any,\n res: any,\n): Promise<void> {\n if (err instanceof HttpError) {\n res.writeHead(err.statusCode, { \"Content-Type\": \"application/json\" });\n res.write(JSON.stringify({ message: err.message, error: err.code }));\n logger().warn({ msg: \"HttpError: \" + err.message, err });\n return;\n } else {\n logger().error({ msg: \"Error: \" + err.message, err });\n }\n res.writeHead(500, { \"Content-Type\": \"application/json\" });\n res.write(JSON.stringify({ error: \"Internal Server Error\" }));\n}\n"],"mappings":";;AAAA,SAAS,iBAAiB;AAC1B,SAAS,cAAc;AAEvB,cAAc;AAEd,eAAsB,iBACpB,KACA,KACA,KACe;AACf,MAAI,eAAe,WAAW;AAC5B,QAAI,UAAU,IAAI,YAAY,EAAE,gBAAgB,mBAAmB,CAAC;AACpE,QAAI,MAAM,KAAK,UAAU,EAAE,SAAS,IAAI,SAAS,OAAO,IAAI,KAAK,CAAC,CAAC;AACnE,WAAO,EAAE,KAAK,EAAE,KAAK,gBAAgB,IAAI,SAAS,IAAI,CAAC;AACvD;AAAA,EACF,OAAO;AACL,WAAO,EAAE,MAAM,EAAE,KAAK,YAAY,IAAI,SAAS,IAAI,CAAC;AAAA,EACtD;AACA,MAAI,UAAU,KAAK,EAAE,gBAAgB,mBAAmB,CAAC;AACzD,MAAI,MAAM,KAAK,UAAU,EAAE,OAAO,wBAAwB,CAAC,CAAC;AAC9D;AAfsB;","names":[]}
|
package/dist/queue.d.mts
CHANGED
package/dist/queue.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/queue.mts"],"sourcesContent":["export * from \"@devbro/neko-queue\";\nimport { QueueTransportInterface } from \"@devbro/neko-queue\";\nimport { Query } from \"@devbro/neko-sql\";\nimport { db, logger } from \"./facades.mjs\";\nimport { createRepeater } from \"@devbro/neko-helper\";\nimport { context_provider } from \"@devbro/neko-context\";\n\
|
|
1
|
+
{"version":3,"sources":["../src/queue.mts"],"sourcesContent":["export * from \"@devbro/neko-queue\";\nimport { QueueTransportInterface } from \"@devbro/neko-queue\";\nimport { Query } from \"@devbro/neko-sql\";\nimport { db, logger } from \"./facades.mjs\";\nimport { createRepeater } from \"@devbro/neko-helper\";\nimport { context_provider } from \"@devbro/neko-context\";\n\nexport type DatabaseTransportConfig = {\n queue_table: string;\n db_connection: string;\n listen_interval: number;\n message_limit: number;\n max_retry_count: number;\n};\n\nexport class DatabaseTransport implements QueueTransportInterface {\n private config: DatabaseTransportConfig = {\n queue_table: \"queue_messages\",\n db_connection: \"default\",\n listen_interval: 60, // seconds\n message_limit: 10, // messages per each fetch\n max_retry_count: 5, // maximum retry count for failed messages\n };\n channels = new Map<string, (message: string) => Promise<void>>();\n messageQueues: { channel: string; message: string }[] = [];\n repeater: ReturnType<typeof createRepeater>;\n\n processMessage = async () => {\n await context_provider.run(async () => {\n const conn = db(this.config.db_connection);\n try {\n let q: Query = conn.getQuery();\n let messages = await conn\n .getQuery()\n .table(this.config.queue_table)\n .whereOp(\"channel\", \"in\", Array.from(this.channels.keys()))\n .whereOp(\"status\", \"in\", [\"pending\", \"failed\"])\n .whereOp(\"retried_count\", \"<\", this.config.max_retry_count)\n .limit(this.config.message_limit)\n .orderBy(\"last_tried_at\", \"asc\")\n .get();\n for (let msg of messages) {\n try {\n await conn\n .getQuery()\n .table(this.config.queue_table)\n .whereOp(\"id\", \"=\", msg.id)\n .update({\n status: \"processing\",\n updated_at: new Date(),\n last_tried_at: new Date(),\n retried_count: (msg.retried_count || 0) + 1,\n });\n let callback = this.channels.get(msg.channel)!;\n await callback(msg.message);\n // mark message as processed\n await conn\n .getQuery()\n .table(this.config.queue_table)\n .whereOp(\"id\", \"=\", msg.id)\n .update({\n status: \"processed\",\n updated_at: new Date(),\n });\n } catch (error) {\n logger().error(\"Error processing message:\", {\n error,\n message_id: msg.id,\n channel: msg.channel,\n });\n\n await q\n .table(this.config.queue_table)\n .whereOp(\"id\", \"=\", msg.id)\n .update({\n status: \"failed\",\n updated_at: new Date(),\n process_message:\n (error as Error).message || \"Error processing message\",\n });\n }\n }\n } catch (error) {\n logger().error(\"Error in DatabaseTransport listen interval:\", {\n error,\n });\n }\n });\n };\n\n constructor(config: Partial<DatabaseTransportConfig> = {}) {\n this.config = { ...this.config, ...config };\n this.repeater = createRepeater(\n this.processMessage,\n this.config.listen_interval * 1000,\n );\n }\n\n async dispatch(channel: string, message: string): Promise<void> {\n const conn = db(this.config.db_connection);\n let schema = conn.getSchema();\n if ((await schema.tableExists(this.config.queue_table)) === false) {\n return;\n }\n let q: Query = conn.getQuery();\n await q.table(this.config.queue_table).insert({\n channel: channel,\n message: message,\n created_at: new Date(),\n updated_at: new Date(),\n last_tried_at: null,\n process_message: \"\",\n retried_count: 0,\n status: \"pending\",\n });\n }\n\n async registerListener(\n channel: string,\n callback: (message: string) => Promise<void>,\n ): Promise<void> {\n this.channels.set(channel, callback);\n }\n\n async startListening(): Promise<void> {\n this.repeater.start();\n }\n\n async stopListening(): Promise<void> {\n this.repeater.stop();\n }\n}\n"],"mappings":"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","names":[]}
|