dev: support dynamic import while developing
Massimo Melina committed
Feb 3, 2023 at 23:57 UTC
301f2844cddd5898ac254e090775dfdd718013b6
1 file changed
+13
-1
src/middlewares.ts
+13
-1
@@ -62,10 +62,22 @@ export const sessions = (app: Koa) => session({
62
63
const serveFrontendFiles = serveGuiFiles(process.env.FRONTEND_PROXY, FRONTEND_URI)
64
const serveFrontendPrefixed = mount(FRONTEND_URI.slice(0,-1), serveFrontendFiles)
65
-const serveAdminPrefixed = mount(ADMIN_URI.slice(0,-1), serveGuiFiles(process.env.ADMIN_PROXY, ADMIN_URI))
65
+const serveAdminFiles = serveGuiFiles(process.env.ADMIN_PROXY, ADMIN_URI)
66
+const serveAdminPrefixed = mount(ADMIN_URI.slice(0,-1), serveAdminFiles)
67
68
export const serveGuiAndSharedFiles: Koa.Middleware = async (ctx, next) => {
69
const { path } = ctx
70
+ // dynamic import on frontend|admin (used for non-https login) while developing (vite4) is not producing a relative path
71
+ if (DEV && path.startsWith('/node_modules/')) {
72
+ let { referer } = ctx.headers
73
+ referer &&= new URL(referer).pathname
74
+ if (referer) {
75
+ if (referer.startsWith(ADMIN_URI))
76
+ return serveAdminFiles(ctx, next)
77
+ if (referer.startsWith(FRONTEND_URI))
78
+ return serveFrontendFiles(ctx, next)
79
+ }
80
+ }
81
if (ctx.body)
82
return next()
83
if (path.startsWith(FRONTEND_URI))