[PR #5654] [MERGED] fix: add undefined type for optional property types #6143

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

📋 Pull Request Information

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

Base: canaryHead: himself65/2025/10/28/type-fix


📝 Commits (4)

📊 Changes

174 files changed (+3971 additions, -3549 deletions)

View changed files

📝 packages/better-auth/src/adapters/adapter-factory/types.ts (+19 -14)
📝 packages/better-auth/src/adapters/create-test-suite.ts (+21 -15)
📝 packages/better-auth/src/adapters/drizzle-adapter/drizzle-adapter.ts (+6 -6)
📝 packages/better-auth/src/adapters/kysely-adapter/bun-sqlite-dialect.ts (+4 -2)
📝 packages/better-auth/src/adapters/kysely-adapter/kysely-adapter.ts (+6 -6)
📝 packages/better-auth/src/adapters/kysely-adapter/node-sqlite-dialect.ts (+4 -2)
📝 packages/better-auth/src/adapters/memory-adapter/memory-adapter.ts (+5 -2)
📝 packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts (+12 -6)
📝 packages/better-auth/src/adapters/prisma-adapter/prisma-adapter.ts (+11 -5)
📝 packages/better-auth/src/adapters/tests/auth-flow.ts (+1 -1)
📝 packages/better-auth/src/adapters/tests/performance.ts (+3 -1)
📝 packages/better-auth/src/api/rate-limiter/index.ts (+16 -6)
📝 packages/better-auth/src/api/routes/callback.ts (+1 -1)
📝 packages/better-auth/src/api/routes/email-verification.ts (+1 -1)
📝 packages/better-auth/src/api/routes/reset-password.ts (+2 -2)
📝 packages/better-auth/src/api/routes/session.ts (+7 -5)
📝 packages/better-auth/src/api/routes/sign-up.ts (+5 -5)
📝 packages/better-auth/src/api/routes/update-user.ts (+4 -4)
📝 packages/better-auth/src/api/to-auth-endpoints.ts (+5 -5)
📝 packages/better-auth/src/client/broadcast-channel.ts (+2 -2)

...and 80 more files

📄 Description

use ast-grep to replace all types


Summary by cubic

Explicitly added undefined to all optional properties and parameters across the codebase to align with TypeScript’s exactOptionalPropertyTypes and strict settings. Fixes type errors for consumers without changing runtime behavior.

  • Bug Fixes
    • Added | undefined to optional fields in adapters, client APIs, plugins, and tests.
    • Standardized function signatures (e.g., rate limiter, JWT, OIDC, API key, cookies) to accept undefined where optional.
    • Improved generics and unions for clearer output/where/select transforms and client hooks.
    • Updated tests to reflect new typings.

🔄 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/5654 **Author:** [@himself65](https://github.com/himself65) **Created:** 10/28/2025 **Status:** ✅ Merged **Merged:** 10/28/2025 **Merged by:** [@himself65](https://github.com/himself65) **Base:** `canary` ← **Head:** `himself65/2025/10/28/type-fix` --- ### 📝 Commits (4) - [`7abe20b`](https://github.com/better-auth/better-auth/commit/7abe20b9fdf6455736a0e3cd790f069bcaee0676) fix: add `undefined` type for optional property types - [`2edcec8`](https://github.com/better-auth/better-auth/commit/2edcec87db9f0355890f3bb19ee1b9782e3a7eca) revert - [`f1799f9`](https://github.com/better-auth/better-auth/commit/f1799f901b699f5a10c5a0e9680981ef9a2cb7aa) revert - [`1b51b85`](https://github.com/better-auth/better-auth/commit/1b51b85f6f088cff25e2bd0d081a476328328cd2) fix: typecheck ### 📊 Changes **174 files changed** (+3971 additions, -3549 deletions) <details> <summary>View changed files</summary> 📝 `packages/better-auth/src/adapters/adapter-factory/types.ts` (+19 -14) 📝 `packages/better-auth/src/adapters/create-test-suite.ts` (+21 -15) 📝 `packages/better-auth/src/adapters/drizzle-adapter/drizzle-adapter.ts` (+6 -6) 📝 `packages/better-auth/src/adapters/kysely-adapter/bun-sqlite-dialect.ts` (+4 -2) 📝 `packages/better-auth/src/adapters/kysely-adapter/kysely-adapter.ts` (+6 -6) 📝 `packages/better-auth/src/adapters/kysely-adapter/node-sqlite-dialect.ts` (+4 -2) 📝 `packages/better-auth/src/adapters/memory-adapter/memory-adapter.ts` (+5 -2) 📝 `packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts` (+12 -6) 📝 `packages/better-auth/src/adapters/prisma-adapter/prisma-adapter.ts` (+11 -5) 📝 `packages/better-auth/src/adapters/tests/auth-flow.ts` (+1 -1) 📝 `packages/better-auth/src/adapters/tests/performance.ts` (+3 -1) 📝 `packages/better-auth/src/api/rate-limiter/index.ts` (+16 -6) 📝 `packages/better-auth/src/api/routes/callback.ts` (+1 -1) 📝 `packages/better-auth/src/api/routes/email-verification.ts` (+1 -1) 📝 `packages/better-auth/src/api/routes/reset-password.ts` (+2 -2) 📝 `packages/better-auth/src/api/routes/session.ts` (+7 -5) 📝 `packages/better-auth/src/api/routes/sign-up.ts` (+5 -5) 📝 `packages/better-auth/src/api/routes/update-user.ts` (+4 -4) 📝 `packages/better-auth/src/api/to-auth-endpoints.ts` (+5 -5) 📝 `packages/better-auth/src/client/broadcast-channel.ts` (+2 -2) _...and 80 more files_ </details> ### 📄 Description use `ast-grep` to replace all types <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Explicitly added undefined to all optional properties and parameters across the codebase to align with TypeScript’s exactOptionalPropertyTypes and strict settings. Fixes type errors for consumers without changing runtime behavior. - **Bug Fixes** - Added | undefined to optional fields in adapters, client APIs, plugins, and tests. - Standardized function signatures (e.g., rate limiter, JWT, OIDC, API key, cookies) to accept undefined where optional. - Improved generics and unions for clearer output/where/select transforms and client hooks. - Updated tests to reflect new typings. <!-- 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:49:09 -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#6143