better-auth-devtools 0.1.1-alpha.4 → 0.1.1-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,15 +1,9 @@
1
1
  # Better Auth DevTools
2
2
 
3
3
  > [!WARNING]
4
- > Development-only auth tooling. Keep it disabled in production.
4
+ > Unofficial, alpha, development-only tooling for Better Auth. Do not enable it in production.
5
5
 
6
- > [!NOTE]
7
- > This is an alpha release.
8
-
9
- > [!IMPORTANT]
10
- > This project is unofficial. It is not affiliated with, endorsed by, or maintained by the Better Auth team.
11
-
12
- `better-auth-devtools` is an unofficial Better Auth devtool for local auth scenario testing. It gives you managed test users, instant session switching, session inspection, and a React panel for approved session-field edits.
6
+ `better-auth-devtools` is a Better Auth devtool for local auth scenario testing. It gives you managed test users, instant session switching, session inspection, and a React panel for approved session-field edits.
13
7
 
14
8
  ## Installation
15
9
 
@@ -17,10 +11,19 @@
17
11
  pnpm add better-auth-devtools
18
12
  ```
19
13
 
14
+ Peer requirements:
15
+
16
+ ```bash
17
+ pnpm add better-auth react react-dom
18
+ ```
19
+
20
20
  Use these subpath exports:
21
21
 
22
22
  ```ts
23
- import { devtoolsPlugin, devtoolsClientPlugin } from "better-auth-devtools/plugin";
23
+ import {
24
+ createDevtoolsIntegration,
25
+ defineDevtoolsConfig,
26
+ } from "better-auth-devtools/plugin";
24
27
  import { BetterAuthDevtools } from "better-auth-devtools/react";
25
28
  ```
26
29
 
@@ -31,13 +34,97 @@ DEV_AUTH_ENABLED=true
31
34
  NODE_ENV=development
32
35
  ```
33
36
 
37
+ ## Quick Start
38
+
39
+ Configure everything once and reuse it for the Better Auth plugin, the Better Auth client plugin, and the floating panel.
40
+
41
+ ```ts
42
+ import {
43
+ createDevtoolsIntegration,
44
+ defineDevtoolsConfig,
45
+ } from "better-auth-devtools/plugin";
46
+
47
+ export const devtoolsConfig = defineDevtoolsConfig({
48
+ templates: {
49
+ admin: { label: "Admin", meta: { role: "admin" } },
50
+ viewer: { label: "Viewer", meta: { role: "viewer" } },
51
+ },
52
+ editableFields: [
53
+ {
54
+ key: "role",
55
+ label: "Role",
56
+ type: "select",
57
+ options: ["admin", "viewer"],
58
+ },
59
+ ],
60
+ async createManagedUser(args) {
61
+ return { userId: "new-user-id", email: args.email, label: args.template.label };
62
+ },
63
+ async getSessionView(args) {
64
+ return {
65
+ userId: args.userId,
66
+ fields: { sessionId: args.sessionId, role: "viewer" },
67
+ editableFields: ["role"],
68
+ };
69
+ },
70
+ async patchSession(args) {
71
+ return {
72
+ userId: args.userId,
73
+ fields: { sessionId: args.sessionId, role: String(args.patch.role ?? "viewer") },
74
+ editableFields: ["role"],
75
+ };
76
+ },
77
+ });
78
+
79
+ export const devtools = createDevtoolsIntegration(devtoolsConfig, {
80
+ position: "bottom-right",
81
+ triggerLabel: "Auth DevTools",
82
+ });
83
+ ```
84
+
85
+ Server auth:
86
+
87
+ ```ts
88
+ import { betterAuth } from "better-auth";
89
+ import { devtools } from "./devtools";
90
+
91
+ export const auth = betterAuth({
92
+ database,
93
+ plugins: [devtools.serverPlugin],
94
+ });
95
+ ```
96
+
97
+ Client auth:
98
+
99
+ ```ts
100
+ import { createAuthClient } from "better-auth/react";
101
+ import { devtools } from "./devtools";
102
+
103
+ export const authClient = createAuthClient({
104
+ plugins: [devtools.clientPlugin],
105
+ });
106
+ ```
107
+
108
+ React panel:
109
+
110
+ ```tsx
111
+ "use client";
112
+
113
+ import { BetterAuthDevtools } from "better-auth-devtools/react";
114
+ import { devtools } from "./devtools";
115
+
116
+ export function Devtools() {
117
+ return <BetterAuthDevtools {...devtools.panelProps} />;
118
+ }
119
+ ```
120
+
34
121
  ## AI Agent Prompt
35
122
 
36
123
  ```text
37
124
  Install and integrate better-auth-devtools as an unofficial development-only Better Auth utility. Use better-auth-devtools/plugin for the Better Auth server/client plugin setup and better-auth-devtools/react for the floating panel. Keep it disabled in production, require DEV_AUTH_ENABLED=true, use managed test users only, and do not implement arbitrary user impersonation.
38
125
  ```
39
126
 
40
- ## Minimal Usage
127
+ ## Lower-Level API
41
128
 
42
129
  ```ts
43
130
  import { betterAuth } from "better-auth";
@@ -97,6 +184,8 @@ export function Devtools() {
97
184
  }
98
185
  ```
99
186
 
187
+ Use the lower-level API if you need to customize the panel props separately from the server config. For most apps, `createDevtoolsIntegration(...)` is the simpler path.
188
+
100
189
  ## Demo
101
190
 
102
191
  ```bash
package/dist/index.d.ts CHANGED
@@ -4,6 +4,8 @@ export { ENDPOINTS, ROUTE_PREFIX } from "./endpoints.js";
4
4
  export { filterAllowedPatchKeys, isValidTemplateKey } from "./validation.js";
5
5
  export { DevtoolsError, ErrorCode } from "./errors.js";
6
6
  export { isDevtoolsEnabled } from "./guards.js";
7
- export type { DevtoolsPluginConfig, DevtoolsTemplateKey, ManagedTestUserTemplate, ManagedTestUserRecord, DevtoolsSessionView, DevtoolsSessionPatch, EditableFieldConfig, CreateManagedUserArgs, GetSessionViewArgs, PatchSessionArgs, } from "./types.js";
7
+ export { createDevtoolsIntegration, createDevtoolsPanelProps, defineDevtoolsConfig, } from "./setup.js";
8
+ export type { DevtoolsPluginConfig, DevtoolsTemplateKey, ManagedTestUserTemplate, ManagedTestUserRecord, DevtoolsSessionView, DevtoolsSessionPatch, EditableFieldConfig, DevtoolsPanelFieldConfig, CreateManagedUserArgs, GetSessionViewArgs, PatchSessionArgs, } from "./types.js";
9
+ export type { DevtoolsIntegration, DevtoolsPanelConfig, DevtoolsPanelProps, } from "./setup.js";
8
10
  export type { ListUsersResponse, CreateUserRequest, CreateUserResponse, LoginRequest, LoginResponse, SessionResponse, UpdateSessionRequest, UpdateSessionResponse, DevtoolsErrorResponse, } from "./payloads.js";
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -4,4 +4,5 @@ export { ENDPOINTS, ROUTE_PREFIX } from "./endpoints.js";
4
4
  export { filterAllowedPatchKeys, isValidTemplateKey } from "./validation.js";
5
5
  export { DevtoolsError, ErrorCode } from "./errors.js";
6
6
  export { isDevtoolsEnabled } from "./guards.js";
7
+ export { createDevtoolsIntegration, createDevtoolsPanelProps, defineDevtoolsConfig, } from "./setup.js";
7
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
@@ -1,9 +1,9 @@
1
- import type { EditableFieldConfig } from "../types.js";
1
+ import type { DevtoolsPanelFieldConfig } from "../types.js";
2
2
  export interface BetterAuthDevtoolsProps {
3
3
  enabled?: boolean;
4
4
  basePath?: string;
5
5
  templates?: string[];
6
- editableFields?: EditableFieldConfig[];
6
+ editableFields?: DevtoolsPanelFieldConfig[];
7
7
  defaultOpen?: boolean;
8
8
  position?: "bottom-right" | "bottom-left" | "top-right" | "top-left";
9
9
  triggerLabel?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"devtools-panel.d.ts","sourceRoot":"","sources":["../../src/react/devtools-panel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAQD,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EAAE,WAAW,EACpB,QAAsB,EACtB,SAAc,EACd,cAAmB,EACnB,WAAmB,EACnB,QAAyB,EACzB,YAA8B,GAC/B,EAAE,uBAAuB,kDAoVzB"}
1
+ {"version":3,"file":"devtools-panel.d.ts","sourceRoot":"","sources":["../../src/react/devtools-panel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,wBAAwB,EAEzB,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAQD,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EAAE,WAAW,EACpB,QAAsB,EACtB,SAAc,EACd,cAAmB,EACnB,WAAmB,EACnB,QAAyB,EACzB,YAA8B,GAC/B,EAAE,uBAAuB,kDAoVzB"}
@@ -0,0 +1,24 @@
1
+ import { devtoolsClientPlugin } from "./client-plugin.js";
2
+ import { devtoolsPlugin } from "./server-plugin.js";
3
+ import type { DevtoolsPanelFieldConfig, DevtoolsPluginConfig } from "./types.js";
4
+ export interface DevtoolsPanelConfig {
5
+ enabled?: boolean;
6
+ basePath?: string;
7
+ defaultOpen?: boolean;
8
+ position?: "bottom-right" | "bottom-left" | "top-right" | "top-left";
9
+ triggerLabel?: string;
10
+ }
11
+ export interface DevtoolsPanelProps extends DevtoolsPanelConfig {
12
+ templates: string[];
13
+ editableFields: DevtoolsPanelFieldConfig[];
14
+ }
15
+ export interface DevtoolsIntegration {
16
+ enabled: boolean;
17
+ clientPlugin: ReturnType<typeof devtoolsClientPlugin>;
18
+ serverPlugin: ReturnType<typeof devtoolsPlugin>;
19
+ panelProps: DevtoolsPanelProps;
20
+ }
21
+ export declare function defineDevtoolsConfig<TConfig extends DevtoolsPluginConfig>(config: TConfig): TConfig;
22
+ export declare function createDevtoolsPanelProps(config: Pick<DevtoolsPluginConfig, "templates" | "editableFields">, overrides?: DevtoolsPanelConfig): DevtoolsPanelProps;
23
+ export declare function createDevtoolsIntegration(config: DevtoolsPluginConfig, panel?: DevtoolsPanelConfig): DevtoolsIntegration;
24
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,wBAAwB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IACtD,YAAY,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAChD,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAAC,OAAO,SAAS,oBAAoB,EACvE,MAAM,EAAE,OAAO,GACd,OAAO,CAET;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,GAAG,gBAAgB,CAAC,EAClE,SAAS,GAAE,mBAAwB,GAClC,kBAAkB,CAiBpB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,oBAAoB,EAC5B,KAAK,GAAE,mBAAwB,GAC9B,mBAAmB,CAOrB"}
package/dist/setup.js ADDED
@@ -0,0 +1,32 @@
1
+ import { devtoolsClientPlugin } from "./client-plugin.js";
2
+ import { isDevtoolsEnabled } from "./guards.js";
3
+ import { devtoolsPlugin } from "./server-plugin.js";
4
+ export function defineDevtoolsConfig(config) {
5
+ return config;
6
+ }
7
+ export function createDevtoolsPanelProps(config, overrides = {}) {
8
+ const editableFields = (config.editableFields ?? []).map((field) => ({
9
+ key: field.key,
10
+ label: field.label,
11
+ type: field.type,
12
+ options: field.options,
13
+ }));
14
+ return {
15
+ enabled: overrides.enabled ?? isDevtoolsEnabled(),
16
+ basePath: overrides.basePath ?? "/api/auth",
17
+ defaultOpen: overrides.defaultOpen,
18
+ position: overrides.position,
19
+ triggerLabel: overrides.triggerLabel,
20
+ templates: Object.keys(config.templates),
21
+ editableFields,
22
+ };
23
+ }
24
+ export function createDevtoolsIntegration(config, panel = {}) {
25
+ return {
26
+ enabled: panel.enabled ?? isDevtoolsEnabled(),
27
+ clientPlugin: devtoolsClientPlugin(),
28
+ serverPlugin: devtoolsPlugin(config),
29
+ panelProps: createDevtoolsPanelProps(config, panel),
30
+ };
31
+ }
32
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AA0BpD,MAAM,UAAU,oBAAoB,CAClC,MAAe;IAEf,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAAkE,EAClE,YAAiC,EAAE;IAEnC,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnE,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAsC,CAAC;IAEzC,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,iBAAiB,EAAE;QACjD,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,WAAW;QAC3C,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,cAAc;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,MAA4B,EAC5B,QAA6B,EAAE;IAE/B,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,iBAAiB,EAAE;QAC7C,YAAY,EAAE,oBAAoB,EAAE;QACpC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC;QACpC,UAAU,EAAE,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC;KACpD,CAAC;AACJ,CAAC"}
package/dist/types.d.ts CHANGED
@@ -27,6 +27,7 @@ export interface EditableFieldConfig {
27
27
  options?: string[];
28
28
  validate?: (value: unknown) => boolean;
29
29
  }
30
+ export type DevtoolsPanelFieldConfig = Omit<EditableFieldConfig, "validate">;
30
31
  export interface CreateManagedUserArgs {
31
32
  templateKey: string;
32
33
  template: ManagedTestUserTemplate;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEzC,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,CAAC;IAChE,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,iBAAiB,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC;QAC1D,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC,CAAC;IACH,cAAc,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3E,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACxE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEzC,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACxC;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;AAE7E,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,CAAC;IAChE,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,iBAAiB,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC;QAC1D,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC,CAAC;IACH,cAAc,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3E,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACxE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "better-auth-devtools",
3
- "version": "0.1.1-alpha.4",
3
+ "version": "0.1.1-alpha.6",
4
4
  "private": false,
5
5
  "description": "Unofficial Better Auth devtool for managed test users, session switching, and a React DevTools panel via plugin/react subpath exports.",
6
6
  "type": "module",
@@ -38,13 +38,6 @@
38
38
  "import": "./dist/react/index.js"
39
39
  }
40
40
  },
41
- "scripts": {
42
- "build": "tsc",
43
- "dev": "tsc --watch",
44
- "typecheck": "tsc --noEmit",
45
- "lint": "echo 'no linter configured'",
46
- "test": "pnpm exec vitest run"
47
- },
48
41
  "keywords": [
49
42
  "better-auth",
50
43
  "auth",
@@ -65,5 +58,12 @@
65
58
  "react": "^19.0.0",
66
59
  "react-dom": "^19.0.0",
67
60
  "typescript": "^5.8.0"
61
+ },
62
+ "scripts": {
63
+ "build": "tsc",
64
+ "dev": "tsc --watch",
65
+ "typecheck": "tsc --noEmit",
66
+ "lint": "echo 'no linter configured'",
67
+ "test": "pnpm exec vitest run"
68
68
  }
69
- }
69
+ }