feat: pass PLAYWRITER_AUTO_ENABLE when CLI starts relay server
This commit is contained in:
@@ -4,6 +4,8 @@ import { cac } from '@xmorse/cac'
|
||||
import { VERSION, LOG_FILE_PATH } from './utils.js'
|
||||
import { ensureRelayServer, RELAY_PORT } from './relay-client.js'
|
||||
|
||||
const cliRelayEnv = { PLAYWRITER_AUTO_ENABLE: '1' }
|
||||
|
||||
const cli = cac('playwriter')
|
||||
|
||||
cli
|
||||
@@ -54,7 +56,7 @@ async function executeCode(options: {
|
||||
|
||||
// Ensure relay server is running (only for local)
|
||||
if (!host && !process.env.PLAYWRITER_HOST) {
|
||||
await ensureRelayServer({ logger: console })
|
||||
await ensureRelayServer({ logger: console, env: cliRelayEnv })
|
||||
}
|
||||
|
||||
// Session is required
|
||||
@@ -122,7 +124,7 @@ cli
|
||||
const serverUrl = await getServerUrl(options.host)
|
||||
|
||||
if (!options.host && !process.env.PLAYWRITER_HOST) {
|
||||
await ensureRelayServer({ logger: console })
|
||||
await ensureRelayServer({ logger: console, env: cliRelayEnv })
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -142,7 +144,7 @@ cli
|
||||
const serverUrl = await getServerUrl(options.host)
|
||||
|
||||
if (!options.host && !process.env.PLAYWRITER_HOST) {
|
||||
await ensureRelayServer({ logger: console })
|
||||
await ensureRelayServer({ logger: console, env: cliRelayEnv })
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -186,7 +188,7 @@ cli
|
||||
const serverUrl = await getServerUrl(options.host)
|
||||
|
||||
if (!options.host && !process.env.PLAYWRITER_HOST) {
|
||||
await ensureRelayServer({ logger: console })
|
||||
await ensureRelayServer({ logger: console, env: cliRelayEnv })
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
@@ -58,12 +58,11 @@ function compareVersions(v1: string, v2: string): number {
|
||||
}
|
||||
|
||||
export interface EnsureRelayServerOptions {
|
||||
/** Optional logger for status messages */
|
||||
logger?: {
|
||||
log: (...args: any[]) => void
|
||||
}
|
||||
logger?: { log: (...args: any[]) => void }
|
||||
/** If true, will kill and restart server on version mismatch. Default: true */
|
||||
restartOnVersionMismatch?: boolean
|
||||
/** Pass additional environment variables to the relay server process */
|
||||
env?: Record<string, string>
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -71,7 +70,7 @@ export interface EnsureRelayServerOptions {
|
||||
* Optionally restarts on version mismatch.
|
||||
*/
|
||||
export async function ensureRelayServer(options: EnsureRelayServerOptions = {}): Promise<void> {
|
||||
const { logger, restartOnVersionMismatch = true } = options
|
||||
const { logger, restartOnVersionMismatch = true, env: additionalEnv } = options
|
||||
const serverVersion = await getRelayServerVersion(RELAY_PORT)
|
||||
|
||||
if (serverVersion === VERSION) {
|
||||
@@ -104,7 +103,7 @@ export async function ensureRelayServer(options: EnsureRelayServerOptions = {}):
|
||||
const serverProcess = spawn(dev ? 'tsx' : process.execPath, [scriptPath], {
|
||||
detached: true,
|
||||
stdio: 'ignore',
|
||||
env: { ...process.env },
|
||||
env: { ...process.env, ...additionalEnv },
|
||||
})
|
||||
|
||||
serverProcess.unref()
|
||||
|
||||
Reference in New Issue
Block a user