From c1337574496323dc9d32e5d8d1565a50d1b59977 Mon Sep 17 00:00:00 2001 From: Murderlon Date: Wed, 2 Oct 2024 15:42:15 +0200 Subject: [PATCH] Remove server.js --- app/entry.server.tsx | 5 +- bun.lockb | Bin 504916 -> 501644 bytes core/drizzle/index.ts | 6 +- package.json | 7 ++- server.js | 125 ------------------------------------------ sst-env.d.ts | 59 ++++++++++---------- 6 files changed, 43 insertions(+), 159 deletions(-) delete mode 100644 server.js diff --git a/app/entry.server.tsx b/app/entry.server.tsx index b874af1..be66e1c 100644 --- a/app/entry.server.tsx +++ b/app/entry.server.tsx @@ -1,6 +1,7 @@ import type { AppLoadContext, EntryContext } from '@remix-run/node' import isbot from 'isbot' import { PassThrough } from 'node:stream' +import crypto from 'node:crypto' import { RemixServer } from '@remix-run/react' import { createReadableStreamFromReadable } from '@remix-run/node' import { renderToPipeableStream } from 'react-dom/server' @@ -17,7 +18,7 @@ export default async function handleRequest( responseStatusCode: number, responseHeaders: Headers, remixContext: EntryContext, - loadContext: AppLoadContext, + _: AppLoadContext, ) { const callbackName = isbot(request.headers.get('user-agent')) ? 'onAllReady' @@ -27,7 +28,7 @@ export default async function handleRequest( * Content Security Policy. * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP */ - const nonce = String(loadContext.cspNonce) ?? undefined + const nonce = crypto.randomBytes(16).toString('hex') responseHeaders.set( 'Content-Security-Policy', diff --git a/bun.lockb b/bun.lockb index ab916b482b35b18c0f4b0926e55d568619800805..6961ed1848b3c1da78e9d15728584282f91bb8ef 100755 GIT binary patch delta 96675 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 DYS(v> diff --git a/core/drizzle/index.ts b/core/drizzle/index.ts index a602eba..b1531c3 100644 --- a/core/drizzle/index.ts +++ b/core/drizzle/index.ts @@ -1,6 +1,7 @@ import { drizzle } from 'drizzle-orm/neon-serverless' -import { Pool } from '@neondatabase/serverless' +import { neonConfig, Pool } from '@neondatabase/serverless' import { Resource } from 'sst' +import ws from 'ws' import { permission, @@ -35,6 +36,9 @@ export const schema = { permissionToRoleRelations, } +// WebSocket is not globally defined on AWS +neonConfig.webSocketConstructor = ws + export const connection = new Pool({ connectionString: Resource.DATABASE_URL.value, max: process.env.DB_MIGRATING || process.env.DB_SEEDING ? 1 : undefined, diff --git a/package.json b/package.json index a02093d..f38220c 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "db:migrate": "cross-env DB_MIGRATING=true bunx drizzle-kit generate", "db:push": "bunx drizzle-kit push", "db:seed": "cross-env DB_SEEDING=true bun run ./db/seed.ts", - "dev": "node ./server.js", + "dev": "remix vite:dev", "format": "biome format --write .", "format:check": "biome format --error-on-warnings .", "lint": "biome lint --write .", @@ -67,6 +67,7 @@ "tailwind-merge": "^2.3.0", "tailwindcss-animate": "^1.0.7", "ulid": "^2.3.0", + "ws": "^8.18.0", "zod": "^3.23.6" }, "devDependencies": { @@ -89,7 +90,9 @@ "vite-tsconfig-paths": "^4.3.2", "vitest": "^1.6.0" }, - "trustedDependencies": ["@biomejs/biome"], + "trustedDependencies": [ + "@biomejs/biome" + ], "engines": { "node": ">=18.0.0" } diff --git a/server.js b/server.js deleted file mode 100644 index a766266..0000000 --- a/server.js +++ /dev/null @@ -1,125 +0,0 @@ -import crypto from 'node:crypto' -import { createRequestHandler } from '@remix-run/express' -import { installGlobals } from '@remix-run/node' -import express from 'express' -import compression from 'compression' -import morgan from 'morgan' -import helmet from 'helmet' - -installGlobals() - -const PORT = process.env.PORT || 3000 -const NODE_ENV = process.env.NODE_ENV - -const viteDevServer = - NODE_ENV === 'production' - ? undefined - : await import('vite').then((vite) => - vite.createServer({ - server: { middlewareMode: true }, - }), - ) - -const remixHandler = createRequestHandler({ - build: viteDevServer - ? () => viteDevServer.ssrLoadModule('virtual:remix/server-build') - : () => import('./build/server/index.js'), - async getLoadContext(_, res) { - return { - cspNonce: res.locals.cspNonce, - } - }, -}) - -const app = express() - -/** - * Good practices: Disable x-powered-by. - * @see http://expressjs.com/en/advanced/best-practice-security.html#at-a-minimum-disable-x-powered-by-header - */ -app.disable('x-powered-by') - -app.use(compression()) -app.use(morgan('tiny')) - -/** - * Content Security Policy. - * Implementation based on github.com/epicweb-dev/epic-stack - * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP - */ -app.use((_, res, next) => { - res.locals.cspNonce = crypto.randomBytes(16).toString('hex') - next() -}) - -app.use( - helmet({ - contentSecurityPolicy: { - referrerPolicy: { policy: 'same-origin' }, - crossOriginEmbedderPolicy: false, - // ā¯—Important: Remove `reportOnly` to enforce CSP. (Development only). - reportOnly: true, - directives: { - // Controls allowed endpoints for fetch, XHR, WebSockets, etc. - 'connect-src': [NODE_ENV === 'development' ? 'ws:' : null, "'self'"].filter( - Boolean, - ), - // Defines which origins can serve fonts to your site. - 'font-src': ["'self'"], - // Specifies origins allowed to be embedded as frames. - 'frame-src': ["'self'"], - // Determines allowed sources for images. - 'img-src': ["'self'", 'data:'], - // Sets restrictions on sources for