Skip to content

Commit 4a4b385

Browse files
committed
feat: auto schema generation, SSR session, public-by-default middleware
1 parent 09d8d4d commit 4a4b385

34 files changed

+9283
-189
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,6 @@ coverage
5454
Network Trash Folder
5555
Temporary Items
5656
.apdisk
57+
58+
test/fixtures/basic/.data
59+
playground/.data

package.json

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,22 @@
66
"license": "MIT",
77
"repository": "your-org/nuxt-better-auth",
88
"exports": {
9-
".": { "types": "./dist/types.d.mts", "import": "./dist/module.mjs" }
9+
".": {
10+
"types": "./dist/types.d.mts",
11+
"import": "./dist/module.mjs"
12+
}
1013
},
1114
"main": "./dist/module.mjs",
12-
"typesVersions": { "*": { ".": ["./dist/types.d.mts"] } },
13-
"files": ["dist"],
15+
"typesVersions": {
16+
"*": {
17+
".": [
18+
"./dist/types.d.mts"
19+
]
20+
}
21+
},
22+
"files": [
23+
"dist"
24+
],
1425
"scripts": {
1526
"prepack": "nuxt-module-build build",
1627
"dev": "pnpm dev:prepare && nuxi dev playground",
@@ -35,11 +46,10 @@
3546
"defu": "^6.1.4",
3647
"radix3": "^1.1.2"
3748
},
38-
"pnpm": {
39-
"onlyBuiltDependencies": ["better-sqlite3", "esbuild", "@parcel/watcher"]
40-
},
4149
"devDependencies": {
4250
"@antfu/eslint-config": "^4.12.0",
51+
"@better-auth/cli": "^1.4.6",
52+
"@libsql/client": "^0.15.15",
4353
"@nuxt/devtools": "^3.1.1",
4454
"@nuxt/module-builder": "^1.0.2",
4555
"@nuxt/schema": "^4.2.2",
@@ -51,11 +61,19 @@
5161
"better-sqlite3": "^11.9.1",
5262
"changelogen": "^0.6.2",
5363
"consola": "^3.4.2",
64+
"drizzle-kit": "^0.31.8",
5465
"drizzle-orm": "^0.38.4",
5566
"eslint": "^9.39.1",
5667
"nuxt": "^4.2.2",
5768
"typescript": "~5.9.3",
5869
"vitest": "^4.0.15",
5970
"vue-tsc": "^3.1.7"
71+
},
72+
"pnpm": {
73+
"onlyBuiltDependencies": [
74+
"better-sqlite3",
75+
"esbuild",
76+
"@parcel/watcher"
77+
]
6078
}
6179
}

playground/nuxt.config.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
export default defineNuxtConfig({
22
modules: ['@nuxthub/core', '../src/module'],
33

4-
hub: { database: true },
4+
hub: { db: 'sqlite' },
55

66
devtools: { enabled: true },
77

88
runtimeConfig: {
9-
betterAuthSecret: 'dev-secret-change-in-production',
9+
betterAuthSecret: 'dev-secret-change-in-production-32+',
1010
public: {
1111
siteUrl: 'http://localhost:3000',
1212
},
1313
},
1414

1515
routeRules: {
1616
'/app/**': { auth: 'user' },
17-
'/admin/**': { auth: 'user', requiresAdmin: true },
17+
'/admin/**': { auth: { role: 'admin' } },
1818
'/login': { auth: 'guest' },
1919
},
2020

playground/package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,10 @@
99
},
1010
"dependencies": {
1111
"nuxt": "^4.2.2"
12+
},
13+
"devDependencies": {
14+
"@libsql/client": "^0.15.15",
15+
"drizzle-kit": "^0.31.8",
16+
"drizzle-orm": "^0.45.1"
1217
}
1318
}

playground/pages/admin/index.vue

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,11 @@
11
<script setup lang="ts">
22
const { user } = useUserSession()
3-
const { hasAccess, paywallConfig } = usePageAccess()
43
</script>
54

65
<template>
76
<div>
8-
<template v-if="hasAccess">
9-
<h2>Admin Dashboard</h2>
10-
<p>Welcome, admin {{ user?.name }}!</p>
11-
<p>This page is only accessible to admins.</p>
12-
</template>
13-
14-
<template v-else>
15-
<h2>{{ paywallConfig.title }}</h2>
16-
<p>{{ paywallConfig.description }}</p>
17-
</template>
7+
<h2>Admin Dashboard</h2>
8+
<p>Welcome, admin {{ user?.name }}!</p>
9+
<p>This page is only accessible to admins.</p>
1810
</div>
1911
</template>

0 commit comments

Comments
 (0)