Saltar al contenido
Guías

Configuración

Referencia real de ecomiq.config.js: tienda, API, tema, desarrollo y despliegue.

La CLI carga ecomiq.config.js desde la raíz y valida su default export. defineConfig es recomendable porque añade tipos y aplica la misma validación.

ecomiq.config.js
import { defineConfig } from "@ecomiq/storefront/config";

export default defineConfig({
  domain: "marketplace",

  api: {
    baseUrl: "https://storefront.ecomiq.pe",
    version: "v1",
    timeoutMs: 10_000,
  },

  theme: {
    primary: "oklch(0.45 0.15 165)",
    primaryForeground: "white",
    radius: "0.75rem",
  },

  dev: {
    port: 3000,
    runtime: "node",
    https: true,
  },

  deploy: {
    target: "cloudflare",
    name: "andina-market",
    routes: [{ pattern: "tienda.ejemplo.pe", custom_domain: true }],
  },

  env: {
    PUBLIC_SUPPORT_EMAIL: "soporte@ejemplo.pe",
  },
});

Campos

CampoRequeridoUso
domainIdentidad enviada como x-Store-Domain; acepta slug o dominio.
apiNoURL, versión, headers adicionales y timeout de Storefront API.
themeNoVariables visuales que sobreescriben el design system.
devNoPuerto, API local, runtime y HTTPS para ecomiq dev.
deployNoNombre y rutas del Worker de Cloudflare.
envNoVariables no secretas escritas en vars del Worker.

domain no es el nombre, slug editorial ni SEO de la tienda. Esos datos llegan de /v1/settings.

API y valores por defecto

CampoValor por defecto
api.baseUrlhttps://storefront.ecomiq.pe
api.versionv1
api.timeoutMs10000 ms
dev.port3000
dev.runtimenode
dev.httpsfalse
deploy.targetcloudflare
deploy.nameVersión normalizada de domain

dev.apiBaseUrl reemplaza api.baseUrl solo durante desarrollo. dev.runtime: "workerd" emula Cloudflare localmente; build y deploy siempre usan workerd.

Para HTTPS puedes usar un certificado automático o archivos PEM:

dev: {
  https: true,
}
dev: {
  https: {
    cert: "./certs/localhost.pem",
    key: "./certs/localhost-key.pem",
  },
}

Tema

theme acepta únicamente primary, primaryForeground, background, foreground, accent y radius. La CLI los convierte en variables CSS.

Qué llega al navegador

El bundle cliente recibe solo:

type PublicEcomiqConfig = {
  domain: string;
  theme?: EcomiqThemeConfig;
};

api, dev, deploy y env permanecen en el servidor.

No guardes secretos en env

env se escribe como texto en la configuración generada de Wrangler. Usa Cloudflare Secrets para claves, tokens y BETTER_AUTH_SECRET.

En esta página