From cf3ec7fc396125ed452c553b34ae2737329fc61d Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Fri, 24 Dec 2021 01:36:20 +0100 Subject: feat: Service to main process communication --- scripts/watch.js | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) (limited to 'scripts') diff --git a/scripts/watch.js b/scripts/watch.js index 7f5f42c..f49037e 100644 --- a/scripts/watch.js +++ b/scripts/watch.js @@ -127,15 +127,36 @@ function setupPreloadPackageWatcher(viteDevServer) { }); } +/** + * Reload services when source files are changed. + * + * @param {import('vite').ViteDevServer} viteDevServer + * @returns {Promise | import('rollup').RollupWatcher>} + */ +function setupServicePreloadPackageWatcher(viteDevServer) { + return getWatcher({ + name: 'reload-services-on-service-preload-package-change', + configFile: 'packages/service-preload/vite.config.js', + writeBundle() { + console.log('wrote'); + viteDevServer.ws.send({ + type: 'custom', + event: 'sophie:reload-services', + }); + }, + }); +} + /** * Rebuild package when source files are changed. * + * @param packageName {string} The name of the package to watch. * @returns {Promise | import('rollup').RollupWatcher>} */ -function setupSharedPackageWatcher() { +function setupSharedPackageWatcher(packageName) { return getWatcher({ - name: 'rebuild-package-on-shared-package-change', - configFile: 'packages/shared/vite.config.js', + name: `rebuild-package-on-${packageName}-package-change`, + configFile: `packages/${packageName}/vite.config.js`, }); } @@ -143,16 +164,20 @@ function setupSharedPackageWatcher() { * @returns Promise */ async function setupDevEnvironment() { - await setupSharedPackageWatcher(); + await setupSharedPackageWatcher('shared'); const viteDevServer = await createServer({ ...sharedConfig, configFile: 'packages/renderer/vite.config.js', }); - await viteDevServer.listen(); - await setupPreloadPackageWatcher(viteDevServer); + await Promise.all([ + setupPreloadPackageWatcher(viteDevServer), + setupServicePreloadPackageWatcher(viteDevServer), + setupSharedPackageWatcher('shared'), + ]); + return setupMainPackageWatcher(viteDevServer); } -- cgit v1.2.3-54-g00ecf