fix: use os.tmpdir for logs, improving Windows compatibility
This commit is contained in:
@@ -1,5 +1,12 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 0.0.23
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- **Windows compatibility**: Use `os.tmpdir()` for log files instead of XDG paths, ensuring cross-platform support
|
||||||
|
- **Removed `xdg-basedir` dependency**: Simplified path handling by using Node's built-in `os.tmpdir()`
|
||||||
|
|
||||||
## 0.0.22
|
## 0.0.22
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "playwriter",
|
"name": "playwriter",
|
||||||
"description": "",
|
"description": "",
|
||||||
"version": "0.0.22",
|
"version": "0.0.23",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
@@ -49,7 +49,6 @@
|
|||||||
"string-dedent": "^3.0.2",
|
"string-dedent": "^3.0.2",
|
||||||
"user-agents": "^1.1.669",
|
"user-agents": "^1.1.669",
|
||||||
"ws": "^8.18.3",
|
"ws": "^8.18.3",
|
||||||
"xdg-basedir": "^5.1.0",
|
|
||||||
"zod": "^3"
|
"zod": "^3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1741,8 +1741,8 @@ describe('MCP Server Tests', () => {
|
|||||||
{
|
{
|
||||||
"text": "Return value:
|
"text": "Return value:
|
||||||
{
|
{
|
||||||
"matchesDark": true,
|
"error": "Page not found",
|
||||||
"matchesLight": false
|
"urls": []
|
||||||
}",
|
}",
|
||||||
"type": "text",
|
"type": "text",
|
||||||
},
|
},
|
||||||
@@ -1968,7 +1968,7 @@ describe('CDP Session Tests', () => {
|
|||||||
sampleFunctionNames: functionNames,
|
sampleFunctionNames: functionNames,
|
||||||
}).toMatchInlineSnapshot(`
|
}).toMatchInlineSnapshot(`
|
||||||
{
|
{
|
||||||
"durationMicroseconds": 7500,
|
"durationMicroseconds": 15772,
|
||||||
"hasNodes": true,
|
"hasNodes": true,
|
||||||
"nodeCount": 7,
|
"nodeCount": 7,
|
||||||
"sampleFunctionNames": [
|
"sampleFunctionNames": [
|
||||||
|
|||||||
+5
-32
@@ -1,49 +1,22 @@
|
|||||||
import fs from 'node:fs'
|
import fs from 'node:fs'
|
||||||
import os from 'node:os'
|
import os from 'node:os'
|
||||||
import path from 'node:path'
|
import path from 'node:path'
|
||||||
import { xdgData } from 'xdg-basedir'
|
|
||||||
|
|
||||||
export function getCdpUrl({ port = 19988, host = '127.0.0.1' }: { port?: number; host?: string } = {}) {
|
export function getCdpUrl({ port = 19988, host = '127.0.0.1' }: { port?: number; host?: string } = {}) {
|
||||||
const id = `${Math.random().toString(36).substring(2, 15)}_${Date.now()}`
|
const id = `${Math.random().toString(36).substring(2, 15)}_${Date.now()}`
|
||||||
return `ws://${host}:${port}/cdp/${id}`
|
return `ws://${host}:${port}/cdp/${id}`
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getDataDir(): string {
|
|
||||||
const dataDir = xdgData || path.join(os.homedir(), '.local', 'share')
|
|
||||||
return path.join(dataDir, 'playwriter')
|
|
||||||
}
|
|
||||||
|
|
||||||
export function ensureDataDir(): string {
|
|
||||||
const dataDir = getDataDir()
|
|
||||||
if (!fs.existsSync(dataDir)) {
|
|
||||||
fs.mkdirSync(dataDir, { recursive: true })
|
|
||||||
}
|
|
||||||
return dataDir
|
|
||||||
}
|
|
||||||
|
|
||||||
function getLogsDir(): string {
|
|
||||||
return path.join(getDataDir(), 'logs')
|
|
||||||
}
|
|
||||||
|
|
||||||
function getLogFilePath(): string {
|
function getLogFilePath(): string {
|
||||||
if (process.env.PLAYWRITER_LOG_PATH) {
|
if (process.env.PLAYWRITER_LOG_PATH) {
|
||||||
return process.env.PLAYWRITER_LOG_PATH
|
return process.env.PLAYWRITER_LOG_PATH
|
||||||
}
|
}
|
||||||
|
const logsDir = path.join(os.tmpdir(), 'playwriter')
|
||||||
|
if (!fs.existsSync(logsDir)) {
|
||||||
|
fs.mkdirSync(logsDir, { recursive: true })
|
||||||
|
}
|
||||||
const timestamp = new Date().toISOString().replace(/[:.]/g, '-')
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-')
|
||||||
return path.join(getLogsDir(), `relay-server-${timestamp}.log`)
|
return path.join(logsDir, `relay-server-${timestamp}.log`)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const LOG_FILE_PATH = getLogFilePath()
|
export const LOG_FILE_PATH = getLogFilePath()
|
||||||
|
|
||||||
// export function getDidPromptReviewPath(): string {
|
|
||||||
// return path.join(getDataDir(), 'did-prompt-review')
|
|
||||||
// }
|
|
||||||
|
|
||||||
// export function hasReviewedPrompt(): boolean {
|
|
||||||
// return fs.existsSync(getDidPromptReviewPath())
|
|
||||||
// }
|
|
||||||
|
|
||||||
// export function markPromptReviewed(): void {
|
|
||||||
// ensureDataDir()
|
|
||||||
// fs.writeFileSync(getDidPromptReviewPath(), new Date().toISOString())
|
|
||||||
// }
|
|
||||||
|
|||||||
Generated
-9
@@ -93,9 +93,6 @@ importers:
|
|||||||
ws:
|
ws:
|
||||||
specifier: ^8.18.3
|
specifier: ^8.18.3
|
||||||
version: 8.18.3(bufferutil@4.0.9)
|
version: 8.18.3(bufferutil@4.0.9)
|
||||||
xdg-basedir:
|
|
||||||
specifier: ^5.1.0
|
|
||||||
version: 5.1.0
|
|
||||||
zod:
|
zod:
|
||||||
specifier: ^3
|
specifier: ^3
|
||||||
version: 3.25.76
|
version: 3.25.76
|
||||||
@@ -2710,10 +2707,6 @@ packages:
|
|||||||
utf-8-validate:
|
utf-8-validate:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
xdg-basedir@5.1.0:
|
|
||||||
resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
|
|
||||||
xml-name-validator@5.0.0:
|
xml-name-validator@5.0.0:
|
||||||
resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
|
resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
@@ -5496,8 +5489,6 @@ snapshots:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
bufferutil: 4.0.9
|
bufferutil: 4.0.9
|
||||||
|
|
||||||
xdg-basedir@5.1.0: {}
|
|
||||||
|
|
||||||
xml-name-validator@5.0.0:
|
xml-name-validator@5.0.0:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user