Home / File/ base-pipeline.ts — astro Source File

base-pipeline.ts — astro Source File

Architecture documentation for base-pipeline.ts, a typescript file in the astro codebase. 20 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  4bcb674f_956e_4eb2_1353_d429e6fed7f0["base-pipeline.ts"]
  bcf78fe3_635f_4953_76c5_f41b1d3d7d53["../actions/noop-actions.js"]
  4bcb674f_956e_4eb2_1353_d429e6fed7f0 --> bcf78fe3_635f_4953_76c5_f41b1d3d7d53
  a1711a94_f06c_214e_28b9_0d6031277c04["../../actions/runtime/types.js"]
  4bcb674f_956e_4eb2_1353_d429e6fed7f0 --> a1711a94_f06c_214e_28b9_0d6031277c04
  db6f0aaa_f5a4_2555_3d84_fea3866e7a67["./middleware.js"]
  4bcb674f_956e_4eb2_1353_d429e6fed7f0 --> db6f0aaa_f5a4_2555_3d84_fea3866e7a67
  e9b74c5a_8d34_34a7_e196_5e41b87214aa["../types/astro.js"]
  4bcb674f_956e_4eb2_1353_d429e6fed7f0 --> e9b74c5a_8d34_34a7_e196_5e41b87214aa
  135a8084_d596_67c2_9209_cca6693604e6["../types/public/common.js"]
  4bcb674f_956e_4eb2_1353_d429e6fed7f0 --> 135a8084_d596_67c2_9209_cca6693604e6
  c32d12e2_d85e_28c0_eea7_9b29629857e0["../types/public/config.js"]
  4bcb674f_956e_4eb2_1353_d429e6fed7f0 --> c32d12e2_d85e_28c0_eea7_9b29629857e0
  10d4e39f_edb6_3e34_aa93_ae1211e7da05["../types/public/internal.js"]
  4bcb674f_956e_4eb2_1353_d429e6fed7f0 --> 10d4e39f_edb6_3e34_aa93_ae1211e7da05
  73b12e54_7493_2e33_f45d_2136657c962a["./app/middlewares.js"]
  4bcb674f_956e_4eb2_1353_d429e6fed7f0 --> 73b12e54_7493_2e33_f45d_2136657c962a
  a4f2698c_5256_262a_ba7c_f72b51878d10["../core/app/types.js"]
  4bcb674f_956e_4eb2_1353_d429e6fed7f0 --> a4f2698c_5256_262a_ba7c_f72b51878d10
  e099eff3_3f90_76ac_3751_a9ff5a6b8f25["../../core/build/types.js"]
  4bcb674f_956e_4eb2_1353_d429e6fed7f0 --> e099eff3_3f90_76ac_3751_a9ff5a6b8f25
  8df634da_0f30_1e1f_1314_2439b0c9baab["../core/errors/errors-data.js"]
  4bcb674f_956e_4eb2_1353_d429e6fed7f0 --> 8df634da_0f30_1e1f_1314_2439b0c9baab
  ef8a1e3f_e350_75a6_b92d_62a8566d8db9["../core/errors/index.js"]
  4bcb674f_956e_4eb2_1353_d429e6fed7f0 --> ef8a1e3f_e350_75a6_b92d_62a8566d8db9
  d3861967_b647_84d2_ff48_15013353bd56["../core/logger/core.js"]
  4bcb674f_956e_4eb2_1353_d429e6fed7f0 --> d3861967_b647_84d2_ff48_15013353bd56
  52dc42d6_2faa_3b2c_8099_7f9b545b1154["../core/middleware/noop-middleware.js"]
  4bcb674f_956e_4eb2_1353_d429e6fed7f0 --> 52dc42d6_2faa_3b2c_8099_7f9b545b1154
  style 4bcb674f_956e_4eb2_1353_d429e6fed7f0 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { $ZodType } from 'zod/v4/core';
import { NOOP_ACTIONS_MOD } from '../actions/noop-actions.js';
import type { ActionAccept, ActionClient } from '../actions/runtime/types.js';
import { createI18nMiddleware } from '../i18n/middleware.js';
import type { ComponentInstance } from '../types/astro.js';
import type { MiddlewareHandler, RewritePayload } from '../types/public/common.js';
import type { RuntimeMode } from '../types/public/config.js';
import type {
	RouteData,
	SSRActions,
	SSRLoadedRenderer,
	SSRManifest,
	SSRResult,
} from '../types/public/internal.js';
import { createOriginCheckMiddleware } from './app/middlewares.js';
import type { ServerIslandMappings } from './app/types.js';
import type { SinglePageBuiltModule } from './build/types.js';
import { ActionNotFoundError } from './errors/errors-data.js';
import { AstroError } from './errors/index.js';
import type { Logger } from './logger/core.js';
import { NOOP_MIDDLEWARE_FN } from './middleware/noop-middleware.js';
import { sequence } from './middleware/sequence.js';
import { RedirectSinglePageBuiltModule } from './redirects/index.js';
import { RouteCache } from './render/route-cache.js';
import { createDefaultRoutes } from './routing/default.js';
import type { SessionDriverFactory } from './session/types.js';

/**
 * The `Pipeline` represents the static parts of rendering that do not change between requests.
 * These are mostly known when the server first starts up and do not change.
 *
 * Thus, a `Pipeline` is created once at process start and then used by every `RenderContext`.
 */
export abstract class Pipeline {
	readonly internalMiddleware: MiddlewareHandler[];
	resolvedMiddleware: MiddlewareHandler | undefined = undefined;
	resolvedActions: SSRActions | undefined = undefined;
	resolvedSessionDriver: SessionDriverFactory | null | undefined = undefined;

	constructor(
		readonly logger: Logger,
		readonly manifest: SSRManifest,
		/**
		 * "development" or "production" only
		 */
		readonly runtimeMode: RuntimeMode,
		readonly renderers: SSRLoadedRenderer[],
		readonly resolve: (s: string) => Promise<string>,

		readonly streaming: boolean,
		/**
		 * Used to provide better error messages for `Astro.clientAddress`
		 */
		readonly adapterName = manifest.adapterName,
		readonly clientDirectives = manifest.clientDirectives,
		readonly inlinedScripts = manifest.inlinedScripts,
		readonly compressHTML = manifest.compressHTML,
		readonly i18n = manifest.i18n,
		readonly middleware = manifest.middleware,
		readonly routeCache = new RouteCache(logger, runtimeMode),
// ... (182 more lines)

Domain

Dependencies

  • ../../actions/runtime/types.js
  • ../../core/build/types.js
  • ../../core/render/route-cache.js
  • ../../core/session/types.js
  • ../actions/noop-actions.js
  • ../core/app/types.js
  • ../core/errors/errors-data.js
  • ../core/errors/index.js
  • ../core/logger/core.js
  • ../core/middleware/noop-middleware.js
  • ../core/redirects/index.js
  • ../core/routing/default.js
  • ../types/astro.js
  • ../types/public/common.js
  • ../types/public/config.js
  • ../types/public/internal.js
  • ./app/middlewares.js
  • ./middleware.js
  • ./sequence.js
  • core

Frequently Asked Questions

What does base-pipeline.ts do?
base-pipeline.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain.
What does base-pipeline.ts depend on?
base-pipeline.ts imports 20 module(s): ../../actions/runtime/types.js, ../../core/build/types.js, ../../core/render/route-cache.js, ../../core/session/types.js, ../actions/noop-actions.js, ../core/app/types.js, ../core/errors/errors-data.js, ../core/errors/index.js, and 12 more.
Where is base-pipeline.ts in the architecture?
base-pipeline.ts is located at packages/astro/src/core/base-pipeline.ts (domain: CoreAstro, directory: packages/astro/src/core).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free