tinbase 0.15.3 → 0.16.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.
@@ -143,21 +143,30 @@ export function getStringArray(table, key) {
143
143
  return Array.isArray(v) ? v : undefined;
144
144
  }
145
145
  /**
146
- * Parse a Supabase duration string ("1m", "24h", "10s", "50m") to seconds.
146
+ * Parse a Go duration to seconds: a single unit ("1m", "24h", "10s") or the
147
+ * compound form Supabase itself writes ("1m0s", "24h0m0s").
148
+ *
149
+ * The compound form matters - it is what lands in the file when Supabase
150
+ * generates it - and reading only the first unit turns "1m0s" into 1 second
151
+ * and "24h0m0s" into 24, quietly shortening a window by orders of magnitude.
152
+ *
147
153
  * Returns undefined if absent or malformed.
148
154
  */
149
155
  export function getDurationSeconds(table, key) {
150
156
  const v = table?.values.get(key);
151
157
  if (typeof v !== 'string')
152
158
  return undefined;
153
- const m = v.trim().match(/^(\d+)\s*(s|m|h)$/i);
154
- if (!m) {
155
- const n = parseInt(v, 10);
156
- return Number.isFinite(n) ? n : undefined;
159
+ const text = v.trim();
160
+ if (/^(\d+\s*[hms]\s*)+$/i.test(text)) {
161
+ let total = 0;
162
+ for (const [, digits, unit] of text.matchAll(/(\d+)\s*([hms])/gi)) {
163
+ const n = parseInt(digits, 10);
164
+ total += unit.toLowerCase() === 'h' ? n * 3600 : unit.toLowerCase() === 'm' ? n * 60 : n;
165
+ }
166
+ return total;
157
167
  }
158
- const n = parseInt(m[1], 10);
159
- const unit = m[2].toLowerCase();
160
- return unit === 'h' ? n * 3600 : unit === 'm' ? n * 60 : n;
168
+ const n = parseInt(text, 10);
169
+ return Number.isFinite(n) ? n : undefined;
161
170
  }
162
171
  /**
163
172
  * Parse a Supabase byte-size string ("50MiB", "5MB", "500KB") to bytes.
@@ -1 +1 @@
1
- {"version":3,"file":"config-toml.js","sourceRoot":"","sources":["../../src/node/config-toml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-toml.js","sourceRoot":"","sources":["../../src/node/config-toml.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,40 @@ export interface AuthConfig {
45
45
  sessionInactivitySeconds?: number;
46
46
  /** OAuth providers from [auth.external.*] and env-var fallbacks */
47
47
  oauthProviders: Record<string, OAuthProviderConfig>;
48
+ /**
49
+ * [auth.email.template.*]: per-type `subject` and `content_path`. The path is
50
+ * recorded, not read - loading files is the CLI's job, since config parsing
51
+ * is shared with the browser build.
52
+ */
53
+ emailTemplates?: Record<string, {
54
+ subject?: string;
55
+ contentPath?: string;
56
+ }>;
57
+ /**
58
+ * `[auth.email.smtp]`: the project's own mail server. Present means the
59
+ * project sends its own email rather than relying on whatever the deployment
60
+ * configured. `pass` arrives already resolved through the parser's `env(VAR)`
61
+ * substitution, so the secret never has to sit in the committed file.
62
+ */
63
+ smtp?: {
64
+ enabled?: boolean;
65
+ host?: string;
66
+ port?: number;
67
+ user?: string;
68
+ pass?: string;
69
+ adminEmail?: string;
70
+ senderName?: string;
71
+ secure?: boolean;
72
+ };
73
+ /**
74
+ * `[auth.hook.send_email]`: hand the email to an endpoint instead of sending
75
+ * it. Outranks every transport, because it replaces the rendering too.
76
+ */
77
+ sendEmailHook?: {
78
+ enabled?: boolean;
79
+ uri?: string;
80
+ secret?: string;
81
+ };
48
82
  }
49
83
  /** The `[api]` slice of config.toml. */
50
84
  export interface ApiConfig {
@@ -29,6 +29,25 @@ function readAuth(root, env) {
29
29
  const rateLimits = readRateLimits(root);
30
30
  if (rateLimits)
31
31
  out.rateLimits = rateLimits;
32
+ const templates = readEmailTemplates(root);
33
+ if (templates)
34
+ out.emailTemplates = templates;
35
+ const smtp = readSmtp(root);
36
+ if (smtp)
37
+ out.smtp = smtp;
38
+ const hook = tableAt(root, 'auth.hook.send_email');
39
+ if (hook) {
40
+ const enabled = getBool(hook, 'enabled');
41
+ const uri = getString(hook, 'uri');
42
+ const secret = getString(hook, 'secret');
43
+ if (enabled !== undefined || uri !== undefined || secret !== undefined) {
44
+ out.sendEmailHook = {
45
+ ...(enabled !== undefined ? { enabled } : {}),
46
+ ...(uri !== undefined ? { uri } : {}),
47
+ ...(secret !== undefined ? { secret } : {}),
48
+ };
49
+ }
50
+ }
32
51
  const sessions = tableAt(root, 'auth.sessions');
33
52
  const timebox = getDurationSeconds(sessions, 'timebox');
34
53
  if (timebox !== undefined)
@@ -38,6 +57,62 @@ function readAuth(root, env) {
38
57
  out.sessionInactivitySeconds = inactivity;
39
58
  return out;
40
59
  }
60
+ /**
61
+ * `[auth.email.smtp]`, spelled as Supabase spells it so a project's block works
62
+ * on either. Returned as-is; the CLI decides whether to build a transport from
63
+ * it, since this module also runs where there is no network stack.
64
+ */
65
+ function readSmtp(root) {
66
+ const t = tableAt(root, 'auth.email.smtp');
67
+ if (!t)
68
+ return undefined;
69
+ const out = {};
70
+ const enabled = getBool(t, 'enabled');
71
+ if (enabled !== undefined)
72
+ out.enabled = enabled;
73
+ const host = getString(t, 'host');
74
+ if (host !== undefined)
75
+ out.host = host;
76
+ const port = getInt(t, 'port');
77
+ if (port !== undefined)
78
+ out.port = port;
79
+ const user = getString(t, 'user');
80
+ if (user !== undefined)
81
+ out.user = user;
82
+ const pass = getString(t, 'pass');
83
+ if (pass !== undefined)
84
+ out.pass = pass;
85
+ const adminEmail = getString(t, 'admin_email');
86
+ if (adminEmail !== undefined)
87
+ out.adminEmail = adminEmail;
88
+ const senderName = getString(t, 'sender_name');
89
+ if (senderName !== undefined)
90
+ out.senderName = senderName;
91
+ const secure = getBool(t, 'secure');
92
+ if (secure !== undefined)
93
+ out.secure = secure;
94
+ return Object.keys(out).length ? out : undefined;
95
+ }
96
+ /**
97
+ * `[auth.email.template.<name>]` blocks: `subject` and `content_path`, exactly
98
+ * as Supabase's config.toml spells them. The body itself is left on disk for
99
+ * the CLI to read - this module also runs where there is no filesystem.
100
+ */
101
+ function readEmailTemplates(root) {
102
+ const templates = tableAt(root, 'auth.email.template');
103
+ if (!templates)
104
+ return undefined;
105
+ const out = {};
106
+ for (const name of templates.children.keys()) {
107
+ const t = templates.children.get(name);
108
+ const subject = getString(t, 'subject');
109
+ const contentPath = getString(t, 'content_path');
110
+ if (subject === undefined && contentPath === undefined)
111
+ continue;
112
+ out[name] = { ...(subject !== undefined ? { subject } : {}), ...(contentPath !== undefined ? { contentPath } : {}) };
113
+ }
114
+ return Object.keys(out).length ? out : undefined;
115
+ }
41
116
  /** The [auth]/[auth.email]/[auth.mfa] keys that become AuthSettings defaults. */
42
117
  function readAuthSettings(root) {
43
118
  const auth = tableAt(root, 'auth');
@@ -69,6 +144,10 @@ function readAuthSettings(root) {
69
144
  const otpExpiry = getInt(email, 'otp_expiry');
70
145
  if (otpExpiry !== undefined)
71
146
  out.otpExpirySeconds = otpExpiry;
147
+ // Supabase writes this as a duration ("60s", "1m0s"); accept a bare number too.
148
+ const maxFrequency = getDurationSeconds(email, 'max_frequency') ?? getInt(email, 'max_frequency');
149
+ if (maxFrequency !== undefined)
150
+ out.maxEmailFrequencySeconds = maxFrequency;
72
151
  const maxFactors = getInt(mfa, 'max_enrolled_factors');
73
152
  if (maxFactors !== undefined)
74
153
  out.maxEnrolledFactors = maxFactors;
@@ -1 +1 @@
1
- {"version":3,"file":"load-config.js","sourceRoot":"","sources":["../../src/node/load-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-config.js","sourceRoot":"","sources":["../../src/node/load-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * SMTP transport — the way a project sends its own auth email.
3
+ *
4
+ * This is the one that makes tinbase self-sufficient. A provider-specific
5
+ * client (see {@link import('../auth/resend.js').ResendMailer}) makes our
6
+ * choice of vendor everyone else's problem: to send real mail you would have to
7
+ * open an account with the one provider we happened to implement. SMTP is a
8
+ * protocol rather than a vendor, and every provider speaks it - SES, Postmark,
9
+ * Mailgun, Resend, or a mail server the operator runs - so one implementation
10
+ * covers all of them. It is also what GoTrue does, which keeps a project's
11
+ * `[auth.email.smtp]` block portable between tinbase and Supabase.
12
+ *
13
+ * Node-only, and imported lazily: `nodemailer` reaches for `node:net`/`node:tls`,
14
+ * which the browser build must never pull in.
15
+ */
16
+ import type { MailMessage, Mailer } from '../types.js';
17
+ /** `[auth.email.smtp]`, using Supabase's key names. */
18
+ export interface SmtpConfig {
19
+ host: string;
20
+ port: number;
21
+ user?: string;
22
+ pass?: string;
23
+ /** Address mail is sent from; GoTrue calls this admin_email. */
24
+ adminEmail: string;
25
+ /** Display name shown beside the address. */
26
+ senderName?: string;
27
+ /**
28
+ * Implicit TLS from the first byte (port 465). Left unset, this follows the
29
+ * port, and STARTTLS is negotiated on the usual submission ports - which is
30
+ * what nearly every provider expects on 587.
31
+ */
32
+ secure?: boolean;
33
+ }
34
+ export declare class SmtpMailer implements Mailer {
35
+ private readonly cfg;
36
+ private transporter;
37
+ constructor(cfg: SmtpConfig);
38
+ /** `Display Name <address>` when a name is configured, otherwise the bare address. */
39
+ get from(): string;
40
+ /**
41
+ * Built on first send, not in the constructor: the process should start even
42
+ * when the mail server is unreachable, and an unsendable email should fail
43
+ * the request that asked for it rather than the whole server.
44
+ */
45
+ private transport;
46
+ send(msg: MailMessage): Promise<void>;
47
+ }
@@ -0,0 +1,53 @@
1
+ export class SmtpMailer {
2
+ cfg;
3
+ transporter;
4
+ constructor(cfg) {
5
+ this.cfg = cfg;
6
+ if (!cfg.host)
7
+ throw new Error('SMTP: host is required');
8
+ if (!cfg.adminEmail)
9
+ throw new Error('SMTP: admin_email is required (the address mail is sent from)');
10
+ if (!Number.isFinite(cfg.port) || cfg.port <= 0)
11
+ throw new Error(`SMTP: invalid port ${cfg.port}`);
12
+ }
13
+ /** `Display Name <address>` when a name is configured, otherwise the bare address. */
14
+ get from() {
15
+ return this.cfg.senderName ? `${this.cfg.senderName} <${this.cfg.adminEmail}>` : this.cfg.adminEmail;
16
+ }
17
+ /**
18
+ * Built on first send, not in the constructor: the process should start even
19
+ * when the mail server is unreachable, and an unsendable email should fail
20
+ * the request that asked for it rather than the whole server.
21
+ */
22
+ async transport() {
23
+ if (this.transporter)
24
+ return this.transporter;
25
+ let nodemailer;
26
+ try {
27
+ nodemailer = (await import('nodemailer'));
28
+ }
29
+ catch {
30
+ throw new Error('SMTP is configured but the `nodemailer` package is not installed. Install it, or remove [auth.email.smtp].');
31
+ }
32
+ const { host, port, user, pass, secure } = this.cfg;
33
+ this.transporter = nodemailer.createTransport({
34
+ host,
35
+ port,
36
+ // 465 is implicit TLS; everything else negotiates STARTTLS.
37
+ secure: secure ?? port === 465,
38
+ ...(user || pass ? { auth: { user, pass } } : {}),
39
+ });
40
+ return this.transporter;
41
+ }
42
+ async send(msg) {
43
+ const transporter = await this.transport();
44
+ await transporter.sendMail({
45
+ from: this.from,
46
+ to: msg.to,
47
+ subject: msg.subject,
48
+ text: msg.text,
49
+ ...(msg.html ? { html: msg.html } : {}),
50
+ });
51
+ }
52
+ }
53
+ //# sourceMappingURL=smtp-mailer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smtp-mailer.js","sourceRoot":"","sources":["../../src/node/smtp-mailer.ts"],"names":[],"mappings":"AAwCA,MAAM,OAAO,UAAU;IAGQ;IAFrB,WAAW,CAAyB;IAE5C,YAA6B,GAAe;QAAf,QAAG,GAAH,GAAG,CAAY;QAC1C,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QACxD,IAAI,CAAC,GAAG,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;QACrG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IACpG,CAAC;IAED,sFAAsF;IACtF,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAA;IACtG,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,SAAS;QACrB,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC,WAAW,CAAA;QAC7C,IAAI,UAA2D,CAAA;QAC/D,IAAI,CAAC;YACH,UAAU,GAAG,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,CAA+D,CAAA;QACzG,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,4GAA4G,CAC7G,CAAA;QACH,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAA;QACnD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC;YAC5C,IAAI;YACJ,IAAI;YACJ,4DAA4D;YAC5D,MAAM,EAAE,MAAM,IAAI,IAAI,KAAK,GAAG;YAC9B,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAgB;QACzB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QAC1C,MAAM,WAAW,CAAC,QAAQ,CAAC;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;CACF"}
package/dist/types.d.ts CHANGED
@@ -86,6 +86,20 @@ export interface BackendConfig {
86
86
  functionEnv?: Record<string, string>;
87
87
  /** Mail transport for OTP/magic-link/recovery emails. Default: console logger. */
88
88
  mailer?: Mailer;
89
+ /**
90
+ * Per-type auth email bodies (config.toml `[auth.email.template.*]`), as
91
+ * GoTrue templates. A project decides what its mail offers - link, code, or a
92
+ * link straight to its own page - by which `{{ .Variable }}` it uses. Types
93
+ * without an override keep the built-in default.
94
+ */
95
+ emailTemplates?: import('./auth/templates.js').EmailTemplates;
96
+ /**
97
+ * `[auth.hook.send_email]`: an endpoint that receives the token data and
98
+ * composes and sends the mail itself, replacing both rendering and transport.
99
+ */
100
+ sendEmailHook?: import('./auth/send-email-hook.js').SendEmailHookConfig;
101
+ /** Injectable fetch for the hook (tests capture the request). */
102
+ hookFetch?: typeof fetch;
89
103
  /** OAuth providers, e.g. { google: { clientId, clientSecret } }. Served at /auth/v1/authorize. */
90
104
  oauthProviders?: Record<string, import('./auth/oauth.js').OAuthProviderConfig>;
91
105
  /** Injectable fetch for OAuth provider calls (tests point this at a mock provider). */
@@ -162,7 +176,7 @@ export declare const DEFAULT_JWT_SECRET = "super-secret-jwt-token-with-at-least-
162
176
  * package.json` in test/version.test.ts now fails the moment the two diverge, so
163
177
  * a release cannot quietly ship the wrong number again.
164
178
  */
165
- export declare const TINBASE_VERSION = "0.15.3";
179
+ export declare const TINBASE_VERSION = "0.16.0";
166
180
  /** Per-request execution context derived from apikey/Authorization headers. */
167
181
  export interface RequestContext {
168
182
  /** Postgres role to SET LOCAL: anon | authenticated | service_role */
package/dist/types.js CHANGED
@@ -17,7 +17,7 @@ export const DEFAULT_JWT_SECRET = 'super-secret-jwt-token-with-at-least-32-chara
17
17
  * package.json` in test/version.test.ts now fails the moment the two diverge, so
18
18
  * a release cannot quietly ship the wrong number again.
19
19
  */
20
- export const TINBASE_VERSION = '0.15.3';
20
+ export const TINBASE_VERSION = '0.16.0';
21
21
  /** Error carrying an HTTP status + JSON body, thrown by handlers and rendered as-is to the client. */
22
22
  export class ApiError extends Error {
23
23
  status;
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAsJA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,yDAAyD,CAAA;AAE3F;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAA;AA4BvC,sGAAsG;AACtG,MAAM,OAAO,QAAS,SAAQ,KAAK;IAExB;IACA;IAFT,YACS,MAAc,EACd,IAA6B;QAEpC,KAAK,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAHtE,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAyB;IAGtC,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAoKA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,yDAAyD,CAAA;AAE3F;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAA;AA4BvC,sGAAsG;AACtG,MAAM,OAAO,QAAS,SAAQ,KAAK;IAExB;IACA;IAFT,YACS,MAAc,EACd,IAA6B;QAEpC,KAAK,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAHtE,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAyB;IAGtC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tinbase",
3
- "version": "0.15.3",
3
+ "version": "0.16.0",
4
4
  "description": "A Docker-free, Supabase-compatible local backend — real Postgres (embedded native or PGlite/WASM), wire-compatible with supabase-js.",
5
5
  "type": "module",
6
6
  "author": "Sanket Sahu",
@@ -50,7 +50,8 @@
50
50
  "@types/node": "^26.1.0",
51
51
  "tsx": "^4.23.0",
52
52
  "typescript": "^6.0.3",
53
- "vitest": "^4.1.9"
53
+ "vitest": "^4.1.9",
54
+ "@types/nodemailer": "^7.0.0"
54
55
  },
55
56
  "repository": {
56
57
  "type": "git",
@@ -62,6 +63,7 @@
62
63
  },
63
64
  "optionalDependencies": {
64
65
  "esbuild": "^0.28.0",
65
- "pg-mem": "npm:@tinbase/pg-mem@^3.4.0"
66
+ "pg-mem": "npm:@tinbase/pg-mem@^3.4.0",
67
+ "nodemailer": "^7.0.0"
66
68
  }
67
69
  }