aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2021-12-24 01:36:20 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2021-12-24 01:36:20 +0100
commitcf3ec7fc396125ed452c553b34ae2737329fc61d (patch)
tree6d2fdbb40b9c9b1d32168d1ccb2372b5602f1968 /scripts
parentfeat: Set up partition persistence (diff)
downloadsophie-cf3ec7fc396125ed452c553b34ae2737329fc61d.tar.gz
sophie-cf3ec7fc396125ed452c553b34ae2737329fc61d.tar.zst
sophie-cf3ec7fc396125ed452c553b34ae2737329fc61d.zip
feat: Service to main process communication
Diffstat (limited to 'scripts')
-rw-r--r--scripts/watch.js37
1 files changed, 31 insertions, 6 deletions
diff --git a/scripts/watch.js b/scripts/watch.js
index 7f5f42c..f49037e 100644
--- a/scripts/watch.js
+++ b/scripts/watch.js
@@ -128,14 +128,35 @@ function setupPreloadPackageWatcher(viteDevServer) {
128} 128}
129 129
130/** 130/**
131 * Reload services when source files are changed.
132 *
133 * @param {import('vite').ViteDevServer} viteDevServer
134 * @returns {Promise<import('rollup').RollupOutput | Array<import('rollup').RollupOutput> | import('rollup').RollupWatcher>}
135 */
136function setupServicePreloadPackageWatcher(viteDevServer) {
137 return getWatcher({
138 name: 'reload-services-on-service-preload-package-change',
139 configFile: 'packages/service-preload/vite.config.js',
140 writeBundle() {
141 console.log('wrote');
142 viteDevServer.ws.send({
143 type: 'custom',
144 event: 'sophie:reload-services',
145 });
146 },
147 });
148}
149
150/**
131 * Rebuild package when source files are changed. 151 * Rebuild package when source files are changed.
132 * 152 *
153 * @param packageName {string} The name of the package to watch.
133 * @returns {Promise<import('rollup').RollupOutput | Array<import('rollup').RollupOutput> | import('rollup').RollupWatcher>} 154 * @returns {Promise<import('rollup').RollupOutput | Array<import('rollup').RollupOutput> | import('rollup').RollupWatcher>}
134 */ 155 */
135function setupSharedPackageWatcher() { 156function setupSharedPackageWatcher(packageName) {
136 return getWatcher({ 157 return getWatcher({
137 name: 'rebuild-package-on-shared-package-change', 158 name: `rebuild-package-on-${packageName}-package-change`,
138 configFile: 'packages/shared/vite.config.js', 159 configFile: `packages/${packageName}/vite.config.js`,
139 }); 160 });
140} 161}
141 162
@@ -143,16 +164,20 @@ function setupSharedPackageWatcher() {
143 * @returns Promise<void> 164 * @returns Promise<void>
144 */ 165 */
145async function setupDevEnvironment() { 166async function setupDevEnvironment() {
146 await setupSharedPackageWatcher(); 167 await setupSharedPackageWatcher('shared');
147 168
148 const viteDevServer = await createServer({ 169 const viteDevServer = await createServer({
149 ...sharedConfig, 170 ...sharedConfig,
150 configFile: 'packages/renderer/vite.config.js', 171 configFile: 'packages/renderer/vite.config.js',
151 }); 172 });
152
153 await viteDevServer.listen(); 173 await viteDevServer.listen();
154 174
155 await setupPreloadPackageWatcher(viteDevServer); 175 await Promise.all([
176 setupPreloadPackageWatcher(viteDevServer),
177 setupServicePreloadPackageWatcher(viteDevServer),
178 setupSharedPackageWatcher('shared'),
179 ]);
180
156 return setupMainPackageWatcher(viteDevServer); 181 return setupMainPackageWatcher(viteDevServer);
157} 182}
158 183