MCPcopy
hub / github.com/t3-oss/create-t3-app / betterAuthInstaller

Function betterAuthInstaller

cli/src/installers/betterAuth.ts:9–134  ·  view source on GitHub ↗
({
  projectDir,
  packages,
  databaseProvider,
  appRouter,
})

Source from the content-addressed store, hash-verified

7import { addPackageDependency } from "~/utils/addPackageDependency.js";
8
9export const betterAuthInstaller: Installer = ({
10 projectDir,
11 packages,
12 databaseProvider,
13 appRouter,
14}) => {
15 const usingPrisma = packages?.prisma.inUse;
16 const usingDrizzle = packages?.drizzle.inUse;
17
18 const deps: AvailableDependencies[] = ["better-auth"];
19 if (usingPrisma) deps.push("@auth/prisma-adapter");
20 if (usingDrizzle) deps.push("@auth/drizzle-adapter");
21
22 addPackageDependency({
23 projectDir,
24 dependencies: deps,
25 devMode: false,
26 });
27
28 const extrasDir = path.join(PKG_ROOT, "template/extras");
29
30 const isAppRouter = appRouter ?? true; // Default to app router if not specified
31
32 const apiHandlerFile = isAppRouter
33 ? "src/app/api/auth/[...all]/route.ts"
34 : "src/pages/api/auth/[...all].ts";
35
36 const apiHandlerSrc = path.join(extrasDir, apiHandlerFile);
37 const apiHandlerDest = path.join(projectDir, apiHandlerFile);
38
39 const authConfigSrc = path.join(
40 extrasDir,
41 "src/server/better-auth/config",
42 usingPrisma
43 ? "with-prisma.ts"
44 : usingDrizzle
45 ? "with-drizzle.ts"
46 : "base.ts"
47 );
48 const authConfigDest = path.join(
49 projectDir,
50 "src/server/better-auth/config.ts"
51 );
52
53 const authIndexSrc = path.join(extrasDir, "src/server/better-auth/index.ts");
54 const authIndexDest = path.join(
55 projectDir,
56 "src/server/better-auth/index.ts"
57 );
58
59 // Better Auth client and server helpers
60 const betterAuthClientSrc = path.join(
61 extrasDir,
62 "src/server/better-auth/client.ts"
63 );
64 const betterAuthClientDest = path.join(
65 projectDir,
66 "src/server/better-auth/client.ts"

Callers

nothing calls this directly

Calls 3

addPackageDependencyFunction · 0.85
providerForPrismaFunction · 0.85
providerForDrizzleFunction · 0.85

Tested by

no test coverage detected