pass env in spawn subprocess

This commit is contained in:
Tommy D. Rossi
2026-01-01 01:54:40 +01:00
parent 178387ec97
commit 70dc79ef8c
+60 -42
View File
@@ -266,6 +266,9 @@ async function ensureRelayServer(): Promise<void> {
const serverProcess = spawn(process.execPath, [scriptPath], { const serverProcess = spawn(process.execPath, [scriptPath], {
detached: true, detached: true,
stdio: 'ignore', stdio: 'ignore',
env: {
...process.env,
},
}) })
serverProcess.unref() serverProcess.unref()
@@ -467,53 +470,68 @@ const promptContent =
fs.readFileSync(path.join(path.dirname(fileURLToPath(import.meta.url)), '..', 'src', 'prompt.md'), 'utf-8') + fs.readFileSync(path.join(path.dirname(fileURLToPath(import.meta.url)), '..', 'src', 'prompt.md'), 'utf-8') +
`\n\nfor debugging internal playwriter errors, check playwriter relay server logs at: ${LOG_FILE_PATH}` `\n\nfor debugging internal playwriter errors, check playwriter relay server logs at: ${LOG_FILE_PATH}`
server.resource('debugger-api', 'https://playwriter.dev/resources/debugger-api.md', { mimeType: 'text/plain' }, async () => { server.resource(
const packageJsonPath = require.resolve('playwriter/package.json') 'debugger-api',
const packageDir = path.dirname(packageJsonPath) 'https://playwriter.dev/resources/debugger-api.md',
const content = fs.readFileSync(path.join(packageDir, 'dist', 'debugger-api.md'), 'utf-8') { mimeType: 'text/plain' },
async () => {
const packageJsonPath = require.resolve('playwriter/package.json')
const packageDir = path.dirname(packageJsonPath)
const content = fs.readFileSync(path.join(packageDir, 'dist', 'debugger-api.md'), 'utf-8')
return { return {
contents: [ contents: [
{ {
uri: 'https://playwriter.dev/resources/debugger-api.md', uri: 'https://playwriter.dev/resources/debugger-api.md',
text: content, text: content,
mimeType: 'text/plain', mimeType: 'text/plain',
}, },
], ],
} }
}) },
)
server.resource('editor-api', 'https://playwriter.dev/resources/editor-api.md', { mimeType: 'text/plain' }, async () => { server.resource(
const packageJsonPath = require.resolve('playwriter/package.json') 'editor-api',
const packageDir = path.dirname(packageJsonPath) 'https://playwriter.dev/resources/editor-api.md',
const content = fs.readFileSync(path.join(packageDir, 'dist', 'editor-api.md'), 'utf-8') { mimeType: 'text/plain' },
async () => {
const packageJsonPath = require.resolve('playwriter/package.json')
const packageDir = path.dirname(packageJsonPath)
const content = fs.readFileSync(path.join(packageDir, 'dist', 'editor-api.md'), 'utf-8')
return { return {
contents: [ contents: [
{ {
uri: 'https://playwriter.dev/resources/editor-api.md', uri: 'https://playwriter.dev/resources/editor-api.md',
text: content, text: content,
mimeType: 'text/plain', mimeType: 'text/plain',
}, },
], ],
} }
}) },
)
server.resource('styles-api', 'https://playwriter.dev/resources/styles-api.md', { mimeType: 'text/plain' }, async () => { server.resource(
const packageJsonPath = require.resolve('playwriter/package.json') 'styles-api',
const packageDir = path.dirname(packageJsonPath) 'https://playwriter.dev/resources/styles-api.md',
const content = fs.readFileSync(path.join(packageDir, 'dist', 'styles-api.md'), 'utf-8') { mimeType: 'text/plain' },
async () => {
const packageJsonPath = require.resolve('playwriter/package.json')
const packageDir = path.dirname(packageJsonPath)
const content = fs.readFileSync(path.join(packageDir, 'dist', 'styles-api.md'), 'utf-8')
return { return {
contents: [ contents: [
{ {
uri: 'https://playwriter.dev/resources/styles-api.md', uri: 'https://playwriter.dev/resources/styles-api.md',
text: content, text: content,
mimeType: 'text/plain', mimeType: 'text/plain',
}, },
], ],
} }
}) },
)
server.tool( server.tool(
'execute', 'execute',