better-auth
Version:
The most comprehensive authentication framework for TypeScript.
568 lines • 17.3 kB
JSON
{
"name": "better-auth",
"version": "1.4.9",
"description": "The most comprehensive authentication framework for TypeScript.",
"type": "module",
"license": "MIT",
"homepage": "https://better-auth.com",
"repository": {
"type": "git",
"url": "git+https://github.com/better-auth/better-auth.git",
"directory": "packages/better-auth"
},
"keywords": [
"auth",
"oauth",
"oidc",
"2fa",
"social",
"security",
"typescript",
"nextjs"
],
"publishConfig": {
"access": "public"
},
"files": [
"dist"
],
"main": "./dist/index.mjs",
"module": "./dist/index.mjs",
"types": "./dist/index.d.mts",
"exports": {
".": {
"dev-source": "./src/index.ts",
"types": "./dist/index.d.mts",
"default": "./dist/index.mjs"
},
"./minimal": {
"dev-source": "./src/auth/minimal.ts",
"types": "./dist/auth/minimal.d.mts",
"default": "./dist/auth/minimal.mjs"
},
"./social-providers": {
"dev-source": "./src/social-providers/index.ts",
"types": "./dist/social-providers/index.d.mts",
"default": "./dist/social-providers/index.mjs"
},
"./client": {
"dev-source": "./src/client/index.ts",
"types": "./dist/client/index.d.mts",
"default": "./dist/client/index.mjs"
},
"./client/plugins": {
"dev-source": "./src/client/plugins/index.ts",
"types": "./dist/client/plugins/index.d.mts",
"default": "./dist/client/plugins/index.mjs"
},
"./types": {
"dev-source": "./src/types/index.ts",
"types": "./dist/types/index.d.mts",
"default": "./dist/types/index.mjs"
},
"./crypto": {
"dev-source": "./src/crypto/index.ts",
"types": "./dist/crypto/index.d.mts",
"default": "./dist/crypto/index.mjs"
},
"./cookies": {
"dev-source": "./src/cookies/index.ts",
"types": "./dist/cookies/index.d.mts",
"default": "./dist/cookies/index.mjs"
},
"./oauth2": {
"dev-source": "./src/oauth2/index.ts",
"types": "./dist/oauth2/index.d.mts",
"default": "./dist/oauth2/index.mjs"
},
"./react": {
"dev-source": "./src/client/react/index.ts",
"types": "./dist/client/react/index.d.mts",
"default": "./dist/client/react/index.mjs"
},
"./solid": {
"dev-source": "./src/client/solid/index.ts",
"types": "./dist/client/solid/index.d.mts",
"default": "./dist/client/solid/index.mjs"
},
"./lynx": {
"dev-source": "./src/client/lynx/index.ts",
"types": "./dist/client/lynx/index.d.mts",
"default": "./dist/client/lynx/index.mjs"
},
"./test": {
"dev-source": "./src/test-utils/index.ts",
"types": "./dist/test-utils/index.d.mts",
"default": "./dist/test-utils/index.mjs"
},
"./api": {
"dev-source": "./src/api/index.ts",
"types": "./dist/api/index.d.mts",
"default": "./dist/api/index.mjs"
},
"./db": {
"dev-source": "./src/db/index.ts",
"types": "./dist/db/index.d.mts",
"default": "./dist/db/index.mjs"
},
"./vue": {
"dev-source": "./src/client/vue/index.ts",
"types": "./dist/client/vue/index.d.mts",
"default": "./dist/client/vue/index.mjs"
},
"./plugins": {
"dev-source": "./src/plugins/index.ts",
"types": "./dist/plugins/index.d.mts",
"default": "./dist/plugins/index.mjs"
},
"./svelte-kit": {
"dev-source": "./src/integrations/svelte-kit.ts",
"types": "./dist/integrations/svelte-kit.d.mts",
"default": "./dist/integrations/svelte-kit.mjs"
},
"./solid-start": {
"dev-source": "./src/integrations/solid-start.ts",
"types": "./dist/integrations/solid-start.d.mts",
"default": "./dist/integrations/solid-start.mjs"
},
"./svelte": {
"dev-source": "./src/client/svelte/index.ts",
"types": "./dist/client/svelte/index.d.mts",
"default": "./dist/client/svelte/index.mjs"
},
"./next-js": {
"dev-source": "./src/integrations/next-js.ts",
"types": "./dist/integrations/next-js.d.mts",
"default": "./dist/integrations/next-js.mjs"
},
"./tanstack-start": {
"dev-source": "./src/integrations/tanstack-start.ts",
"types": "./dist/integrations/tanstack-start.d.mts",
"default": "./dist/integrations/tanstack-start.mjs"
},
"./node": {
"dev-source": "./src/integrations/node.ts",
"types": "./dist/integrations/node.d.mts",
"default": "./dist/integrations/node.mjs"
},
"./adapters/prisma": {
"dev-source": "./src/adapters/prisma-adapter/index.ts",
"types": "./dist/adapters/prisma-adapter/index.d.mts",
"default": "./dist/adapters/prisma-adapter/index.mjs"
},
"./adapters/drizzle": {
"dev-source": "./src/adapters/drizzle-adapter/index.ts",
"types": "./dist/adapters/drizzle-adapter/index.d.mts",
"default": "./dist/adapters/drizzle-adapter/index.mjs"
},
"./adapters/mongodb": {
"dev-source": "./src/adapters/mongodb-adapter/index.ts",
"types": "./dist/adapters/mongodb-adapter/index.d.mts",
"default": "./dist/adapters/mongodb-adapter/index.mjs"
},
"./adapters/memory": {
"dev-source": "./src/adapters/memory-adapter/index.ts",
"types": "./dist/adapters/memory-adapter/index.d.mts",
"default": "./dist/adapters/memory-adapter/index.mjs"
},
"./adapters/test": {
"dev-source": "./src/adapters/test.ts",
"types": "./dist/adapters/test.d.mts",
"default": "./dist/adapters/test.mjs"
},
"./adapters": {
"dev-source": "./src/adapters/index.ts",
"types": "./dist/adapters/index.d.mts",
"default": "./dist/adapters/index.mjs"
},
"./plugins/access": {
"dev-source": "./src/plugins/access/index.ts",
"types": "./dist/plugins/access/index.d.mts",
"default": "./dist/plugins/access/index.mjs"
},
"./plugins/admin": {
"dev-source": "./src/plugins/admin/index.ts",
"types": "./dist/plugins/admin/index.d.mts",
"default": "./dist/plugins/admin/index.mjs"
},
"./plugins/admin/access": {
"dev-source": "./src/plugins/admin/access/index.ts",
"types": "./dist/plugins/admin/access/index.d.mts",
"default": "./dist/plugins/admin/access/index.mjs"
},
"./plugins/anonymous": {
"dev-source": "./src/plugins/anonymous/index.ts",
"types": "./dist/plugins/anonymous/index.d.mts",
"default": "./dist/plugins/anonymous/index.mjs"
},
"./plugins/bearer": {
"dev-source": "./src/plugins/bearer/index.ts",
"types": "./dist/plugins/bearer/index.d.mts",
"default": "./dist/plugins/bearer/index.mjs"
},
"./plugins/custom-session": {
"dev-source": "./src/plugins/custom-session/index.ts",
"types": "./dist/plugins/custom-session/index.d.mts",
"default": "./dist/plugins/custom-session/index.mjs"
},
"./plugins/email-otp": {
"dev-source": "./src/plugins/email-otp/index.ts",
"types": "./dist/plugins/email-otp/index.d.mts",
"default": "./dist/plugins/email-otp/index.mjs"
},
"./plugins/generic-oauth": {
"dev-source": "./src/plugins/generic-oauth/index.ts",
"types": "./dist/plugins/generic-oauth/index.d.mts",
"default": "./dist/plugins/generic-oauth/index.mjs"
},
"./plugins/jwt": {
"dev-source": "./src/plugins/jwt/index.ts",
"types": "./dist/plugins/jwt/index.d.mts",
"default": "./dist/plugins/jwt/index.mjs"
},
"./plugins/haveibeenpwned": {
"dev-source": "./src/plugins/haveibeenpwned/index.ts",
"types": "./dist/plugins/haveibeenpwned/index.d.mts",
"default": "./dist/plugins/haveibeenpwned/index.mjs"
},
"./plugins/oidc-provider": {
"dev-source": "./src/plugins/oidc-provider/index.ts",
"types": "./dist/plugins/oidc-provider/index.d.mts",
"default": "./dist/plugins/oidc-provider/index.mjs"
},
"./plugins/magic-link": {
"dev-source": "./src/plugins/magic-link/index.ts",
"types": "./dist/plugins/magic-link/index.d.mts",
"default": "./dist/plugins/magic-link/index.mjs"
},
"./plugins/multi-session": {
"dev-source": "./src/plugins/multi-session/index.ts",
"types": "./dist/plugins/multi-session/index.d.mts",
"default": "./dist/plugins/multi-session/index.mjs"
},
"./plugins/oauth-proxy": {
"dev-source": "./src/plugins/oauth-proxy/index.ts",
"types": "./dist/plugins/oauth-proxy/index.d.mts",
"default": "./dist/plugins/oauth-proxy/index.mjs"
},
"./plugins/organization": {
"dev-source": "./src/plugins/organization/index.ts",
"types": "./dist/plugins/organization/index.d.mts",
"default": "./dist/plugins/organization/index.mjs"
},
"./plugins/organization/access": {
"dev-source": "./src/plugins/organization/access/index.ts",
"types": "./dist/plugins/organization/access/index.d.mts",
"default": "./dist/plugins/organization/access/index.mjs"
},
"./plugins/one-time-token": {
"dev-source": "./src/plugins/one-time-token/index.ts",
"types": "./dist/plugins/one-time-token/index.d.mts",
"default": "./dist/plugins/one-time-token/index.mjs"
},
"./plugins/phone-number": {
"dev-source": "./src/plugins/phone-number/index.ts",
"types": "./dist/plugins/phone-number/index.d.mts",
"default": "./dist/plugins/phone-number/index.mjs"
},
"./plugins/two-factor": {
"dev-source": "./src/plugins/two-factor/index.ts",
"types": "./dist/plugins/two-factor/index.d.mts",
"default": "./dist/plugins/two-factor/index.mjs"
},
"./plugins/username": {
"dev-source": "./src/plugins/username/index.ts",
"types": "./dist/plugins/username/index.d.mts",
"default": "./dist/plugins/username/index.mjs"
},
"./plugins/siwe": {
"dev-source": "./src/plugins/siwe/index.ts",
"types": "./dist/plugins/siwe/index.d.mts",
"default": "./dist/plugins/siwe/index.mjs"
},
"./plugins/device-authorization": {
"dev-source": "./src/plugins/device-authorization/index.ts",
"types": "./dist/plugins/device-authorization/index.d.mts",
"default": "./dist/plugins/device-authorization/index.mjs"
}
},
"typesVersions": {
"*": {
"*": [
"./dist/index.d.mts"
],
"minimal": [
"./dist/auth/minimal.d.mts"
],
"node": [
"./dist/integrations/node.d.mts"
],
"react": [
"./dist/client/react/index.d.mts"
],
"vue": [
"./dist/client/vue/index.d.mts"
],
"svelte": [
"./dist/client/svelte/index.d.mts"
],
"social-providers": [
"./dist/social-providers/index.d.mts"
],
"client": [
"./dist/client/index.d.mts"
],
"client/plugins": [
"./dist/client/plugins/index.d.mts"
],
"types": [
"./dist/types/index.d.mts"
],
"crypto": [
"./dist/crypto/index.d.mts"
],
"cookies": [
"./dist/cookies/index.d.mts"
],
"oauth2": [
"./dist/oauth2/index.d.mts"
],
"solid": [
"./dist/client/solid/index.d.mts"
],
"lynx": [
"./dist/client/lynx/index.d.mts"
],
"api": [
"./dist/api/index.d.mts"
],
"db": [
"./dist/db/index.d.mts"
],
"svelte-kit": [
"./dist/integrations/svelte-kit.d.mts"
],
"solid-start": [
"./dist/integrations/solid-start.d.mts"
],
"next-js": [
"./dist/integrations/next-js.d.mts"
],
"tanstack-start": [
"./dist/integrations/tanstack-start.d.mts"
],
"adapters": [
"./dist/adapters/index.d.mts"
],
"adapters/prisma": [
"./dist/adapters/prisma-adapter/index.d.mts"
],
"adapters/drizzle": [
"./dist/adapters/drizzle-adapter/index.d.mts"
],
"adapters/mongodb": [
"./dist/adapters/mongodb-adapter/index.d.mts"
],
"adapters/memory": [
"./dist/adapters/memory-adapter/index.d.mts"
],
"plugins": [
"./dist/plugins/index.d.mts"
],
"plugins/access": [
"./dist/plugins/access/index.d.mts"
],
"plugins/admin": [
"./dist/plugins/admin/index.d.mts"
],
"plugins/admin/access": [
"./dist/plugins/admin/access/index.d.mts"
],
"plugins/anonymous": [
"./dist/plugins/anonymous/index.d.mts"
],
"plugins/bearer": [
"./dist/plugins/bearer/index.d.mts"
],
"plugins/custom-session": [
"./dist/plugins/custom-session/index.d.mts"
],
"plugins/email-otp": [
"./dist/plugins/email-otp/index.d.mts"
],
"plugins/generic-oauth": [
"./dist/plugins/generic-oauth/index.d.mts"
],
"plugins/haveibeenpwned": [
"./dist/plugins/haveibeenpwned/index.d.mts"
],
"plugins/oauth-proxy": [
"./dist/plugins/oauth-proxy/index.d.mts"
],
"plugins/one-time-token": [
"./dist/plugins/one-time-token/index.d.mts"
],
"plugins/oidc-provider": [
"./dist/plugins/oidc-provider/index.d.mts"
],
"plugins/jwt": [
"./dist/plugins/jwt/index.d.mts"
],
"plugins/magic-link": [
"./dist/plugins/magic-link/index.d.mts"
],
"plugins/organization": [
"./dist/plugins/organization/index.d.mts"
],
"plugins/organization/access": [
"./dist/plugins/organization/access/index.d.mts"
],
"plugins/phone-number": [
"./dist/plugins/phone-number/index.d.mts"
],
"plugins/two-factor": [
"./dist/plugins/two-factor/index.d.mts"
],
"plugins/username": [
"./dist/plugins/username/index.d.mts"
],
"plugins/siwe": [
"./dist/plugins/siwe/index.d.mts"
],
"plugins/device-authorization": [
"./dist/plugins/device-authorization/index.d.mts"
]
}
},
"dependencies": {
"@better-auth/utils": "0.3.0",
"@better-fetch/fetch": "1.1.21",
"@noble/ciphers": "^2.0.0",
"@noble/hashes": "^2.0.0",
"better-call": "1.1.7",
"defu": "^6.1.4",
"jose": "^6.1.0",
"kysely": "^0.28.5",
"nanostores": "^1.0.1",
"zod": "^4.1.12",
"@better-auth/core": "1.4.9",
"@better-auth/telemetry": "1.4.9"
},
"devDependencies": {
"@lynx-js/react": "^0.114.0",
"@prisma/client": "^5.22.0",
"@sveltejs/kit": "^2.37.1",
"@types/better-sqlite3": "^7.6.13",
"@types/bun": "^1.3.3",
"@types/pg": "^8.15.5",
"@types/react": "^19.2.0",
"better-sqlite3": "^12.4.1",
"deepmerge": "^4.3.1",
"drizzle-kit": "^0.31.4",
"drizzle-orm": "^0.41.0",
"happy-dom": "^20.0.10",
"listhen": "^1.9.0",
"mongodb": "^6.18.0",
"msw": "^2.12.4",
"mysql2": "^3.14.4",
"next": "^16.0.10",
"oauth2-mock-server": "^7.2.1",
"pg": "^8.16.3",
"prisma": "^5.22.0",
"react": "^19.2.3",
"react-dom": "^19.2.3",
"solid-js": "^1.9.8",
"tarn": "^3.0.2",
"tedious": "^18.6.1",
"tsdown": "^0.17.2",
"type-fest": "^5.2.0",
"typescript": "^5.9.3",
"vitest": "^4.0.15",
"vue": "^3.5.18"
},
"peerDependencies": {
"@lynx-js/react": "*",
"@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0",
"@sveltejs/kit": "^2.0.0",
"@tanstack/react-start": "^1.0.0",
"better-sqlite3": "^12.0.0",
"drizzle-kit": ">=0.31.4",
"drizzle-orm": ">=0.41.0",
"mongodb": "^6.0.0 || ^7.0.0",
"mysql2": "^3.0.0",
"next": "^14.0.0 || ^15.0.0 || ^16.0.0",
"pg": "^8.0.0",
"prisma": "^5.0.0 || ^6.0.0 || ^7.0.0",
"react": "^18.0.0 || ^19.0.0",
"react-dom": "^18.0.0 || ^19.0.0",
"solid-js": "^1.0.0",
"svelte": "^4.0.0 || ^5.0.0",
"vitest": "^2.0.0 || ^3.0.0 || ^4.0.0",
"vue": "^3.0.0"
},
"peerDependenciesMeta": {
"@lynx-js/react": {
"optional": true
},
"@prisma/client": {
"optional": true
},
"@sveltejs/kit": {
"optional": true
},
"@tanstack/react-start": {
"optional": true
},
"next": {
"optional": true
},
"react": {
"optional": true
},
"react-dom": {
"optional": true
},
"solid-js": {
"optional": true
},
"svelte": {
"optional": true
},
"vue": {
"optional": true
},
"drizzle-kit": {
"optional": true
},
"drizzle-orm": {
"optional": true
},
"mongodb": {
"optional": true
},
"mysql2": {
"optional": true
},
"pg": {
"optional": true
},
"prisma": {
"optional": true
},
"better-sqlite3": {
"optional": true
},
"vitest": {
"optional": true
}
},
"scripts": {
"build": "tsdown",
"test": "vitest",
"coverage": "vitest run --coverage",
"lint:package": "publint run --strict",
"lint:types": "attw --profile esm-only --pack .",
"test:adapters": "vitest run --config vitest.config.adapters.ts",
"typecheck": "tsc --project tsconfig.json"
}
}