Skip to content
Meeko
Type to search the guides and the API reference. Open it from any page with / or Ctrl K; move with the arrow keys and open a result with Enter.
Get started

Contents

On this page

Not translated yet

This page has not been translated into English yet, so it is shown in Spanish.

AppManifest

interfaz

Todo lo que el servidor necesita para enrutar peticiones, fijado en el build. Los archivos son claves de módulo relativas al proyecto, como /app/pages/index.meeko.

ts
import type { AppManifest } from "@meekojs/meeko/server";

Source code src/server/runtime/app.ts:81

Declaración #

ts
interface AppManifest {
	readonly version: 1
	readonly routes: readonly RouteRecord[]
	readonly errorPage?: ErrorPageRecord | undefined
	readonly server: ServerManifest
	readonly routeMiddleware: readonly string[]
	readonly serverMiddleware: readonly string[]
	readonly serverHandlers?: readonly { readonly route: string; readonly file: string }[]
	readonly client: ClientAssets
	readonly assets?: AssetManifest
	readonly document?: DocumentConfig | undefined
	readonly contentSecurityPolicy?: ContentSecurityPolicy | undefined
	readonly headers?: ServerHeaders | undefined
	readonly publicFileHeaders?: Readonly<Record<string, Readonly<Record<string, string>>>> | undefined
	readonly buildId?: string | undefined
}

Example #

ts
import type { AppManifest } from "@meekojs/meeko/server";

const manifest: AppManifest = {
  version: 1,
  routes: [{ id: "/", file: "/app/pages/index.meeko", layouts: ["/app/app.meeko"] }],
  errorPage: { file: "/app/error.meeko", layouts: ["/app/app.meeko"] },
  server: { api: [], rpc: [], socket: [] },
  routeMiddleware: [],
  serverMiddleware: ["/server/middleware/10-headers.ts"],
  client: { entry: "/assets/entry.js", css: [], preload: [] },
};

Propiedades #

version #

propiedad sólo lectura

readonly version: 1

Versión del formato.

routes #

propiedad sólo lectura

readonly routes: readonly RouteRecord[]

Manifiesto de rutas.

errorPage #

propiedad sólo lectura opcional since 1.1.0

readonly errorPage?: ErrorPageRecord | undefined

app/error.meeko y sus layouts raíz; renderiza las URL sin ruta.

server #

propiedad sólo lectura

readonly server: ServerManifest

Endpoints de API, procedimientos RPC y canales Socket.

routeMiddleware #

propiedad sólo lectura

readonly routeMiddleware: readonly string[]

Módulos de app/middleware globales, en orden de ejecución. Desde 1.6, los middleware con nombre no están aquí: cada ruta lista los suyos en RouteRecord.middleware.

serverMiddleware #

propiedad sólo lectura

readonly serverMiddleware: readonly string[]

Módulos de server/middleware, en orden de ejecución; los que añaden los módulos van primero.

serverHandlers #

propiedad sólo lectura opcional since 1.2.0

readonly serverHandlers?: readonly { readonly route: string; readonly file: string }[]

Handlers que añaden los módulos con meeko.addServerHandler: ruta exacta y módulo cuyo export por defecto es (request) => Response | Promise<Response>. Se ejecutan después del middleware.

client #

propiedad sólo lectura

readonly client: ClientAssets

Archivos del build cliente.

assets #

propiedad sólo lectura opcional

readonly assets?: AssetManifest

Archivos públicos del build; en desarrollo los sirve Vite.

document #

propiedad sólo lectura opcional since 1.2.0

readonly document?: DocumentConfig | undefined

document de meeko.config.ts, con el head que añaden los módulos, fijado en el build.

contentSecurityPolicy #

propiedad sólo lectura opcional since 1.7.0

readonly contentSecurityPolicy?: ContentSecurityPolicy | undefined

server.contentSecurityPolicy de meeko.config.ts en los adaptadores con servidor, fijado en el build. En producción, la aplicación pone la cabecera en cada respuesta: con los hashes del build, un nonce por petición o los hashes del HTML según la página, y default-src 'none'; frame-ancestors 'none' en el JSON de API, RPC y navegación.

headers #

propiedad sólo lectura opcional since 1.7.0

readonly headers?: ServerHeaders | undefined

server.headers de meeko.config.ts en los adaptadores con servidor, fijado en el build: las cabeceras globales y por patrón de ruta que la aplicación añade a las respuestas que no las traen.

publicFileHeaders #

propiedad sólo lectura opcional since 1.8.0

readonly publicFileHeaders?: Readonly<Record<string, Readonly<Record<string, string>>>> | undefined

Cabeceras de los archivos públicos que un módulo añade con addPublicFile, por el pathname exacto que tiene una petición de ese archivo, ya codificado como URL (/font%20test.woff2). Se aplican sobre las cabeceras globales de headers y bajo sus patrones de ruta, que sustituyen sólo las cabeceras que fijan, sin distinguir mayúsculas de minúsculas.

buildId #

propiedad sólo lectura opcional since 1.7.0

readonly buildId?: string | undefined

Identificador del build, distinto en cada meeko build. Entra en el ETag de las páginas con cache, así que un despliegue nuevo invalida las copias del navegador. Sin él, cada proceso usa uno aleatorio.

See also #

Was this page helpful?

Add a comment

It is sent when you choose “Yes” or “No”. Only the page, your answer and the comment are stored: no cookies and no personal data.

0 of 2000 characters

Edit on GitHub: packages/meeko/src/server/runtime/app.ts