feat: pass PLAYWRITER_AUTO_ENABLE when CLI starts relay server

This commit is contained in:
Tommy D. Rossi
2026-01-24 13:01:57 +01:00
parent f391eda881
commit c2766cb386
2 changed files with 11 additions and 10 deletions
+6 -4
View File
@@ -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 {
+5 -6
View File
@@ -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()