[PR #5176] [MERGED] refactor: move BetterAuthOptions, BetterAuthPlugin, AuthContext types to core #5826

Closed
opened 2026-03-13 12:37:50 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/5176
Author: @himself65
Created: 10/9/2025
Status: Merged
Merged: 10/9/2025
Merged by: @himself65

Base: canaryHead: himself65/2025/10/08/refactor-type


📝 Commits (6)

📊 Changes

147 files changed (+2424 additions, -1971 deletions)

View changed files

📝 packages/better-auth/src/adapters/adapter-factory/index.ts (+17 -13)
📝 packages/better-auth/src/adapters/adapter-factory/test/adapter-factory.test.ts (+3 -2)
📝 packages/better-auth/src/adapters/adapter-factory/types.ts (+21 -274)
📝 packages/better-auth/src/adapters/create-test-suite.ts (+8 -7)
📝 packages/better-auth/src/adapters/drizzle-adapter/drizzle-adapter.ts (+7 -3)
📝 packages/better-auth/src/adapters/drizzle-adapter/test/generate-schema.ts (+3 -2)
📝 packages/better-auth/src/adapters/kysely-adapter/dialect.ts (+1 -1)
📝 packages/better-auth/src/adapters/kysely-adapter/kysely-adapter.ts (+7 -3)
📝 packages/better-auth/src/adapters/kysely-adapter/test/adapter.kysely.mssql.test.ts (+1 -1)
📝 packages/better-auth/src/adapters/kysely-adapter/test/adapter.kysely.pg.test.ts (+1 -1)
📝 packages/better-auth/src/adapters/kysely-adapter/test/node-sqlite-dialect.test.ts (+1 -1)
📝 packages/better-auth/src/adapters/memory-adapter/memory-adapter.ts (+6 -3)
📝 packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts (+10 -4)
📝 packages/better-auth/src/adapters/prisma-adapter/prisma-adapter.ts (+7 -3)
📝 packages/better-auth/src/adapters/prisma-adapter/test/generate-auth-config.ts (+1 -1)
📝 packages/better-auth/src/adapters/prisma-adapter/test/generate-prisma-schema.ts (+3 -2)
📝 packages/better-auth/src/adapters/prisma-adapter/test/prisma.mysql.test.ts (+1 -1)
📝 packages/better-auth/src/adapters/prisma-adapter/test/prisma.pg.test.ts (+1 -1)
📝 packages/better-auth/src/adapters/prisma-adapter/test/prisma.sqlite.test.ts (+1 -1)
📝 packages/better-auth/src/adapters/test-adapter.ts (+7 -6)

...and 80 more files

📄 Description

Summary by cubic

Centralized core types and standardized the adapter API. Moved BetterAuthOptions, BetterAuthPlugin, and AuthContext (now generic) to @better-auth/core, and replaced the legacy Adapter with DBAdapter across the codebase.

  • Refactors

    • Introduced @better-auth/core/db/adapter with DBAdapter, DBTransactionAdapter, Where, and schema creation types.
    • Added @better-auth/core types: AuthContext, GenericEndpointContext, InternalAdapter, BetterAuthCookies, and BetterAuthRateLimitOptions.
    • Made AuthContext and GenericEndpointContext generic: AuthContext.
    • Updated all adapters and tests to use DBAdapter and core Where/CleanedWhere.
    • Consolidated rate limit and cookie types into core; updated imports project-wide.
    • Removed deprecated social-providers comment; no runtime behavior changes intended.
  • Migration

    • Replace imports:
      • AuthContext, GenericEndpointContext, InternalAdapter, BetterAuthCookies, BetterAuthRateLimitOptions → from @better-auth/core.
      • DBAdapter, DBTransactionAdapter, Where, CleanedWhere → from @better-auth/core/db/adapter.
    • Replace Adapter with DBAdapter in adapter factories, tests, and utilities.
    • Use AuthContext and GenericEndpointContext in endpoints, middlewares, and plugins.
    • If consuming BetterAuthCookies or rate limit options, import from core instead of local types.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/better-auth/better-auth/pull/5176 **Author:** [@himself65](https://github.com/himself65) **Created:** 10/9/2025 **Status:** ✅ Merged **Merged:** 10/9/2025 **Merged by:** [@himself65](https://github.com/himself65) **Base:** `canary` ← **Head:** `himself65/2025/10/08/refactor-type` --- ### 📝 Commits (6) - [`1436c6c`](https://github.com/better-auth/better-auth/commit/1436c6c86e3c9fdb6c8a1906fd377250d25aca68) refactor: move types to core - [`8f3473a`](https://github.com/better-auth/better-auth/commit/8f3473a130da6c61ce7e8e2790861b4d7e699f8a) fix: type - [`a92d908`](https://github.com/better-auth/better-auth/commit/a92d9086e902b3ca7bda69f1a09c1c5889b7910a) fix: adapter - [`ce29f7b`](https://github.com/better-auth/better-auth/commit/ce29f7ba6c52bd2c017d735903f01d8ae13e3ed8) fix: type - [`d61c929`](https://github.com/better-auth/better-auth/commit/d61c929de250ba73109001c63c8f4384925f00f1) fix: use options - [`d8d307f`](https://github.com/better-auth/better-auth/commit/d8d307f99f5298869900f7a9a1f150175b23a998) fix: ctx ### 📊 Changes **147 files changed** (+2424 additions, -1971 deletions) <details> <summary>View changed files</summary> 📝 `packages/better-auth/src/adapters/adapter-factory/index.ts` (+17 -13) 📝 `packages/better-auth/src/adapters/adapter-factory/test/adapter-factory.test.ts` (+3 -2) 📝 `packages/better-auth/src/adapters/adapter-factory/types.ts` (+21 -274) 📝 `packages/better-auth/src/adapters/create-test-suite.ts` (+8 -7) 📝 `packages/better-auth/src/adapters/drizzle-adapter/drizzle-adapter.ts` (+7 -3) 📝 `packages/better-auth/src/adapters/drizzle-adapter/test/generate-schema.ts` (+3 -2) 📝 `packages/better-auth/src/adapters/kysely-adapter/dialect.ts` (+1 -1) 📝 `packages/better-auth/src/adapters/kysely-adapter/kysely-adapter.ts` (+7 -3) 📝 `packages/better-auth/src/adapters/kysely-adapter/test/adapter.kysely.mssql.test.ts` (+1 -1) 📝 `packages/better-auth/src/adapters/kysely-adapter/test/adapter.kysely.pg.test.ts` (+1 -1) 📝 `packages/better-auth/src/adapters/kysely-adapter/test/node-sqlite-dialect.test.ts` (+1 -1) 📝 `packages/better-auth/src/adapters/memory-adapter/memory-adapter.ts` (+6 -3) 📝 `packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts` (+10 -4) 📝 `packages/better-auth/src/adapters/prisma-adapter/prisma-adapter.ts` (+7 -3) 📝 `packages/better-auth/src/adapters/prisma-adapter/test/generate-auth-config.ts` (+1 -1) 📝 `packages/better-auth/src/adapters/prisma-adapter/test/generate-prisma-schema.ts` (+3 -2) 📝 `packages/better-auth/src/adapters/prisma-adapter/test/prisma.mysql.test.ts` (+1 -1) 📝 `packages/better-auth/src/adapters/prisma-adapter/test/prisma.pg.test.ts` (+1 -1) 📝 `packages/better-auth/src/adapters/prisma-adapter/test/prisma.sqlite.test.ts` (+1 -1) 📝 `packages/better-auth/src/adapters/test-adapter.ts` (+7 -6) _...and 80 more files_ </details> ### 📄 Description <!-- This is an auto-generated description by cubic. --> ## Summary by cubic Centralized core types and standardized the adapter API. Moved BetterAuthOptions, BetterAuthPlugin, and AuthContext (now generic) to @better-auth/core, and replaced the legacy Adapter with DBAdapter across the codebase. - **Refactors** - Introduced @better-auth/core/db/adapter with DBAdapter, DBTransactionAdapter, Where, and schema creation types. - Added @better-auth/core types: AuthContext, GenericEndpointContext, InternalAdapter, BetterAuthCookies, and BetterAuthRateLimitOptions. - Made AuthContext and GenericEndpointContext generic: AuthContext<BetterAuthOptions>. - Updated all adapters and tests to use DBAdapter<BetterAuthOptions> and core Where/CleanedWhere. - Consolidated rate limit and cookie types into core; updated imports project-wide. - Removed deprecated social-providers comment; no runtime behavior changes intended. - **Migration** - Replace imports: - AuthContext, GenericEndpointContext, InternalAdapter, BetterAuthCookies, BetterAuthRateLimitOptions → from @better-auth/core. - DBAdapter, DBTransactionAdapter, Where, CleanedWhere → from @better-auth/core/db/adapter. - Replace Adapter with DBAdapter<BetterAuthOptions> in adapter factories, tests, and utilities. - Use AuthContext<BetterAuthOptions> and GenericEndpointContext<BetterAuthOptions> in endpoints, middlewares, and plugins. - If consuming BetterAuthCookies or rate limit options, import from core instead of local types. <!-- End of auto-generated description by cubic. --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-03-13 12:37:50 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/better-auth#5826