Runtime de Chrome
El service worker de background.js coordina mensajes, autenticación, cachés y llamadas de herramientas.
Una guía técnica basada en el repositorio público: arquitectura, autenticación con la sesión del navegador, almacenamiento local, integración con Salesforce UI y flujo de contribución.
Ver repositorio en GitHub
La extensión opera cerca de Salesforce y mantiene el estado de trabajo en el navegador.
El service worker de background.js coordina mensajes, autenticación, cachés y llamadas de herramientas.
Cada org conserva su versión seleccionada; la versión predeterminada actual del proyecto es 63.0.
Preferencias, aliases, comparaciones, consultas y scripts se guardan en chrome.storage.local.
La cookie de sesión se lee cuando hace falta y no se persiste en el almacenamiento de la extensión.
Monaco Editor, iconos y recursos de interfaz viajan dentro de la extensión.
El repositorio puede inspeccionarse, estudiarse y ampliarse bajo licencia MIT.
Las páginas locales de la extensión envían acciones al service worker; este reutiliza la sesión activa y llama a las API oficiales con los permisos del usuario.
El mismo patrón sirve para una consulta SOQL, un diff de metadata o abrir un log desde Setup.
Las responsabilidades están separadas entre runtime, interfaz principal, integración en Salesforce y recursos compartidos.
Autenticación de org, handlers de mensajes, cachés y telemetría.
Aplicación principal: comparador, herramientas y editor Monaco.
Alta y ordenación de orgs, ajustes y controles de la extensión.
Content scripts e injectores opcionales para Lightning y Setup.
APIs, internacionalización y controles compartidos.
Pruebas unitarias con Vitest y recorridos end-to-end con Playwright.
sfInject/content/bundle.js es un bundle generado. Su host valida URL, frame, ajustes y requisitos de org o sesión antes de montar cada injector; también observa los re-renderizados de Lightning y retira los controles cuando dejan de aplicar.
El repositorio usa Node.js, npm, Vitest y Playwright. La instalación reconstruye el bundle de integración con Salesforce UI.
npm install
npm test
npm run test:e2e
npm run build:sf-inject
npm run minify:extension
npm run pack:chrome
Contenido contrastado con el README público del proyecto ↗.