{"_id":"@banata-auth/convex","name":"@banata-auth/convex","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@banata-auth/convex","version":"0.1.0","private":false,"license":"MIT","type":"module","description":"Convex backend integration for Banata Auth — auth factory, plugins, triggers, and database schema","repository":{"type":"git","url":"git+https://github.com/banata-auth/banata-auth.git","directory":"packages/convex"},"homepage":"https://auth-docs.banata.dev/docs/convex","keywords":["banata-auth","auth","convex","better-auth","plugins","sso","rbac","webhooks"],"publishConfig":{"access":"public"},"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./auth-config":{"types":"./dist/auth-config.d.ts","import":"./dist/auth-config.js","default":"./dist/auth-config.js"},"./adapter":{"types":"./dist/component/adapter.d.ts","import":"./dist/component/adapter.js","default":"./dist/component/adapter.js"},"./http":{"types":"./dist/http.d.ts","import":"./dist/http.js","default":"./dist/http.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js","default":"./dist/node.js"},"./triggers":{"types":"./dist/triggers.d.ts","import":"./dist/triggers.js","default":"./dist/triggers.js"},"./plugins":{"types":"./dist/plugins/index.d.ts","import":"./dist/plugins/index.js","default":"./dist/plugins/index.js"},"./convex.config":{"import":"./src/component/convex.config.ts"},"./schema":{"import":"./src/component/schema.ts"}},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsup && tsc","dev":"tsup --watch","typecheck":"tsc --noEmit","test":"vitest run --passWithNoTests","prepublishOnly":"bun run build","clean":"rm -rf dist .turbo"},"dependencies":{"@better-auth/passkey":"^1.4.9","@better-auth/scim":"^1.4.20","@better-auth/sso":"^1.4.20","@convex-dev/better-auth":"^0.10.13","@banata-auth/shared":"workspace:*","zod":"^3.23.0"},"peerDependencies":{"better-auth":">=1.4.9 <2.0.0","convex":"^1.25.0"},"devDependencies":{"better-auth":"^1.4.9","convex":"^1.25.0","tsup":"^8.3.0","typescript":"^5.7.0","vitest":"^3.0.0"},"_id":"@banata-auth/convex@0.1.0","bugs":{"url":"https://github.com/banata-auth/banata-auth/issues"},"_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-hbErhyixwbtfsB/1bA4/57txIJcOTkKhihTh2VOsB3hq9uttYAYGSghgFYKhHi0tx9PGFXZXDrCo5fgKY+De5Q==","shasum":"e971f9c733490c9e2f792fc3544a1a02d2d4f464","tarball":"https://registry.npmjs.org/@banata-auth/convex/-/convex-0.1.0.tgz","fileCount":72,"unpackedSize":3698516,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBhjrBxlJkuFJAJrf5lNGDPqGH/QTWHD9eCRHKfSgG5IAiBrpYx/IK9I6iDcqDE5s7Bl+lZv7JDBZtxBYz3PGLt/Ng=="}]},"_npmUser":{"name":"banata_labs","email":"banatalabs@banata.dev"},"directories":{},"maintainers":[{"name":"banata_labs","email":"banatalabs@banata.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/convex_0.1.0_1772876355054_0.45518043825718535"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-07T09:39:15.004Z","0.1.0":"2026-03-07T09:39:15.281Z","modified":"2026-03-07T09:39:15.452Z"},"maintainers":[{"name":"banata_labs","email":"banatalabs@banata.dev"}],"description":"Convex backend integration for Banata Auth — auth factory, plugins, triggers, and database schema","homepage":"https://auth-docs.banata.dev/docs/convex","keywords":["banata-auth","auth","convex","better-auth","plugins","sso","rbac","webhooks"],"repository":{"type":"git","url":"git+https://github.com/banata-auth/banata-auth.git","directory":"packages/convex"},"bugs":{"url":"https://github.com/banata-auth/banata-auth/issues"},"license":"MIT","readme":"# @banata-auth/convex\n\nConvex backend integration for Banata Auth -- auth factory, plugins, triggers, and database schema.\n\n## Installation\n\n```bash\nnpm install @banata-auth/convex\n```\n\n## Quick start\n\n### 1. Define your schema\n\n```ts\n// convex/banataAuth/schema.ts\nexport { default } from \"@banata-auth/convex/schema\";\n```\n\n### 2. Create the auth component and instance\n\n```ts\n// convex/banataAuth/auth.ts\nimport {\n  createBanataAuth,\n  createBanataAuthComponent,\n  createBanataAuthOptions,\n  type BanataAuthConfig,\n} from \"@banata-auth/convex\";\nimport type { GenericCtx } from \"@convex-dev/better-auth/utils\";\nimport { components } from \"../_generated/api\";\nimport type { DataModel } from \"../_generated/dataModel\";\nimport authConfig from \"../auth.config\";\nimport schema from \"./schema\";\n\nexport const authComponent = createBanataAuthComponent(components.banataAuth, schema);\n\nfunction getConfig(): BanataAuthConfig {\n  return {\n    appName: \"My App\",\n    siteUrl: process.env.SITE_URL!,\n    secret: process.env.BETTER_AUTH_SECRET!,\n    authMethods: {\n      emailPassword: true,\n      organization: true,\n    },\n    email: {\n      sendVerificationEmail: async ({ email, url }) => { /* ... */ },\n      sendResetPassword: async ({ email, url }) => { /* ... */ },\n    },\n  };\n}\n\nexport const createAuthOptions = (ctx: GenericCtx<DataModel>) =>\n  createBanataAuthOptions(ctx, {\n    authComponent,\n    authConfig,\n    config: getConfig(),\n  });\n\nexport const createAuth = (ctx: GenericCtx<DataModel>) =>\n  createBanataAuth(ctx, {\n    authComponent,\n    authConfig,\n    config: getConfig(),\n  });\n```\n\n### 3. Register HTTP routes\n\n```ts\n// convex/http.ts\nimport { httpRouter } from \"convex/server\";\nimport { authComponent, createAuth } from \"./banataAuth/auth\";\n\nconst http = httpRouter();\nauthComponent.registerRoutes(http, createAuth);\nexport default http;\n```\n\n### 4. Register triggers (optional)\n\n```ts\nimport { defineBanataAuthTriggers } from \"@banata-auth/convex\";\n\nexport const triggers = defineBanataAuthTriggers({\n  onUserCreated: async (ctx, user) => {\n    console.log(\"New user:\", user.email);\n  },\n});\n```\n\n## Features\n\n- Better Auth factory with sensible defaults\n- Dashboard config, audit log, and webhook plugins\n- Email template plugin with block-based editor support, template CRUD, and HTML rendering\n- Lifecycle trigger system for user/session/org events\n- Pre-built Convex schema for all auth tables (35 tables)\n- Multi-tenant project isolation with `projectId` scoping\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-228e12d5810edf6290cbf22b9f986016"}