Skip to main content
Esta guía explica cómo integrar Mellowtel en tu extensión de navegador sin usar bundlers como Webpack o Vite. En su lugar, usarás un único archivo preempaquetado que funciona tanto en scripts de contenido como en service workers.

Configuración del Proyecto

Comienza con una estructura básica de extensión de navegador:

Obtener el Bundle de Mellowtel

Tienes dos opciones para obtener el archivo mellowtel.js para tu extensión:

Opción 1: Usar Archivo Preempaquetado

La forma más fácil de comenzar es usar el archivo preempaquetado mellowtel.js del repositorio mellowtel-bundled.
  1. Ve al repositorio mellowtel-bundled
  2. Descarga el archivo mellowtel.js
  3. Cópialo en el directorio de tu extensión

Opción 2: Generar tu Propio Bundle

Si prefieres generar el bundle tú mismo, sigue estos pasos:

Crear un Directorio Temporal para el Bundling

Crea un directorio temporal para instalar Mellowtel y generar el bundle:
Esto crea una carpeta separada con el paquete Mellowtel que usarás solo para el bundling.

Empaquetar Mellowtel con esbuild

Desde dentro del directorio mellowtel-bundling, crea un único bundle que funcione tanto en service workers como en scripts de contenido:
Este comando:
  • Toma el código fuente de Mellowtel desde node_modules/mellowtel/dist/index.js
  • Empaqueta todas las dependencias en un solo archivo
  • Usa el formato IIFE con un nombre global para compatibilidad universal
  • Añade un pie de página para hacer que la exportación por defecto esté disponible globalmente
  • Optimiza para el entorno del navegador y minimiza la salida
  • Crea mellowtel.js en el directorio de bundling

Copiar el Bundle a tu Extensión

Después de ejecutar el comando esbuild, copia el archivo generado a tu directorio de extensión:
Ahora puedes eliminar el directorio temporal de bundling ya que solo necesitabas el archivo de salida:
Tu carpeta de extensión ahora contiene el archivo Mellowtel empaquetado listo para usar.

Configurar tu Manifiesto (Ambas Opciones)

Independientemente de la opción que hayas elegido, configura tu manifest.json para incluir el bundle de Mellowtel en los scripts de contenido:
Importante:
  • El campo "type": "module" habilita las importaciones de módulos ES en tu service worker.
  • En el array de scripts de contenido, mellowtel.js debe cargarse antes que content_script.js para que la variable global Mellowtel esté disponible cuando se ejecute tu script de contenido.

Usar Mellowtel en tu Extensión

Para tu service worker (background.js), importa el archivo empaquetado:
Para scripts de contenido, Mellowtel está disponible como una variable global (no se necesita importación, ya que se carga a través del manifiesto):

Probar tu Extensión

Para probar tu extensión:
  1. Ve a chrome://extensions/ en Chrome (o equivalente en otros navegadores)
  2. Habilita el “Modo desarrollador”
  3. Haz clic en “Cargar sin empaquetar” y selecciona tu carpeta de extensión
Este enfoque te brinda los beneficios de usar Mellowtel sin la complejidad de configurar un sistema de construcción completo como Webpack o Vite.