@c9up/rover 0.1.12 → 0.1.13
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/README.md +4 -1
- package/dist/Mail.d.ts +14 -6
- package/dist/Mail.d.ts.map +1 -1
- package/dist/Mail.js +30 -13
- package/dist/Mail.js.map +1 -1
- package/dist/RoverProvider.js +1 -1
- package/dist/RoverProvider.js.map +1 -1
- package/dist/config.d.ts +8 -7
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +8 -7
- package/dist/config.js.map +1 -1
- package/dist/configure.d.ts +18 -0
- package/dist/configure.d.ts.map +1 -0
- package/dist/configure.js +39 -0
- package/dist/configure.js.map +1 -0
- package/dist/webhooks/resend.d.ts.map +1 -1
- package/dist/webhooks/resend.js +21 -1
- package/dist/webhooks/resend.js.map +1 -1
- package/index.win32-x64-msvc.node +0 -0
- package/package.json +5 -1
- package/src/Mail.ts +54 -18
- package/src/RoverProvider.ts +1 -1
- package/src/config.ts +8 -7
- package/src/configure.ts +53 -0
- package/src/webhooks/resend.ts +26 -1
package/README.md
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Mail transport for Ream — SMTP, log, and pluggable transports (Mailgun, SendGrid, SES, Resend), plus class-based mailers (`BaseMail`), async templating (`htmlView`), in-process retry with exponential backoff, and an optional queue path via `@c9up/bay`.
|
|
4
4
|
|
|
5
|
+
`ream add @c9up/rover` installs it, registers the provider and writes
|
|
6
|
+
`config/mail.ts`. The rest of this page assumes that has run.
|
|
7
|
+
|
|
5
8
|
## Quick start
|
|
6
9
|
|
|
7
10
|
```ts
|
|
@@ -11,7 +14,7 @@ import '@c9up/rover/transports/mailgun' // opt-in side-effect registration
|
|
|
11
14
|
const mail = new Mail({
|
|
12
15
|
default: 'mailgun',
|
|
13
16
|
from: 'noreply@acme.com',
|
|
14
|
-
|
|
17
|
+
mailers: {
|
|
15
18
|
mailgun: { transport: 'mailgun', apiKey: process.env.MAILGUN_KEY!, domain: 'mg.acme.com' },
|
|
16
19
|
},
|
|
17
20
|
})
|
package/dist/Mail.d.ts
CHANGED
|
@@ -99,19 +99,27 @@ export interface MailFailedEvent extends MailEventBase {
|
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
101
|
export interface MailConfig {
|
|
102
|
+
/**
|
|
103
|
+
* Mailer used when `send()` is called without naming one. It has to be a
|
|
104
|
+
* key of {@link MailConfig.mailers}, or the constructor throws.
|
|
105
|
+
*/
|
|
102
106
|
default: string;
|
|
103
107
|
from: string;
|
|
104
|
-
|
|
108
|
+
/**
|
|
109
|
+
* The declared mailers, name → the transport it sends through plus that
|
|
110
|
+
* transport's own settings. Build the entries with the `transports.*`
|
|
111
|
+
* helpers.
|
|
112
|
+
*/
|
|
113
|
+
mailers?: Record<string, {
|
|
105
114
|
transport: string;
|
|
106
115
|
retry?: RetryConfig;
|
|
107
116
|
[key: string]: unknown;
|
|
108
117
|
}>;
|
|
109
118
|
/**
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
* nothing else.
|
|
119
|
+
* Rover's older spelling of `mailers`. Still accepted and identical in
|
|
120
|
+
* effect; new configs declare `mailers`.
|
|
113
121
|
*/
|
|
114
|
-
|
|
122
|
+
transports?: Record<string, {
|
|
115
123
|
transport: string;
|
|
116
124
|
retry?: RetryConfig;
|
|
117
125
|
[key: string]: unknown;
|
|
@@ -123,7 +131,7 @@ export interface MailConfig {
|
|
|
123
131
|
name?: string;
|
|
124
132
|
maxAttempts?: number;
|
|
125
133
|
};
|
|
126
|
-
/** Process-wide retry defaults. Overridden per-
|
|
134
|
+
/** Process-wide retry defaults. Overridden per-mailer via `mailers[name].retry`. */
|
|
127
135
|
retry?: RetryConfig;
|
|
128
136
|
}
|
|
129
137
|
/**
|
package/dist/Mail.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mail.d.ts","sourceRoot":"","sources":["../src/Mail.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,cAAc,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,KAAK,YAAY,EAGjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAGN,KAAK,WAAW,EAEhB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMjD,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,cAAc;IAC9B,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC7B,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACrD;;;OAGG;IACH,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CACzC;AAED;;;;;;;;;GASG;AACH,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,MAAM,WAAW,aAAa;IAC7B,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB,2EAA2E;IAC3E,KAAK,EAAE,oBAAoB,CAAC;IAC5B,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,kEAAkE;IAClE,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,aAAa;CAAG;AAE1D,MAAM,WAAW,aAAc,SAAQ,aAAa;IACnD,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,aAAa;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC;KACjB,CAAC;CACF;AAED,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,
|
|
1
|
+
{"version":3,"file":"Mail.d.ts","sourceRoot":"","sources":["../src/Mail.ts"],"names":[],"mappings":"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"}
|
package/dist/Mail.js
CHANGED
|
@@ -211,8 +211,8 @@ export class Mail {
|
|
|
211
211
|
if (config.viewsRoot !== undefined) {
|
|
212
212
|
setViewsRoot(config.viewsRoot);
|
|
213
213
|
}
|
|
214
|
-
// `mailers`
|
|
215
|
-
//
|
|
214
|
+
// `mailers` and `transports` name the same map; a config that sets both
|
|
215
|
+
// gets both, and `mailers` wins on a key the two share.
|
|
216
216
|
const declared = { ...config.transports, ...config.mailers };
|
|
217
217
|
for (const [name, transportConfig] of Object.entries(declared)) {
|
|
218
218
|
const factory = transportFactories[transportConfig.transport];
|
|
@@ -226,6 +226,15 @@ export class Mail {
|
|
|
226
226
|
this.#transportRetry.set(name, transportConfig.retry);
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
+
// A `default` naming nothing is a configuration typo, and the cost of
|
|
230
|
+
// letting it through is that the app boots, looks healthy, and throws on
|
|
231
|
+
// the first email it tries to send — often a password reset, in
|
|
232
|
+
// production. Refuse at construction and name what was declared.
|
|
233
|
+
if (!this.#transports.has(this.#defaultTransport)) {
|
|
234
|
+
throw new RoverError("MAIL_UNKNOWN_MAILER", `Mail default mailer '${this.#defaultTransport}' is not declared in config.mailers`, {
|
|
235
|
+
hint: `${knownMailers(this.#transports)} Add it, or point \`default\` at one of them.`,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
229
238
|
if (options?.queue) {
|
|
230
239
|
this.setMessenger(options.queue);
|
|
231
240
|
}
|
|
@@ -280,10 +289,9 @@ export class Mail {
|
|
|
280
289
|
this.#fireSent({ ...base, messageId: randomBytes(16).toString("hex") });
|
|
281
290
|
return;
|
|
282
291
|
}
|
|
283
|
-
// Validate
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
}
|
|
292
|
+
// Validate the mailer up-front, before running any callback / prepare()
|
|
293
|
+
// side effects.
|
|
294
|
+
this.#requireTransport(transportName);
|
|
287
295
|
const { message, views } = await this.#buildMessageWithViews(arg);
|
|
288
296
|
await this.dispatchMessage(message, transportName, undefined, views);
|
|
289
297
|
}
|
|
@@ -493,9 +501,7 @@ export class Mail {
|
|
|
493
501
|
* routes through that transport (Adonis parity). Mailers are cached per name.
|
|
494
502
|
*/
|
|
495
503
|
use(name) {
|
|
496
|
-
|
|
497
|
-
throw new Error(`Mail transport '${name}' not configured`);
|
|
498
|
-
}
|
|
504
|
+
this.#requireTransport(name);
|
|
499
505
|
let mailer = this.#mailers.get(name);
|
|
500
506
|
if (mailer === undefined) {
|
|
501
507
|
mailer = new Mailer(this, name);
|
|
@@ -505,10 +511,14 @@ export class Mail {
|
|
|
505
511
|
}
|
|
506
512
|
/** @internal Resolve the raw transport instance behind a mailer name. */
|
|
507
513
|
transportFor(name) {
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
514
|
+
return this.#requireTransport(name);
|
|
515
|
+
}
|
|
516
|
+
/** The transport behind `name`, or a RoverError listing the declared ones. */
|
|
517
|
+
#requireTransport(name) {
|
|
518
|
+
const transport = this.#transports.get(name);
|
|
519
|
+
if (transport)
|
|
520
|
+
return transport;
|
|
521
|
+
throw new RoverError("MAIL_UNKNOWN_MAILER", `Mail mailer '${name}' is not declared in config.mailers`, { hint: knownMailers(this.#transports) });
|
|
512
522
|
}
|
|
513
523
|
/**
|
|
514
524
|
* Close one transport's open connections (Adonis `close`).
|
|
@@ -630,4 +640,11 @@ function errorDescriptor(err, attempts) {
|
|
|
630
640
|
}
|
|
631
641
|
return { code: "UNKNOWN", message: String(err), attempts };
|
|
632
642
|
}
|
|
643
|
+
/** "Declared mailers: a, b." — the half of an unknown-mailer error that helps. */
|
|
644
|
+
function knownMailers(transports) {
|
|
645
|
+
const names = [...transports.keys()];
|
|
646
|
+
return names.length > 0
|
|
647
|
+
? `Declared mailers: ${names.join(", ")}.`
|
|
648
|
+
: "No mailers are declared — add at least one to config.mailers.";
|
|
649
|
+
}
|
|
633
650
|
//# sourceMappingURL=Mail.js.map
|
package/dist/Mail.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mail.js","sourceRoot":"","sources":["../src/Mail.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Mail.js","sourceRoot":"","sources":["../src/Mail.ts"],"names":[],"mappings":"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"}
|
package/dist/RoverProvider.js
CHANGED
|
@@ -11,7 +11,7 @@ export default class RoverProvider {
|
|
|
11
11
|
return new Mail(config ?? {
|
|
12
12
|
default: "log",
|
|
13
13
|
from: "noreply@localhost",
|
|
14
|
-
|
|
14
|
+
mailers: { log: { transport: "log" } },
|
|
15
15
|
}, {
|
|
16
16
|
// Optional-peer wiring: if `@c9up/bay` is installed and its
|
|
17
17
|
// `QueueManager` is registered in the container, Mail gets
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoverProvider.js","sourceRoot":"","sources":["../src/RoverProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAkB7C,MAAM,CAAC,OAAO,OAAO,aAAa;IACX;IAAtB,YAAsB,GAAoB;QAApB,QAAG,GAAH,GAAG,CAAiB;IAAG,CAAC;IAE9C,QAAQ;QACP,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAa,MAAM,CAAC,CAAC;YACvD,OAAO,IAAI,IAAI,CACd,MAAM,IAAI;gBACT,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,mBAAmB;gBACzB,
|
|
1
|
+
{"version":3,"file":"RoverProvider.js","sourceRoot":"","sources":["../src/RoverProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAkB7C,MAAM,CAAC,OAAO,OAAO,aAAa;IACX;IAAtB,YAAsB,GAAoB;QAApB,QAAG,GAAH,GAAG,CAAiB;IAAG,CAAC;IAE9C,QAAQ;QACP,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAa,MAAM,CAAC,CAAC;YACvD,OAAO,IAAI,IAAI,CACd,MAAM,IAAI;gBACT,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;aACtC,EACD;gBACC,4DAA4D;gBAC5D,2DAA2D;gBAC3D,yDAAyD;gBACzD,yDAAyD;gBACzD,KAAK,EAAE,MAAM,UAAU,CAAe,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC;gBAC/D,iEAAiE;gBACjE,2CAA2C;gBAC3C,OAAO,EAAE,MAAM,UAAU,CAAc,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC;aAC3D,CACD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE;YACzC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAO,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACT,8DAA8D;QAC9D,+CAA+C;QAC/C,gEAAgE;QAChE,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAO,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,QAAQ,KAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,KAAK,UAAU,UAAU,CACxB,GAAoB,EACpB,KAAa;IAEb,IAAI,CAAC;QACJ,OAAO,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,CAAI,KAAK,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -11,7 +11,9 @@ type Options = Record<string, unknown> & {
|
|
|
11
11
|
retry?: RetryConfig;
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* One helper per transport rover ships. Each returns the descriptor a
|
|
15
|
+
* `mailers` entry is made of — the transport name plus the settings that
|
|
16
|
+
* transport reads:
|
|
15
17
|
*
|
|
16
18
|
* defineConfig({
|
|
17
19
|
* default: 'smtp',
|
|
@@ -19,13 +21,12 @@ type Options = Record<string, unknown> & {
|
|
|
19
21
|
* mailers: { smtp: transports.smtp({ host: env.get('SMTP_HOST') }) },
|
|
20
22
|
* })
|
|
21
23
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* transport registers itself on import.
|
|
24
|
+
* The descriptor is plain data, so a config file can be serialised and
|
|
25
|
+
* inspected; the transport itself registers on import of the package entry.
|
|
25
26
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
27
|
+
* The list is exactly what rover can send through — naming a transport that
|
|
28
|
+
* has no helper fails to COMPILE, which says so plainly, instead of throwing
|
|
29
|
+
* at boot.
|
|
29
30
|
*/
|
|
30
31
|
export declare const transports: {
|
|
31
32
|
smtp: (config?: Options) => TransportDescriptor;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE3D;AAED,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AASjE
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE3D;AAED,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AASjE;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU;oBAxBN,OAAO,KAAQ,mBAAmB;mBAAlC,OAAO,KAAQ,mBAAmB;uBAAlC,OAAO,KAAQ,mBAAmB;yBAAlC,OAAO,KAAQ,mBAAmB;sBAAlC,OAAO,KAAQ,mBAAmB;qBAAlC,OAAO,KAAQ,mBAAmB;wBAAlC,OAAO,KAAQ,mBAAmB;IAgClD,8EAA8E;mBAhC9D,OAAO,KAAQ,mBAAmB;CAkClD,CAAC;AAEF,YAAY,EAAE,UAAU,EAAE,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -8,7 +8,9 @@ function describe(transport) {
|
|
|
8
8
|
});
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* One helper per transport rover ships. Each returns the descriptor a
|
|
12
|
+
* `mailers` entry is made of — the transport name plus the settings that
|
|
13
|
+
* transport reads:
|
|
12
14
|
*
|
|
13
15
|
* defineConfig({
|
|
14
16
|
* default: 'smtp',
|
|
@@ -16,13 +18,12 @@ function describe(transport) {
|
|
|
16
18
|
* mailers: { smtp: transports.smtp({ host: env.get('SMTP_HOST') }) },
|
|
17
19
|
* })
|
|
18
20
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* transport registers itself on import.
|
|
21
|
+
* The descriptor is plain data, so a config file can be serialised and
|
|
22
|
+
* inspected; the transport itself registers on import of the package entry.
|
|
22
23
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
24
|
+
* The list is exactly what rover can send through — naming a transport that
|
|
25
|
+
* has no helper fails to COMPILE, which says so plainly, instead of throwing
|
|
26
|
+
* at boot.
|
|
26
27
|
*/
|
|
27
28
|
export const transports = {
|
|
28
29
|
smtp: describe("smtp"),
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,YAAY,CAAC,MAAkB;IAC9C,OAAO,MAAM,CAAC;AACf,CAAC;AAWD,SAAS,QAAQ,CAAC,SAAiB;IAClC,OAAO,CAAC,SAAkB,EAAE,EAAuB,EAAE,CAAC,CAAC;QACtD,GAAG,MAAM;QACT,SAAS;KACT,CAAC,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,YAAY,CAAC,MAAkB;IAC9C,OAAO,MAAM,CAAC;AACf,CAAC;AAWD,SAAS,QAAQ,CAAC,SAAiB;IAClC,OAAO,CAAC,SAAkB,EAAE,EAAuB,EAAE,CAAC,CAAC;QACtD,GAAG,MAAM;QACT,SAAS;KACT,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;IACtB,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC;IACpB,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC;IAC5B,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC;IAChC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC1B,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;IAC9B,8EAA8E;IAC9E,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC;CACpB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ream configure @c9up/rover` — wire mail in one command.
|
|
3
|
+
*
|
|
4
|
+
* The provider alone is not enough: it reads `config/mail.ts`, and a package
|
|
5
|
+
* registered without one falls back to a default that is rarely the one an
|
|
6
|
+
* application wants. Writing both together is what makes `ream add` mean
|
|
7
|
+
* installed AND working.
|
|
8
|
+
*/
|
|
9
|
+
interface Codemods {
|
|
10
|
+
addProvider(importPath: string): Promise<void>;
|
|
11
|
+
addEnvVars(vars: Record<string, string>): Promise<void>;
|
|
12
|
+
writeFile(filePath: string, content: string, options?: {
|
|
13
|
+
force?: boolean;
|
|
14
|
+
}): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export declare function configure(codemods: Codemods): Promise<void>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=configure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,UAAU,QAAQ;IACjB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,SAAS,CACR,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;CACjB;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCjE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ream configure @c9up/rover` — wire mail in one command.
|
|
3
|
+
*
|
|
4
|
+
* The provider alone is not enough: it reads `config/mail.ts`, and a package
|
|
5
|
+
* registered without one falls back to a default that is rarely the one an
|
|
6
|
+
* application wants. Writing both together is what makes `ream add` mean
|
|
7
|
+
* installed AND working.
|
|
8
|
+
*/
|
|
9
|
+
export async function configure(codemods) {
|
|
10
|
+
// The config below reads these, so they are declared here. Writing the file
|
|
11
|
+
// without them leaves an application whose config asks the environment for
|
|
12
|
+
// something nothing ever put there.
|
|
13
|
+
await codemods.addEnvVars({
|
|
14
|
+
MAIL_MAILER: "log",
|
|
15
|
+
MAIL_FROM: "noreply@example.com",
|
|
16
|
+
SMTP_HOST: "",
|
|
17
|
+
SMTP_PORT: "587",
|
|
18
|
+
});
|
|
19
|
+
await codemods.addProvider("@c9up/rover/provider");
|
|
20
|
+
await codemods.writeFile("config/mail.ts", `import { defineConfig, transports } from '@c9up/rover'
|
|
21
|
+
import env from '#start/env'
|
|
22
|
+
|
|
23
|
+
export default defineConfig({
|
|
24
|
+
// Has to name one of the mailers below, or the application refuses to boot.
|
|
25
|
+
default: env.get('MAIL_MAILER', 'log'),
|
|
26
|
+
from: env.get('MAIL_FROM', 'noreply@example.com'),
|
|
27
|
+
|
|
28
|
+
mailers: {
|
|
29
|
+
// Writes to the logger instead of sending. The development mailer.
|
|
30
|
+
log: transports.log(),
|
|
31
|
+
|
|
32
|
+
smtp: transports.smtp({
|
|
33
|
+
host: env.get('SMTP_HOST', ''),
|
|
34
|
+
port: Number(env.get('SMTP_PORT', '587')),
|
|
35
|
+
}),
|
|
36
|
+
},
|
|
37
|
+
})`);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=configure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.js","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAkB;IACjD,4EAA4E;IAC5E,2EAA2E;IAC3E,oCAAoC;IACpC,MAAM,QAAQ,CAAC,UAAU,CAAC;QACzB,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,qBAAqB;QAChC,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,QAAQ,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACnD,MAAM,QAAQ,CAAC,SAAS,CACvB,gBAAgB,EAChB;;;;;;;;;;;;;;;;;GAiBC,CACD,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resend.d.ts","sourceRoot":"","sources":["../../src/webhooks/resend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,cAAc,EAEd,iBAAiB,EACjB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACpC;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"resend.d.ts","sourceRoot":"","sources":["../../src/webhooks/resend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,cAAc,EAEd,iBAAiB,EACjB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACpC;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAgED,wBAAgB,0BAA0B,CACzC,OAAO,EAAE,oBAAoB,GAC3B,iBAAiB,CAgDnB"}
|
package/dist/webhooks/resend.js
CHANGED
|
@@ -26,6 +26,26 @@ const EVENT_MAP = {
|
|
|
26
26
|
"email.delivered": "mail.delivered",
|
|
27
27
|
"email.bounced": "mail.bounced",
|
|
28
28
|
};
|
|
29
|
+
/**
|
|
30
|
+
* Turn the configured signing secret into key bytes, or refuse.
|
|
31
|
+
*
|
|
32
|
+
* `Buffer.from(value, "base64")` never fails: it skips whatever it cannot read
|
|
33
|
+
* and hands back whatever is left, so a mistyped secret quietly becomes a
|
|
34
|
+
* short, deterministic key. Nothing then reports a configuration problem —
|
|
35
|
+
* every delivery just fails verification and looks like an attack, which is
|
|
36
|
+
* the one signal this endpoint exists to give.
|
|
37
|
+
*/
|
|
38
|
+
function decodeSigningSecret(value) {
|
|
39
|
+
const bytes = Buffer.from(value, "base64");
|
|
40
|
+
const normalize = (v) => v.replace(/=+$/, "").replace(/\s/g, "");
|
|
41
|
+
if (normalize(bytes.toString("base64")) !== normalize(value)) {
|
|
42
|
+
throw new Error("createResendWebhookHandler: secret is not valid base64. Copy it from the Resend dashboard — it looks like `whsec_<base64>`.");
|
|
43
|
+
}
|
|
44
|
+
if (bytes.length < 16) {
|
|
45
|
+
throw new Error(`createResendWebhookHandler: secret decodes to ${bytes.length} bytes, which is too short to sign with. Expected at least 16.`);
|
|
46
|
+
}
|
|
47
|
+
return bytes;
|
|
48
|
+
}
|
|
29
49
|
export function createResendWebhookHandler(options) {
|
|
30
50
|
if (!options.secret) {
|
|
31
51
|
throw new Error("createResendWebhookHandler: secret is required for HMAC verification.");
|
|
@@ -33,7 +53,7 @@ export function createResendWebhookHandler(options) {
|
|
|
33
53
|
const secretRaw = options.secret.startsWith("whsec_")
|
|
34
54
|
? options.secret.slice(6)
|
|
35
55
|
: options.secret;
|
|
36
|
-
const keyBytes =
|
|
56
|
+
const keyBytes = decodeSigningSecret(secretRaw);
|
|
37
57
|
const emitter = options.emitter;
|
|
38
58
|
const maxAgeSeconds = options.maxAgeSeconds ?? 300;
|
|
39
59
|
return async (ctx, _next) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resend.js","sourceRoot":"","sources":["../../src/webhooks/resend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAqB1D;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,GAAuB;IAC9C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;AACnB,CAAC;AAYD;;;;;GAKG;AACH,MAAM,SAAS,GAA2B;IACzC,iBAAiB,EAAE,gBAAgB;IACnC,eAAe,EAAE,cAAc;CAC/B,CAAC;AAEF,MAAM,UAAU,0BAA0B,CACzC,OAA6B;IAE7B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACd,uEAAuE,CACvE,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QACpD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAClB,MAAM,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"resend.js","sourceRoot":"","sources":["../../src/webhooks/resend.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c9up/rover",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.13",
|
|
4
4
|
"description": "Mail transport for Ream — SMTP, log, and pluggable transports",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
"types": "./dist/RoverProvider.d.ts",
|
|
15
15
|
"import": "./dist/RoverProvider.js"
|
|
16
16
|
},
|
|
17
|
+
"./configure": {
|
|
18
|
+
"types": "./dist/configure.d.ts",
|
|
19
|
+
"import": "./dist/configure.js"
|
|
20
|
+
},
|
|
17
21
|
"./services/main": {
|
|
18
22
|
"types": "./dist/services/main.d.ts",
|
|
19
23
|
"import": "./dist/services/main.js"
|
package/src/Mail.ts
CHANGED
|
@@ -134,18 +134,26 @@ export interface MailFailedEvent extends MailEventBase {
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
export interface MailConfig {
|
|
137
|
+
/**
|
|
138
|
+
* Mailer used when `send()` is called without naming one. It has to be a
|
|
139
|
+
* key of {@link MailConfig.mailers}, or the constructor throws.
|
|
140
|
+
*/
|
|
137
141
|
default: string;
|
|
138
142
|
from: string;
|
|
139
|
-
|
|
143
|
+
/**
|
|
144
|
+
* The declared mailers, name → the transport it sends through plus that
|
|
145
|
+
* transport's own settings. Build the entries with the `transports.*`
|
|
146
|
+
* helpers.
|
|
147
|
+
*/
|
|
148
|
+
mailers?: Record<
|
|
140
149
|
string,
|
|
141
150
|
{ transport: string; retry?: RetryConfig; [key: string]: unknown }
|
|
142
151
|
>;
|
|
143
152
|
/**
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
* nothing else.
|
|
153
|
+
* Rover's older spelling of `mailers`. Still accepted and identical in
|
|
154
|
+
* effect; new configs declare `mailers`.
|
|
147
155
|
*/
|
|
148
|
-
|
|
156
|
+
transports?: Record<
|
|
149
157
|
string,
|
|
150
158
|
{ transport: string; retry?: RetryConfig; [key: string]: unknown }
|
|
151
159
|
>;
|
|
@@ -153,7 +161,7 @@ export interface MailConfig {
|
|
|
153
161
|
viewsRoot?: string;
|
|
154
162
|
/** Optional Bay queue tuning for `sendLater()`. */
|
|
155
163
|
queue?: { name?: string; maxAttempts?: number };
|
|
156
|
-
/** Process-wide retry defaults. Overridden per-
|
|
164
|
+
/** Process-wide retry defaults. Overridden per-mailer via `mailers[name].retry`. */
|
|
157
165
|
retry?: RetryConfig;
|
|
158
166
|
}
|
|
159
167
|
|
|
@@ -418,8 +426,8 @@ export class Mail {
|
|
|
418
426
|
setViewsRoot(config.viewsRoot);
|
|
419
427
|
}
|
|
420
428
|
|
|
421
|
-
// `mailers`
|
|
422
|
-
//
|
|
429
|
+
// `mailers` and `transports` name the same map; a config that sets both
|
|
430
|
+
// gets both, and `mailers` wins on a key the two share.
|
|
423
431
|
const declared = { ...config.transports, ...config.mailers };
|
|
424
432
|
for (const [name, transportConfig] of Object.entries(declared)) {
|
|
425
433
|
const factory = transportFactories[transportConfig.transport];
|
|
@@ -438,6 +446,20 @@ export class Mail {
|
|
|
438
446
|
}
|
|
439
447
|
}
|
|
440
448
|
|
|
449
|
+
// A `default` naming nothing is a configuration typo, and the cost of
|
|
450
|
+
// letting it through is that the app boots, looks healthy, and throws on
|
|
451
|
+
// the first email it tries to send — often a password reset, in
|
|
452
|
+
// production. Refuse at construction and name what was declared.
|
|
453
|
+
if (!this.#transports.has(this.#defaultTransport)) {
|
|
454
|
+
throw new RoverError(
|
|
455
|
+
"MAIL_UNKNOWN_MAILER",
|
|
456
|
+
`Mail default mailer '${this.#defaultTransport}' is not declared in config.mailers`,
|
|
457
|
+
{
|
|
458
|
+
hint: `${knownMailers(this.#transports)} Add it, or point \`default\` at one of them.`,
|
|
459
|
+
},
|
|
460
|
+
);
|
|
461
|
+
}
|
|
462
|
+
|
|
441
463
|
if (options?.queue) {
|
|
442
464
|
this.setMessenger(options.queue);
|
|
443
465
|
}
|
|
@@ -509,10 +531,9 @@ export class Mail {
|
|
|
509
531
|
this.#fireSent({ ...base, messageId: randomBytes(16).toString("hex") });
|
|
510
532
|
return;
|
|
511
533
|
}
|
|
512
|
-
// Validate
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
}
|
|
534
|
+
// Validate the mailer up-front, before running any callback / prepare()
|
|
535
|
+
// side effects.
|
|
536
|
+
this.#requireTransport(transportName);
|
|
516
537
|
|
|
517
538
|
const { message, views } = await this.#buildMessageWithViews(arg);
|
|
518
539
|
await this.dispatchMessage(message, transportName, undefined, views);
|
|
@@ -772,9 +793,7 @@ export class Mail {
|
|
|
772
793
|
* routes through that transport (Adonis parity). Mailers are cached per name.
|
|
773
794
|
*/
|
|
774
795
|
use(name: string): Mailer {
|
|
775
|
-
|
|
776
|
-
throw new Error(`Mail transport '${name}' not configured`);
|
|
777
|
-
}
|
|
796
|
+
this.#requireTransport(name);
|
|
778
797
|
let mailer = this.#mailers.get(name);
|
|
779
798
|
if (mailer === undefined) {
|
|
780
799
|
mailer = new Mailer(this, name);
|
|
@@ -785,9 +804,18 @@ export class Mail {
|
|
|
785
804
|
|
|
786
805
|
/** @internal Resolve the raw transport instance behind a mailer name. */
|
|
787
806
|
transportFor(name: string): MailTransport {
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
807
|
+
return this.#requireTransport(name);
|
|
808
|
+
}
|
|
809
|
+
|
|
810
|
+
/** The transport behind `name`, or a RoverError listing the declared ones. */
|
|
811
|
+
#requireTransport(name: string): MailTransport {
|
|
812
|
+
const transport = this.#transports.get(name);
|
|
813
|
+
if (transport) return transport;
|
|
814
|
+
throw new RoverError(
|
|
815
|
+
"MAIL_UNKNOWN_MAILER",
|
|
816
|
+
`Mail mailer '${name}' is not declared in config.mailers`,
|
|
817
|
+
{ hint: knownMailers(this.#transports) },
|
|
818
|
+
);
|
|
791
819
|
}
|
|
792
820
|
|
|
793
821
|
/**
|
|
@@ -939,3 +967,11 @@ function errorDescriptor(
|
|
|
939
967
|
}
|
|
940
968
|
return { code: "UNKNOWN", message: String(err), attempts };
|
|
941
969
|
}
|
|
970
|
+
|
|
971
|
+
/** "Declared mailers: a, b." — the half of an unknown-mailer error that helps. */
|
|
972
|
+
function knownMailers(transports: Map<string, MailTransport>): string {
|
|
973
|
+
const names = [...transports.keys()];
|
|
974
|
+
return names.length > 0
|
|
975
|
+
? `Declared mailers: ${names.join(", ")}.`
|
|
976
|
+
: "No mailers are declared — add at least one to config.mailers.";
|
|
977
|
+
}
|
package/src/RoverProvider.ts
CHANGED
|
@@ -29,7 +29,7 @@ export default class RoverProvider {
|
|
|
29
29
|
config ?? {
|
|
30
30
|
default: "log",
|
|
31
31
|
from: "noreply@localhost",
|
|
32
|
-
|
|
32
|
+
mailers: { log: { transport: "log" } },
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
// Optional-peer wiring: if `@c9up/bay` is installed and its
|
package/src/config.ts
CHANGED
|
@@ -22,7 +22,9 @@ function describe(transport: string) {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
25
|
+
* One helper per transport rover ships. Each returns the descriptor a
|
|
26
|
+
* `mailers` entry is made of — the transport name plus the settings that
|
|
27
|
+
* transport reads:
|
|
26
28
|
*
|
|
27
29
|
* defineConfig({
|
|
28
30
|
* default: 'smtp',
|
|
@@ -30,13 +32,12 @@ function describe(transport: string) {
|
|
|
30
32
|
* mailers: { smtp: transports.smtp({ host: env.get('SMTP_HOST') }) },
|
|
31
33
|
* })
|
|
32
34
|
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* transport registers itself on import.
|
|
35
|
+
* The descriptor is plain data, so a config file can be serialised and
|
|
36
|
+
* inspected; the transport itself registers on import of the package entry.
|
|
36
37
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
38
|
+
* The list is exactly what rover can send through — naming a transport that
|
|
39
|
+
* has no helper fails to COMPILE, which says so plainly, instead of throwing
|
|
40
|
+
* at boot.
|
|
40
41
|
*/
|
|
41
42
|
export const transports = {
|
|
42
43
|
smtp: describe("smtp"),
|
package/src/configure.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ream configure @c9up/rover` — wire mail in one command.
|
|
3
|
+
*
|
|
4
|
+
* The provider alone is not enough: it reads `config/mail.ts`, and a package
|
|
5
|
+
* registered without one falls back to a default that is rarely the one an
|
|
6
|
+
* application wants. Writing both together is what makes `ream add` mean
|
|
7
|
+
* installed AND working.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
interface Codemods {
|
|
11
|
+
addProvider(importPath: string): Promise<void>;
|
|
12
|
+
addEnvVars(vars: Record<string, string>): Promise<void>;
|
|
13
|
+
writeFile(
|
|
14
|
+
filePath: string,
|
|
15
|
+
content: string,
|
|
16
|
+
options?: { force?: boolean },
|
|
17
|
+
): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export async function configure(codemods: Codemods): Promise<void> {
|
|
21
|
+
// The config below reads these, so they are declared here. Writing the file
|
|
22
|
+
// without them leaves an application whose config asks the environment for
|
|
23
|
+
// something nothing ever put there.
|
|
24
|
+
await codemods.addEnvVars({
|
|
25
|
+
MAIL_MAILER: "log",
|
|
26
|
+
MAIL_FROM: "noreply@example.com",
|
|
27
|
+
SMTP_HOST: "",
|
|
28
|
+
SMTP_PORT: "587",
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
await codemods.addProvider("@c9up/rover/provider");
|
|
32
|
+
await codemods.writeFile(
|
|
33
|
+
"config/mail.ts",
|
|
34
|
+
`import { defineConfig, transports } from '@c9up/rover'
|
|
35
|
+
import env from '#start/env'
|
|
36
|
+
|
|
37
|
+
export default defineConfig({
|
|
38
|
+
// Has to name one of the mailers below, or the application refuses to boot.
|
|
39
|
+
default: env.get('MAIL_MAILER', 'log'),
|
|
40
|
+
from: env.get('MAIL_FROM', 'noreply@example.com'),
|
|
41
|
+
|
|
42
|
+
mailers: {
|
|
43
|
+
// Writes to the logger instead of sending. The development mailer.
|
|
44
|
+
log: transports.log(),
|
|
45
|
+
|
|
46
|
+
smtp: transports.smtp({
|
|
47
|
+
host: env.get('SMTP_HOST', ''),
|
|
48
|
+
port: Number(env.get('SMTP_PORT', '587')),
|
|
49
|
+
}),
|
|
50
|
+
},
|
|
51
|
+
})`,
|
|
52
|
+
);
|
|
53
|
+
}
|
package/src/webhooks/resend.ts
CHANGED
|
@@ -57,6 +57,31 @@ const EVENT_MAP: Record<string, string> = {
|
|
|
57
57
|
"email.bounced": "mail.bounced",
|
|
58
58
|
};
|
|
59
59
|
|
|
60
|
+
/**
|
|
61
|
+
* Turn the configured signing secret into key bytes, or refuse.
|
|
62
|
+
*
|
|
63
|
+
* `Buffer.from(value, "base64")` never fails: it skips whatever it cannot read
|
|
64
|
+
* and hands back whatever is left, so a mistyped secret quietly becomes a
|
|
65
|
+
* short, deterministic key. Nothing then reports a configuration problem —
|
|
66
|
+
* every delivery just fails verification and looks like an attack, which is
|
|
67
|
+
* the one signal this endpoint exists to give.
|
|
68
|
+
*/
|
|
69
|
+
function decodeSigningSecret(value: string): Buffer {
|
|
70
|
+
const bytes = Buffer.from(value, "base64");
|
|
71
|
+
const normalize = (v: string) => v.replace(/=+$/, "").replace(/\s/g, "");
|
|
72
|
+
if (normalize(bytes.toString("base64")) !== normalize(value)) {
|
|
73
|
+
throw new Error(
|
|
74
|
+
"createResendWebhookHandler: secret is not valid base64. Copy it from the Resend dashboard — it looks like `whsec_<base64>`.",
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
if (bytes.length < 16) {
|
|
78
|
+
throw new Error(
|
|
79
|
+
`createResendWebhookHandler: secret decodes to ${bytes.length} bytes, which is too short to sign with. Expected at least 16.`,
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
return bytes;
|
|
83
|
+
}
|
|
84
|
+
|
|
60
85
|
export function createResendWebhookHandler(
|
|
61
86
|
options: ResendWebhookOptions,
|
|
62
87
|
): WebhookMiddleware {
|
|
@@ -68,7 +93,7 @@ export function createResendWebhookHandler(
|
|
|
68
93
|
const secretRaw = options.secret.startsWith("whsec_")
|
|
69
94
|
? options.secret.slice(6)
|
|
70
95
|
: options.secret;
|
|
71
|
-
const keyBytes =
|
|
96
|
+
const keyBytes = decodeSigningSecret(secretRaw);
|
|
72
97
|
const emitter = options.emitter;
|
|
73
98
|
const maxAgeSeconds = options.maxAgeSeconds ?? 300;
|
|
74
99
|
|