@@ -22,45 +22,6 @@ if (SENTRY_ENABLED) {
2222
2323const app = express ( )
2424
25- if ( IS_DEV ) {
26- console . log ( 'Starting development server' )
27- const viteDevServer = await import ( 'vite' ) . then ( ( vite ) =>
28- vite . createServer ( {
29- server : { middlewareMode : true } ,
30- // We tell Vite we are running a custom app instead of
31- // the SPA default so it doesn't run HTML middleware
32- appType : 'custom' ,
33- } ) ,
34- )
35- app . use ( viteDevServer . middlewares )
36- app . use ( async ( req , res , next ) => {
37- try {
38- const source = await viteDevServer . ssrLoadModule ( './server/app.ts' )
39- return await source . app ( req , res , next )
40- } catch ( error ) {
41- if ( typeof error === 'object' && error instanceof Error ) {
42- viteDevServer . ssrFixStacktrace ( error )
43- }
44- next ( error )
45- }
46- } )
47- } else {
48- console . log ( 'Starting production server' )
49- // React Router fingerprints its assets so we can cache forever.
50- app . use (
51- '/assets' ,
52- express . static ( 'build/client/assets' , {
53- immutable : true ,
54- maxAge : '1y' ,
55- fallthrough : false ,
56- } ) ,
57- )
58- // Everything else (like favicon.ico) is cached for an hour. You may want to be
59- // more aggressive with this caching.
60- app . use ( express . static ( 'build/client' , { maxAge : '1h' } ) )
61- app . use ( await import ( BUILD_PATH ) . then ( ( mod ) => mod . app ) )
62- }
63-
6425const getHost = ( req : { get : ( key : string ) => string | undefined } ) =>
6526 req . get ( 'X-Forwarded-Host' ) ?? req . get ( 'host' ) ?? ''
6627
@@ -193,6 +154,45 @@ if (!ALLOW_INDEXING) {
193154 } )
194155}
195156
157+ if ( IS_DEV ) {
158+ console . log ( 'Starting development server' )
159+ const viteDevServer = await import ( 'vite' ) . then ( ( vite ) =>
160+ vite . createServer ( {
161+ server : { middlewareMode : true } ,
162+ // We tell Vite we are running a custom app instead of
163+ // the SPA default so it doesn't run HTML middleware
164+ appType : 'custom' ,
165+ } ) ,
166+ )
167+ app . use ( viteDevServer . middlewares )
168+ app . use ( async ( req , res , next ) => {
169+ try {
170+ const source = await viteDevServer . ssrLoadModule ( './server/app.ts' )
171+ return await source . app ( req , res , next )
172+ } catch ( error ) {
173+ if ( typeof error === 'object' && error instanceof Error ) {
174+ viteDevServer . ssrFixStacktrace ( error )
175+ }
176+ next ( error )
177+ }
178+ } )
179+ } else {
180+ console . log ( 'Starting production server' )
181+ // React Router fingerprints its assets so we can cache forever.
182+ app . use (
183+ '/assets' ,
184+ express . static ( 'build/client/assets' , {
185+ immutable : true ,
186+ maxAge : '1y' ,
187+ fallthrough : false ,
188+ } ) ,
189+ )
190+ // Everything else (like favicon.ico) is cached for an hour. You may want to be
191+ // more aggressive with this caching.
192+ app . use ( express . static ( 'build/client' , { maxAge : '1h' } ) )
193+ app . use ( await import ( BUILD_PATH ) . then ( ( mod ) => mod . app ) )
194+ }
195+
196196const desiredPort = Number ( process . env . PORT || 3000 )
197197const portToUse = await getPort ( {
198198 port : portNumbers ( desiredPort , desiredPort + 100 ) ,
0 commit comments