Rafraichir le navigateur avec nodeJS

Récemment pour les besoin de développement d’une extension Chrome, j’ai cherché un moyen de rafraichir l’extension car le process de rafraichissement était un peu fastidieux. Il fallait aller dans le menu des extensions (chrome://extensions) et rafraichir en cliquant sur un bouton. Je voulais automatiser cette procédure comme le fait le plugin Liveserver.

Installation du projet NodeJS

npm init -y
npm install --save-dev nodemon chokidar

#pour setup avancé (optionnel)
npm install --save-dev chrome-extension-cli

Création du script de reload

import chokidar from "chokidar";
import { exec } from "child_process";

const EXTENSION_PATH = "./dist"; // or your extension folder
const CHROME_PROFILE = "--profile-directory=Default"; // optional

// watch all files in your extension folder
chokidar.watch(EXTENSION_PATH, { ignoreInitial: true }).on("all", (event, path) => {
  console.log(`File ${path} changed — reloading Chrome extension...`);

  // command to reload the extension via Chrome debugger API
  exec(`osascript -e 'tell application "Google Chrome" to reload active tab'`);

  // alternative: use chrome-cli on macOS (brew install chrome-cli)
  // exec(`chrome-cli reload`);
});

Mise en place de nodemon

Dans package.json ajouter le script :

"scripts": {
  "dev": "nodemon --watch src --exec \"node reload-extension.js\""
}

et faites npm run dev

Dorénavant, il vous suffit de fermer et rouvrir pour réactiver l’extension si c’est une extension pour les devtools.

Retour en haut