mirror of
https://github.com/hellodigua/ChatLab.git
synced 2026-10-25 17:54:34 +08:00
fix(dev): tsx watch not detecting workspace package changes
tsx watch's symlink-based file watching doesn't trigger on changes to pnpm workspace packages (tsx#221). Add --include flags for packages/core and packages/node-runtime source directories to both dev:serve script and vite.web.config.mts auto-serve plugin. Extract long command to scripts/dev-serve.sh for cleaner package.json.
This commit is contained in:
1 parent
cdb2bfea7c
commit
e5dc1fcb9b
3 files changed
+30
-3
No files matched your search
+1
-1
@@ -30,7 +30,7 @@
|
||||
"build:linux": "pnpm run build && electron-builder --linux --config electron-builder.yml -p never",
|
||||
"dev:app": "vite --config vite.web.config.mts",
|
||||
"ensure:server-native": "pnpm --filter chatlab run ensure-native",
|
||||
"dev:serve": "pnpm run ensure:server-native && tsx watch packages/server/src/cli.ts serve",
|
||||
"dev:serve": "bash scripts/dev-serve.sh",
|
||||
"dev:web": "pnpm run ensure:server-native && CHATLAB_AUTO_SERVE=1 vite --config vite.web.config.mts",
|
||||
"build:web": "vite build --config vite.web.config.mts",
|
||||
"type-check:web": "vue-tsc --noEmit -p tsconfig.web.json",
|
||||
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
# Dev server with tsx watch — monitors workspace packages for changes.
|
||||
set -e
|
||||
|
||||
pnpm run ensure:server-native
|
||||
|
||||
exec tsx watch \
|
||||
--include 'packages/core/src/**' \
|
||||
--include 'packages/node-runtime/src/**' \
|
||||
packages/server/src/cli.ts serve "$@"
|
||||
+19
-2
@@ -50,11 +50,28 @@ function chatlabServePlugin(): Plugin {
|
||||
}
|
||||
|
||||
const serverDir = resolve(__dirname, 'packages/server')
|
||||
serverProcess = spawn('npx', ['tsx', 'watch', 'src/cli.ts', 'serve', '--port', String(BACKEND_PORT)], {
|
||||
const coreDir = resolve(__dirname, 'packages/core/src')
|
||||
const runtimeDir = resolve(__dirname, 'packages/node-runtime/src')
|
||||
serverProcess = spawn(
|
||||
'npx',
|
||||
[
|
||||
'tsx',
|
||||
'watch',
|
||||
'--include',
|
||||
`${coreDir}/**`,
|
||||
'--include',
|
||||
`${runtimeDir}/**`,
|
||||
'src/cli.ts',
|
||||
'serve',
|
||||
'--port',
|
||||
String(BACKEND_PORT),
|
||||
],
|
||||
{
|
||||
cwd: serverDir,
|
||||
stdio: ['ignore', 'pipe', 'pipe'],
|
||||
env: { ...process.env },
|
||||
})
|
||||
}
|
||||
)
|
||||
|
||||
serverProcess.stdout?.on('data', (data: Buffer) => {
|
||||
const line = data.toString().trim()
|
||||
|
||||
Reference in new issue
Block a user