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.

MeekoConfig

interfaz

Configuración de proyecto de meeko.config.ts. Créela con defineMeekoConfig.

ts
import type { MeekoConfig } from "@meekojs/meeko/build";

Source code src/modules/define-meeko-config.ts:251

Declaración #

ts
interface MeekoConfig {
	readonly viewTransitions?: boolean
	readonly components?: {
		readonly dirs?: readonly {
			readonly path: string
			readonly prefix?: string
		}[]
	}
	readonly layers?: readonly string[]
	readonly extends?: readonly string[]
	readonly modules?: readonly MeekoModuleEntry[]
	readonly imports?: {
		readonly appDirs?: readonly string[]
		readonly sharedDirs?: readonly string[]
		readonly serverDirs?: readonly string[]
	}
	readonly alias?: Readonly<Record<string, string | false>>
	readonly server?: MeekoServerConfig
	readonly css?: { readonly scopeAttribute?: 'all' | 'matched' }
	readonly document?: DocumentConfig
	readonly dev?: {
		readonly serverLogs?: boolean
	}
	readonly devtools?: boolean | MeekoDevtoolsConfig
	readonly site?: string
	readonly sitemap?: boolean | SitemapConfig
	readonly robots?: boolean | RobotsConfig
	readonly theme?: boolean | ThemeConfig
}

Example #

ts
import type { MeekoConfig } from "@meekojs/meeko/framework";

const config: MeekoConfig = {
  layers: ["./layers/base"],
  modules: ["@acme/seo", ["./modules/hello", { greeting: "Hola" }]],
  imports: { serverDirs: ["server/services"] },
  server: { adapter: "node", port: 3000 },
};

Propiedades #

viewTransitions #

propiedad sólo lectura opcional

readonly viewTransitions?: boolean

Activa View Transitions nativas en la navegación cliente; desactivadas por defecto. Respeta movimiento reducido.

components #

propiedad sólo lectura opcional

readonly components?: {
	readonly dirs?: readonly {
		readonly path: string
		readonly prefix?: string
	}[]
}

Component directories, relative to each source root. The default app/components is always included.

layers #

propiedad sólo lectura opcional since 1.2.0

readonly layers?: readonly string[]

Layers: carpetas del proyecto con su propio app/pages, componentes, autoimports y app/plugins, aplicadas después de la aplicación en el orden escrito. Las colisiones de URL fallan.

extends #

propiedad sólo lectura opcional

readonly extends?: readonly string[]

Alias de layers que se mantiene: sus carpetas van antes que las de layers.

modules #

propiedad sólo lectura opcional

readonly modules?: readonly MeekoModuleEntry[]

Módulos creados con defineMeekoModule: un módulo importado, un nombre de paquete, una ruta a un módulo o [módulo, opciones], aplicados en orden. Hasta 1.1 eran carpetas con app/pages; esas carpetas siguen funcionando como layers en 1.x, con un aviso (use layers).

imports #

propiedad sólo lectura opcional

readonly imports?: {
	readonly appDirs?: readonly string[]
	readonly sharedDirs?: readonly string[]
	readonly serverDirs?: readonly string[]
}

Carpetas de autoimports además de las de por defecto, relativas a la raíz del proyecto y de cada layer. Cada carpeta toma el ámbito de la carpeta que la contiene, como las de por defecto.

alias #

propiedad sólo lectura opcional since 1.5.0

readonly alias?: Readonly<Record<string, string | false>>

Aliases de ruta propios, o cambios de los de Meeko. Cada clave es un prefijo que termina en / y cada valor, una carpeta del proyecto (relativa a su raíz; también la de un layer) o false para quitar el alias. Por defecto existen ~/ (la raíz del proyecto), @/ (app/), #shared/ (shared/) y #server/ (server/, sólo en el código de servidor). Un alias propio toma el ámbito de la carpeta a la que apunta, como los autoimports: dentro de server/, sólo en el servidor; dentro de app/, en app/ y server/ pero no en shared/; en otro lugar, en todo el proyecto. Se aplica en Vite (meeko dev, meeko build y todos los adaptadores), en los tsconfig generados, en el editor y en los módulos de @utilities.

server #

propiedad sólo lectura opcional

readonly server?: MeekoServerConfig

Destino del servidor de producción. Por defecto, { adapter: "node" }.

css #

propiedad sólo lectura opcional

readonly css?: { readonly scopeAttribute?: 'all' | 'matched' }

Estilos de los componentes. scopeAttribute elige qué elementos reciben el atributo de <style scoped>: "all" (por defecto en 1.x), todos los de la plantilla; "matched" (desde 1.2), sólo los que algún selector con ámbito puede seleccionar. Con "matched", una clase o un atributo que el script añade con la API del DOM a un elemento sin ref: ni on: no recibe los estilos con ámbito si ese elemento quedó sin atributo. En 2.0, "matched" pasará a ser el valor por defecto.

document #

propiedad sólo lectura opcional since 1.2.0

readonly document?: DocumentConfig

Documento HTML de la aplicación: lang de <html> y etiquetas y atributos comunes de <head>, con la menor prioridad frente a useHead y al head de las páginas. Los módulos añaden sus entradas con meeko.addHead; las de este campo se aplican después. Se fija en el build y llega también al navegador, porque termina en el HTML.

dev #

propiedad sólo lectura opcional since 1.3.0

readonly dev?: {
	readonly serverLogs?: boolean
}

Opciones de meeko dev; no afectan a meeko build ni a meeko start. serverLogs: false deja de reenviar a la consola del navegador lo que el código de servidor escribe con console.log, info, warn, error o debug mientras atiende una petición (activado por defecto). La terminal lo muestra igual en ambos casos.

devtools #

propiedad sólo lectura opcional since 1.8.0

readonly devtools?: boolean | MeekoDevtoolsConfig

Meeko DevTools en meeko dev: con true (o un objeto con panel distinto de false), meeko dev monta el panel dentro de la página sin código de la aplicación. Nunca llega a meeko build, meeko start ni a las páginas prerenderizadas. Por defecto, false en 1.x: el panel no aparece salvo que se pida. La extensión de Chrome y el puente del editor funcionan con o sin esta opción.

site #

propiedad sólo lectura opcional since 1.3.0

readonly site?: string

URL pública del sitio, de la que sólo cuenta el origen (https://example.com, sin ruta). La usan sitemap.xml, robots.txt y, con document.seo, <link rel="canonical"> y og:url. Sin ella se usa MEEKO_PUBLIC_ORIGIN del entorno del build. Se fija en el build; no cambia las comprobaciones de Origin, que siguen leyendo MEEKO_PUBLIC_ORIGIN o publicOrigin de server/runtime.ts al ejecutarse.

sitemap #

propiedad sólo lectura opcional since 1.3.0

readonly sitemap?: boolean | SitemapConfig

Escribe sitemap.xml con las páginas prerenderizadas y las rutas sin parámetros, salvo las excluidas y las prerenderizadas con <meta name="robots"> noindex. Necesita site o MEEKO_PUBLIC_ORIGIN. Desde 1.7, también las URL de sitemapEntries de definePage, como las de las rutas dinámicas con SSR.

robots #

propiedad sólo lectura opcional since 1.3.0

readonly robots?: boolean | RobotsConfig

Escribe robots.txt con las reglas de User-agent: * y, con sitemap, su URL absoluta. No puede convivir con un public/robots.txt.

theme #

propiedad sólo lectura opcional since 1.4.0

readonly theme?: boolean | ThemeConfig

Tema claro/oscuro (y temas propios) sin parpadeo: la elección se guarda en una cookie, el servidor escribe el tema en <html> desde el primer byte y un script en línea de <head> lo aplica antes de pintar cuando el servidor no lo conoce (páginas prerenderizadas, adaptador static, modo "system" sin client hint). Activa useTheme(). true usa los valores por defecto; sin theme, nada cambia.

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/modules/define-meeko-config.ts