Comments (6)
Looks like something's failing when importing better-sqlite3
and likely not an issue with Lucia. I'd recommend asking Astro's or better-sqlite3
community
from lucia.
Have you set up the middleware?
from lucia.
This middleware is already present in the repo (and is identical except for the import to the one described here)
import { auth } from "./lib/lucia";
import type { MiddlewareResponseHandler } from "astro";
export const onRequest: MiddlewareResponseHandler = async (context, next) => {
context.locals.auth = auth.handleRequest(context);
return await next();
};
Is there a change that needs to be made there?
from lucia.
Can you check if the middleware runs in the first place?
from lucia.
Can you check if the middleware runs in the first place?
This is the complete set of traces/ errors I'm getting, it looks like there's trouble with import (I just did a fresh install of the template to make sure I was recreating the initial bug correctly)
4:50:09 PM [vite] Error when evaluating SSR module /src/lib/lucia.ts:
|- Error: Could not locate the bindings file. Tried:
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/build/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/build/Debug/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/build/Release/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/out/Debug/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/Debug/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/out/Release/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/Release/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/build/default/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/compiled/20.10.0/darwin/arm64/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/lib/binding/node-v115-darwin-arm64/better_sqlite3.node
at bindings (/Users/nicholasbaier/absent-asteroid/node_modules/bindings/bindings.js:126:9)
at new Database (/Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/lib/database.js:48:64)
at Proxy.Database (/Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/lib/database.js:11:10)
at eval (/Users/nicholasbaier/absent-asteroid/src/lib/lucia.ts:13:41)
at async instantiateModule (file:///Users/nicholasbaier/absent-asteroid/node_modules/vite/dist/node/chunks/dep-68d1a114.js:56052:9)
4:50:09 PM [vite] Error when evaluating SSR module /src/middleware.ts: failed to import "/src/lib/lucia.ts"
|- Error: Could not locate the bindings file. Tried:
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/build/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/build/Debug/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/build/Release/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/out/Debug/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/Debug/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/out/Release/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/Release/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/build/default/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/compiled/20.10.0/darwin/arm64/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/lib/binding/node-v115-darwin-arm64/better_sqlite3.node
at bindings (/Users/nicholasbaier/absent-asteroid/node_modules/bindings/bindings.js:126:9)
at new Database (/Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/lib/database.js:48:64)
at Proxy.Database (/Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/lib/database.js:11:10)
at eval (/Users/nicholasbaier/absent-asteroid/src/lib/lucia.ts:13:41)
at async instantiateModule (file:///Users/nicholasbaier/absent-asteroid/node_modules/vite/dist/node/chunks/dep-68d1a114.js:56052:9)
4:50:09 PM [vite] Error when evaluating SSR module astro-internal:middleware: failed to import "/src/middleware.ts"
|- Error: Could not locate the bindings file. Tried:
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/build/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/build/Debug/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/build/Release/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/out/Debug/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/Debug/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/out/Release/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/Release/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/build/default/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/compiled/20.10.0/darwin/arm64/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node
→ /Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/lib/binding/node-v115-darwin-arm64/better_sqlite3.node
at bindings (/Users/nicholasbaier/absent-asteroid/node_modules/bindings/bindings.js:126:9)
at new Database (/Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/lib/database.js:48:64)
at Proxy.Database (/Users/nicholasbaier/absent-asteroid/node_modules/better-sqlite3/lib/database.js:11:10)
at eval (/Users/nicholasbaier/absent-asteroid/src/lib/lucia.ts:13:41)
at async instantiateModule (file:///Users/nicholasbaier/absent-asteroid/node_modules/vite/dist/node/chunks/dep-68d1a114.js:56052:9)
error Cannot read properties of undefined (reading 'validate')
File:
/Users/nicholasbaier/absent-asteroid/src/pages/index.astro:4:41
Code:
> 4 | const session = await Astro.locals.auth.validate();
| ^
5 | if (!session) return Astro.redirect("/login", 302);
6 | ---
Stacktrace:
TypeError: Cannot read properties of undefined (reading 'validate')
at /Users/nicholasbaier/absent-asteroid/src/pages/index.astro:4:41
at index (/Users/nicholasbaier/absent-asteroid/node_modules/astro/dist/runtime/server/astro-component.js:18:12)
at callComponentAsTemplateResultOrResponse (file:///Users/nicholasbaier/absent-asteroid/node_modules/astro/dist/runtime/server/render/astro/render.js:85:31)
at renderToReadableStream (file:///Users/nicholasbaier/absent-asteroid/node_modules/astro/dist/runtime/server/render/astro/render.js:35:32)
at renderPage (file:///Users/nicholasbaier/absent-asteroid/node_modules/astro/dist/runtime/server/render/page.js:29:18)
at renderPage (file:///Users/nicholasbaier/absent-asteroid/node_modules/astro/dist/core/render/core.js:56:26)
at #tryRenderRoute (file:///Users/nicholasbaier/absent-asteroid/node_modules/astro/dist/core/pipeline.js:115:24)
at DevPipeline.renderRoute (file:///Users/nicholasbaier/absent-asteroid/node_modules/astro/dist/core/pipeline.js:58:46)
at handleRoute (file:///Users/nicholasbaier/absent-asteroid/node_modules/astro/dist/vite-plugin-astro-server/route.js:229:33)
at async run (file:///Users/nicholasbaier/absent-asteroid/node_modules/astro/dist/vite-plugin-astro-server/request.js:53:14)
from lucia.
Thanks!
from lucia.
Related Issues (20)
- [Bug]: `email_verified` is always `undefined` in lucia even if its `1` in my sqlite database HOT 9
- [Docs]: Add a Japanese version to the document HOT 2
- Types of property 'hasDefault' are incompatible. Type 'true' is not assignable to type 'false'. HOT 3
- [Bug]: nuxt middleware doesn't seem to work as expected HOT 2
- [Bug]: SQLite session `expires_at` does not respect TimeSpan. HOT 5
- [Feature Request]: Customizable column name in adapters HOT 1
- [Docs]: Missed a link
- [Bug]: Invalid Code Verifier when using Google oAuth in nextjs app dir HOT 4
- [Bug]: DrizzlePostgreSQLAdapter session table with default id not allowed HOT 1
- [Feature Request]: Fastify guide? HOT 2
- [Feature Request]: Redis adapter HOT 4
- [Feature Request]: Add peppering to password hashing HOT 2
- [Bug]: validateSession fails in V3 w. Prisma adapter if user model is not named like the attribute referencing it HOT 3
- [Docs]: Contribution page does not exist
- [Bug]: Cloudflare D1 issue on Lucia 1.0.1 HOT 2
- [Docs]: github_id type mismatch
- [Bug]: date.getTime() is not a function (originating in oslo) -> but the core problem is that nodejs-adapter from Lucia doesn't convert expiresAt as a date HOT 18
- [Feature Request]: Add Turso to drizzle adapter HOT 5
- Cannot select both '$scalars: true' and a specific scalar field 'luciaUser'. HOT 1
- [Docs]: Lucia Email and Password Guide Imports
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lucia.