fix(build): keep supertokens server init out of the client module graph

- ensureSuperTokensBackend moved to the health route handler; the dynamic
  imports in exclusions and alerts dragged recipes into the client build
This commit is contained in:
2026-08-26 18:58:31 -07:00
parent 3d8ee52a15
commit 4106c3c846
7 changed files with 34 additions and 36 deletions
+2
View File
@@ -1,11 +1,13 @@
import { createFileRoute } from "@tanstack/react-router"; import { createFileRoute } from "@tanstack/react-router";
import { ensureTelemetryScheduler } from "@/lib/telemetry/scheduler.server"; import { ensureTelemetryScheduler } from "@/lib/telemetry/scheduler.server";
import { getHealthSnapshot } from "@/lib/telemetry/health.server"; import { getHealthSnapshot } from "@/lib/telemetry/health.server";
import { ensureSuperTokensBackend } from "@/lib/supertokens/server";
export const Route = createFileRoute("/api/health")({ export const Route = createFileRoute("/api/health")({
server: { server: {
handlers: { handlers: {
GET: async () => { GET: async () => {
ensureSuperTokensBackend();
ensureTelemetryScheduler(); ensureTelemetryScheduler();
const snapshot = await getHealthSnapshot(); const snapshot = await getHealthSnapshot();
-2
View File
@@ -31,8 +31,6 @@ const getAdminPlayerIds = async (): Promise<string[]> => {
return adminPlayersCache.playerIds; return adminPlayersCache.playerIds;
} }
const { ensureSuperTokensBackend } = await import("@/lib/supertokens/server");
ensureSuperTokensBackend();
const UserRoles = (await import("supertokens-node/recipe/userroles")).default; const UserRoles = (await import("supertokens-node/recipe/userroles")).default;
const UserMetadata = (await import("supertokens-node/recipe/usermetadata")).default; const UserMetadata = (await import("supertokens-node/recipe/usermetadata")).default;
const response = await UserRoles.getUsersThatHaveRole("public", ADMIN_ROLE); const response = await UserRoles.getUsersThatHaveRole("public", ADMIN_ROLE);
-2
View File
@@ -27,8 +27,6 @@ export const getExcludedPlayerIds = async (): Promise<Set<string>> => {
if (phones.length > 0) { if (phones.length > 0) {
try { try {
const { ensureSuperTokensBackend } = await import("@/lib/supertokens/server");
ensureSuperTokensBackend();
const SuperTokens = (await import("supertokens-node")).default; const SuperTokens = (await import("supertokens-node")).default;
const { pbAdmin } = await import("@/lib/pocketbase/client"); const { pbAdmin } = await import("@/lib/pocketbase/client");
for (const phoneNumber of phones) { for (const phoneNumber of phones) {
+8 -8
View File
@@ -105,7 +105,7 @@ msgid "{0} Badge Holders"
msgstr "{0} Abzeichen-Inhaber" msgstr "{0} Abzeichen-Inhaber"
#. placeholder {0}: recentErrors.totalItems #. placeholder {0}: recentErrors.totalItems
#: src/lib/telemetry/alerts.server.ts:110 #: src/lib/telemetry/alerts.server.ts:108
msgid "{0} client errors in the last 15 minutes" msgid "{0} client errors in the last 15 minutes"
msgstr "{0} Client-Fehler in den letzten 15 Minuten" msgstr "{0} Client-Fehler in den letzten 15 Minuten"
@@ -167,7 +167,7 @@ msgstr "{count, plural, one {Spieler (#)} other {Spieler (#)}}"
msgid "{count, plural, one {Teams (#)} other {Teams (#)}}" msgid "{count, plural, one {Teams (#)} other {Teams (#)}}"
msgstr "{count, plural, one {Teams (#)} other {Teams (#)}}" msgstr "{count, plural, one {Teams (#)} other {Teams (#)}}"
#: src/lib/telemetry/alerts.server.ts:173 #: src/lib/telemetry/alerts.server.ts:171
msgid "{deniedCount} denied admin access attempts in the last 15 minutes" msgid "{deniedCount} denied admin access attempts in the last 15 minutes"
msgstr "{deniedCount} abgelehnte Admin-Zugriffsversuche in den letzten 15 Minuten" msgstr "{deniedCount} abgelehnte Admin-Zugriffsversuche in den letzten 15 Minuten"
@@ -206,7 +206,7 @@ msgstr "{n, plural, one {# garantiertes Spiel} other {# garantierte Spiele}}"
msgid "{n, plural, one {# wildcard} other {# wildcards}}" msgid "{n, plural, one {# wildcard} other {# wildcards}}"
msgstr "{n, plural, one {# Wildcard} other {# Wildcards}}" msgstr "{n, plural, one {# Wildcard} other {# Wildcards}}"
#: src/lib/telemetry/alerts.server.ts:160 #: src/lib/telemetry/alerts.server.ts:158
msgid "{name} failed {count} times in the last 15 minutes" msgid "{name} failed {count} times in the last 15 minutes"
msgstr "{name} ist in den letzten 15 Minuten {count} Mal fehlgeschlagen" msgstr "{name} ist in den letzten 15 Minuten {count} Mal fehlgeschlagen"
@@ -392,7 +392,7 @@ msgid "A code was sent to +1 ({0}) {1}-{2}"
msgstr "Ein Code wurde an +1 ({0}) {1}-{2} gesendet" msgstr "Ein Code wurde an +1 ({0}) {1}-{2} gesendet"
#. placeholder {0}: info.message.slice(0, 120) #. placeholder {0}: info.message.slice(0, 120)
#: src/lib/telemetry/alerts.server.ts:131 #: src/lib/telemetry/alerts.server.ts:129
msgid "A new error appeared: {0}" msgid "A new error appeared: {0}"
msgstr "Ein neuer Fehler ist aufgetreten: {0}" msgstr "Ein neuer Fehler ist aufgetreten: {0}"
@@ -718,7 +718,7 @@ msgstr "Knete"
msgid "Clear selected player" msgid "Clear selected player"
msgstr "Ausgewählten Spieler entfernen" msgstr "Ausgewählten Spieler entfernen"
#: src/lib/telemetry/alerts.server.ts:109 #: src/lib/telemetry/alerts.server.ts:107
msgid "Client error spike" msgid "Client error spike"
msgstr "Anstieg von Client-Fehlern" msgstr "Anstieg von Client-Fehlern"
@@ -908,7 +908,7 @@ msgstr "Tiefsee"
msgid "Default" msgid "Default"
msgstr "Standard" msgstr "Standard"
#: src/lib/telemetry/alerts.server.ts:172 #: src/lib/telemetry/alerts.server.ts:170
msgid "Denied access attempt" msgid "Denied access attempt"
msgstr "Abgelehnter Zugriffsversuch" msgstr "Abgelehnter Zugriffsversuch"
@@ -1687,7 +1687,7 @@ msgstr "Nie"
msgid "Never active" msgid "Never active"
msgstr "Nie aktiv" msgstr "Nie aktiv"
#: src/lib/telemetry/alerts.server.ts:130 #: src/lib/telemetry/alerts.server.ts:128
msgid "New client error" msgid "New client error"
msgstr "Neuer Client-Fehler" msgstr "Neuer Client-Fehler"
@@ -2321,7 +2321,7 @@ msgstr "Testbenachrichtigung senden"
msgid "Series is tied" msgid "Series is tied"
msgstr "Serie steht unentschieden" msgstr "Serie steht unentschieden"
#: src/lib/telemetry/alerts.server.ts:159 #: src/lib/telemetry/alerts.server.ts:157
msgid "Server function failing" msgid "Server function failing"
msgstr "Serverfunktion schlägt fehl" msgstr "Serverfunktion schlägt fehl"
+8 -8
View File
@@ -105,7 +105,7 @@ msgid "{0} Badge Holders"
msgstr "{0} Badge Holders" msgstr "{0} Badge Holders"
#. placeholder {0}: recentErrors.totalItems #. placeholder {0}: recentErrors.totalItems
#: src/lib/telemetry/alerts.server.ts:110 #: src/lib/telemetry/alerts.server.ts:108
msgid "{0} client errors in the last 15 minutes" msgid "{0} client errors in the last 15 minutes"
msgstr "{0} client errors in the last 15 minutes" msgstr "{0} client errors in the last 15 minutes"
@@ -167,7 +167,7 @@ msgstr "{count, plural, one {Players (#)} other {Players (#)}}"
msgid "{count, plural, one {Teams (#)} other {Teams (#)}}" msgid "{count, plural, one {Teams (#)} other {Teams (#)}}"
msgstr "{count, plural, one {Teams (#)} other {Teams (#)}}" msgstr "{count, plural, one {Teams (#)} other {Teams (#)}}"
#: src/lib/telemetry/alerts.server.ts:173 #: src/lib/telemetry/alerts.server.ts:171
msgid "{deniedCount} denied admin access attempts in the last 15 minutes" msgid "{deniedCount} denied admin access attempts in the last 15 minutes"
msgstr "{deniedCount} denied admin access attempts in the last 15 minutes" msgstr "{deniedCount} denied admin access attempts in the last 15 minutes"
@@ -206,7 +206,7 @@ msgstr "{n, plural, one {# match guaranteed} other {# matches guaranteed}}"
msgid "{n, plural, one {# wildcard} other {# wildcards}}" msgid "{n, plural, one {# wildcard} other {# wildcards}}"
msgstr "{n, plural, one {# wildcard} other {# wildcards}}" msgstr "{n, plural, one {# wildcard} other {# wildcards}}"
#: src/lib/telemetry/alerts.server.ts:160 #: src/lib/telemetry/alerts.server.ts:158
msgid "{name} failed {count} times in the last 15 minutes" msgid "{name} failed {count} times in the last 15 minutes"
msgstr "{name} failed {count} times in the last 15 minutes" msgstr "{name} failed {count} times in the last 15 minutes"
@@ -392,7 +392,7 @@ msgid "A code was sent to +1 ({0}) {1}-{2}"
msgstr "A code was sent to +1 ({0}) {1}-{2}" msgstr "A code was sent to +1 ({0}) {1}-{2}"
#. placeholder {0}: info.message.slice(0, 120) #. placeholder {0}: info.message.slice(0, 120)
#: src/lib/telemetry/alerts.server.ts:131 #: src/lib/telemetry/alerts.server.ts:129
msgid "A new error appeared: {0}" msgid "A new error appeared: {0}"
msgstr "A new error appeared: {0}" msgstr "A new error appeared: {0}"
@@ -718,7 +718,7 @@ msgstr "Claymation"
msgid "Clear selected player" msgid "Clear selected player"
msgstr "Clear selected player" msgstr "Clear selected player"
#: src/lib/telemetry/alerts.server.ts:109 #: src/lib/telemetry/alerts.server.ts:107
msgid "Client error spike" msgid "Client error spike"
msgstr "Client error spike" msgstr "Client error spike"
@@ -908,7 +908,7 @@ msgstr "Deep Sea"
msgid "Default" msgid "Default"
msgstr "Default" msgstr "Default"
#: src/lib/telemetry/alerts.server.ts:172 #: src/lib/telemetry/alerts.server.ts:170
msgid "Denied access attempt" msgid "Denied access attempt"
msgstr "Denied access attempt" msgstr "Denied access attempt"
@@ -1687,7 +1687,7 @@ msgstr "Never"
msgid "Never active" msgid "Never active"
msgstr "Never active" msgstr "Never active"
#: src/lib/telemetry/alerts.server.ts:130 #: src/lib/telemetry/alerts.server.ts:128
msgid "New client error" msgid "New client error"
msgstr "New client error" msgstr "New client error"
@@ -2321,7 +2321,7 @@ msgstr "Send test notification"
msgid "Series is tied" msgid "Series is tied"
msgstr "Series is tied" msgstr "Series is tied"
#: src/lib/telemetry/alerts.server.ts:159 #: src/lib/telemetry/alerts.server.ts:157
msgid "Server function failing" msgid "Server function failing"
msgstr "Server function failing" msgstr "Server function failing"
+8 -8
View File
@@ -105,7 +105,7 @@ msgid "{0} Badge Holders"
msgstr "Poseedores de la insignia {0}" msgstr "Poseedores de la insignia {0}"
#. placeholder {0}: recentErrors.totalItems #. placeholder {0}: recentErrors.totalItems
#: src/lib/telemetry/alerts.server.ts:110 #: src/lib/telemetry/alerts.server.ts:108
msgid "{0} client errors in the last 15 minutes" msgid "{0} client errors in the last 15 minutes"
msgstr "{0} errores de cliente en los últimos 15 minutos" msgstr "{0} errores de cliente en los últimos 15 minutos"
@@ -167,7 +167,7 @@ msgstr "{count, plural, one {Jugadores (#)} other {Jugadores (#)}}"
msgid "{count, plural, one {Teams (#)} other {Teams (#)}}" msgid "{count, plural, one {Teams (#)} other {Teams (#)}}"
msgstr "{count, plural, one {Equipos (#)} other {Equipos (#)}}" msgstr "{count, plural, one {Equipos (#)} other {Equipos (#)}}"
#: src/lib/telemetry/alerts.server.ts:173 #: src/lib/telemetry/alerts.server.ts:171
msgid "{deniedCount} denied admin access attempts in the last 15 minutes" msgid "{deniedCount} denied admin access attempts in the last 15 minutes"
msgstr "{deniedCount} intentos de acceso de administrador denegados en los últimos 15 minutos" msgstr "{deniedCount} intentos de acceso de administrador denegados en los últimos 15 minutos"
@@ -206,7 +206,7 @@ msgstr "{n, plural, one {# partido garantizado} other {# partidos garantizados}}
msgid "{n, plural, one {# wildcard} other {# wildcards}}" msgid "{n, plural, one {# wildcard} other {# wildcards}}"
msgstr "{n, plural, one {# comodín} other {# comodines}}" msgstr "{n, plural, one {# comodín} other {# comodines}}"
#: src/lib/telemetry/alerts.server.ts:160 #: src/lib/telemetry/alerts.server.ts:158
msgid "{name} failed {count} times in the last 15 minutes" msgid "{name} failed {count} times in the last 15 minutes"
msgstr "{name} falló {count} veces en los últimos 15 minutos" msgstr "{name} falló {count} veces en los últimos 15 minutos"
@@ -392,7 +392,7 @@ msgid "A code was sent to +1 ({0}) {1}-{2}"
msgstr "Se envió un código al +1 ({0}) {1}-{2}" msgstr "Se envió un código al +1 ({0}) {1}-{2}"
#. placeholder {0}: info.message.slice(0, 120) #. placeholder {0}: info.message.slice(0, 120)
#: src/lib/telemetry/alerts.server.ts:131 #: src/lib/telemetry/alerts.server.ts:129
msgid "A new error appeared: {0}" msgid "A new error appeared: {0}"
msgstr "Apareció un nuevo error: {0}" msgstr "Apareció un nuevo error: {0}"
@@ -718,7 +718,7 @@ msgstr "Plastilina"
msgid "Clear selected player" msgid "Clear selected player"
msgstr "Quitar jugador seleccionado" msgstr "Quitar jugador seleccionado"
#: src/lib/telemetry/alerts.server.ts:109 #: src/lib/telemetry/alerts.server.ts:107
msgid "Client error spike" msgid "Client error spike"
msgstr "Aumento de errores de cliente" msgstr "Aumento de errores de cliente"
@@ -908,7 +908,7 @@ msgstr "Mar Profundo"
msgid "Default" msgid "Default"
msgstr "Predeterminado" msgstr "Predeterminado"
#: src/lib/telemetry/alerts.server.ts:172 #: src/lib/telemetry/alerts.server.ts:170
msgid "Denied access attempt" msgid "Denied access attempt"
msgstr "Intento de acceso denegado" msgstr "Intento de acceso denegado"
@@ -1687,7 +1687,7 @@ msgstr "Nunca"
msgid "Never active" msgid "Never active"
msgstr "Nunca activo" msgstr "Nunca activo"
#: src/lib/telemetry/alerts.server.ts:130 #: src/lib/telemetry/alerts.server.ts:128
msgid "New client error" msgid "New client error"
msgstr "Nuevo error de cliente" msgstr "Nuevo error de cliente"
@@ -2321,7 +2321,7 @@ msgstr "Enviar notificación de prueba"
msgid "Series is tied" msgid "Series is tied"
msgstr "La serie está empatada" msgstr "La serie está empatada"
#: src/lib/telemetry/alerts.server.ts:159 #: src/lib/telemetry/alerts.server.ts:157
msgid "Server function failing" msgid "Server function failing"
msgstr "Función del servidor fallando" msgstr "Función del servidor fallando"
+8 -8
View File
@@ -105,7 +105,7 @@ msgid "{0} Badge Holders"
msgstr "{0}バッジ保有者" msgstr "{0}バッジ保有者"
#. placeholder {0}: recentErrors.totalItems #. placeholder {0}: recentErrors.totalItems
#: src/lib/telemetry/alerts.server.ts:110 #: src/lib/telemetry/alerts.server.ts:108
msgid "{0} client errors in the last 15 minutes" msgid "{0} client errors in the last 15 minutes"
msgstr "過去15分間に{0}件のクライアントエラーが発生しました" msgstr "過去15分間に{0}件のクライアントエラーが発生しました"
@@ -167,7 +167,7 @@ msgstr "{count, plural, one {プレイヤー(#)} other {プレイヤー(#
msgid "{count, plural, one {Teams (#)} other {Teams (#)}}" msgid "{count, plural, one {Teams (#)} other {Teams (#)}}"
msgstr "{count, plural, one {チーム(#)} other {チーム(#)}}" msgstr "{count, plural, one {チーム(#)} other {チーム(#)}}"
#: src/lib/telemetry/alerts.server.ts:173 #: src/lib/telemetry/alerts.server.ts:171
msgid "{deniedCount} denied admin access attempts in the last 15 minutes" msgid "{deniedCount} denied admin access attempts in the last 15 minutes"
msgstr "過去15分間に{deniedCount}件の管理者アクセス拒否がありました" msgstr "過去15分間に{deniedCount}件の管理者アクセス拒否がありました"
@@ -206,7 +206,7 @@ msgstr "{n, plural, one {#試合保証} other {#試合保証}}"
msgid "{n, plural, one {# wildcard} other {# wildcards}}" msgid "{n, plural, one {# wildcard} other {# wildcards}}"
msgstr "{n, plural, one {#ワイルドカード} other {#ワイルドカード}}" msgstr "{n, plural, one {#ワイルドカード} other {#ワイルドカード}}"
#: src/lib/telemetry/alerts.server.ts:160 #: src/lib/telemetry/alerts.server.ts:158
msgid "{name} failed {count} times in the last 15 minutes" msgid "{name} failed {count} times in the last 15 minutes"
msgstr "{name}が過去15分間に{count}回失敗しました" msgstr "{name}が過去15分間に{count}回失敗しました"
@@ -392,7 +392,7 @@ msgid "A code was sent to +1 ({0}) {1}-{2}"
msgstr "認証コードを +1 ({0}) {1}-{2} に送信しました" msgstr "認証コードを +1 ({0}) {1}-{2} に送信しました"
#. placeholder {0}: info.message.slice(0, 120) #. placeholder {0}: info.message.slice(0, 120)
#: src/lib/telemetry/alerts.server.ts:131 #: src/lib/telemetry/alerts.server.ts:129
msgid "A new error appeared: {0}" msgid "A new error appeared: {0}"
msgstr "新しいエラーが発生しました: {0}" msgstr "新しいエラーが発生しました: {0}"
@@ -718,7 +718,7 @@ msgstr "クレイ"
msgid "Clear selected player" msgid "Clear selected player"
msgstr "選択したプレイヤーを解除" msgstr "選択したプレイヤーを解除"
#: src/lib/telemetry/alerts.server.ts:109 #: src/lib/telemetry/alerts.server.ts:107
msgid "Client error spike" msgid "Client error spike"
msgstr "クライアントエラー急増" msgstr "クライアントエラー急増"
@@ -908,7 +908,7 @@ msgstr "深海"
msgid "Default" msgid "Default"
msgstr "デフォルト" msgstr "デフォルト"
#: src/lib/telemetry/alerts.server.ts:172 #: src/lib/telemetry/alerts.server.ts:170
msgid "Denied access attempt" msgid "Denied access attempt"
msgstr "アクセス拒否の試行" msgstr "アクセス拒否の試行"
@@ -1687,7 +1687,7 @@ msgstr "なし"
msgid "Never active" msgid "Never active"
msgstr "アクティビティなし" msgstr "アクティビティなし"
#: src/lib/telemetry/alerts.server.ts:130 #: src/lib/telemetry/alerts.server.ts:128
msgid "New client error" msgid "New client error"
msgstr "新しいクライアントエラー" msgstr "新しいクライアントエラー"
@@ -2321,7 +2321,7 @@ msgstr "テスト通知を送信"
msgid "Series is tied" msgid "Series is tied"
msgstr "シリーズはタイです" msgstr "シリーズはタイです"
#: src/lib/telemetry/alerts.server.ts:159 #: src/lib/telemetry/alerts.server.ts:157
msgid "Server function failing" msgid "Server function failing"
msgstr "サーバー関数が失敗しています" msgstr "サーバー関数が失敗しています"