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

ensure NODE_ENV = production is respected

Changed files
+12 -7
src
+12 -7
src/index.ts
···
import { Elysia } from 'elysia'
+
import type { Context } from 'elysia'
import { cors } from '@elysiajs/cors'
-
import { openapi, fromTypes } from '@elysiajs/openapi'
import { staticPlugin } from '@elysiajs/static'
import type { Config } from './lib/types'
···
import { logger, logCollector, observabilityMiddleware } from './lib/observability'
import { promptAdminSetup } from './lib/admin-auth'
import { adminRoutes } from './routes/admin'
+
import { previewRoutes } from './routes/preview'
const config: Config = {
domain: (Bun.env.DOMAIN ?? `https://${BASE_HOST}`) as Config['domain'],
···
logger.info('DNS Verifier Started - checking custom domains every 10 minutes')
export const app = new Elysia()
-
.use(openapi({
-
references: fromTypes()
-
}))
+
.server({
+
development: Bun.env.NODE_ENV !== 'production',
+
})
+
.serve({
+
hmr: Bun.env.NODE_ENV !== 'production'
+
})
// Observability middleware
.onBeforeHandle(observabilityMiddleware('main-app').beforeHandle)
-
.onAfterHandle((ctx) => {
+
.onAfterHandle((ctx: Context) => {
observabilityMiddleware('main-app').afterHandle(ctx)
// Security headers middleware
const { set } = ctx
···
.use(userRoutes(client))
.use(siteRoutes(client))
.use(adminRoutes())
+
.use(previewRoutes)
.use(
await staticPlugin({
prefix: '/'
})
)
-
.get('/client-metadata.json', (c) => {
+
.get('/client-metadata.json', () => {
return createClientMetadata(config)
})
-
.get('/jwks.json', async (c) => {
+
.get('/jwks.json', async () => {
const keys = await getCurrentKeys()
if (!keys.length) return { keys: [] }