better-auth-studio 1.0.79-beta.62 → 1.0.79-beta.64
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/dist/adapters/nuxt.d.ts +25 -0
- package/dist/adapters/nuxt.d.ts.map +1 -0
- package/dist/adapters/nuxt.js +105 -0
- package/dist/adapters/nuxt.js.map +1 -0
- package/dist/adapters/remix.d.ts +26 -0
- package/dist/adapters/remix.d.ts.map +1 -0
- package/dist/adapters/remix.js +98 -0
- package/dist/adapters/remix.js.map +1 -0
- package/dist/cli.js +0 -0
- package/package.json +35 -28
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { StudioConfig } from '../types/handler.js';
|
|
2
|
+
/**
|
|
3
|
+
* Nuxt adapter for Better Auth Studio
|
|
4
|
+
*
|
|
5
|
+
* Usage in a server API route:
|
|
6
|
+
* ```ts
|
|
7
|
+
* // server/api/studio/[...all].ts
|
|
8
|
+
* import { betterAuthStudio } from 'better-auth-studio/nuxt';
|
|
9
|
+
* import studioConfig from '~/studio.config';
|
|
10
|
+
* import { toWebRequest } from 'better-auth/nuxt';
|
|
11
|
+
*
|
|
12
|
+
* export default defineEventHandler(async (event) => {
|
|
13
|
+
* // Read body first to avoid stream conflicts
|
|
14
|
+
* if (event.method !== 'GET' && event.method !== 'HEAD' && !(event as any).body) {
|
|
15
|
+
* try {
|
|
16
|
+
* (event as any).body = await readBody(event);
|
|
17
|
+
* } catch {}
|
|
18
|
+
* }
|
|
19
|
+
* const request = toWebRequest(event);
|
|
20
|
+
* return betterAuthStudio(studioConfig)(request);
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function betterAuthStudio(config: StudioConfig): (request: Request) => Promise<Response>;
|
|
25
|
+
//# sourceMappingURL=nuxt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nuxt.d.ts","sourceRoot":"","sources":["../../src/adapters/nuxt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAuC,MAAM,qBAAqB,CAAC;AAE7F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,IACrC,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAanD"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { handleStudioRequest } from '../core/handler.js';
|
|
2
|
+
/**
|
|
3
|
+
* Nuxt adapter for Better Auth Studio
|
|
4
|
+
*
|
|
5
|
+
* Usage in a server API route:
|
|
6
|
+
* ```ts
|
|
7
|
+
* // server/api/studio/[...all].ts
|
|
8
|
+
* import { betterAuthStudio } from 'better-auth-studio/nuxt';
|
|
9
|
+
* import studioConfig from '~/studio.config';
|
|
10
|
+
* import { toWebRequest } from 'better-auth/nuxt';
|
|
11
|
+
*
|
|
12
|
+
* export default defineEventHandler(async (event) => {
|
|
13
|
+
* // Read body first to avoid stream conflicts
|
|
14
|
+
* if (event.method !== 'GET' && event.method !== 'HEAD' && !(event as any).body) {
|
|
15
|
+
* try {
|
|
16
|
+
* (event as any).body = await readBody(event);
|
|
17
|
+
* } catch {}
|
|
18
|
+
* }
|
|
19
|
+
* const request = toWebRequest(event);
|
|
20
|
+
* return betterAuthStudio(studioConfig)(request);
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export function betterAuthStudio(config) {
|
|
25
|
+
return async (request) => {
|
|
26
|
+
try {
|
|
27
|
+
const universalReq = await convertNuxtToUniversal(request, config);
|
|
28
|
+
const universalRes = await handleStudioRequest(universalReq, config);
|
|
29
|
+
return universalToResponse(universalRes);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error('Studio handler error:', error);
|
|
33
|
+
return new Response(JSON.stringify({ error: 'Internal server error' }), {
|
|
34
|
+
status: 500,
|
|
35
|
+
headers: { 'Content-Type': 'application/json' },
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async function convertNuxtToUniversal(request, config) {
|
|
41
|
+
let body;
|
|
42
|
+
const method = request.method;
|
|
43
|
+
if (method !== 'GET' && method !== 'HEAD' && !request.bodyUsed) {
|
|
44
|
+
const contentType = request.headers.get('content-type') || '';
|
|
45
|
+
try {
|
|
46
|
+
if (contentType.includes('application/json')) {
|
|
47
|
+
try {
|
|
48
|
+
body = await request.json();
|
|
49
|
+
}
|
|
50
|
+
catch (error) { }
|
|
51
|
+
}
|
|
52
|
+
else if (contentType.includes('application/x-www-form-urlencoded') ||
|
|
53
|
+
contentType.includes('multipart/form-data')) {
|
|
54
|
+
try {
|
|
55
|
+
const formData = await request.formData();
|
|
56
|
+
body = Object.fromEntries(formData.entries());
|
|
57
|
+
}
|
|
58
|
+
catch (error) { }
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
try {
|
|
62
|
+
const text = await request.text();
|
|
63
|
+
if (text && text.trim()) {
|
|
64
|
+
try {
|
|
65
|
+
body = JSON.parse(text);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
body = text;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch (error) { }
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (error) { }
|
|
76
|
+
}
|
|
77
|
+
const headers = {};
|
|
78
|
+
request.headers.forEach((value, key) => {
|
|
79
|
+
headers[key] = value;
|
|
80
|
+
});
|
|
81
|
+
const basePath = config.basePath || '/api/studio';
|
|
82
|
+
const normalizedBasePath = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;
|
|
83
|
+
if (!request.url) {
|
|
84
|
+
throw new Error('Request URL is required');
|
|
85
|
+
}
|
|
86
|
+
const url = new URL(request.url);
|
|
87
|
+
let path = url.pathname;
|
|
88
|
+
if (path.startsWith(normalizedBasePath)) {
|
|
89
|
+
path = path.slice(normalizedBasePath.length) || '/';
|
|
90
|
+
}
|
|
91
|
+
const pathWithQuery = path + url.search;
|
|
92
|
+
return {
|
|
93
|
+
url: pathWithQuery,
|
|
94
|
+
method: method,
|
|
95
|
+
headers,
|
|
96
|
+
body,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
function universalToResponse(res) {
|
|
100
|
+
return new Response(res.body, {
|
|
101
|
+
status: res.status,
|
|
102
|
+
headers: res.headers,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=nuxt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nuxt.js","sourceRoot":"","sources":["../../src/adapters/nuxt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { StudioConfig } from '../types/handler.js';
|
|
2
|
+
/**
|
|
3
|
+
* Remix adapter for Better Auth Studio
|
|
4
|
+
*
|
|
5
|
+
* Usage in a resource route:
|
|
6
|
+
* ```ts
|
|
7
|
+
* // app/routes/api.studio.$.ts
|
|
8
|
+
* import { betterAuthStudio } from 'better-auth-studio/remix';
|
|
9
|
+
* import studioConfig from '~/studio.config';
|
|
10
|
+
* import type { LoaderFunctionArgs, ActionFunctionArgs } from '@remix-run/node';
|
|
11
|
+
*
|
|
12
|
+
* const handler = betterAuthStudio(studioConfig);
|
|
13
|
+
*
|
|
14
|
+
* export async function loader({ request }: LoaderFunctionArgs) {
|
|
15
|
+
* return handler({ request });
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* export async function action({ request }: ActionFunctionArgs) {
|
|
19
|
+
* return handler({ request });
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function betterAuthStudio(config: StudioConfig): ({ request }: {
|
|
24
|
+
request: Request;
|
|
25
|
+
}) => Promise<Response>;
|
|
26
|
+
//# sourceMappingURL=remix.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remix.d.ts","sourceRoot":"","sources":["../../src/adapters/remix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAuC,MAAM,qBAAqB,CAAC;AAE7F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,IACrC,aAAa;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,KAAG,OAAO,CAAC,QAAQ,CAAC,CAapE"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { handleStudioRequest } from '../core/handler.js';
|
|
2
|
+
/**
|
|
3
|
+
* Remix adapter for Better Auth Studio
|
|
4
|
+
*
|
|
5
|
+
* Usage in a resource route:
|
|
6
|
+
* ```ts
|
|
7
|
+
* // app/routes/api.studio.$.ts
|
|
8
|
+
* import { betterAuthStudio } from 'better-auth-studio/remix';
|
|
9
|
+
* import studioConfig from '~/studio.config';
|
|
10
|
+
* import type { LoaderFunctionArgs, ActionFunctionArgs } from '@remix-run/node';
|
|
11
|
+
*
|
|
12
|
+
* const handler = betterAuthStudio(studioConfig);
|
|
13
|
+
*
|
|
14
|
+
* export async function loader({ request }: LoaderFunctionArgs) {
|
|
15
|
+
* return handler({ request });
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* export async function action({ request }: ActionFunctionArgs) {
|
|
19
|
+
* return handler({ request });
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export function betterAuthStudio(config) {
|
|
24
|
+
return async ({ request }) => {
|
|
25
|
+
try {
|
|
26
|
+
const universalReq = await convertRemixToUniversal({ request }, config);
|
|
27
|
+
const universalRes = await handleStudioRequest(universalReq, config);
|
|
28
|
+
return universalToResponse(universalRes);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
console.error('Studio handler error:', error);
|
|
32
|
+
return new Response(JSON.stringify({ error: 'Internal server error' }), {
|
|
33
|
+
status: 500,
|
|
34
|
+
headers: { 'Content-Type': 'application/json' },
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
async function convertRemixToUniversal({ request }, config) {
|
|
40
|
+
let body;
|
|
41
|
+
const method = request.method;
|
|
42
|
+
if (method !== 'GET' && method !== 'HEAD') {
|
|
43
|
+
const contentType = request.headers.get('content-type') || '';
|
|
44
|
+
if (contentType.includes('application/json')) {
|
|
45
|
+
try {
|
|
46
|
+
body = await request.json();
|
|
47
|
+
}
|
|
48
|
+
catch { }
|
|
49
|
+
}
|
|
50
|
+
else if (contentType.includes('application/x-www-form-urlencoded') ||
|
|
51
|
+
contentType.includes('multipart/form-data')) {
|
|
52
|
+
try {
|
|
53
|
+
const formData = await request.formData();
|
|
54
|
+
body = Object.fromEntries(formData.entries());
|
|
55
|
+
}
|
|
56
|
+
catch { }
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
try {
|
|
60
|
+
const text = await request.text();
|
|
61
|
+
if (text && text.trim()) {
|
|
62
|
+
try {
|
|
63
|
+
body = JSON.parse(text);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
body = text;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch { }
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const headers = {};
|
|
74
|
+
request.headers.forEach((value, key) => {
|
|
75
|
+
headers[key] = value;
|
|
76
|
+
});
|
|
77
|
+
const basePath = config.basePath || '/api/studio';
|
|
78
|
+
const normalizedBasePath = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;
|
|
79
|
+
const url = new URL(request.url);
|
|
80
|
+
let path = url.pathname;
|
|
81
|
+
if (path.startsWith(normalizedBasePath)) {
|
|
82
|
+
path = path.slice(normalizedBasePath.length) || '/';
|
|
83
|
+
}
|
|
84
|
+
const pathWithQuery = path + url.search;
|
|
85
|
+
return {
|
|
86
|
+
url: pathWithQuery,
|
|
87
|
+
method: method,
|
|
88
|
+
headers,
|
|
89
|
+
body,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function universalToResponse(res) {
|
|
93
|
+
return new Response(res.body, {
|
|
94
|
+
status: res.status,
|
|
95
|
+
headers: res.headers,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=remix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remix.js","sourceRoot":"","sources":["../../src/adapters/remix.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "better-auth-studio",
|
|
3
|
-
"version": "1.0.79-beta.
|
|
3
|
+
"version": "1.0.79-beta.64",
|
|
4
4
|
"description": "Studio for Better Auth",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -17,8 +17,36 @@
|
|
|
17
17
|
"./solid-start": "./dist/adapters/solid-start.js",
|
|
18
18
|
"./tanstack-start": "./dist/adapters/tanstack-start.js",
|
|
19
19
|
"./astro": "./dist/adapters/astro.js",
|
|
20
|
+
"./remix": "./dist/adapters/remix.js",
|
|
21
|
+
"./nuxt": "./dist/adapters/nuxt.js",
|
|
20
22
|
"./config": "./dist/types/handler.js"
|
|
21
23
|
},
|
|
24
|
+
"scripts": {
|
|
25
|
+
"build": "tsc && pnpm run frontend:build && pnpm run copy:public && pnpm run verify:public",
|
|
26
|
+
"copy:public": "rm -rf dist/public && cp -r public dist/",
|
|
27
|
+
"verify:public": "test -f dist/public/index.html && echo '✓ Public directory copied successfully' || (echo '✗ ERROR: Public directory not copied!' && exit 1)",
|
|
28
|
+
"postinstall": "node scripts/postinstall.js",
|
|
29
|
+
"dev": "tsx src/cli.ts",
|
|
30
|
+
"start": "node dist/cli.js",
|
|
31
|
+
"studio": "tsx src/cli.ts",
|
|
32
|
+
"clean": "rm -rf dist",
|
|
33
|
+
"frontend:dev": "cd frontend && pnpm run dev",
|
|
34
|
+
"frontend:build": "cd frontend && pnpm run build",
|
|
35
|
+
"frontend:preview": "cd frontend && pnpm run preview",
|
|
36
|
+
"lint": "biome check . --max-diagnostics=1000",
|
|
37
|
+
"lint:fix": "biome check --write .",
|
|
38
|
+
"format": "biome format --write .",
|
|
39
|
+
"type-check": "tsc --noEmit",
|
|
40
|
+
"test": "vitest",
|
|
41
|
+
"test:watch": "vitest --watch",
|
|
42
|
+
"test:coverage": "vitest --coverage",
|
|
43
|
+
"test:ci": "pnpm test --run",
|
|
44
|
+
"release": "pnpm build && bumpp && pnpm publish --access public --no-git-checks",
|
|
45
|
+
"release:beta": "pnpm build && bumpp --preid beta && pnpm publish --access public --tag beta --no-git-checks",
|
|
46
|
+
"release:no-build": "bumpp && pnpm publish --access public --no-git-checks --tag next",
|
|
47
|
+
"release:canary": "pnpm build && bumpp --preid canary --no-commit --no-tag --no-push && pnpm publish --access public --tag canary --no-git-checks",
|
|
48
|
+
"bump": "bumpp"
|
|
49
|
+
},
|
|
22
50
|
"keywords": [
|
|
23
51
|
"better-auth",
|
|
24
52
|
"studio",
|
|
@@ -67,37 +95,16 @@
|
|
|
67
95
|
"engines": {
|
|
68
96
|
"node": ">=18.0.0"
|
|
69
97
|
},
|
|
98
|
+
"pnpm": {
|
|
99
|
+
"overrides": {
|
|
100
|
+
"qs": ">=6.14.1"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
70
103
|
"files": [
|
|
71
104
|
"dist/",
|
|
72
105
|
"public/",
|
|
73
106
|
"data/default-geo.json",
|
|
74
107
|
"scripts/",
|
|
75
108
|
"README.md"
|
|
76
|
-
]
|
|
77
|
-
"scripts": {
|
|
78
|
-
"build": "tsc && pnpm run frontend:build && pnpm run copy:public && pnpm run verify:public",
|
|
79
|
-
"copy:public": "rm -rf dist/public && cp -r public dist/",
|
|
80
|
-
"verify:public": "test -f dist/public/index.html && echo '✓ Public directory copied successfully' || (echo '✗ ERROR: Public directory not copied!' && exit 1)",
|
|
81
|
-
"postinstall": "node scripts/postinstall.js",
|
|
82
|
-
"dev": "tsx src/cli.ts",
|
|
83
|
-
"start": "node dist/cli.js",
|
|
84
|
-
"studio": "tsx src/cli.ts",
|
|
85
|
-
"clean": "rm -rf dist",
|
|
86
|
-
"frontend:dev": "cd frontend && pnpm run dev",
|
|
87
|
-
"frontend:build": "cd frontend && pnpm run build",
|
|
88
|
-
"frontend:preview": "cd frontend && pnpm run preview",
|
|
89
|
-
"lint": "biome check . --max-diagnostics=1000",
|
|
90
|
-
"lint:fix": "biome check --write .",
|
|
91
|
-
"format": "biome format --write .",
|
|
92
|
-
"type-check": "tsc --noEmit",
|
|
93
|
-
"test": "vitest",
|
|
94
|
-
"test:watch": "vitest --watch",
|
|
95
|
-
"test:coverage": "vitest --coverage",
|
|
96
|
-
"test:ci": "pnpm test --run",
|
|
97
|
-
"release": "pnpm build && bumpp && pnpm publish --access public --no-git-checks",
|
|
98
|
-
"release:beta": "pnpm build && bumpp --preid beta && pnpm publish --access public --tag beta --no-git-checks",
|
|
99
|
-
"release:no-build": "bumpp && pnpm publish --access public --no-git-checks --tag next",
|
|
100
|
-
"release:canary": "pnpm build && bumpp --preid canary --no-commit --no-tag --no-push && pnpm publish --access public --tag canary --no-git-checks",
|
|
101
|
-
"bump": "bumpp"
|
|
102
|
-
}
|
|
109
|
+
]
|
|
103
110
|
}
|