@@ -2,28 +2,13 @@ import { AsyncLocalStorage } from 'node:async_hooks';
22import { IncomingMessage } from 'node:http' ;
33import type * as vite from 'vite' ;
44import { isRunnableDevEnvironment , type RunnableDevEnvironment } from 'vite' ;
5- import { toFallbackType } from '../core/app/common.js' ;
6- import { toRoutingStrategy } from '../core/app/entrypoints/index.js' ;
7- import type { SSRManifest , SSRManifestCSP , SSRManifestI18n } from '../core/app/types.js' ;
5+ import type { SSRManifest } from '../core/app/types.js' ;
86import { ASTRO_VITE_ENVIRONMENT_NAMES , devPrerenderMiddlewareSymbol } from '../core/constants.js' ;
9- import {
10- getAlgorithm ,
11- getDirectives ,
12- getScriptHashes ,
13- getScriptResources ,
14- getStrictDynamic ,
15- getStyleHashes ,
16- getStyleResources ,
17- shouldTrackCspHashes ,
18- } from '../core/csp/common.js' ;
19- import { createKey , getEnvironmentKey , hasEnvironmentKey } from '../core/encryption.js' ;
207import { getViteErrorPayload } from '../core/errors/dev/index.js' ;
218import { AstroError , AstroErrorData } from '../core/errors/index.js' ;
229import type { Logger } from '../core/logger/core.js' ;
23- import { NOOP_MIDDLEWARE_FN } from '../core/middleware/noop-middleware.js' ;
2410import { createViteLoader } from '../core/module-loader/index.js' ;
2511import { matchAllRoutes } from '../core/routing/match.js' ;
26- import { resolveMiddlewareMode } from '../integrations/adapter-utils.js' ;
2712import { SERIALIZED_MANIFEST_ID } from '../manifest/serialized.js' ;
2813import type { AstroSettings } from '../types/astro.js' ;
2914import { ASTRO_DEV_SERVER_APP_ID } from '../vite-plugin-app/index.js' ;
@@ -34,7 +19,6 @@ import { setRouteError } from './server-state.js';
3419import { routeGuardMiddleware } from './route-guard.js' ;
3520import { secFetchMiddleware } from './sec-fetch.js' ;
3621import { trailingSlashMiddleware } from './trailing-slash.js' ;
37- import { sessionConfigToManifest } from '../core/session/utils.js' ;
3822
3923interface AstroPluginOptions {
4024 settings : AstroSettings ;
@@ -201,107 +185,3 @@ export default function createVitePluginAstroServer({
201185 } ,
202186 } ;
203187}
204-
205- /**
206- * It creates a `SSRManifest` from the `AstroSettings`.
207- *
208- * Renderers needs to be pulled out from the page module emitted during the build.
209- * @param settings
210- */
211- export async function createDevelopmentManifest ( settings : AstroSettings ) : Promise < SSRManifest > {
212- let i18nManifest : SSRManifestI18n | undefined ;
213- let csp : SSRManifestCSP | undefined ;
214- if ( settings . config . i18n ) {
215- i18nManifest = {
216- fallback : settings . config . i18n . fallback ,
217- strategy : toRoutingStrategy ( settings . config . i18n . routing , settings . config . i18n . domains ) ,
218- defaultLocale : settings . config . i18n . defaultLocale ,
219- locales : settings . config . i18n . locales ,
220- domainLookupTable : { } ,
221- fallbackType : toFallbackType ( settings . config . i18n . routing ) ,
222- domains : settings . config . i18n . domains ,
223- } ;
224- }
225-
226- if ( shouldTrackCspHashes ( settings . config . security . csp ) ) {
227- const styleHashes = [
228- ...getStyleHashes ( settings . config . security . csp ) ,
229- ...settings . injectedCsp . styleHashes ,
230- ] ;
231-
232- csp = {
233- cspDestination : settings . adapter ?. adapterFeatures ?. staticHeaders ? 'adapter' : undefined ,
234- scriptHashes : getScriptHashes ( settings . config . security . csp ) ,
235- scriptResources : getScriptResources ( settings . config . security . csp ) ,
236- styleHashes,
237- styleResources : getStyleResources ( settings . config . security . csp ) ,
238- algorithm : getAlgorithm ( settings . config . security . csp ) ,
239- directives : getDirectives ( settings ) ,
240- isStrictDynamic : getStrictDynamic ( settings . config . security . csp ) ,
241- } ;
242- }
243-
244- return {
245- rootDir : settings . config . root ,
246- srcDir : settings . config . srcDir ,
247- cacheDir : settings . config . cacheDir ,
248- outDir : settings . config . outDir ,
249- buildServerDir : settings . config . build . server ,
250- buildClientDir : settings . config . build . client ,
251- publicDir : settings . config . publicDir ,
252- trailingSlash : settings . config . trailingSlash ,
253- buildFormat : settings . config . build . format ,
254- compressHTML : settings . config . compressHTML ,
255- assetsDir : settings . config . build . assets ,
256- serverLike : settings . buildOutput === 'server' ,
257- middlewareMode : resolveMiddlewareMode ( settings . adapter ?. adapterFeatures ) ,
258- assets : new Set ( ) ,
259- entryModules : { } ,
260- routes : [ ] ,
261- adapterName : settings ?. adapter ?. name ?? '' ,
262- clientDirectives : settings . clientDirectives ,
263- renderers : [ ] ,
264- base : settings . config . base ,
265- userAssetsBase : settings . config ?. vite ?. base ,
266- assetsPrefix : settings . config . build . assetsPrefix ,
267- site : settings . config . site ,
268- componentMetadata : new Map ( ) ,
269- inlinedScripts : new Map ( ) ,
270- i18n : i18nManifest ,
271- checkOrigin : settings . config . security ?. checkOrigin ?? false ,
272- allowedDomains : settings . config . security ?. allowedDomains ,
273- actionBodySizeLimit : settings . config . security ?. actionBodySizeLimit
274- ? settings . config . security . actionBodySizeLimit
275- : 1024 * 1024 , // 1mb default
276- serverIslandBodySizeLimit : settings . config . security ?. serverIslandBodySizeLimit
277- ? settings . config . security . serverIslandBodySizeLimit
278- : 1024 * 1024 , // 1mb default
279- key : hasEnvironmentKey ( ) ? getEnvironmentKey ( ) : createKey ( ) ,
280- middleware ( ) {
281- return {
282- onRequest : NOOP_MIDDLEWARE_FN ,
283- } ;
284- } ,
285- sessionConfig : sessionConfigToManifest ( settings . config . session ) ,
286- csp,
287- image : {
288- objectFit : settings . config . image . objectFit ,
289- objectPosition : settings . config . image . objectPosition ,
290- layout : settings . config . image . layout ,
291- } ,
292- devToolbar : {
293- enabled :
294- settings . config . devToolbar . enabled &&
295- ( await settings . preferences . get ( 'devToolbar.enabled' ) ) ,
296- latestAstroVersion : settings . latestAstroVersion ,
297- debugInfoOutput : '' ,
298- placement : settings . config . devToolbar . placement ,
299- } ,
300- logLevel : settings . logLevel ,
301- shouldInjectCspMetaTags : false ,
302- experimentalQueuedRendering : {
303- enabled : ! ! settings . config . experimental ?. queuedRendering ,
304- poolSize : settings . config . experimental ?. queuedRendering ?. poolSize ?? 1000 ,
305- } ,
306- } ;
307- }
0 commit comments