Referencia de la API
171 símbolos de Meeko agrupados por lo que son. Cada página explica uno con su tipo exacto, generado desde el código fuente, sus parámetros, ejemplos reales y los errores que da usarlo mal.
- Componentes Las etiquetas propias de Meeko: se usan en la plantilla sin importarlas y el compilador comprueba sus atributos. 9
-
Macros
Las macros que el compilador lee en el script del componente y las funciones
define*que declaran páginas, middleware, plugins, módulos, la configuración y el servidor. 18 -
Composables
Funciones
use*que el script de un componente llama en su nivel superior: la ruta, la página, formularios, el head, el tema, el estado y los datos del servidor. 19 - Reactividad Señales, valores derivados, efectos, ciclo de vida, contexto y observadores de errores: el núcleo sin DOM virtual. 12
- Utilidades Rutas tipadas, redirecciones, errores de API, clientes generados, serialización, HTML de confianza y contraseñas. 18
-
Sintaxis .meeko
Lo que el compilador reconoce en un archivo
.meeko: interpolación, directivas, snippets y los bloques del componente. 14 - Servidor Sesiones y sus almacenes, cabeceras de seguridad, OpenAPI, llamadas locales, Socket entre instancias y errores del proceso. 16
- Adaptadores Cómo se ejecuta la aplicación construida en Node, Bun, Deno y Cloudflare Workers. 16
-
Comandos
La CLI
meeko: desarrollo, comprobación, build, servidor de producción, proyectos nuevos y herramientas. 15 -
Configuración
Las claves de
meeko.config.ts, que se declara condefineMeekoConfig. 14 - Avanzado Las piezas que hay debajo del framework, para hosts propios, herramientas y builds a medida. 20
- Todos los exports Cada export de cada módulo del paquete, con su página generada desde el JSDoc.
Componentes #
Las etiquetas propias de Meeko: se usan en la plantilla sin importarlas y el compilador comprueba sus atributos.
-
<MeekoLink>Enlace tipado a una página de la aplicación, que construye su href con href() y marca con aria-current la página o la sección actual. -
<MeekoOutlet>Pinta, en app/app.meeko y en los layouts, el layout o la página que van dentro, y el navegador conserva el layout entre rutas. -
<MeekoAwait>Zona de unos datos que llegan después del primer pintado, con sus estados de carga, error y recarga, y una reserva de altura que evita saltos. -
<MeekoTeleport>Pinta su contenido en otro lugar del documento (el final de body o un elemento con id) sin sacarlo del componente que lo declara. -
<MeekoPopover>Popover accesible anclado a su disparador, sobre la API nativa popover y CSS anchor positioning, para menús, diálogos ligeros y tooltips. -
<MeekoSelect>Select accesible sin estilos sobre MeekoPopover, con opciones de cualquier tipo, selección múltiple, búsqueda, grupos y envío en formularios. -
<MeekoThemeToggle>Selector del tema claro/oscuro que no salta al cargar, accesible y funcional sin JavaScript, con los temas de meeko.config.ts. -
<component is>Renderiza un componente elegido con una expresión, o desde 1.5 una etiqueta HTML, con props, eventos y snippets comprobados por tipos. -
ComponentRegistryDescubre componentes .meeko por directorio, consulta sus tipos y cárgalos por nombre.
Macros #
Las macros que el compilador lee en el script del componente y las funciones define* que declaran páginas, middleware, plugins, módulos, la configuración y el servidor.
-
definePropsDeclara las props de un componente con un tipo de TypeScript y sus valores por defecto, y devuelve una vista reactiva de sólo lectura que también puede desestructurarse. -
defineEmitsDeclara los eventos de un componente con sus argumentos tipados y devuelve emit, que llama al manejador on:evento del padre. -
defineModelDeclara un modelo del componente, una señal escribible que el padre comparte con model o model:nombre, o pasa como prop y evento, con un valor por defecto opcional. -
defineSnippetsDeclara los snippets de un componente, contenido de plantilla que el padre escribe entre sus etiquetas, con sus parámetros tipados. -
defineExposePublica un valor del componente, como métodos o señales, para el padre que lo nombra con ref: y lo lee con useElementRef. -
useElementRefLee desde el script el elemento o el componente que la plantilla nombra con ref:, como señal o, con await, ya montado. -
definePageDeclara las opciones de ruta de una página (schemas de params y search, modo de render, loader, head, layout, middleware, caché y sitemap) con los tipos encadenados entre ellas. -
defineGroupDeclara en un +group.ts las opciones de una carpeta de app/pages (layout con nombre, sus props y middleware) que heredan todas sus páginas. -
defineRouteMiddlewareDeclara un middleware de ruta de app/middleware, global o con nombre, que se ejecuta antes de la página en SSR y en cada navegación del navegador. -
defineServerRouteMiddlewareDeclara un middleware de ruta que sólo se ejecuta en el servidor, con la sesión de la petición, antes del código de servidor de la página. -
definePluginDeclara un plugin de aplicación de app/plugins, que se ejecuta al arrancar en el navegador, en el servidor o en ambos, y publica valores para todos los componentes. -
defineMeekoConfigDeclara la configuración de meeko.config.ts con sus tipos (layers, módulos, autoimports, aliases, servidor, CSS, documento, sitemap y tema) sin cambiarla. -
defineMeekoModuleDeclara un módulo de Meeko, que configura el proyecto desde código al cargar la configuración, con sus opciones combinadas y el objeto meeko. -
defineApiRouteDeclara un endpoint de server/api con sus schemas públicos, guardas, estado y handler; el servidor valida todo y genera el cliente api.* tipado. -
defineRpcDeclara un procedimiento RPC de server/rpc con sus schemas de entrada y salida, guardas y handler, que la aplicación llama con rpc.* tipado. -
defineServerMiddlewareDeclara un middleware HTTP de server/middleware, que envuelve las páginas, la API y el RPC antes de crear la sesión y puede cortar o modificar la respuesta. -
defineSocketChannelDeclara un canal WebSocket de server/socket con los schemas de cada dirección, sus guardas por sala y evento y los handlers de los mensajes del cliente. -
defineServerRuntimeDeclara en server/runtime.ts las sesiones, los servicios, la política de Socket y el cierre de la aplicación, creados una vez por proceso.
Composables #
Funciones use* que el script de un componente llama en su nivel superior: la ruta, la página, formularios, el head, el tema, el estado y los datos del servidor.
-
useRouteLee la ruta confirmada que renderiza el componente (url, path, id, params y search) como señales, y comprueba si una ruta está activa. -
usePageDevuelve la petición de la página (url, params, search, request, context y signal) en el código de nivel superior de su script server. -
useNavigationDevuelve el estado de navegación de la aplicación, con pending en true mientras se carga una página nueva. -
useFormEstado de un formulario en un componente, con una señal por campo, validación con un Standard Schema, errores del servidor en cada campo, envío y reinicio. -
useIdDevuelve un ID único por instancia y llamada, igual en el HTML del servidor y al hidratar, para enlazar etiquetas, controles y textos de ayuda. -
useHeadAñade el título, etiquetas meta, link, script y style y atributos de html y body al documento mientras el componente está montado. -
useSeoMetaAtajo tipado de useHead para SEO que convierte cada campo (description, Open Graph, Twitter, canonical) en la etiqueta correcta. -
useThemeDevuelve el tema claro/oscuro de la aplicación (la elección, el tema efectivo y la lista de temas) y lo cambia en html, la cookie y las demás pestañas. -
useThemeToggleEstado público para un selector de tema propio compatible con SSR, hidratación y formularios sin JavaScript. -
useLayoutLee y cambia desde la página, de forma tipada y reactiva, las props del layout con nombre que la envuelve. -
useStateDevuelve la señal de estado compartido de la aplicación con una clave, creada la primera vez, por petición en SSR y transferida al navegador. -
useStorageDevuelve una señal editable guardada como JSON en localStorage o sessionStorage, sin desajustes de hidratación y sincronizada entre pestañas. -
useApiLee un endpoint GET de server/api desde un componente, con SSR, hidratación sin repetir la petición, recarga reactiva y tipos del contrato. -
useApiMutationEnvía bajo demanda una petición POST, PUT, PATCH o DELETE a un endpoint de server/api, con su estado de envío, sus errores y reintentos seguros. -
useRpcQueryLee un procedimiento de server/rpc desde un componente, con SSR, hidratación, recarga reactiva de la entrada y tipos del contrato. -
useRpcMutationLlama bajo demanda a un procedimiento de server/rpc que cambia datos, con su estado de envío, sus errores y reintentos seguros. -
useSocketConecta un componente a un canal de server/socket con sus eventos tipados y cierra la conexión al desmontarlo. -
useSocketChannelAbre por nombre un canal de un registro de contratos Socket, ligado al componente; es la función con la que se genera el autoimport useSocket. -
useRequestStateGuarda un valor en el estado de una petición del servidor y lo crea la primera vez, para compartirlo entre middleware, loaders y handlers de esa petición.
Reactividad #
Señales, valores derivados, efectos, ciclo de vida, contexto y observadores de errores: el núcleo sin DOM virtual.
-
signalCrea un valor observable y editable con .value; cada escritura de un valor distinto avisa a la plantilla, los computed y los effect que lo leyeron. -
computedDeriva un valor de solo lectura de otras señales y lo recalcula en cuanto cambia alguna de las que leyó. -
effectEjecuta una función síncrona ahora y cada vez que cambia una señal que leyó; devuelve la función que la detiene. -
batchAgrupa varias escrituras de señales en una sola ronda de notificaciones, al terminar la función. -
untrackEjecuta una función que lee señales sin registrarlas como dependencias del observador activo. -
onMountedEjecuta una función una vez en el navegador, cuando el componente ya está hidratado o montado; nunca en SSR. -
onCleanupRegistra en la raíz activa la liberación síncrona de un recurso, que se ejecuta al desmontar o liberar el componente. -
createContextCrea una clave única y tipada para compartir un valor con los descendientes mediante provide e inject. -
providePublica un valor con una clave de contexto en el componente activo y en todos sus descendientes. -
injectLee el valor que publicó con provide el ancestro más cercano y falla si ninguno lo hizo. -
createRootCrea una raíz reactiva propia cuyos efectos, limpiezas y contextos se liberan juntos al llamar a dispose. -
provideErrorHandlerRegistra el observador de los fallos del navegador de un componente y de toda su rama, con la fuente de cada fallo.
Utilidades #
Rutas tipadas, redirecciones, errores de API, clientes generados, serialización, HTML de confianza y contraseñas.
-
hrefConstruye la URL de una ruta de la aplicación a partir de su ID, con los parámetros codificados y la query string, comprobada por TypeScript. -
redirectDetiene el código de servidor de la página o un middleware de ruta de servidor y responde con una redirección, que la navegación del cliente sigue igual. -
notFoundDetiene el código de servidor de la página o un middleware de ruta de servidor y muestra la página de error más cercana con estado 404. -
deferMarca un dato del loader o del código de servidor de la página que puede llegar después del primer byte con render stream, con su estado reactivo. -
apiCliente generado de los endpoints de server/api, tipado por sus schemas, que funciona igual en el navegador y en el servidor. -
rpcCliente generado de los procedimientos de server/rpc, tipado por sus schemas de entrada y salida, que funciona igual en el navegador y en el servidor. -
socketRegistro generado de los canales de server/socket, con on y emit tipados en el navegador y broadcast tipado en el servidor. -
ApiErrorError público de API, RPC, Socket y loaders, que llega al cliente con su código, su estado y, desde 1.5, mensajes por campo. -
ClientErrorEl error con que los clientes de API, RPC y Socket rechazan una respuesta de error del servidor, con su código, su estado, el requestId y los issues por campo. -
isClientErrorComprueba si un valor unknown es un ClientError y, opcionalmente, si tiene un código concreto, también entre dos copias de Meeko. -
PageInputErrorEl error de una página cuyos params o search no superan los schemas de definePage, que el servidor responde con 400 y el navegador muestra con la página de error. -
serializeJsonSerializa un valor a JSON seguro para insertarlo en una etiqueta script, comprobando que se representa fielmente y escapando lo que podría cerrarla. -
trustHtmlDeclara que un HTML es de confianza y le da el tipo TrustedHtml, que la directiva html acepta sin avisar; no sanea ni copia nada. -
isTooLargeToAnimateIndica si un documento es demasiado grande para animarlo con una View Transition; las navegaciones y withViewTransition ya lo comprueban. -
documentHtmlHace que un HTML de confianza viaje una sola vez en la primera carga, en el HTML del documento y no también en el payload de hidratación. -
hashPasswordCalcula el hash scrypt de una contraseña en un formato autodescriptivo, listo para guardarlo en una columna o en .env. -
verifyPasswordComprueba una contraseña contra un hash scrypt guardado, en tiempo constante, recalculándolo con los parámetros del propio hash. -
needsRehashIndica si un hash de contraseña debe recalcularse con los parámetros actuales de hashPassword, para actualizarlo tras un inicio de sesión correcto.
Sintaxis .meeko #
Lo que el compilador reconoce en un archivo .meeko: interpolación, directivas, snippets y los bloques del componente.
-
{expresión}Inserta en la plantilla el valor de una expresión TypeScript como texto escapado, que se actualiza cuando cambian las señales que lee. -
if:whenPinta una etiqueta con su contenido sólo mientras una expresión es verdadera, y estrecha los tipos dentro de ella. -
each:ofRepite una etiqueta por cada elemento de una lista, con su nombre, su índice y, si hace falta, una clave estable por fila. -
on:eventoEscucha un evento del DOM en un elemento, o un evento de defineEmits en un componente, con el evento y currentTarget tipados. -
bind:nombreDa a un atributo de un elemento, o a una prop de un componente, el valor de una expresión, y lo actualiza cuando cambian sus señales. -
modelEnlaza en los dos sentidos un control de formulario, o el modelo de un componente, con una señal escribible. -
htmlLlena un elemento con el HTML de una expresión, sin escapar, que debe estar marcado como de confianza con trustHtml. -
ref:nombreNombra un elemento o un componente de la plantilla para leerlo desde el script con useElementRef, con el tipo de su etiqueta o de su defineExpose. -
<snippet>Llena, desde el padre, un snippet con nombre que un componente hijo declara con defineSnippets, con sus parámetros tipados. -
<render>Pinta, en un componente, un snippet que le pasa el padre, con los argumentos que el hijo le da. -
<script server>El código de servidor de una página, dentro de su .meeko, con sus opciones de ruta y los datos que exporta a la plantilla, tipados y en JSON. -
genericDeclara parámetros de tipo de un componente en su script, que el padre infiere de las props y que tipan eventos, modelos, snippets y refs. -
<style>Estilos globales que viven junto al componente que los necesita, procesados por el PostCSS de la aplicación y empaquetados con él. -
<style scoped>Estilos con ámbito del componente, limitados a los elementos de su plantilla con un atributo data-meeko-s, y :global(…) para salir de él.
Servidor #
Sesiones y sus almacenes, cabeceras de seguridad, OpenAPI, llamadas locales, Socket entre instancias y errores del proceso.
-
SessionManagerGestor de las sesiones de la aplicación, con cookies opacas HttpOnly, rotación y revocación por familia, y comprobación de Origin y CSRF en las mutaciones autenticadas. -
SessionHandleLa sesión de una petición, en context.session, para leerla, crearla, rotarla, revocarla y verificarla antes de un efecto irreversible. -
MemorySessionStoreStore de sesiones en la memoria del proceso, sólo para desarrollo, pruebas y el prerender: no es persistente y SessionManager lo rechaza en producción. -
RedisSessionStoreStore de sesiones persistente en Redis, con caducidad de Redis, rotación y revocación atómicas, revocación entre instancias y contadores de rateLimit compartidos. -
SqlSessionStoreStore de sesiones persistente sobre cualquier base de datos SQL, con las sentencias de un driver de la aplicación y, desde 1.7, contadores de rateLimit en la base de datos. -
SessionRevokedErrorEl ApiError 401 SESSION_REVOKED de una sesión revocada, rotada o caducada durante la petición, y el motivo de aborto de context.signal. -
SessionSecurityErrorUna mutación no superó la comprobación de Origin o de CSRF de la sesión, con el código INVALID_ORIGIN o INVALID_CSRF; las respuestas de API y RPC la convierten en 403. -
contentSecurityPolicyConstruye la cabecera Content-Security-Policy de una política por directivas y añade los hashes de los scripts y estilos en línea de una página. -
generateOpenApiGenera un documento OpenAPI 3.1 de los endpoints de API y RPC de la aplicación a partir de un registro explícito de schemas públicos. -
createLocalCallsLlama a la API y al RPC de la aplicación dentro del proceso, con las credenciales de la petición en curso y las mismas guardas, validaciones y límites que por HTTP. -
createLocalServerFetchEl despacho local que usan los clientes api y rpc durante el SSR, que atiende la llamada por el pipeline HTTP sin salir del proceso y sólo con el origen y las credenciales de la petición en curso. -
LocalSocketPubSubBroker de broadcasts de Socket dentro de un solo proceso, el que usa el hub por defecto en Node, Bun y Deno; no alcanza a otras instancias. -
RedisSocketPubSubReparte los broadcasts de Socket entre varias instancias o procesos con el pub/sub de Redis, también fragmentado en Redis Cluster. -
composeServerMiddlewareCompone una lista de middleware de servidor alrededor de un handler Fetch, de fuera hacia dentro, como hace Meeko con los archivos de server/middleware. -
handleProcessErrorsAplica a un host propio la política processErrors de server/runtime.ts para los rechazos sin manejar y las excepciones no capturadas fuera de una petición. -
errorResponseConvierte cualquier error en la respuesta JSON pública de Meeko, { code, status, requestId }, sin filtrar el mensaje de los errores inesperados.
Adaptadores #
Cómo se ejecuta la aplicación construida en Node, Bun, Deno y Cloudflare Workers.
-
serveNodeSirve una aplicación de Meeko con el servidor HTTP de Node, sus canales Socket con ws, el cierre ordenado ante señales y la política de fallos del proceso. -
toNodeListenerAdapta un handler Fetch al callback de http.createServer de Node, con streaming, varias Set-Cookie, cancelación al desconectarse el cliente y la IP de la conexión. -
attachNodeWebSocketServerConecta los canales Socket de Meeko a un servidor HTTP de Node con el paquete ws, con límite de frame, heartbeat y cierre de todos los peers. -
createNodeAssetReaderSirve desde el disco, en Node, sólo los archivos del build listados en el manifiesto de assets, en streaming y con ETag, HEAD, 304 y la política de caché de Meeko. -
createNodeSocketUpgradeHandlerComprueba la política de un upgrade de Socket en el evento upgrade de Node y deja el framing a la librería WebSocket que elija el host. -
createBunServerLos handlers fetch y websocket para servir una aplicación de Meeko con Bun.serve, con Socket sobre el WebSocket nativo de Bun y sus límites de payload, contrapresión e inactividad. -
createBunAssetReaderSirve con Bun.file sólo los archivos del build listados en el manifiesto de assets, con ETag, HEAD, 304 y la política de caché de Meeko. -
serveDenoSirve una aplicación de Meeko con Deno.serve, con Socket sobre Deno.upgradeWebSocket, cierre ordenado ante señales y la política de fallos del proceso. -
createDenoAssetReaderSirve con Deno.open, en streaming, sólo los archivos del build listados en el manifiesto de assets, con ETag, HEAD, 304 y la política de caché de Meeko. -
createWorkerSirve una aplicación de Meeko desde un Worker de módulo de Cloudflare, creada una vez por aislado con los bindings, con los upgrades de Socket reenviados al Durable Object de su sala. -
createSocketRoomClassCrea la clase Durable Object que aloja los WebSockets de una sala de Socket en Cloudflare Workers, con la API de hibernación, reconstrucción al despertar y límites por sala. -
socketRoomNameEl nombre del Durable Object de una sala de Socket en Cloudflare Workers, un objeto por canal y sala, para idFromName. -
DurableObjectSocketPubSubEl broker de Socket de Cloudflare Workers, donde cada canal y sala es un Durable Object que recibe las publicaciones por RPC y las reparte a sus peers. -
D1SessionDriverDriver de SqlSessionStore para Cloudflare D1, con rotación y revocación atómicas, limpieza de filas caducadas y, desde 1.7, contadores de rateLimit compartidos entre aislados. -
createCloudflareAssetReaderSirve desde el binding de Static Assets de Cloudflare sólo los archivos del build listados en el manifiesto, con el ETag, HEAD, 304 y la caché de los demás adaptadores. -
createCloudflarePrerenderSourceLas páginas prerenderizadas de un Worker, leídas del binding de Static Assets una vez por aislado, con su payload de navegación y los hashes de su CSP.
Comandos #
La CLI meeko: desarrollo, comprobación, build, servidor de producción, proyectos nuevos y herramientas.
-
meeko devServidor de desarrollo de una aplicación full-stack, que prepara los tipos de .meeko/ y sirve la aplicación con Vite, SSR y HMR. -
meeko buildComprueba el proyecto y escribe en .meeko/output/<adaptador>/ la salida de producción, con el cliente, el servidor y las páginas prerenderizadas. -
meeko startArranca el servidor de producción de Node con la salida de meeko build, sin Vite ni las fuentes de la aplicación. -
meeko previewEjecuta la salida de meeko build en su runtime real (Node, Bun, Deno, wrangler dev o un servidor de archivos) para probarla antes de desplegar. -
meeko checkComprueba un proyecto completo, o un solo componente .meeko, con los diagnósticos de Meeko y TypeScript, y genera los tipos de .meeko/. -
meeko cleanBorra lo que genera Meeko en un proyecto (.meeko/ y la caché de Vite) y, con --all, también node_modules, sin seguir nunca enlaces. -
meeko initCrea un proyecto SSR independiente, sin el framework, con un componente .meeko, su servidor de Node y Vite. -
meeko init-frameworkCrea una aplicación full-stack de Meeko con meeko.config.ts, app/, un layout, una página prerenderizada, .env.example y los scripts de la CLI. -
meeko auth hashPide una contraseña sin mostrarla, o la lee de stdin, e imprime su hash scrypt para guardarlo en .env o en la base de datos. -
meeko routesDescubre rutas, contratos de servidor, componentes y autoimports y prepara .meeko/ como meeko check (manifiestos, declaraciones y tsconfig), sin ejecutar TypeScript. -
meeko prerenderVuelve a prerenderizar las rutas render "prerender" sobre el build de Node existente, sin recompilar, y escribe .meeko/output/node/prerender/. -
meeko compileComprueba un componente .meeko y lo compila a un módulo TypeScript con su render de servidor, su hidratación y sus tipos. -
meeko typesGenera en .meeko/types/ la declaración .d.meeko.ts de un componente y de los componentes que importa, para que TypeScript compruebe sus props. -
meeko check-appComprueba todos los componentes .meeko de la aplicación y sus layers, sin generar .meeko/ ni comprobar los .ts con TypeScript. -
meeko lspArranca el servidor de lenguaje de los componentes .meeko, que usan VS Code, Neovim, Helix, Zed y JetBrains.
Configuración #
Las claves de meeko.config.ts, que se declara con defineMeekoConfig.
-
layersCarpetas del proyecto que aportan páginas, componentes, autoimports, layouts y plugins a la aplicación, en el orden escrito. -
extendsEl nombre anterior de layers, que sigue funcionando en 1.x sin aviso; sus carpetas van antes que las de layers. -
modulesNombres de los módulos creados con defineMeekoModule que configuran el proyecto desde código; las opciones de cada uno van en su clave (meta.configKey). -
importsCarpetas de autoimports además de las de por defecto, cada una con el ámbito de la carpeta que la contiene, app, shared o server. -
aliasAliases de ruta propios, o cambios de ~/, @/, #shared/ y #server/, que valen en Vite, en los tsconfig generados, en el editor y en @utilities. -
serverEl adaptador de meeko build (node, bun, deno, cloudflare o static) con sus opciones y, desde 1.7, la CSP y las cabeceras de las respuestas en los adaptadores con servidor. -
cssOpciones de los estilos de los componentes, como qué elementos reciben el atributo de style scoped, todos o sólo los que algún selector puede seleccionar. -
documentEl documento HTML común de la aplicación, con el lang de html, las etiquetas de head de todas las páginas, la canónica y Open Graph por página y el prefijo de useId. -
devOpciones de meeko dev, como el reenvío a la consola del navegador de lo que el código de servidor escribe mientras atiende una petición. -
devtoolsMonta el panel de Meeko DevTools dentro de la página en meeko dev, sin código de la aplicación, en la esquina elegida. -
siteLa URL pública del sitio, de la que sólo cuenta el origen, para las URL absolutas de sitemap.xml, robots.txt y document.seo. -
sitemapEscribe sitemap.xml en el build con las páginas prerenderizadas, las rutas sin parámetros y, desde 1.7, las URL de sitemapEntries de las rutas dinámicas. -
robotsEscribe robots.txt en el build con las reglas de User-agent asterisco y, con sitemap, la URL absoluta del sitemap. -
themeEl tema claro, oscuro o propio de la aplicación sin parpadeo, con la elección en una cookie, el tema en html desde el primer byte y useTheme en los componentes.
Avanzado #
Las piezas que hay debajo del framework, para hosts propios, herramientas y builds a medida.
-
createServerAppCrea la aplicación de servidor portable (páginas, API, RPC, Socket, assets, sesiones y middleware) a partir del manifiesto del build y un cargador de módulos. -
createFrameworkHandlerCrea un handler Fetch que renderiza las páginas de la aplicación (middleware de ruta, validación, loader, SSR, payload de navegación y páginas de error) para un host propio. -
createServerDispatcherCrea un handler HTTP que atiende /api/... y /_meeko/rpc/... de un host propio, con las mismas sesiones, guardas, validaciones y errores que la aplicación. -
createRequestContextCrea el RequestContext de una petición (sesión, servicios, plataforma, requestId y signal) para un host propio o para probar un endpoint sin servidor. -
createSocketHubCrea el hub de Socket de un host propio, que autoriza los handshakes, acepta las conexiones, valida los eventos y reparte los broadcasts entre salas e instancias. -
createSocketUpgradeHandlerHandshake portable de Socket, que valida la ruta del canal, ejecuta las comprobaciones del hub y conecta al hub el WebSocket que abre el runtime. -
mountClientAppHidrata en el navegador el HTML que renderizó el servidor y gestiona la navegación de cliente, con historial, enlaces, middleware de ruta, payloads de datos y limpieza. -
createNavigatorNavegador de cliente de bajo nivel para un host propio, que resuelve rutas, actualiza el historial y atiende popstate, y delega el render en un callback. -
createApiClientCrea un cliente tipado de los endpoints de API a partir de su manifiesto público, sin importar código del servidor, para clientes explícitos, externos o de pruebas. -
createRpcClientCrea un cliente tipado de los procedimientos RPC a partir de su manifiesto público, donde cada llamada es un POST JSON con el token CSRF. -
createSocketClientCliente Socket de bajo nivel sobre el WebSocket nativo, con URL y contrato explícitos, validación en las dos direcciones y reconexión con retroceso exponencial. -
useSocketClientCrea en un componente un cliente Socket con URL y contrato explícitos, que se cierra al desmontar el componente y usa su observador de errores. -
StateStoreAlmacén del estado de useState, con una señal por clave y valores serializables en JSON, que se crea por petición en el servidor y se transfiere al navegador. -
matchRouteBusca la ruta de una URL en el manifiesto de rutas, con los mismos criterios que el SSR y la navegación de cliente, y devuelve sus parámetros decodificados. -
buildProjectConstruye el proyecto como meeko build, sin la comprobación previa, y devuelve el adaptador y la carpeta de salida; para scripts de build y herramientas. -
prerenderRoutesPrerenderiza las rutas render "prerender" con un handler de páginas y escribe su HTML, su payload de navegación y el índice manifest.json. -
loadMeekoConfigCarga y valida meeko.config.ts (o .mts, .js, .mjs) de un proyecto con Node 24 y devuelve la configuración, o {} si no existe. -
meeko (Vite)Plugin de Vite de Meeko, que compila los imports .meeko en cliente y SSR, añade HMR y CSS en desarrollo, aplica los autoimports y genera los módulos virtuales del framework. -
meekoUtilitiesPlugin de PostCSS que sustituye cada @utilities "<ruta>" por las reglas CSS que genera una función de TypeScript, con HMR en meeko dev y los autoimports del proyecto. -
mountDevtoolsPanelMonta en la página el panel de Meeko DevTools, aislado en Shadow DOM, con el árbol de instancias, las señales editables, la línea de tiempo y los puntos de parada.
Todos los exports #
Los tipos, las interfaces y las piezas de bajo nivel que no tienen su propia entrada arriba siguen documentados, uno por página, en el índice por módulo.
- Sintaxis de .meeko
-
@meekojs/meeko -
@meekojs/meeko/framework -
@meekojs/meeko/server -
@meekojs/meeko/node -
@meekojs/meeko/password -
@meekojs/meeko/bun -
@meekojs/meeko/deno -
@meekojs/meeko/cloudflare -
@meekojs/meeko/build -
@meekojs/meeko/vite -
@meekojs/meeko/prettier -
@meekojs/meeko/postcss -
@meekojs/meeko/devtools-ui -
@meekojs/meeko/compiler -
@meekojs/meeko/parse -
@meekojs/meeko/i18n -
@meekojs/meeko/i18n/module