hot reloading for chrome extensions

Hot Reloading for Chrome Extension Development

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "hot reloading for chrome extensions" with this command: npx skills add paulirish/dotfiles/paulirish-dotfiles-hot-reloading-for-chrome-extensions

Hot Reloading for Chrome Extension Development

Provide a zero-dependency hot-reloading system for Manifest V3 (MV3) extensions. This system enables automatic extension and tab refreshing whenever source files change, eliminating the need for manual reloads in chrome://extensions .

How It Works

The system consists of a server-side watcher and a client-side listener:

  • The Watcher (Node.js): Runs on the developer's machine. It uses native fs.watch to monitor the project directory and exposes a Server-Sent Events (SSE) endpoint (/events ). When a file change is detected, it broadcasts a "reload" signal.

  • The Client (JavaScript): Injected into the extension's background service worker. It connects to the watcher server using EventSource . Upon receiving a "reload" signal, it reloads any open extension tabs (options pages, popups) and then calls chrome.runtime.reload() to refresh the extension itself.

Implementation Guide for the Agent

To implement hot reloading in the current project, follow these steps:

  1. Copy the Source Files

Copy the following files from the skill's examples/ directory into the project root or a designated tools/ directory:

  • examples/hot-reload-server.mjs -> hot-reload-server.mjs

  • examples/hot-reload-client.js -> hot-reload-client.js

  1. Configure the Background Script

Update the extension's background service worker (e.g., service-worker.js ) to import the client script. This should be the first line in the file:

importScripts('hot-reload-client.js');

  1. Update Permissions

Ensure the manifest.json includes management (to detect development mode) and tabs (to refresh open extension pages):

{ "permissions": [ "management", "tabs" ] }

  1. Provide Execution Instructions to the User

Inform the user to start the watcher server in their terminal:

node hot-reload-server.mjs

Additional Resources

Examples

Working configuration and implementation scripts in examples/ :

  • examples/hot-reload-server.mjs

  • The Node.js watcher server (to be copied to the project).

  • examples/hot-reload-client.js

  • The extension-side client (to be copied to the project).

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

modern-css

No summary provided by upstream source.

Repository SourceNeeds Review
General

build-free-types

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-quality

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

frontend-development

No summary provided by upstream source.

Repository SourceNeeds Review