diff options
author | Kristóf Marussy <kristof@marussy.com> | 2021-12-24 01:36:20 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2021-12-24 01:36:20 +0100 |
commit | cf3ec7fc396125ed452c553b34ae2737329fc61d (patch) | |
tree | 6d2fdbb40b9c9b1d32168d1ccb2372b5602f1968 /scripts | |
parent | feat: Set up partition persistence (diff) | |
download | sophie-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.js | 37 |
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 | */ | ||
136 | function 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 | */ |
135 | function setupSharedPackageWatcher() { | 156 | function 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 | */ |
145 | async function setupDevEnvironment() { | 166 | async 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 | ||