@tinyrack/tinyauth-server 0.0.16 → 0.2.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.
Files changed (149) hide show
  1. package/dist/emails/components/email-layout.d.ts +1 -1
  2. package/dist/emails/components/email-layout.d.ts.map +1 -1
  3. package/dist/emails/templates/password-reset.d.ts +1 -1
  4. package/dist/emails/templates/password-reset.d.ts.map +1 -1
  5. package/dist/emails/templates/verification.d.ts +1 -1
  6. package/dist/emails/templates/verification.d.ts.map +1 -1
  7. package/dist/entities/background-job.entity.d.ts +42 -42
  8. package/dist/entities/background-job.entity.d.ts.map +1 -1
  9. package/dist/entities/base.entity.d.ts +8 -8
  10. package/dist/entities/base.entity.d.ts.map +1 -1
  11. package/dist/entities/bootstrap-state.entity.d.ts +15 -15
  12. package/dist/entities/bootstrap-state.entity.d.ts.map +1 -1
  13. package/dist/entities/email-verification.entity.d.ts +33 -27
  14. package/dist/entities/email-verification.entity.d.ts.map +1 -1
  15. package/dist/entities/jwt-key.entity.d.ts +36 -36
  16. package/dist/entities/jwt-key.entity.d.ts.map +1 -1
  17. package/dist/entities/oauth-client.entity.d.ts +519 -471
  18. package/dist/entities/oauth-client.entity.d.ts.map +1 -1
  19. package/dist/entities/oauth-code.entity.d.ts +519 -471
  20. package/dist/entities/oauth-code.entity.d.ts.map +1 -1
  21. package/dist/entities/password-reset.entity.d.ts +33 -27
  22. package/dist/entities/password-reset.entity.d.ts.map +1 -1
  23. package/dist/entities/pending-oauth-registration.entity.d.ts +39 -39
  24. package/dist/entities/pending-oauth-registration.entity.d.ts.map +1 -1
  25. package/dist/entities/revoked-token.entity.d.ts +519 -471
  26. package/dist/entities/revoked-token.entity.d.ts.map +1 -1
  27. package/dist/entities/scheduler-job.entity.d.ts +48 -48
  28. package/dist/entities/scheduler-job.entity.d.ts.map +1 -1
  29. package/dist/entities/terms-content.entity.d.ts +279 -249
  30. package/dist/entities/terms-content.entity.d.ts.map +1 -1
  31. package/dist/entities/terms.entity.d.ts +279 -249
  32. package/dist/entities/terms.entity.d.ts.map +1 -1
  33. package/dist/entities/user-consent.entity.d.ts +519 -471
  34. package/dist/entities/user-consent.entity.d.ts.map +1 -1
  35. package/dist/entities/user-oauth.entity.d.ts +36 -30
  36. package/dist/entities/user-oauth.entity.d.ts.map +1 -1
  37. package/dist/entities/user-passkey.entity.d.ts +45 -39
  38. package/dist/entities/user-passkey.entity.d.ts.map +1 -1
  39. package/dist/entities/user-terms-consent.entity.d.ts +279 -249
  40. package/dist/entities/user-terms-consent.entity.d.ts.map +1 -1
  41. package/dist/entities/user-totp-recovery-code.entity.d.ts +177 -159
  42. package/dist/entities/user-totp-recovery-code.entity.d.ts.map +1 -1
  43. package/dist/entities/user-totp.entity.d.ts +177 -159
  44. package/dist/entities/user-totp.entity.d.ts.map +1 -1
  45. package/dist/entities/user.entity.d.ts +177 -159
  46. package/dist/entities/user.entity.d.ts.map +1 -1
  47. package/dist/entrypoints/app.d.ts +8 -1
  48. package/dist/entrypoints/app.d.ts.map +1 -1
  49. package/dist/entrypoints/app.js +5 -0
  50. package/dist/entrypoints/app.js.map +1 -1
  51. package/dist/entrypoints/database/postgres/compiled-functions.js +1 -1
  52. package/dist/entrypoints/database/postgres/compiled-functions.js.map +1 -1
  53. package/dist/entrypoints/database/sqlite/compiled-functions.js +1 -1
  54. package/dist/entrypoints/database/sqlite/compiled-functions.js.map +1 -1
  55. package/dist/lib/config/client.d.ts.map +1 -1
  56. package/dist/lib/config/client.js +5 -1
  57. package/dist/lib/config/client.js.map +1 -1
  58. package/dist/lib/config/identity-providers.d.ts.map +1 -1
  59. package/dist/lib/config/identity-providers.js +10 -33
  60. package/dist/lib/config/identity-providers.js.map +1 -1
  61. package/dist/lib/config/url-policy.d.ts +4 -0
  62. package/dist/lib/config/url-policy.d.ts.map +1 -0
  63. package/dist/lib/config/url-policy.js +38 -0
  64. package/dist/lib/config/url-policy.js.map +1 -0
  65. package/dist/lib/pkce.d.ts.map +1 -1
  66. package/dist/lib/pkce.js +3 -0
  67. package/dist/lib/pkce.js.map +1 -1
  68. package/dist/middleware/csrf.d.ts +2 -0
  69. package/dist/middleware/csrf.d.ts.map +1 -0
  70. package/dist/middleware/csrf.js +51 -0
  71. package/dist/middleware/csrf.js.map +1 -0
  72. package/dist/repositories/revoked-token.repository.d.ts +20 -0
  73. package/dist/repositories/revoked-token.repository.d.ts.map +1 -1
  74. package/dist/repositories/revoked-token.repository.js +44 -1
  75. package/dist/repositories/revoked-token.repository.js.map +1 -1
  76. package/dist/repositories/user-passkey.repository.d.ts +45 -39
  77. package/dist/repositories/user-passkey.repository.d.ts.map +1 -1
  78. package/dist/repositories/user-totp-recovery-code.repository.d.ts +118 -106
  79. package/dist/repositories/user-totp-recovery-code.repository.d.ts.map +1 -1
  80. package/dist/repositories/user-totp.repository.d.ts +177 -159
  81. package/dist/repositories/user-totp.repository.d.ts.map +1 -1
  82. package/dist/routes/api/oauth/_provider/authorize/get.d.ts.map +1 -1
  83. package/dist/routes/api/oauth/_provider/authorize/get.js +13 -1
  84. package/dist/routes/api/oauth/_provider/authorize/get.js.map +1 -1
  85. package/dist/routes/api/oauth/_provider/callback/post.d.ts.map +1 -1
  86. package/dist/routes/api/oauth/_provider/callback/post.js +30 -1
  87. package/dist/routes/api/oauth/_provider/callback/post.js.map +1 -1
  88. package/dist/routes/index.d.ts +8 -1
  89. package/dist/routes/index.d.ts.map +1 -1
  90. package/dist/routes/oauth/.well-known/openid-configuration/get.d.ts +4 -0
  91. package/dist/routes/oauth/.well-known/openid-configuration/get.d.ts.map +1 -1
  92. package/dist/routes/oauth/.well-known/openid-configuration/get.js +25 -2
  93. package/dist/routes/oauth/.well-known/openid-configuration/get.js.map +1 -1
  94. package/dist/routes/oauth/authorize/get.d.ts +2 -0
  95. package/dist/routes/oauth/authorize/get.d.ts.map +1 -1
  96. package/dist/routes/oauth/authorize/get.js +4 -0
  97. package/dist/routes/oauth/authorize/get.js.map +1 -1
  98. package/dist/routes/oauth/index.d.ts +8 -1
  99. package/dist/routes/oauth/index.d.ts.map +1 -1
  100. package/dist/routes/oauth/introspect/post.d.ts +1 -0
  101. package/dist/routes/oauth/introspect/post.d.ts.map +1 -1
  102. package/dist/routes/oauth/token/post.d.ts +1 -1
  103. package/dist/routes/oauth/token/post.d.ts.map +1 -1
  104. package/dist/routes/oauth/token/post.js +1 -0
  105. package/dist/routes/oauth/token/post.js.map +1 -1
  106. package/dist/routes/oauth/userinfo/get.d.ts.map +1 -1
  107. package/dist/routes/oauth/userinfo/get.js +3 -0
  108. package/dist/routes/oauth/userinfo/get.js.map +1 -1
  109. package/dist/schemas/error.d.ts +75 -0
  110. package/dist/schemas/error.d.ts.map +1 -1
  111. package/dist/schemas/error.js +3 -0
  112. package/dist/schemas/error.js.map +1 -1
  113. package/dist/schemas/field.d.ts +1 -6
  114. package/dist/schemas/field.d.ts.map +1 -1
  115. package/dist/schemas/field.js +2 -3
  116. package/dist/schemas/field.js.map +1 -1
  117. package/dist/schemas/oauth.d.ts +1 -1
  118. package/dist/schemas/oauth.js +1 -1
  119. package/dist/schemas/oauth.js.map +1 -1
  120. package/dist/schemas/response.d.ts +1 -1
  121. package/dist/services/jwt.service.d.ts +5 -0
  122. package/dist/services/jwt.service.d.ts.map +1 -1
  123. package/dist/services/jwt.service.js +31 -16
  124. package/dist/services/jwt.service.js.map +1 -1
  125. package/dist/services/oauth-authorize.service.d.ts +5 -1
  126. package/dist/services/oauth-authorize.service.d.ts.map +1 -1
  127. package/dist/services/oauth-authorize.service.js +65 -16
  128. package/dist/services/oauth-authorize.service.js.map +1 -1
  129. package/dist/services/oauth-client.service.d.ts +1 -0
  130. package/dist/services/oauth-client.service.d.ts.map +1 -1
  131. package/dist/services/oauth-client.service.js +5 -0
  132. package/dist/services/oauth-client.service.js.map +1 -1
  133. package/dist/services/oauth-connect.service.d.ts +1 -0
  134. package/dist/services/oauth-connect.service.d.ts.map +1 -1
  135. package/dist/services/oauth-connect.service.js +61 -7
  136. package/dist/services/oauth-connect.service.js.map +1 -1
  137. package/dist/services/oauth-token.service.d.ts +8 -1
  138. package/dist/services/oauth-token.service.d.ts.map +1 -1
  139. package/dist/services/oauth-token.service.js +111 -30
  140. package/dist/services/oauth-token.service.js.map +1 -1
  141. package/package.json +28 -28
  142. package/public/assets/index-5_9rzim1.css +2 -0
  143. package/public/assets/index-BTGeW26-.js +75 -0
  144. package/public/assets/index-BTGeW26-.js.map +1 -0
  145. package/public/index.html +2 -2
  146. package/readme.md +74 -25
  147. package/public/assets/index-6odabbrQ.css +0 -1
  148. package/public/assets/index-CLq6d6iO.js +0 -76
  149. package/public/assets/index-CLq6d6iO.js.map +0 -1
@@ -17,6 +17,7 @@ export class OAuthTokenService {
17
17
  oauthClientService;
18
18
  jwtService;
19
19
  securityService;
20
+ refreshRotationLocks = new Map();
20
21
  constructor(config, mikro, userService, oauthClientService, jwtService, securityService) {
21
22
  this.config = config;
22
23
  this.mikro = mikro;
@@ -61,20 +62,17 @@ export class OAuthTokenService {
61
62
  if (codeEntity.redirectUri !== redirectUri) {
62
63
  throw new e.RedirectUriMismatch.Error();
63
64
  }
64
- // 5. Validate PKCE if code_challenge was used (RFC 7636 §4.6)
65
- // PKCE protects against authorization code interception for public clients
66
- const isPublicClient = await this.oauthClientService.isPublicClient(clientId);
67
- if (isPublicClient && !codeEntity.codeChallenge) {
65
+ // 5. Validate S256 PKCE for every authorization code (OAuth 2.1 / Security BCP)
66
+ if (!codeEntity.codeChallenge ||
67
+ codeEntity.codeChallengeMethod !== 'S256') {
68
68
  throw new e.InvalidPKCEVerifier.Error();
69
69
  }
70
- if (codeEntity.codeChallenge) {
71
- if (!codeVerifier) {
72
- throw new e.MissingCodeVerifier.Error();
73
- }
74
- const isPKCEValid = await validatePKCE(codeVerifier, codeEntity.codeChallenge, codeEntity.codeChallengeMethod);
75
- if (!isPKCEValid) {
76
- throw new e.InvalidPKCEVerifier.Error();
77
- }
70
+ if (!codeVerifier) {
71
+ throw new e.MissingCodeVerifier.Error();
72
+ }
73
+ const isPKCEValid = await validatePKCE(codeVerifier, codeEntity.codeChallenge, codeEntity.codeChallengeMethod);
74
+ if (!isPKCEValid) {
75
+ throw new e.InvalidPKCEVerifier.Error();
78
76
  }
79
77
  // 6. Get user data from relation (load via Ref)
80
78
  const user = await codeEntity.user.load();
@@ -88,6 +86,8 @@ export class OAuthTokenService {
88
86
  userEmailVerified: user.email_verified,
89
87
  clientId: client.clientId,
90
88
  scope: codeEntity.scope,
89
+ issueRefreshToken: client.grantTypes.includes('refresh_token') &&
90
+ codeEntity.scope.includes('offline_access'),
91
91
  nonce: codeEntity.nonce,
92
92
  // Pass OIDC authentication metadata from the authorization code
93
93
  // Only include when defined and non-null (exactOptionalPropertyTypes)
@@ -113,9 +113,26 @@ export class OAuthTokenService {
113
113
  * @throws {ClientIdMismatch} - Client ID doesn't match original token request
114
114
  */
115
115
  async refreshAccessToken(params) {
116
+ const decodedRefreshToken = this.jwtService.decodeToken(params.refreshToken);
117
+ const refreshTokenJti = typeof decodedRefreshToken?.jti === 'string'
118
+ ? decodedRefreshToken.jti
119
+ : undefined;
120
+ if (refreshTokenJti) {
121
+ return this.withRefreshTokenRotationLock(refreshTokenJti, () => this.refreshAccessTokenLocked(params));
122
+ }
123
+ return this.refreshAccessTokenLocked(params);
124
+ }
125
+ async refreshAccessTokenLocked(params) {
116
126
  const { refreshToken, clientId } = params;
117
127
  // 1. Verify refresh token (also checks revocation)
118
- const refreshPayload = await this.jwtService.verifyRefreshToken(refreshToken);
128
+ let refreshPayload;
129
+ try {
130
+ refreshPayload = await this.jwtService.verifyRefreshToken(refreshToken);
131
+ }
132
+ catch (error) {
133
+ await this.revokeRefreshTokenFamilyIfReused(refreshToken, clientId);
134
+ throw error;
135
+ }
119
136
  // 2. Validate client_id matches (RFC 6749 §6)
120
137
  // Refresh token is bound to the client that obtained it
121
138
  if (refreshPayload.client_id !== clientId) {
@@ -130,14 +147,19 @@ export class OAuthTokenService {
130
147
  // This is a security best practice per OAuth 2.0 Security BCP §4.14.2
131
148
  // If an attacker tries to use a stolen refresh token after the legitimate
132
149
  // user has already used it, the token will be rejected as revoked.
133
- if (refreshPayload.jti && refreshPayload.exp) {
134
- await this.mikro.revokedToken.revokeToken({
135
- jti: refreshPayload.jti,
136
- token_type: 'refresh_token',
137
- clientId: client.id, // Use entity primary key
138
- userSub: userData.sub,
139
- expires_at: new Date(refreshPayload.exp * 1000),
140
- });
150
+ if (!refreshPayload.jti || !refreshPayload.exp) {
151
+ throw new e.InvalidRefreshToken.Error();
152
+ }
153
+ const didRevokeRefreshToken = await this.mikro.revokedToken.revokeTokenOnce({
154
+ jti: refreshPayload.jti,
155
+ token_type: 'refresh_token',
156
+ clientId: client.id, // Use entity primary key
157
+ userSub: userData.sub,
158
+ expires_at: new Date(refreshPayload.exp * 1000),
159
+ });
160
+ if (!didRevokeRefreshToken) {
161
+ await this.revokeRefreshTokenFamily(refreshPayload, client.id);
162
+ throw new e.InvalidRefreshToken.Error();
141
163
  }
142
164
  // 6. Build token response with new access and refresh tokens
143
165
  // (no nonce in refresh flow)
@@ -147,6 +169,8 @@ export class OAuthTokenService {
147
169
  userEmailVerified: userData.email_verified,
148
170
  clientId: client.clientId,
149
171
  scope: refreshPayload.scope.split(' '),
172
+ issueRefreshToken: true,
173
+ grantId: refreshPayload.grant_id,
150
174
  });
151
175
  }
152
176
  /**
@@ -226,6 +250,7 @@ export class OAuthTokenService {
226
250
  ...(payload.iat !== undefined && { iat: payload.iat }),
227
251
  sub: payload.sub,
228
252
  ...(payload.iss !== undefined && { iss: payload.iss }),
253
+ ...(payload.aud !== undefined && { aud: payload.aud }),
229
254
  };
230
255
  }
231
256
  // 4. Token is invalid or expired - return inactive
@@ -285,6 +310,9 @@ export class OAuthTokenService {
285
310
  userSub: userEntity.sub,
286
311
  expires_at: expiresAt,
287
312
  });
313
+ if (tokenType === 'refresh_token') {
314
+ await this.revokeRefreshTokenFamily(payload, clientEntity.id);
315
+ }
288
316
  // RFC 7009 §2.1: "If the particular token is a refresh token and the
289
317
  // authorization server supports the revocation of access tokens, then
290
318
  // the authorization server SHOULD also invalidate all access tokens
@@ -294,6 +322,56 @@ export class OAuthTokenService {
294
322
  // the revocation check happens at token verification time via jti lookup.
295
323
  // Access tokens will be rejected when their jti is in the revoked_tokens table.
296
324
  }
325
+ async withRefreshTokenRotationLock(refreshTokenJti, operation) {
326
+ const previousLock = this.refreshRotationLocks.get(refreshTokenJti);
327
+ let releaseLock = () => { };
328
+ const currentLock = new Promise((resolve) => {
329
+ releaseLock = resolve;
330
+ });
331
+ this.refreshRotationLocks.set(refreshTokenJti, currentLock);
332
+ if (previousLock) {
333
+ await previousLock;
334
+ }
335
+ try {
336
+ return await operation();
337
+ }
338
+ finally {
339
+ releaseLock();
340
+ if (this.refreshRotationLocks.get(refreshTokenJti) === currentLock) {
341
+ this.refreshRotationLocks.delete(refreshTokenJti);
342
+ }
343
+ }
344
+ }
345
+ async revokeRefreshTokenFamilyIfReused(refreshToken, clientId) {
346
+ try {
347
+ const refreshPayload = await this.jwtService.verifyRefreshTokenForReuseDetection(refreshToken);
348
+ if (refreshPayload.client_id !== clientId || !refreshPayload.jti) {
349
+ return;
350
+ }
351
+ const isRefreshTokenRevoked = await this.mikro.revokedToken.isRevoked(refreshPayload.jti);
352
+ if (!isRefreshTokenRevoked) {
353
+ return;
354
+ }
355
+ const client = await this.oauthClientService.findByClientId(clientId);
356
+ await this.revokeRefreshTokenFamily(refreshPayload, client.id);
357
+ }
358
+ catch {
359
+ // Invalid, expired, or malformed refresh tokens do not identify a family.
360
+ }
361
+ }
362
+ async revokeRefreshTokenFamily(payload, clientEntityId) {
363
+ if (!payload.grant_id || !payload.exp) {
364
+ return;
365
+ }
366
+ const tokenExpiresAt = payload.exp * 1000;
367
+ const familyExpiresAt = Date.now() + this.config.tokens.refresh_token_ttl * 1000;
368
+ await this.mikro.revokedToken.revokeGrant({
369
+ grantId: payload.grant_id,
370
+ clientId: clientEntityId,
371
+ userSub: payload.sub,
372
+ expires_at: new Date(Math.max(tokenExpiresAt, familyExpiresAt)),
373
+ });
374
+ }
297
375
  async verifyTokenForRevocation(token, tokenTypeHint) {
298
376
  const verifyAccessToken = async () => ({
299
377
  payload: await this.jwtService.verifyAccessToken(token),
@@ -341,7 +419,7 @@ export class OAuthTokenService {
341
419
  * @returns Complete token response
342
420
  */
343
421
  async buildTokenResponse(params) {
344
- const { userSub, userEmail, userEmailVerified, clientId, scope, nonce, authTime, } = params;
422
+ const { userSub, userEmail, userEmailVerified, clientId, scope, issueRefreshToken, grantId = crypto.randomUUID(), nonce, authTime, } = params;
345
423
  const scopeString = scope.join(' ');
346
424
  // Generate access token (RFC 6749 §1.4)
347
425
  const accessToken = await this.jwtService.signAccessToken({
@@ -349,21 +427,24 @@ export class OAuthTokenService {
349
427
  sub: userSub,
350
428
  client_id: clientId,
351
429
  scope: scopeString,
352
- });
353
- // Generate refresh token (RFC 6749 §1.5)
354
- const refreshToken = await this.jwtService.signRefreshToken({
355
- typ: 'refresh_token',
356
- sub: userSub,
357
- client_id: clientId,
358
- scope: scopeString,
430
+ aud: this.config.server.public_origin,
431
+ grant_id: grantId,
359
432
  });
360
433
  const response = {
361
434
  access_token: accessToken,
362
435
  token_type: 'Bearer',
363
436
  expires_in: this.config.tokens.access_token_ttl,
364
- refresh_token: refreshToken,
365
437
  scope: scopeString,
366
438
  };
439
+ if (issueRefreshToken) {
440
+ response.refresh_token = await this.jwtService.signRefreshToken({
441
+ typ: 'refresh_token',
442
+ sub: userSub,
443
+ client_id: clientId,
444
+ scope: scopeString,
445
+ grant_id: grantId,
446
+ });
447
+ }
367
448
  // Generate ID token if OIDC (openid scope present)
368
449
  if (scope.includes('openid')) {
369
450
  const idTokenPayload = {
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-token.service.js","sourceRoot":"","sources":["../../src/services/oauth-token.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-token.service.js","sourceRoot":"","sources":["../../src/services/oauth-token.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tinyrack/tinyauth-server",
3
- "version": "0.0.16",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "description": "OpenID Connect Provider with OAuth2 support",
6
6
  "license": "MIT",
@@ -84,45 +84,45 @@
84
84
  }
85
85
  },
86
86
  "devDependencies": {
87
- "@biomejs/biome": "^2.4.14",
87
+ "@biomejs/biome": "^2.5.0",
88
88
  "@react-email/preview-server": "^5.2.10",
89
- "@types/node": "^24.12.3",
90
- "@types/nodemailer": "^8.0.0",
89
+ "@types/node": "^24.13.2",
90
+ "@types/nodemailer": "^8.0.1",
91
91
  "@types/pg": "^8.20.0",
92
92
  "@types/qrcode": "^1.5.6",
93
- "@types/react": "^19.2.14",
94
- "@vitest/coverage-v8": "^4.1.5",
95
- "tsx": "^4.21.0",
93
+ "@types/react": "^19.2.17",
94
+ "@vitest/coverage-v8": "^4.1.9",
95
+ "tsx": "^4.22.4",
96
96
  "typescript": "^6.0.3",
97
- "vitest": "^4.1.5"
97
+ "vitest": "^4.1.9"
98
98
  },
99
99
  "dependencies": {
100
100
  "@hono/standard-validator": "^0.2.2",
101
- "@mikro-orm/cli": "^7.0.14",
102
- "@mikro-orm/core": "^7.0.14",
103
- "@mikro-orm/decorators": "^7.0.14",
104
- "@mikro-orm/migrations": "^7.0.14",
105
- "@mikro-orm/postgresql": "^7.0.14",
106
- "@mikro-orm/seeder": "^7.0.14",
107
- "@mikro-orm/sql": "^7.0.14",
101
+ "@mikro-orm/cli": "^7.1.4",
102
+ "@mikro-orm/core": "^7.1.4",
103
+ "@mikro-orm/decorators": "^7.1.4",
104
+ "@mikro-orm/migrations": "^7.1.4",
105
+ "@mikro-orm/postgresql": "^7.1.4",
106
+ "@mikro-orm/seeder": "^7.1.4",
107
+ "@mikro-orm/sql": "^7.1.4",
108
108
  "@react-email/components": "^1.0.12",
109
- "@react-email/render": "^2.0.8",
109
+ "@react-email/render": "^2.0.9",
110
110
  "@react-email/tailwind": "^2.0.7",
111
- "@scalar/hono-api-reference": "^0.10.14",
112
- "@simplewebauthn/server": "^13.3.0",
111
+ "@scalar/hono-api-reference": "^0.11.4",
112
+ "@simplewebauthn/server": "^13.3.1",
113
113
  "croner": "^10.0.1",
114
- "hono": "^4.12.18",
114
+ "hono": "^4.12.25",
115
115
  "hono-openapi": "^1.3.0",
116
116
  "jose": "^6.2.3",
117
- "kysely": "^0.28.17",
117
+ "kysely": "^0.29.2",
118
118
  "pino-pretty": "^13.1.3",
119
- "react-email": "^6.1.1",
120
- "nodemailer": "^8.0.7",
121
- "otplib": "^13.4.0",
122
- "pg": "^8.20.0",
119
+ "react-email": "^6.6.3",
120
+ "nodemailer": "^9.0.1",
121
+ "otplib": "^13.4.1",
122
+ "pg": "^8.21.0",
123
123
  "pino": "^10.3.1",
124
124
  "qrcode": "^1.5.4",
125
- "react": "^19.2.5",
125
+ "react": "^19.2.7",
126
126
  "zod": "^4.4.3"
127
127
  },
128
128
  "mikro-orm": {
@@ -131,9 +131,9 @@
131
131
  ]
132
132
  },
133
133
  "scripts": {
134
- "test": "NODE_OPTIONS='--conditions=@tinyauth/source' vitest",
135
- "test:coverage": "rm -rf coverage && NODE_OPTIONS='--conditions=@tinyauth/source' vitest run --coverage --maxWorkers=1",
136
- "clean": "rm -rf dist node_modules/.cache/tsconfig.src.tsbuildinfo node_modules/.cache/tsconfig.test.tsbuildinfo publish",
134
+ "test": "node --conditions=@tinyauth/source node_modules/vitest/vitest.mjs",
135
+ "test:coverage": "node ../../packages/tools/src/scripts/rm.ts coverage && node --conditions=@tinyauth/source node_modules/vitest/vitest.mjs run --coverage --maxWorkers=1",
136
+ "clean": "node ../../packages/tools/src/scripts/rm.ts dist node_modules/.cache/tsconfig.src.tsbuildinfo node_modules/.cache/tsconfig.test.tsbuildinfo publish",
137
137
  "build": "pnpm run clean && pnpm run mikro-orm:compile && tsc -b tsconfig.json",
138
138
  "build:watch": "tsc -b -w tsconfig.json",
139
139
  "email:preview": "email dev --dir src/emails/templates --port 3001",