add support for /admin route in backend handler and enable asset copying

updated `hooks.server.ts` to handle `/admin` routes and prevent fallback for 404 responses. added `adminBasepath` config to match backend paths. introduced assets copying step via `postinstall` script and included `robots.txt` and `favicon.ico` under `static`.
This commit is contained in:
dswbx
2026-01-09 13:11:01 +01:00
parent 521d8bc6ff
commit 7e8b357bbb
6 changed files with 17 additions and 3 deletions

View File

@@ -9,3 +9,5 @@ node_modules
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
*.db
static/manifest.json
static/assets

View File

@@ -35,6 +35,10 @@ export default {
},
},
},
adminOptions: {
// this path must be the same as in `hooks.server.ts`
adminBasepath: "/admin"
},
options: {
seed: async (ctx) => {
await ctx.app.module.auth.createUser({

View File

@@ -5,7 +5,8 @@
"scripts": {
"dev": "vite dev",
"build": "vite build",
"preview": "vite preview"
"preview": "vite preview",
"postinstall": "node node_modules/.bin/bknd copy-assets --out static"
},
"devDependencies": {
"@sveltejs/adapter-auto": "^7.0.0",

View File

@@ -7,8 +7,12 @@ const bkndHandler = serve(config, env);
export const handle: Handle = async ({ event, resolve }) => {
// Handle bknd API requests
if (event.url.pathname.startsWith("/api/")) {
return bkndHandler(event);
const pathname = event.url.pathname;
if (pathname.startsWith("/api/") || pathname.startsWith("/admin")) {
const res = await bkndHandler(event);
if (res.status !== 404) {
return res;
}
}
return resolve(event);

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,3 @@
# allow crawling everything by default
User-agent: *
Disallow: