Repolode
extension-js

extension-js/extension.js

Framework de extensiones para varios navegadores, con servidor de desarrollo sin configuración, recarga en caliente y builds para Chrome, Edge, Firefox y Safari.

Estrellas
5,197
Forks
142
Issues abiertos
5
Último commit
hace 2 horas

¿Qué es?

Extension.js es una CLI y una cadena de herramientas de compilación para desarrollar extensiones de navegador. Permite crear extensiones para Chrome, Edge, Firefox y Safari desde una sola base de código, con Manifest V3 de forma predeterminada y adaptadores automáticos para las diferencias de cada navegador.

Durante el desarrollo, ofrece reemplazo de módulos en caliente para las páginas de popup, opciones y devtools, incluidos los componentes de React, Vue, Svelte y Preact. Los content scripts y el service worker se recargan de forma selectiva, por lo que guardar un archivo no reinicia toda la extensión. No requiere configuración de webpack ni rollup.

La CLI también puede generar bundles de producción, empaquetarlos como ZIP para enviarlos a las tiendas, instalar binarios de navegador administrados y ejecutar extensiones directamente desde una URL de ejemplos de GitHub. Funciona con Node.js, Deno y Bun.

Funciones clave

  • 01Reemplazo de módulos en caliente para las páginas de la extensión y recargas selectivas de content scripts y del service worker
  • 02Configuración sin ajustes iniciales ni archivos de configuración de webpack o rollup que mantener
  • 03Manifest V3 de forma predeterminada, con adaptadores para Chrome, Edge, Firefox y Safari
  • 04Builds de producción empaquetados como archivos ZIP para enviarlos a las tiendas
  • 05Binarios de navegador administrados que se pueden instalar mediante la CLI
  • 06Compatibilidad integrada con TypeScript, React, Vue, Svelte y Preact

Casos de uso

  • Crear una extensión para varios navegadores que deba publicarse en Chrome Web Store y Firefox Add-ons
  • Añadir recarga en caliente a una extensión existente con una sola devDependency
  • Ejecutar en Edge o Firefox, para probarlo, un ejemplo de Chrome alojado en GitHub
  • Desarrollar la interfaz de usuario de una extensión con React, Vue, Svelte o Preact

Inicio rápido

  1. 1

    Crear un proyecto nuevo con la CLI

    npx extension@latest create my-extension
  2. 2

    Entrar en la carpeta del proyecto

    cd my-extension
  3. 3

    Iniciar el servidor de desarrollo y abrir el navegador

    npm run dev

Antes de usarlo

  • La CLI requiere Node.js 22.12+, Deno 2.5+ o Bun 1.2+.
  • La CLI rechaza Deno 2.8.0.

En colecciones

Temas

Preguntas frecuentes

¿Qué es extension.js?
Framework de extensiones para varios navegadores, con servidor de desarrollo sin configuración, recarga en caliente y builds para Chrome, Edge, Firefox y Safari. Extension.js es una CLI y una cadena de herramientas de compilación para desarrollar extensiones de navegador. Permite crear extensiones para Chrome, Edge, Firefox y Safari desde una sola base de código, con Manifest V3 de forma predeterminada y adaptadores automáticos para las diferencias de cada navegador.
¿extension.js es gratuito? ¿Qué licencia tiene?
extension.js es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿extension.js sigue mantenido?
Mantenimiento activo. El último commit de extension.js fue el 22 oct 2026.
¿Para qué puedo usar extension.js?
Crear una extensión para varios navegadores que deba publicarse en Chrome Web Store y Firefox Add-ons Añadir recarga en caliente a una extensión existente con una sola devDependency Ejecutar en Edge o Firefox, para probarlo, un ejemplo de Chrome alojado en GitHub Desarrollar la interfaz de usuario de una extensión con React, Vue, Svelte o Preact
¿Cómo se instala extension.js?
Crear un proyecto nuevo con la CLI: npx extension@latest create my-extension Entrar en la carpeta del proyecto: cd my-extension Iniciar el servidor de desarrollo y abrir el navegador: npm run dev
¿Dónde consigo extension.js?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/extension-js/extension.js

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados