Monorepo for wisp.place. A static site hosting service built on top of the AT Protocol. wisp.place

ensure NODE_ENV = production is respected

Changed files
+12 -7
src
+12 -7
src/index.ts
··· 1 import { Elysia } from 'elysia' 2 import { cors } from '@elysiajs/cors' 3 - import { openapi, fromTypes } from '@elysiajs/openapi' 4 import { staticPlugin } from '@elysiajs/static' 5 6 import type { Config } from './lib/types' ··· 22 import { logger, logCollector, observabilityMiddleware } from './lib/observability' 23 import { promptAdminSetup } from './lib/admin-auth' 24 import { adminRoutes } from './routes/admin' 25 26 const config: Config = { 27 domain: (Bun.env.DOMAIN ?? `https://${BASE_HOST}`) as Config['domain'], ··· 59 logger.info('DNS Verifier Started - checking custom domains every 10 minutes') 60 61 export const app = new Elysia() 62 - .use(openapi({ 63 - references: fromTypes() 64 - })) 65 // Observability middleware 66 .onBeforeHandle(observabilityMiddleware('main-app').beforeHandle) 67 - .onAfterHandle((ctx) => { 68 observabilityMiddleware('main-app').afterHandle(ctx) 69 // Security headers middleware 70 const { set } = ctx ··· 99 .use(userRoutes(client)) 100 .use(siteRoutes(client)) 101 .use(adminRoutes()) 102 .use( 103 await staticPlugin({ 104 prefix: '/' 105 }) 106 ) 107 - .get('/client-metadata.json', (c) => { 108 return createClientMetadata(config) 109 }) 110 - .get('/jwks.json', async (c) => { 111 const keys = await getCurrentKeys() 112 if (!keys.length) return { keys: [] } 113
··· 1 import { Elysia } from 'elysia' 2 + import type { Context } from 'elysia' 3 import { cors } from '@elysiajs/cors' 4 import { staticPlugin } from '@elysiajs/static' 5 6 import type { Config } from './lib/types' ··· 22 import { logger, logCollector, observabilityMiddleware } from './lib/observability' 23 import { promptAdminSetup } from './lib/admin-auth' 24 import { adminRoutes } from './routes/admin' 25 + import { previewRoutes } from './routes/preview' 26 27 const config: Config = { 28 domain: (Bun.env.DOMAIN ?? `https://${BASE_HOST}`) as Config['domain'], ··· 60 logger.info('DNS Verifier Started - checking custom domains every 10 minutes') 61 62 export const app = new Elysia() 63 + .server({ 64 + development: Bun.env.NODE_ENV !== 'production', 65 + }) 66 + .serve({ 67 + hmr: Bun.env.NODE_ENV !== 'production' 68 + }) 69 // Observability middleware 70 .onBeforeHandle(observabilityMiddleware('main-app').beforeHandle) 71 + .onAfterHandle((ctx: Context) => { 72 observabilityMiddleware('main-app').afterHandle(ctx) 73 // Security headers middleware 74 const { set } = ctx ··· 103 .use(userRoutes(client)) 104 .use(siteRoutes(client)) 105 .use(adminRoutes()) 106 + .use(previewRoutes) 107 .use( 108 await staticPlugin({ 109 prefix: '/' 110 }) 111 ) 112 + .get('/client-metadata.json', () => { 113 return createClientMetadata(config) 114 }) 115 + .get('/jwks.json', async () => { 116 const keys = await getCurrentKeys() 117 if (!keys.length) return { keys: [] } 118