From fa28266badbb5ca31f0932a88b146f76f76649e4 Mon Sep 17 00:00:00 2001 From: Michael Freno Date: Wed, 7 Jan 2026 20:34:23 -0500 Subject: [PATCH] revert bundle change --- app.config.ts | 25 ++++++++++++++++++++++++- src/server/api/routers/analytics.ts | 10 ++++------ src/server/api/routers/user.ts | 17 +++++++++++------ src/server/utils.ts | 15 ++++++++++++++- 4 files changed, 53 insertions(+), 14 deletions(-) diff --git a/app.config.ts b/app.config.ts index 44f2736..1188e92 100644 --- a/app.config.ts +++ b/app.config.ts @@ -3,7 +3,30 @@ import tailwindcss from "@tailwindcss/vite"; export default defineConfig({ vite: { - plugins: [tailwindcss()] + plugins: [tailwindcss()], + build: { + rollupOptions: { + output: { + manualChunks: (id) => { + // Bundle highlight.js and lowlight together + if (id.includes("highlight.js") || id.includes("lowlight")) { + return "highlight"; + } + // Bundle Mermaid separately (large library, only used on some posts) + if (id.includes("mermaid")) { + return "mermaid"; + } + // Bundle all Tiptap extensions together (only used in editor) + if (id.includes("@tiptap") || id.includes("solid-tiptap")) { + return "tiptap"; + } + if (id.includes("motion") || id.includes("@motionone")) { + return "motion"; + } + } + } + } + } }, server: { preset: "vercel" diff --git a/src/server/api/routers/analytics.ts b/src/server/api/routers/analytics.ts index 8f9c138..8e9af09 100644 --- a/src/server/api/routers/analytics.ts +++ b/src/server/api/routers/analytics.ts @@ -6,9 +6,12 @@ import { getPathAnalytics, cleanupOldAnalytics, logVisit, - getPerformanceStats + getPerformanceStats, + enrichAnalyticsEntry } from "~/server/analytics"; import { ConnectionFactory } from "~/server/database"; +import { v4 as uuid } from "uuid"; +import { getRequestIP, getCookie } from "vinxi/http"; export const analyticsRouter = createTRPCRouter({ logPerformance: publicProcedure @@ -66,9 +69,6 @@ export const analyticsRouter = createTRPCRouter({ action: "updated" }; } else { - const { v4: uuid } = await import("uuid"); - const { enrichAnalyticsEntry } = await import("~/server/analytics"); - const req = ctx.event.nativeEvent.node?.req || ctx.event.nativeEvent; const userAgent = req.headers?.["user-agent"] || @@ -79,9 +79,7 @@ export const analyticsRouter = createTRPCRouter({ req.headers?.referrer || ctx.event.request?.headers?.get("referer") || undefined; - const { getRequestIP } = await import("vinxi/http"); const ipAddress = getRequestIP(ctx.event.nativeEvent) || undefined; - const { getCookie } = await import("vinxi/http"); const sessionId = getCookie(ctx.event.nativeEvent, "session_id") || undefined; diff --git a/src/server/api/routers/user.ts b/src/server/api/routers/user.ts index 3c839c4..148b111 100644 --- a/src/server/api/routers/user.ts +++ b/src/server/api/routers/user.ts @@ -9,6 +9,17 @@ import { z } from "zod"; import { getAuthSession } from "~/server/session-helpers"; import { logAuditEvent } from "~/server/audit"; import { getClientIP, getUserAgent } from "~/server/security"; +import { generatePasswordSetEmail } from "~/server/email-templates"; +import { formatDeviceDescription } from "~/server/device-utils"; +import sendEmail from "~/server/email"; +import { + updateEmailSchema, + updateDisplayNameSchema, + updateProfileImageSchema, + changePasswordSchema, + setPasswordSchema, + deleteAccountSchema +} from "../schemas/user"; export const userRouter = createTRPCRouter({ getProfile: publicProcedure.query(async ({ ctx }) => { @@ -242,12 +253,6 @@ export const userRouter = createTRPCRouter({ // Send email notification about password being set if (user.email) { try { - const { generatePasswordSetEmail } = - await import("~/server/email-templates"); - const { formatDeviceDescription } = - await import("~/server/device-utils"); - const { default: sendEmail } = await import("~/server/email"); - const h3Event = ctx.event.nativeEvent ? ctx.event.nativeEvent : (ctx.event as any); diff --git a/src/server/utils.ts b/src/server/utils.ts index eb5b24f..973dcfa 100644 --- a/src/server/utils.ts +++ b/src/server/utils.ts @@ -1,4 +1,17 @@ -export { checkAuthStatus, validateLineageRequest } from "./auth"; +// Dynamic import to avoid bundler warnings - auth.ts is already dynamically imported elsewhere +export async function checkAuthStatus( + ...args: Parameters +) { + const { checkAuthStatus: fn } = await import("./auth"); + return fn(...args); +} + +export async function validateLineageRequest( + ...args: Parameters +) { + const { validateLineageRequest: fn } = await import("./auth"); + return fn(...args); +} export { ConnectionFactory,