diff --git a/packages/better-auth/src/init.ts b/packages/better-auth/src/init.ts index 764f13de..930e97b3 100644 --- a/packages/better-auth/src/init.ts +++ b/packages/better-auth/src/init.ts @@ -100,13 +100,17 @@ export const init = async (options: BetterAuthOptions) => { return generateId(size); }; - const { publish } = await createTelemetry(options, { - adapter: adapter.id, - database: - typeof options.database === "function" - ? "adapter" - : getKyselyDatabaseType(options.database) || "unknown", - }); + const { publish } = options.telemetry?.enabled + ? await createTelemetry(options, { + adapter: adapter.id, + database: + typeof options.database === "function" + ? "adapter" + : getKyselyDatabaseType(options.database) || "unknown", + }) + : { + publish: async () => {}, + }; let ctx: AuthContext = { appName: options.appName || "Better Auth", diff --git a/packages/better-auth/src/telemetry/index.ts b/packages/better-auth/src/telemetry/index.ts index 260be210..7325f5a7 100644 --- a/packages/better-auth/src/telemetry/index.ts +++ b/packages/better-auth/src/telemetry/index.ts @@ -5,7 +5,9 @@ let lazyImportCreateTelemetry: Promise< export const createTelemetry: typeof import("./create-telemetry").createTelemetry = async (...args) => { if (!lazyImportCreateTelemetry) { - lazyImportCreateTelemetry = import("./create-telemetry").then( + // keep esbuild from following dynamic import during bundling + const importPath = "./create-telemetry"; + lazyImportCreateTelemetry = import(importPath).then( (mod) => mod.createTelemetry, ); }