From bf64fedd888dca8bd68d1cd3aa73f05971d4ab5e Mon Sep 17 00:00:00 2001 From: Dominik Deren Date: Mon, 11 Jan 2021 22:36:35 +0100 Subject: [PATCH] fix(trace viewer): updating default traceStorageDir value (#4962) fix(trace viewer): updating default traceStorageDir value When `npx playwright show-trace ` command is executed, without providing the `resources` optional parameter, the function expected the `traceStorageDir` default value to be the same directory as in which the tracePath resides. This change updates it to the `dirname(tracePath)/trace-resources` if it exists. Such a directory hirerachy is the default that is created when running the tracer in Playwright. --- src/cli/traceViewer/traceViewer.ts | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/cli/traceViewer/traceViewer.ts b/src/cli/traceViewer/traceViewer.ts index 279d453842e21..1a7b04c12565f 100644 --- a/src/cli/traceViewer/traceViewer.ts +++ b/src/cli/traceViewer/traceViewer.ts @@ -137,15 +137,13 @@ export async function showTraceViewer(traceStorageDir: string | undefined, trace if (!fs.existsSync(tracePath)) throw new Error(`${tracePath} does not exist`); - let files: string[]; - if (fs.statSync(tracePath).isFile()) { - files = [tracePath]; - if (!traceStorageDir) - traceStorageDir = path.dirname(tracePath); - } else { - files = collectFiles(tracePath); - if (!traceStorageDir) - traceStorageDir = tracePath; + const files: string[] = fs.statSync(tracePath).isFile() ? [tracePath] : collectFiles(tracePath); + + if (!traceStorageDir) { + traceStorageDir = fs.statSync(tracePath).isFile() ? path.dirname(tracePath) : tracePath; + + if (fs.existsSync(traceStorageDir + '/trace-resources')) + traceStorageDir = traceStorageDir + '/trace-resources'; } const traceViewer = new TraceViewer(traceStorageDir);