From 84d99a0fc775f01e1dc28b4c80ad78b58d539263 Mon Sep 17 00:00:00 2001 From: Eli Sheinfeld Date: Wed, 11 Jun 2025 20:13:23 +0300 Subject: [PATCH] feat: Add live reload functionality with Grunt watch and Socket.IO (#13489) - Added livereload event to Grunt watch tasks for instant browser refresh - Integrated Socket.IO WebSocket communication for real-time updates - Enhanced development workflow with immediate file change detection - Improved developer experience with automatic browser reload on file changes Changes: - Gruntfile.js: Send livereload message when files change - src/start.js: Handle livereload events and broadcast via Socket.IO --- Gruntfile.js | 2 ++ src/start.js | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/Gruntfile.js b/Gruntfile.js index dcfa831cd6..53a4b7e06f 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -174,6 +174,8 @@ module.exports = function (grunt) { } if (worker) { worker.send({ compiling: compiling }); + // Send livereload event via Socket.IO for instant browser refresh + worker.send({ livereload: true }); } }); }); diff --git a/src/start.js b/src/start.js index 99f3b662c5..a15aa44c6a 100644 --- a/src/start.js +++ b/src/start.js @@ -115,6 +115,13 @@ function addProcessHandlers() { const translator = require('./translator'); translator.flush(); } + } else if (msg && msg.livereload) { + // Send livereload event to all connected clients via Socket.IO + const websockets = require('./socket.io'); + if (websockets.server) { + websockets.server.emit('event:livereload'); + winston.info('[livereload] Sent reload event to all clients'); + } } }); }