mailery 0.8.1 → 0.9.0
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.cjs +20 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -3
- package/dist/index.d.ts +7 -3
- package/dist/index.js +20 -7
- package/dist/index.js.map +1 -1
- package/dist/{null-CwXmiVLe.d.cts → null-BRSHAxvg.d.cts} +8 -0
- package/dist/{null-CwXmiVLe.d.ts → null-BRSHAxvg.d.ts} +8 -0
- package/dist/testing.cjs +19 -6
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.cts +2 -2
- package/dist/testing.d.ts +2 -2
- package/dist/testing.js +19 -6
- package/dist/testing.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -897,7 +897,7 @@ var BullDriver = class _BullDriver {
|
|
|
897
897
|
bullQueues;
|
|
898
898
|
workers = null;
|
|
899
899
|
bull;
|
|
900
|
-
static async create(redisConfig) {
|
|
900
|
+
static async create(redisConfig, prefix) {
|
|
901
901
|
let bull;
|
|
902
902
|
try {
|
|
903
903
|
bull = await import('bullmq');
|
|
@@ -906,14 +906,22 @@ var BullDriver = class _BullDriver {
|
|
|
906
906
|
"mailery: queue driver 'bull' requires the 'bullmq' peer dependency. Run `npm install bullmq ioredis`."
|
|
907
907
|
);
|
|
908
908
|
}
|
|
909
|
+
if (prefix?.includes(":")) {
|
|
910
|
+
throw new Error(
|
|
911
|
+
`mailery: queue prefix "${prefix}" must not contain ':' \u2014 BullMQ uses it as the Redis key separator.`
|
|
912
|
+
);
|
|
913
|
+
}
|
|
909
914
|
const redis = isRedisLike(redisConfig) ? redisConfig : connect(redisConfig);
|
|
910
|
-
return new _BullDriver(bull, redis);
|
|
915
|
+
return new _BullDriver(bull, redis, prefix);
|
|
911
916
|
}
|
|
912
|
-
|
|
917
|
+
prefix;
|
|
918
|
+
constructor(bull, redis, prefix) {
|
|
913
919
|
this.bull = bull;
|
|
914
920
|
this.redis = redis;
|
|
921
|
+
this.prefix = prefix;
|
|
915
922
|
const opts = {
|
|
916
923
|
connection: redis,
|
|
924
|
+
prefix,
|
|
917
925
|
defaultJobOptions: {
|
|
918
926
|
removeOnComplete: { age: 24 * 3600, count: 1e3 },
|
|
919
927
|
removeOnFail: { age: 7 * 24 * 3600 }
|
|
@@ -945,7 +953,7 @@ var BullDriver = class _BullDriver {
|
|
|
945
953
|
}
|
|
946
954
|
async startWorkers(opts) {
|
|
947
955
|
if (this.workers) return;
|
|
948
|
-
const base = { connection: this.redis };
|
|
956
|
+
const base = { connection: this.redis, prefix: this.prefix };
|
|
949
957
|
const { Worker } = this.bull;
|
|
950
958
|
const tick = new Worker(
|
|
951
959
|
QUEUE_NAMES.tick,
|
|
@@ -1197,7 +1205,7 @@ var NoopDriver = class {
|
|
|
1197
1205
|
async function createQueueDriver(config, fallbackDb) {
|
|
1198
1206
|
switch (config.driver) {
|
|
1199
1207
|
case "bull":
|
|
1200
|
-
return BullDriver.create(config.redis);
|
|
1208
|
+
return BullDriver.create(config.redis, config.prefix);
|
|
1201
1209
|
case "agenda":
|
|
1202
1210
|
return AgendaDriver.create({
|
|
1203
1211
|
db: config.db ?? fallbackDb,
|
|
@@ -3941,6 +3949,7 @@ var Mailer = class _Mailer {
|
|
|
3941
3949
|
* MAILER_MONGODB_URI — Mongo connection string (required)
|
|
3942
3950
|
* MAILER_MONGODB_DB — database name (optional; defaults to the URI default)
|
|
3943
3951
|
* MAILER_REDIS_URL — Redis connection URL (required)
|
|
3952
|
+
* MAILER_QUEUE_PREFIX — Redis key prefix to namespace this instance (optional)
|
|
3944
3953
|
* MAILER_PUBLIC_URL — base for tracking/unsub URLs (required)
|
|
3945
3954
|
* MAILER_UNSUBSCRIBE_SECRET — HMAC key (required)
|
|
3946
3955
|
* MAILER_SENDER_ADDRESS — postal address for CAN-SPAM (optional)
|
|
@@ -3989,7 +3998,11 @@ var Mailer = class _Mailer {
|
|
|
3989
3998
|
}
|
|
3990
3999
|
const defaultProvider = env.MAILER_DEFAULT_PROVIDER ?? Object.keys(providers)[0];
|
|
3991
4000
|
const driverEnv = env.MAILER_QUEUE_DRIVER ?? "bull";
|
|
3992
|
-
const queue = driverEnv === "agenda" ? { driver: "agenda" } : driverEnv === "noop" ? { driver: "noop" } : {
|
|
4001
|
+
const queue = driverEnv === "agenda" ? { driver: "agenda" } : driverEnv === "noop" ? { driver: "noop" } : {
|
|
4002
|
+
driver: "bull",
|
|
4003
|
+
redis: { url: required("MAILER_REDIS_URL") },
|
|
4004
|
+
prefix: env.MAILER_QUEUE_PREFIX
|
|
4005
|
+
};
|
|
3993
4006
|
return _Mailer.init({
|
|
3994
4007
|
db,
|
|
3995
4008
|
adapter,
|
|
@@ -7538,7 +7551,7 @@ var DEDUPE_POLICIES = [
|
|
|
7538
7551
|
];
|
|
7539
7552
|
|
|
7540
7553
|
// src/server/index.ts
|
|
7541
|
-
var VERSION = "0.
|
|
7554
|
+
var VERSION = "0.9.0" ;
|
|
7542
7555
|
|
|
7543
7556
|
exports.DEDUPE_POLICIES = DEDUPE_POLICIES;
|
|
7544
7557
|
exports.FLOW_STEP_KINDS = FLOW_STEP_KINDS;
|