@skyramp/mcp 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.js +47 -2
- package/build/playwright/PlaywrightTraceService.d.ts +8 -0
- package/build/playwright/PlaywrightTraceService.js +1 -0
- package/build/playwright/registerPlaywrightTools.js +42 -1
- package/build/prompts/enhance-assertions/sharedAssertionRules.js +19 -0
- package/build/prompts/pom-aware-code-reuse.js +17 -8
- package/build/prompts/test-maintenance/actionsInstructions.js +2 -2
- package/build/prompts/test-recommendation/analysisOutputPrompt.js +1 -4
- package/build/prompts/test-recommendation/recommendationSections.d.ts +1 -1
- package/build/prompts/test-recommendation/recommendationSections.js +5 -5
- package/build/prompts/test-recommendation/test-recommendation-prompt.js +13 -7
- package/build/prompts/testbot/testbot-prompts.d.ts +2 -12
- package/build/prompts/testbot/testbot-prompts.js +28 -16
- package/build/recommendation/discriminators.d.ts +7 -1
- package/build/recommendation/discriminators.js +16 -3
- package/build/resources/testbotResource.js +20 -4
- package/build/services/ScenarioGenerationService.js +5 -2
- package/build/services/TestExecutionService.d.ts +13 -8
- package/build/services/TestExecutionService.js +73 -26
- package/build/services/TestGenerationService.js +24 -9
- package/build/services/containerEnv.d.ts +12 -1
- package/build/services/containerEnv.js +118 -1
- package/build/tools/executeSkyrampTestTool.d.ts +9 -0
- package/build/tools/executeSkyrampTestTool.js +20 -6
- package/build/tools/execution-video-state.d.ts +21 -0
- package/build/tools/execution-video-state.js +51 -0
- package/build/tools/generate-tests/generateBatchScenarioRestTool.js +31 -11
- package/build/tools/generate-tests/planGuard.d.ts +5 -5
- package/build/tools/generate-tests/planGuard.js +5 -17
- package/build/tools/queryProxyMocksTool.js +0 -1
- package/build/tools/submitReportTool.d.ts +83 -10
- package/build/tools/submitReportTool.js +179 -29
- package/build/tools/test-management/actionsTool.js +52 -41
- package/build/tools/test-management/analyzeChangesTool.d.ts +11 -0
- package/build/tools/test-management/analyzeChangesTool.js +37 -33
- package/build/tools/test-management/analyzeTestHealthTool.js +3 -3
- package/build/tools/test-management/registerTestPlanTool.js +113 -31
- package/build/types/TestAnalysis.d.ts +7 -3
- package/build/types/TestExecution.d.ts +14 -0
- package/build/types/TestTypes.js +3 -2
- package/build/types/TestbotPromptOptions.d.ts +34 -0
- package/build/types/TestbotPromptOptions.js +1 -0
- package/build/types/TestbotReport.d.ts +10 -0
- package/build/types/TestbotReport.js +10 -1
- package/build/types/index.d.ts +2 -0
- package/build/types/index.js +1 -0
- package/build/utils/AnalysisStateManager.d.ts +36 -2
- package/build/utils/AnalysisStateManager.js +34 -13
- package/build/utils/frontendSelectors.js +0 -1
- package/build/utils/gitStaging.d.ts +5 -0
- package/build/utils/gitStaging.js +1 -1
- package/build/utils/pom-catalog.d.ts +23 -0
- package/build/utils/pom-catalog.js +30 -0
- package/build/utils/pom-scope/pom-files.d.ts +14 -0
- package/build/utils/pom-scope/pom-files.js +32 -6
- package/build/utils/pom-scope/testIdDiscovery.d.ts +40 -0
- package/build/utils/pom-scope/testIdDiscovery.js +104 -0
- package/build/utils/reportVerification.d.ts +7 -2
- package/build/utils/reportVerification.js +9 -3
- package/build/utils/scenarioDrafting.js +7 -1
- package/build/utils/skyrampMdContent.d.ts +1 -1
- package/build/utils/skyrampMdContent.js +1 -1
- package/build/utils/urlPath.d.ts +37 -0
- package/build/utils/urlPath.js +55 -0
- package/build/utils/utils.d.ts +45 -0
- package/build/utils/utils.js +50 -0
- package/build/utils/versions.d.ts +3 -3
- package/build/utils/versions.js +1 -1
- package/build/utils/workspaceAuth.d.ts +15 -15
- package/build/utils/workspaceAuth.js +32 -17
- package/build/workspace/queryParamResolution.d.ts +93 -0
- package/build/workspace/queryParamResolution.js +201 -0
- package/build/workspace/workspace.d.ts +104 -0
- package/build/workspace/workspace.js +24 -0
- package/node_modules/playwright/ThirdPartyNotices.txt +319 -266
- package/node_modules/playwright/lib/dom-analyzer/blueprint.js +154 -27
- package/node_modules/playwright/lib/dom-analyzer/crawler.js +2 -2
- package/node_modules/playwright/lib/mcp/browser/tools/pageBlueprint.js +1 -1
- package/node_modules/playwright/lib/mcp/browser/tools/sitemap.js +6 -2
- package/node_modules/playwright/lib/mcp/skyramp/loadTraceTool.js +3 -2
- package/node_modules/playwright/lib/mcp/skyramp/resultCode.js +4 -3
- package/node_modules/playwright/lib/mcp/skyramp/skyRampImport.js +15 -3
- package/node_modules/playwright/lib/mcp/skyramp/specImport.js +781 -0
- package/node_modules/playwright/lib/mcp/skyramp/traceRecordingBackend.js +14 -3
- package/node_modules/playwright/lib/mcp/test/resultCode.test.js +2 -1
- package/node_modules/playwright/lib/mcp/test/skyRampExport.js +1 -1
- package/node_modules/playwright/lib/mcp/test/skyRampExport.test.js +30 -0
- package/node_modules/playwright/lib/transform/babelBundleImpl.js +200 -199
- package/node_modules/playwright/node_modules/playwright-core/ThirdPartyNotices.txt +3 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/.package-lock.json +3 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/adapter/aws-lambda/handler.js +16 -25
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/adapter/bun/websocket.js +3 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/adapter/lambda-edge/handler.js +20 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +16 -25
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/adapter/bun/websocket.js +3 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +20 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/client/client.js +10 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/client/utils.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/helper/css/common.js +3 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/helper/css/index.js +9 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/base.js +8 -14
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/components.js +41 -21
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/context.js +131 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/streaming.js +9 -7
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/cache/index.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/compress/index.js +2 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/cors/index.js +2 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/etag/index.js +2 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/language/language.js +10 -32
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/method-override/index.js +5 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/serve-static/index.js +2 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/timing/timing.js +3 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/trie-router/node.js +9 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/body.js +12 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/buffer.js +2 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/ipaddr.js +6 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/validator/validator.js +3 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/client/client.js +10 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/client/utils.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/helper/css/common.js +3 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/helper/css/index.js +9 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/base.js +15 -15
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/components.js +42 -22
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/context.js +129 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/streaming.js +10 -8
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/bearer-auth/index.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/cache/index.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/compress/index.js +2 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/cors/index.js +2 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/etag/index.js +2 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/language/language.js +10 -32
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/method-override/index.js +5 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/serve-static/index.js +2 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/timing/timing.js +3 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/trie-router/node.js +9 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/adapter/aws-lambda/handler.d.ts +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/helper/websocket/index.d.ts +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/jsx/base.d.ts +1 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/jsx/context.d.ts +39 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/context-storage/index.d.ts +2 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/language/language.d.ts +18 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/utils/body.d.ts +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/utils/types.d.ts +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/body.js +12 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/buffer.js +2 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/ipaddr.js +6 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/validator/validator.js +3 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/package.json +29 -22
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/package-lock.json +3 -3
- package/node_modules/playwright/node_modules/playwright-core/lib/generated/pollingRecorderSource.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/lib/server/codegen/skyramp/jsonlReader.js +5 -1
- package/node_modules/playwright/node_modules/playwright-core/lib/server/codegen/skyramp/specReader.js +781 -0
- package/node_modules/playwright/node_modules/playwright-core/lib/server/recorder/recorderApp.js +25 -6
- package/node_modules/playwright/node_modules/playwright-core/lib/server/recorder/skyramp/replayEngine.js +3 -1
- package/node_modules/playwright/node_modules/playwright-core/lib/utils.js +2 -0
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/htmlReport/index.html +253 -27
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/recorder/assets/{codeMirrorModule-D0BjbCb7.js → codeMirrorModule-DtudTj_v.js} +1 -1
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/recorder/assets/index-BpDwp16L.js +422 -0
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/recorder/index.html +1 -1
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/assets/{codeMirrorModule-Bzd72-bG.js → codeMirrorModule-FNMuBzX1.js} +1 -1
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-Co9upU5h.js +1035 -0
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/index.DXNIQ_dx.js +2 -0
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/index.html +2 -2
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/uiMode.CIKB3XSv.js +5 -0
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +2 -2
- package/node_modules/playwright/node_modules/playwright-core/package.json +1 -1
- package/node_modules/playwright/node_modules/playwright-core/src/generated/pollingRecorderSource.ts +1 -1
- package/node_modules/playwright/node_modules/playwright-core/src/server/codegen/skyramp/jsonlReader.ts +4 -0
- package/node_modules/playwright/node_modules/playwright-core/src/server/codegen/skyramp/specReader.ts +1028 -0
- package/node_modules/playwright/node_modules/playwright-core/src/server/recorder/recorderApp.ts +31 -8
- package/node_modules/playwright/node_modules/playwright-core/src/server/recorder/skyramp/replayEngine.ts +1 -0
- package/node_modules/playwright/node_modules/playwright-core/src/utils.ts +1 -0
- package/node_modules/playwright/package.json +1 -1
- package/package.json +10 -6
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/tsconfig.build.tsbuildinfo +0 -1
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/recorder/assets/index-lvTRGFx-.js +0 -193
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-DzxTioTK.js +0 -809
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/index.BGc30U3S.js +0 -2
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/uiMode.IaDrb29A.js +0 -5
package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/index.DXNIQ_dx.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{T as b,r as a,a as M,W as C,j as e,D as F,b as z,c as T,d as I,e as A,f as O}from"./assets/defaultSettingsView-Co9upU5h.js";const $=()=>{const[i,c]=a.useState(!1),[o,n]=a.useState(),[u,d]=a.useState(),[g,E]=a.useState(V),[p,N]=a.useState({done:0,total:0}),[D,v]=a.useState(!1),[k,f]=a.useState(null),[x,S]=a.useState(null),[P,U]=a.useState(!1),w=a.useCallback(r=>{const s=new URL(window.location.href);if(!r.length)return;const l=r.item(0),t=URL.createObjectURL(l);s.searchParams.append("trace",t);const m=s.toString();window.history.pushState({},"",m),n(t),d(l.name),v(!1),f(null)},[]);a.useEffect(()=>{const r=async s=>{var t;if(!((t=s.clipboardData)!=null&&t.files.length))return;const l=["application/zip","application/x-zip-compressed"];for(const m of s.clipboardData.files)if(!l.includes(m.type))return;s.preventDefault(),w(s.clipboardData.files)};return document.addEventListener("paste",r),()=>document.removeEventListener("paste",r)}),a.useEffect(()=>{const r=s=>{const{method:l,params:t}=s.data;if(l!=="load"||!((t==null?void 0:t.trace)instanceof Blob))return;const m=new File([t.trace],"trace.zip",{type:"application/zip"}),h=new DataTransfer;h.items.add(m),w(h.files)};return window.addEventListener("message",r),()=>window.removeEventListener("message",r)});const R=a.useCallback(r=>{r.preventDefault(),w(r.dataTransfer.files)},[w]),W=a.useCallback(r=>{r.preventDefault(),r.target.files&&w(r.target.files)},[w]);a.useEffect(()=>{const r=new URL(window.location.href).searchParams,s=r.get("trace");if(c(r.has("isServer")),s!=null&&s.startsWith("file:")){S(s||null);return}if(r.has("isServer")){const l=new URLSearchParams(window.location.search).get("ws"),t=new URL(`../${l}`,window.location.toString());t.protocol=window.location.protocol==="https:"?"wss:":"ws:";const m=new M(new C(t));m.onLoadTraceRequested(async h=>{n(h.traceUrl),v(!1),f(null)}),m.initialize({}).catch(()=>{})}else s&&!s.startsWith("blob:")&&n(s)},[]);const y=a.useCallback(async r=>{const s=new URLSearchParams;s.set("trace",r);const l=await fetch(`contexts?${s.toString()}`);if(!l.ok){const{error:h}=await l.json();return f(h),h}const t=await l.json(),m=new b(r,t);N({done:0,total:0}),f(null),E(m)},[]);a.useEffect(()=>{(async()=>{if(!o){E(V);return}const r=s=>{s.data.method==="progress"&&N(s.data.params)};try{navigator.serviceWorker.addEventListener("message",r),N({done:0,total:1});let s=await y(o);s!=null&&s.includes("please grant permission for Local Network Access")&&(await fetch(o,{method:"HEAD",headers:{"x-pw-serviceworker":"skip"}}),s=await y(o)),s&&(i||n(void 0))}finally{navigator.serviceWorker.removeEventListener("message",r)}})()},[i,o,u,y]);const j=p.done!==p.total&&p.total!==0&&!k;a.useEffect(()=>{if(j){const r=setTimeout(()=>{U(!0)},200);return()=>clearTimeout(r)}else U(!1)},[j]);const L=!!(!i&&!D&&!x&&(!o||k));return e.jsxDEV("div",{className:"vbox workbench-loader",onDragOver:r=>{r.preventDefault(),r.dataTransfer.types.includes("Files")&&v(!0)},children:[e.jsxDEV("div",{className:"hbox header",...L?{inert:!0}:{},children:[e.jsxDEV("div",{className:"logo",children:e.jsxDEV("img",{src:"playwright-logo.svg",alt:"Playwright logo"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:197,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:196,columnNumber:7},void 0),e.jsxDEV("div",{className:"product",children:"Playwright"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:199,columnNumber:7},void 0),g.title&&e.jsxDEV("div",{className:"title",children:g.title},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:200,columnNumber:23},void 0),e.jsxDEV("div",{className:"spacer"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:201,columnNumber:7},void 0),e.jsxDEV(F,{icon:"settings-gear",title:"Settings",dialogDataTestId:"settings-toolbar-dialog",children:e.jsxDEV(z,{location:"trace-viewer"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:203,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:202,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:195,columnNumber:5},void 0),e.jsxDEV(T,{model:g,inert:L},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:206,columnNumber:5},void 0),x&&e.jsxDEV("div",{className:"drop-target",children:[e.jsxDEV("div",{children:"Trace Viewer uses Service Workers to show traces. To view trace:"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:208,columnNumber:7},void 0),e.jsxDEV("div",{style:{paddingTop:20},children:[e.jsxDEV("div",{children:["1. Click ",e.jsxDEV("a",{href:x,children:"here"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:210,columnNumber:23},void 0)," to put your trace into the download shelf"]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:210,columnNumber:9},void 0),e.jsxDEV("div",{children:["2. Go to ",e.jsxDEV("a",{href:"https://trace.playwright.dev",children:"trace.playwright.dev"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:211,columnNumber:23},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:211,columnNumber:9},void 0),e.jsxDEV("div",{children:"3. Drop the trace from the download shelf into the page"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:212,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:209,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:207,columnNumber:31},void 0),e.jsxDEV(I,{open:P,isModal:!0,className:"progress-dialog",children:e.jsxDEV("div",{className:"progress-content",children:[e.jsxDEV("div",{className:"title",role:"heading","aria-level":1,children:"Loading Playwright Trace..."},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:217,columnNumber:9},void 0),e.jsxDEV("div",{className:"progress-wrapper",children:e.jsxDEV("div",{className:"inner-progress",style:{width:p.total?100*p.done/p.total+"%":0}},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:219,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:218,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:216,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:215,columnNumber:5},void 0),L&&e.jsxDEV("div",{className:"drop-target",children:[e.jsxDEV("div",{className:"processing-error",role:"alert",children:k},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:224,columnNumber:7},void 0),e.jsxDEV("div",{className:"title",role:"heading","aria-level":1,children:"Drop Playwright Trace to load"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:225,columnNumber:7},void 0),e.jsxDEV("div",{children:"or"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:226,columnNumber:7},void 0),e.jsxDEV("button",{onClick:()=>{const r=document.createElement("input");r.type="file",r.click(),r.addEventListener("change",s=>W(s))},type:"button",children:"Select file"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:227,columnNumber:7},void 0),e.jsxDEV("div",{className:"info",children:"Playwright Trace Viewer is a Progressive Web App, it does not send your trace anywhere, it opens it locally."},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:233,columnNumber:7},void 0),e.jsxDEV("div",{className:"version",children:["Playwright v","1.58.2-skyramp.8.14.4"]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:235,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:223,columnNumber:32},void 0),i&&!o&&e.jsxDEV("div",{className:"drop-target",children:e.jsxDEV("div",{className:"title",children:"Select test to see the trace"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:238,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:237,columnNumber:31},void 0),D&&e.jsxDEV("div",{className:"drop-target",onDragLeave:()=>{v(!1)},onDrop:r=>R(r),children:e.jsxDEV("div",{className:"title",children:"Release to analyse the Playwright Trace"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:243,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:240,columnNumber:18},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/workbenchLoader.tsx",lineNumber:190,columnNumber:10},void 0)},V=new b("",[]),q=({traceJson:i})=>{const[c,o]=a.useState(void 0),[n,u]=a.useState(0),d=a.useRef(null);return a.useEffect(()=>(d.current&&clearTimeout(d.current),d.current=setTimeout(async()=>{try{const g=await B(i);o(g)}catch{const g=new b("",[]);o(g)}finally{u(n+1)}},500),()=>{d.current&&clearTimeout(d.current)}),[i,n]),e.jsxDEV(T,{isLive:!0,model:c},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/liveWorkbenchLoader.tsx",lineNumber:51,columnNumber:10},void 0)};async function B(i){const c=new URLSearchParams;c.set("trace",i);const n=await(await fetch(`contexts?${c.toString()}`)).json();return new b(i,n)}(async()=>{const i=new URLSearchParams(window.location.search);if(A(),window.location.protocol!=="file:"){if(i.get("isUnderTest")==="true"&&await new Promise(u=>setTimeout(u,1e3)),!navigator.serviceWorker)throw new Error(`Service workers are not supported.
|
|
2
|
+
Make sure to serve the Trace Viewer (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(u=>{navigator.serviceWorker.oncontrollerchange=()=>u()}),setInterval(function(){fetch("ping")},1e4)}const c=i.get("trace"),n=(c==null?void 0:c.endsWith(".json"))?e.jsxDEV(q,{traceJson:c},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/index.tsx",lineNumber:46,columnNumber:35},void 0):e.jsxDEV($,{},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/index.tsx",lineNumber:46,columnNumber:80},void 0);O.createRoot(document.querySelector("#root")).render(n)})();
|
package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/index.html
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<link rel="icon" href="./playwright-logo.svg" type="image/svg+xml">
|
|
8
8
|
<link rel="manifest" href="./manifest.webmanifest">
|
|
9
9
|
<title>Playwright Trace Viewer</title>
|
|
10
|
-
<script type="module" crossorigin src="./index.
|
|
11
|
-
<link rel="modulepreload" crossorigin href="./assets/defaultSettingsView-
|
|
10
|
+
<script type="module" crossorigin src="./index.DXNIQ_dx.js"></script>
|
|
11
|
+
<link rel="modulepreload" crossorigin href="./assets/defaultSettingsView-Co9upU5h.js">
|
|
12
12
|
<link rel="stylesheet" crossorigin href="./defaultSettingsView.7ch9cixO.css">
|
|
13
13
|
<link rel="stylesheet" crossorigin href="./index.BVu7tZDe.css">
|
|
14
14
|
</head>
|
package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/uiMode.CIKB3XSv.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/xtermModule-CsJ4vdCR.js","./xtermModule.DYP7pi_n.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{u as We,r as H,g as ze,_ as Ke,h as $e,i as He,j as a,R as d,E as qe,s as Se,k as ge,l as Ye,t as Qe,m as Xe,n as q,o as P,T as Te,c as Je,p as oe,a as Ze,W as Ge,S as et,q as tt,b as st,e as it,f as rt}from"./assets/defaultSettingsView-Co9upU5h.js";var at={};class fe{constructor(e,t={}){this.isListing=!1,this._tests=new Map,this._rootSuite=new Z("","root"),this._options=t,this._reporter=e}reset(){this._rootSuite._entries=[],this._tests.clear()}dispatch(e){const{method:t,params:s}=e;if(t==="onConfigure"){this._onConfigure(s.config);return}if(t==="onProject"){this._onProject(s.project);return}if(t==="onBegin"){this._onBegin();return}if(t==="onTestBegin"){this._onTestBegin(s.testId,s.result);return}if(t==="onTestPaused"){this._onTestPaused(s.testId,s.resultId,s.errors);return}if(t==="onTestEnd"){this._onTestEnd(s.test,s.result);return}if(t==="onStepBegin"){this._onStepBegin(s.testId,s.resultId,s.step);return}if(t==="onAttach"){this._onAttach(s.testId,s.resultId,s.attachments);return}if(t==="onStepEnd"){this._onStepEnd(s.testId,s.resultId,s.step);return}if(t==="onError"){this._onError(s.error);return}if(t==="onStdIO"){this._onStdIO(s.type,s.testId,s.resultId,s.data,s.isBase64);return}if(t==="onEnd")return this._onEnd(s.result);if(t==="onExit")return this._onExit()}_onConfigure(e){var t,s;this._rootDir=e.rootDir,this._config=this._parseConfig(e),(s=(t=this._reporter).onConfigure)==null||s.call(t,this._config)}_onProject(e){let t=this._options.mergeProjects?this._rootSuite.suites.find(s=>s.project().name===e.name):void 0;t||(t=new Z(e.name,"project"),this._rootSuite._addSuite(t)),t._project=this._parseProject(e);for(const s of e.suites)this._mergeSuiteInto(s,t)}_onBegin(){var e,t;(t=(e=this._reporter).onBegin)==null||t.call(e,this._rootSuite)}_onTestBegin(e,t){var o,n;const s=this._tests.get(e);this._options.clearPreviousResultsWhenTestBegins&&(s.results=[]);const i=s._createTestResult(t.id);i.retry=t.retry,i.workerIndex=t.workerIndex,i.parallelIndex=t.parallelIndex,i.setStartTimeNumber(t.startTime),(n=(o=this._reporter).onTestBegin)==null||n.call(o,s,i)}_onTestPaused(e,t,s){var n,g;const i=this._tests.get(e),o=i.results.find(c=>c._id===t);o.errors.push(...s),o.error=o.errors[0],(g=(n=this._reporter).onTestPaused)==null||g.call(n,i,o)}_onTestEnd(e,t){var o,n;const s=this._tests.get(e.testId);s.timeout=e.timeout,s.expectedStatus=e.expectedStatus;const i=s.results.find(g=>g._id===t.id);i.duration=t.duration,i.status=t.status,i.errors.push(...t.errors??[]),i.error=i.errors[0],t.attachments&&(i.attachments=this._parseAttachments(t.attachments)),t.annotations&&(this._absoluteAnnotationLocationsInplace(t.annotations),i.annotations=t.annotations,s.annotations=t.annotations),(n=(o=this._reporter).onTestEnd)==null||n.call(o,s,i),i._stepMap=new Map}_onStepBegin(e,t,s){var h,l;const i=this._tests.get(e),o=i.results.find(b=>b._id===t),n=s.parentStepId?o._stepMap.get(s.parentStepId):void 0,g=this._absoluteLocation(s.location),c=new ot(s,n,g,o);n?n.steps.push(c):o.steps.push(c),o._stepMap.set(s.id,c),(l=(h=this._reporter).onStepBegin)==null||l.call(h,i,o,c)}_onStepEnd(e,t,s){var g,c;const i=this._tests.get(e),o=i.results.find(h=>h._id===t),n=o._stepMap.get(s.id);n._endPayload=s,n.duration=s.duration,n.error=s.error,(c=(g=this._reporter).onStepEnd)==null||c.call(g,i,o,n)}_onAttach(e,t,s){this._tests.get(e).results.find(n=>n._id===t).attachments.push(...s.map(n=>({name:n.name,contentType:n.contentType,path:n.path,body:n.base64&&globalThis.Buffer?Buffer.from(n.base64,"base64"):void 0})))}_onError(e){var t,s;(s=(t=this._reporter).onError)==null||s.call(t,e)}_onStdIO(e,t,s,i,o){var h,l,b,x;const n=o?globalThis.Buffer?Buffer.from(i,"base64"):atob(i):i,g=t?this._tests.get(t):void 0,c=g&&s?g.results.find(u=>u._id===s):void 0;e==="stdout"?(c==null||c.stdout.push(n),(l=(h=this._reporter).onStdOut)==null||l.call(h,n,g,c)):(c==null||c.stderr.push(n),(x=(b=this._reporter).onStdErr)==null||x.call(b,n,g,c))}async _onEnd(e){var t,s;await((s=(t=this._reporter).onEnd)==null?void 0:s.call(t,{status:e.status,startTime:new Date(e.startTime),duration:e.duration}))}_onExit(){var e,t;return(t=(e=this._reporter).onExit)==null?void 0:t.call(e)}_parseConfig(e){const t={...ut,...e};return this._options.configOverrides&&(t.configFile=this._options.configOverrides.configFile,t.reportSlowTests=this._options.configOverrides.reportSlowTests,t.quiet=this._options.configOverrides.quiet,t.reporter=[...this._options.configOverrides.reporter]),t}_parseProject(e){return{metadata:e.metadata,name:e.name,outputDir:this._absolutePath(e.outputDir),repeatEach:e.repeatEach,retries:e.retries,testDir:this._absolutePath(e.testDir),testIgnore:le(e.testIgnore),testMatch:le(e.testMatch),timeout:e.timeout,grep:le(e.grep),grepInvert:le(e.grepInvert),dependencies:e.dependencies,teardown:e.teardown,snapshotDir:this._absolutePath(e.snapshotDir),use:e.use}}_parseAttachments(e){return e.map(t=>({...t,body:t.base64&&globalThis.Buffer?Buffer.from(t.base64,"base64"):void 0}))}_mergeSuiteInto(e,t){let s=t.suites.find(i=>i.title===e.title);s||(s=new Z(e.title,t.type==="project"?"file":"describe"),t._addSuite(s)),s.location=this._absoluteLocation(e.location),e.entries.forEach(i=>{"testId"in i?this._mergeTestInto(i,s):this._mergeSuiteInto(i,s)})}_mergeTestInto(e,t){let s=this._options.mergeTestCases?t.tests.find(i=>i.title===e.title&&i.repeatEachIndex===e.repeatEachIndex):void 0;s||(s=new nt(e.testId,e.title,this._absoluteLocation(e.location),e.repeatEachIndex),t._addTest(s),this._tests.set(s.id,s)),this._updateTest(e,s)}_updateTest(e,t){return t.id=e.testId,t.location=this._absoluteLocation(e.location),t.retries=e.retries,t.tags=e.tags??[],t.annotations=e.annotations??[],this._absoluteAnnotationLocationsInplace(t.annotations),t}_absoluteAnnotationLocationsInplace(e){for(const t of e)t.location&&(t.location=this._absoluteLocation(t.location))}_absoluteLocation(e){return e&&{...e,file:this._absolutePath(e.file)}}_absolutePath(e){if(e!==void 0)return this._options.resolvePath?this._options.resolvePath(this._rootDir,e):this._rootDir+"/"+e}}class Z{constructor(e,t){this._entries=[],this._requireFile="",this._parallelMode="none",this.title=e,this._type=t}get type(){return this._type}get suites(){return this._entries.filter(e=>e.type!=="test")}get tests(){return this._entries.filter(e=>e.type==="test")}entries(){return this._entries}allTests(){const e=[],t=s=>{for(const i of s.entries())i.type==="test"?e.push(i):t(i)};return t(this),e}titlePath(){const e=this.parent?this.parent.titlePath():[];return(this.title||this._type!=="describe")&&e.push(this.title),e}project(){var e;return this._project??((e=this.parent)==null?void 0:e.project())}_addTest(e){e.parent=this,this._entries.push(e)}_addSuite(e){e.parent=this,this._entries.push(e)}}class nt{constructor(e,t,s,i){this.fn=()=>{},this.results=[],this.type="test",this.expectedStatus="passed",this.timeout=0,this.annotations=[],this.retries=0,this.tags=[],this.repeatEachIndex=0,this.id=e,this.title=t,this.location=s,this.repeatEachIndex=i}titlePath(){const e=this.parent?this.parent.titlePath():[];return e.push(this.title),e}outcome(){return ct(this)}ok(){const e=this.outcome();return e==="expected"||e==="flaky"||e==="skipped"}_createTestResult(e){const t=new lt(this.results.length,e);return this.results.push(t),t}}class ot{constructor(e,t,s,i){this.duration=-1,this.steps=[],this._startTime=0,this.title=e.title,this.category=e.category,this.location=s,this.parent=t,this._startTime=e.startTime,this._result=i}titlePath(){var t;return[...((t=this.parent)==null?void 0:t.titlePath())||[],this.title]}get startTime(){return new Date(this._startTime)}set startTime(e){this._startTime=+e}get attachments(){var e,t;return((t=(e=this._endPayload)==null?void 0:e.attachments)==null?void 0:t.map(s=>this._result.attachments[s]))??[]}get annotations(){var e;return((e=this._endPayload)==null?void 0:e.annotations)??[]}}class lt{constructor(e,t){this.parallelIndex=-1,this.workerIndex=-1,this.duration=-1,this.stdout=[],this.stderr=[],this.attachments=[],this.annotations=[],this.status="skipped",this.steps=[],this.errors=[],this._stepMap=new Map,this._startTime=0,this.retry=e,this._id=t}setStartTimeNumber(e){this._startTime=e}get startTime(){return new Date(this._startTime)}set startTime(e){this._startTime=+e}}const ut={forbidOnly:!1,fullyParallel:!1,globalSetup:null,globalTeardown:null,globalTimeout:0,grep:/.*/,grepInvert:null,maxFailures:0,metadata:{},preserveOutput:"always",projects:[],reporter:[[at.CI?"dot":"list"]],reportSlowTests:{max:5,threshold:3e5},configFile:"",rootDir:"",quiet:!1,shard:null,tags:[],updateSnapshots:"missing",updateSourceMethod:"patch",runAgents:"none",version:"",workers:0,webServer:null};function le(r){return r.map(e=>e.s!==void 0?e.s:new RegExp(e.r.source,e.r.flags))}function ct(r){let e=0,t=0,s=0;for(const i of r.results)i.status==="interrupted"||(i.status==="skipped"&&r.expectedStatus==="skipped"?++e:i.status==="skipped"||(i.status===r.expectedStatus?++t:++s));return t===0&&s===0?"skipped":s===0?"expected":t===0&&e===0?"unexpected":"flaky"}class pe{constructor(e,t,s,i,o,n){this._treeItemById=new Map,this._treeItemByTestId=new Map;const g=i&&[...i.values()].some(Boolean);this.pathSeparator=o,this.rootItem={kind:"group",subKind:"folder",id:e,title:"",location:{file:"",line:0,column:0},duration:0,parent:void 0,children:[],status:"none",hasLoadErrors:!1},this._treeItemById.set(e,this.rootItem);const c=(h,l,b,x)=>{for(const u of x==="tests"?[]:l.suites){if(!u.title){c(h,u,b,"all");continue}let _=b.children.find(w=>w.kind==="group"&&w.title===u.title);_||(_={kind:"group",subKind:"describe",id:"suite:"+l.titlePath().join("")+""+u.title,title:u.title,location:u.location,duration:0,parent:b,children:[],status:"none",hasLoadErrors:!1},this._addChild(b,_)),c(h,u,_,"all")}for(const u of x==="suites"?[]:l.tests){const _=u.title;let w=b.children.find(T=>T.kind!=="group"&&T.title===_);w||(w={kind:"case",id:"test:"+u.titlePath().join(""),title:_,parent:b,children:[],tests:[],location:u.location,duration:0,status:"none",project:void 0,test:void 0,tags:u.tags},this._addChild(b,w));const N=u.results[0];let V="none";(N==null?void 0:N[G])==="scheduled"?V="scheduled":(N==null?void 0:N[G])==="running"?V="running":(N==null?void 0:N.status)==="skipped"?V="skipped":(N==null?void 0:N.status)==="interrupted"?V="none":N&&u.outcome()!=="expected"?V="failed":N&&u.outcome()==="expected"&&(V="passed"),w.tests.push(u);const E={kind:"test",id:u.id,title:h.name,location:u.location,test:u,parent:w,children:[],status:V,duration:u.results.length?Math.max(0,u.results[0].duration):0,project:h};this._addChild(w,E),this._treeItemByTestId.set(u.id,E),w.duration=w.children.reduce((T,D)=>T+D.duration,0)}};for(const h of(t==null?void 0:t.suites)||[])if(!(g&&!i.get(h.title)))for(const l of h.suites)if(n){if(c(h.project(),l,this.rootItem,"suites"),l.tests.length){const b=this._defaultDescribeItem();c(h.project(),l,b,"tests")}}else{const b=this._fileItem(l.location.file.split(o),!0);c(h.project(),l,b,"all")}for(const h of s){if(!h.location)continue;const l=this._fileItem(h.location.file.split(o),!0);l.hasLoadErrors=!0}}_addChild(e,t){e.children.push(t),t.parent=e,this._treeItemById.set(t.id,t)}filterTree(e,t,s){const i=e.trim().toLowerCase().split(" "),o=[...t.values()].some(Boolean),n=c=>{const h=[...c.tests[0].titlePath(),...c.tests[0].tags].join(" ").toLowerCase();return!i.every(l=>h.includes(l))&&!c.tests.some(l=>s==null?void 0:s.has(l.id))?!1:(c.children=c.children.filter(l=>!o||(s==null?void 0:s.has(l.test.id))||t.get(l.status)),c.tests=c.children.map(l=>l.test),!!c.children.length)},g=c=>{const h=[];for(const l of c.children)l.kind==="case"?n(l)&&h.push(l):(g(l),(l.children.length||l.hasLoadErrors)&&h.push(l));c.children=h};g(this.rootItem)}_fileItem(e,t){if(e.length===0)return this.rootItem;const s=e.join(this.pathSeparator),i=this._treeItemById.get(s);if(i)return i;const o=this._fileItem(e.slice(0,e.length-1),!1),n={kind:"group",subKind:t?"file":"folder",id:s,title:e[e.length-1],location:{file:s,line:0,column:0},duration:0,parent:o,children:[],status:"none",hasLoadErrors:!1};return this._addChild(o,n),n}_defaultDescribeItem(){let e=this._treeItemById.get("<anonymous>");return e||(e={kind:"group",subKind:"describe",id:"<anonymous>",title:"<anonymous>",location:{file:"",line:0,column:0},duration:0,parent:this.rootItem,children:[],status:"none",hasLoadErrors:!1},this._addChild(this.rootItem,e)),e}sortAndPropagateStatus(){De(this.rootItem)}flattenForSingleProject(){const e=t=>{t.kind==="case"&&t.children.length===1?(t.project=t.children[0].project,t.test=t.children[0].test,t.children=[],this._treeItemByTestId.set(t.test.id,t)):t.children.forEach(e)};e(this.rootItem)}shortenRoot(){let e=this.rootItem;for(;e.children.length===1&&e.children[0].kind==="group"&&e.children[0].subKind==="folder";)e=e.children[0];e.location=this.rootItem.location,this.rootItem=e}fileNames(){const e=new Set,t=s=>{s.kind==="group"&&s.subKind==="file"?e.add(s.id):s.children.forEach(t)};return t(this.rootItem),[...e]}flatTreeItems(){const e=[],t=s=>{e.push(s),s.children.forEach(t)};return t(this.rootItem),e}treeItemById(e){return this._treeItemById.get(e)}collectTestIds(e){return dt(e)}}function De(r){for(const n of r.children)De(n);r.kind==="group"&&r.children.sort((n,g)=>n.location.file.localeCompare(g.location.file)||n.location.line-g.location.line);let e=r.children.length>0,t=r.children.length>0,s=!1,i=!1,o=!1;for(const n of r.children)t=t&&n.status==="skipped",e=e&&(n.status==="passed"||n.status==="skipped"),s=s||n.status==="failed",i=i||n.status==="running",o=o||n.status==="scheduled";i?r.status="running":o?r.status="scheduled":s?r.status="failed":t?r.status="skipped":e&&(r.status="passed")}function dt(r){const e=new Set,t=new Set,s=i=>{if(i.kind!=="test"&&i.kind!=="case"){i.children.forEach(s);return}let o=i;for(;o&&o.parent&&!(o.kind==="group"&&o.subKind==="file");)o=o.parent;t.add(o.location.file),i.kind==="case"?i.tests.forEach(n=>e.add(n.id)):e.add(i.id)};return s(r),{testIds:e,locations:t}}const G=Symbol("statusEx");class mt{constructor(e){this.loadErrors=[],this.progress={total:0,passed:0,failed:0,skipped:0},this._lastRunTestCount=0,this._receiver=new fe(this._createReporter(),{mergeProjects:!0,mergeTestCases:!0,resolvePath:_e(e.pathSeparator),clearPreviousResultsWhenTestBegins:!0}),this._options=e}_createReporter(){return{version:()=>"v2",onConfigure:e=>{this.config=e,this._lastRunReceiver=new fe({version:()=>"v2",onBegin:t=>{this._lastRunTestCount=t.allTests().length,this._lastRunReceiver=void 0}},{mergeProjects:!0,mergeTestCases:!1,resolvePath:_e(this._options.pathSeparator)}),this._lastRunReceiver.dispatch({method:"onConfigure",params:{config:e}})},onBegin:e=>{var t;if(this.rootSuite||(this.rootSuite=e),this._testResultsSnapshot){for(const s of this.rootSuite.allTests())s.results=((t=this._testResultsSnapshot)==null?void 0:t.get(s.id))||s.results;this._testResultsSnapshot=void 0}this.progress.total=this._lastRunTestCount,this.progress.passed=0,this.progress.failed=0,this.progress.skipped=0,this._options.onUpdate(!0)},onEnd:()=>{this._options.onUpdate(!0)},onTestBegin:(e,t)=>{t[G]="running",this._options.onUpdate()},onTestEnd:(e,t)=>{e.outcome()==="skipped"?++this.progress.skipped:e.outcome()==="unexpected"?++this.progress.failed:++this.progress.passed,t[G]=t.status,this._options.onUpdate()},onError:e=>this._handleOnError(e),printsToStdio:()=>!1}}processGlobalReport(e){const t=new fe({version:()=>"v2",onConfigure:s=>{this.config=s},onError:s=>this._handleOnError(s)});for(const s of e)t.dispatch(s)}processListReport(e){var s;const t=((s=this.rootSuite)==null?void 0:s.allTests())||[];this._testResultsSnapshot=new Map(t.map(i=>[i.id,i.results])),this._receiver.reset();for(const i of e)this._receiver.dispatch(i)}processTestReportEvent(e){var t,s,i;(s=(t=this._lastRunReceiver)==null?void 0:t.dispatch(e))==null||s.catch(()=>{}),(i=this._receiver.dispatch(e))==null||i.catch(()=>{})}_handleOnError(e){var t,s;this.loadErrors.push(e),(s=(t=this._options).onError)==null||s.call(t,e),this._options.onUpdate()}asModel(){return{rootSuite:this.rootSuite||new Z("","root"),config:this.config,loadErrors:this.loadErrors,progress:this.progress}}}function _e(r){return(e,t)=>{const s=[];for(const i of[...e.split(r),...t.split(r)]){const o=r==="\\"&&s.length===1&&s[0].endsWith(":"),n=!s.length;if(!(!i&&!n&&!o)&&i!=="."){if(i===".."){s.pop();continue}s.push(i)}}return s.join(r)}}const ht=({source:r})=>{const[e,t]=We(),[s,i]=H.useState(ze()),[o]=H.useState(Ke(()=>import("./assets/xtermModule-CsJ4vdCR.js"),__vite__mapDeps([0,1]),import.meta.url).then(g=>g.default)),n=H.useRef(null);return H.useEffect(()=>($e(i),()=>He(i)),[]),H.useEffect(()=>{const g=r.write,c=r.clear;return(async()=>{const{Terminal:h,FitAddon:l}=await o,b=t.current;if(!b)return;const x=s==="dark-mode"?pt:ft;if(n.current&&n.current.terminal.options.theme===x)return;n.current&&(b.textContent="");const u=new h({convertEol:!0,fontSize:13,scrollback:1e4,fontFamily:"monospace",theme:x}),_=new l;u.loadAddon(_);for(const w of r.pending)u.write(w);r.write=(w=>{r.pending.push(w),u.write(w)}),r.clear=()=>{r.pending=[],u.clear()},u.open(b),_.fit(),n.current={terminal:u,fitAddon:_}})(),()=>{r.clear=c,r.write=g}},[o,n,t,r,s]),H.useEffect(()=>{setTimeout(()=>{n.current&&(n.current.fitAddon.fit(),r.resize(n.current.terminal.cols,n.current.terminal.rows))},250)},[e,r]),a.jsxDEV("div",{"data-testid":"output",className:"xterm-wrapper",style:{flex:"auto"},ref:t},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/web/src/components/xtermWrapper.tsx",lineNumber:104,columnNumber:10},void 0)},ft={foreground:"#383a42",background:"#fafafa",cursor:"#383a42",black:"#000000",red:"#e45649",green:"#50a14f",yellow:"#c18401",blue:"#4078f2",magenta:"#a626a4",cyan:"#0184bc",white:"#a0a0a0",brightBlack:"#000000",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#d19a66",brightBlue:"#4078f2",brightMagenta:"#a626a4",brightCyan:"#0184bc",brightWhite:"#383a42",selectionBackground:"#d7d7d7",selectionForeground:"#383a42"},pt={foreground:"#f8f8f2",background:"#1e1e1e",cursor:"#f8f8f0",black:"#000000",red:"#ff5555",green:"#50fa7b",yellow:"#f1fa8c",blue:"#bd93f9",magenta:"#ff79c6",cyan:"#8be9fd",white:"#bfbfbf",brightBlack:"#4d4d4d",brightRed:"#ff6e6e",brightGreen:"#69ff94",brightYellow:"#ffffa5",brightBlue:"#d6acff",brightMagenta:"#ff92df",brightCyan:"#a4ffff",brightWhite:"#e6e6e6",selectionBackground:"#44475a",selectionForeground:"#f8f8f2"},gt=({filterText:r,setFilterText:e,statusFilters:t,setStatusFilters:s,projectFilters:i,setProjectFilters:o,testModel:n,runTests:g})=>{const[c,h]=d.useState(!1),l=d.useRef(null);d.useEffect(()=>{var u;(u=l.current)==null||u.focus()},[]);const b=[...t.entries()].filter(([u,_])=>_).map(([u])=>u).join(" ")||"all",x=[...i.entries()].filter(([u,_])=>_).map(([u])=>u).join(" ")||"all";return a.jsxDEV("div",{className:"filters",children:[a.jsxDEV(qe,{expanded:c,setExpanded:h,title:a.jsxDEV("input",{ref:l,type:"search",placeholder:"Filter (e.g. text, @tag)",spellCheck:!1,value:r,onChange:u=>{e(u.target.value)},onKeyDown:u=>{u.key==="Enter"&&g()}},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:47,columnNumber:14},void 0)},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:44,columnNumber:5},void 0),a.jsxDEV("div",{className:"filter-summary",title:"Status: "+b+`
|
|
3
|
+
Projects: `+x,onClick:()=>h(!c),children:[a.jsxDEV("span",{className:"filter-label",children:"Status:"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:57,columnNumber:7},void 0)," ",b,a.jsxDEV("span",{className:"filter-label",children:"Projects:"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:58,columnNumber:7},void 0)," ",x]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:56,columnNumber:5},void 0),c&&a.jsxDEV("div",{className:"hbox",style:{marginLeft:14,maxHeight:200,overflowY:"auto"},children:[a.jsxDEV("div",{className:"filter-list",role:"list","data-testid":"status-filters",children:[...t.entries()].map(([u,_])=>a.jsxDEV("div",{className:"filter-entry",role:"listitem",children:a.jsxDEV("label",{children:[a.jsxDEV("input",{type:"checkbox",checked:_,onChange:()=>{const w=new Map(t);w.set(u,!w.get(u)),s(w)}},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:65,columnNumber:15},void 0),a.jsxDEV("div",{children:u},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:70,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:64,columnNumber:13},void 0)},u,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:63,columnNumber:18},void 0))},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:61,columnNumber:7},void 0),a.jsxDEV("div",{className:"filter-list",role:"list","data-testid":"project-filters",children:[...i.entries()].map(([u,_])=>a.jsxDEV("div",{className:"filter-entry",role:"listitem",children:a.jsxDEV("label",{children:[a.jsxDEV("input",{type:"checkbox",checked:_,onChange:()=>{var V;const w=new Map(i);w.set(u,!w.get(u)),o(w);const N=(V=n==null?void 0:n.config)==null?void 0:V.configFile;N&&Se.setObject(N+":projects",[...w.entries()].filter(([E,T])=>T).map(([E])=>E))}},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:79,columnNumber:15},void 0),a.jsxDEV("div",{children:u||"untitled"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:87,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:78,columnNumber:13},void 0)},u,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:77,columnNumber:18},void 0))},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:75,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:60,columnNumber:18},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeFiltersView.tsx",lineNumber:43,columnNumber:10},void 0)},wt=({tag:r,style:e,onClick:t})=>a.jsxDEV("span",{className:ge("tag",`tag-color-${vt(r)}`),onClick:t,style:{margin:"6px 0 0 6px",...e},title:`Click to filter by tag: ${r}`,children:r},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/tag.tsx",lineNumber:21,columnNumber:10},void 0);function vt(r){let e=0;for(let t=0;t<r.length;t++)e=r.charCodeAt(t)+((e<<8)-e);return Math.abs(e%6)}const bt=Ye,Nt=({filterText:r,testModel:e,testServerConnection:t,testTree:s,runTests:i,runningState:o,watchAll:n,watchedTreeIds:g,setWatchedTreeIds:c,isLoading:h,onItemSelected:l,requestedCollapseAllCount:b,requestedExpandAllCount:x,setFilterText:u,onRevealSource:_})=>{const[w,N]=d.useState({expandedItems:new Map}),[V,E]=d.useState(),[T,D]=d.useState(b),[A,ee]=d.useState(x);d.useEffect(()=>{if(T!==b){w.expandedItems.clear();for(const y of s.flatTreeItems())w.expandedItems.set(y.id,!1);D(b),E(void 0),N({...w});return}if(A!==x){w.expandedItems.clear();for(const y of s.flatTreeItems())w.expandedItems.set(y.id,!0);ee(x),E(void 0),N({...w});return}if(!o||o.itemSelectedByUser)return;let m;const j=y=>{var B;y.children.forEach(j),!m&&y.status==="failed"&&(y.kind==="test"&&o.testIds.has(y.test.id)||y.kind==="case"&&o.testIds.has((B=y.tests[0])==null?void 0:B.id))&&(m=y)};j(s.rootItem),m&&E(m.id)},[o,E,s,T,D,b,A,ee,x,w,N]);const I=d.useMemo(()=>{if(V)return s.treeItemById(V)},[V,s]);d.useEffect(()=>{if(!e)return;const m=xt(I,e);let j;(I==null?void 0:I.kind)==="test"?j=I.test:(I==null?void 0:I.kind)==="case"&&I.tests.length===1&&(j=I.tests[0]),l({treeItem:I,testCase:j,testFile:m})},[e,I,l]),d.useEffect(()=>{if(!h)if(n)t==null||t.watchNoReply({fileNames:s.fileNames()});else{const m=new Set;for(const j of g.value){const y=s.treeItemById(j),B=y==null?void 0:y.location.file;B&&m.add(B)}t==null||t.watchNoReply({fileNames:[...m]})}},[h,s,n,g,t]);const $=m=>{E(m.id),i("bounce-if-busy",s.collectTestIds(m))},z=(m,j)=>{if(m.preventDefault(),m.stopPropagation(),m.metaKey||m.ctrlKey){const y=r.split(" ");y.includes(j)?u(y.filter(B=>B!==j).join(" ").trim()):u((r+" "+j).trim())}else u((r.split(" ").filter(y=>!y.startsWith("@")).join(" ")+" "+j).trim())};return a.jsxDEV(bt,{name:"tests",treeState:w,setTreeState:N,rootItem:s.rootItem,dataTestId:"test-tree",render:m=>{const j=m.id.replace(/[^\w\d-_]/g,"-"),y=j+"-label",B=j+"-time";return a.jsxDEV("div",{className:"hbox ui-mode-tree-item","aria-labelledby":`${y} ${B}`,children:[a.jsxDEV("div",{id:y,className:"ui-mode-tree-item-title",children:[a.jsxDEV("span",{children:m.title},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeTestListView.tsx",lineNumber:172,columnNumber:11},void 0),m.kind==="case"?m.tags.map(Y=>a.jsxDEV(wt,{tag:Y.slice(1),onClick:ue=>z(ue,Y)},Y,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeTestListView.tsx",lineNumber:173,columnNumber:64},void 0)):null]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeTestListView.tsx",lineNumber:171,columnNumber:9},void 0),!!m.duration&&m.status!=="skipped"&&a.jsxDEV("div",{id:B,className:"ui-mode-tree-item-time",children:Xe(m.duration)},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeTestListView.tsx",lineNumber:175,columnNumber:66},void 0),a.jsxDEV(q,{noMinHeight:!0,noShadow:!0,children:[a.jsxDEV(P,{icon:"play",title:"Run",onClick:()=>$(m),disabled:!!o&&!o.completed},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeTestListView.tsx",lineNumber:177,columnNumber:11},void 0),a.jsxDEV(P,{icon:"go-to-file",title:"Show source",onClick:_,style:m.kind==="group"&&m.subKind==="folder"?{visibility:"hidden"}:{}},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeTestListView.tsx",lineNumber:178,columnNumber:11},void 0),!n&&a.jsxDEV(P,{icon:"eye",title:"Watch",onClick:()=>{g.value.has(m.id)?g.value.delete(m.id):g.value.add(m.id),c({...g})},toggled:g.value.has(m.id)},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeTestListView.tsx",lineNumber:179,columnNumber:25},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeTestListView.tsx",lineNumber:176,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeTestListView.tsx",lineNumber:170,columnNumber:14},void 0)},icon:m=>Qe(m.status),title:m=>m.title,selectedItem:I,onAccepted:$,onSelected:m=>{o&&(o.itemSelectedByUser=!0),E(m.id)},isError:m=>m.kind==="group"?m.hasLoadErrors:!1,autoExpandDepth:r?5:1,noItemsMessage:h?"Loading…":"No tests"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeTestListView.tsx",lineNumber:160,columnNumber:10},void 0)};function xt(r,e){if(!(!r||!e))return{file:r.location.file,line:r.location.line,column:r.location.column,source:{errors:e.loadErrors.filter(t=>{var s;return((s=t.location)==null?void 0:s.file)===r.location.file}).map(t=>({line:t.location.line,message:t.message})),content:void 0}}}function kt(r){return`.playwright-artifacts-${r}`}const _t=({item:r,rootDir:e,onOpenExternally:t,revealSource:s,pathSeparator:i})=>{var b,x;const[o,n]=d.useState(void 0),[g,c]=d.useState(0),h=d.useRef(null),{outputDir:l}=d.useMemo(()=>({outputDir:r.testCase?yt(r.testCase):void 0}),[r]);return d.useEffect(()=>{var N,V,E;h.current&&clearTimeout(h.current);const u=(N=r.testCase)==null?void 0:N.results[0];if(!u||((V=r.treeItem)==null?void 0:V.status)==="scheduled"){n(void 0);return}const _=u&&u.duration>=0&&u.attachments.find(T=>T.name==="trace");if(_&&_.path){ye(_.path,u.startTime.getTime()).then(T=>n({model:T,isLive:!1}));return}if(!l){n(void 0);return}const w=[l,kt(u.workerIndex),"traces",`${(E=r.testCase)==null?void 0:E.id}.json`].join(i);return h.current=setTimeout(async()=>{try{const T=await ye(w,Date.now());n({model:T,isLive:!0})}catch{const T=new Te("",[]);T.errorDescriptors.push(...u.errors.flatMap(D=>D.message?[{message:D.message}]:[])),n({model:T,isLive:!1})}finally{c(g+1)}},500),()=>{h.current&&clearTimeout(h.current)}},[l,r,n,g,c,i]),a.jsxDEV(Je,{model:o==null?void 0:o.model,showSourcesFirst:!0,rootDir:e,fallbackLocation:r.testFile,isLive:o==null?void 0:o.isLive,status:(b=r.treeItem)==null?void 0:b.status,annotations:((x=r.testCase)==null?void 0:x.annotations)??[],onOpenExternally:t,revealSource:s},"workbench",!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeTraceView.tsx",lineNumber:91,columnNumber:10},void 0)},yt=r=>{var e;for(let t=r.parent;t;t=t.parent)if(t.project())return(e=t.project())==null?void 0:e.outputDir};async function ye(r,e){const t=`file?path=${encodeURIComponent(r)}×tamp=${e}`,s=new URLSearchParams;s.set("trace",t);const o=await(await fetch(`contexts?${s.toString()}`)).json();return new Te(t,o)}let Ee={cols:80};const W={pending:[],clear:()=>{},write:r=>W.pending.push(r),resize:()=>{}},F=new URLSearchParams(window.location.search),Et=new URL(F.get("server")??"../",window.location.href),we=new URL(F.get("ws"),Et);we.protocol=we.protocol==="https:"?"wss:":"ws:";const U={args:F.getAll("arg"),grep:F.get("grep")||void 0,grepInvert:F.get("grepInvert")||void 0,projects:F.getAll("project"),workers:F.get("workers")||void 0,headed:F.has("headed"),updateSnapshots:F.get("updateSnapshots")||void 0,reporters:F.has("reporter")?F.getAll("reporter"):void 0,pathSeparator:F.get("pathSeparator")||"/"};U.updateSnapshots&&!["all","changed","none","missing"].includes(U.updateSnapshots)&&(U.updateSnapshots=void 0);const Ve=navigator.platform==="MacIntel";function Vt(r){return r.startsWith("/")&&(r=r.substring(1)),r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const St=({})=>{var xe;const[r,e]=d.useState(""),[t,s]=d.useState(!1),[i,o]=d.useState(!1),[n,g]=d.useState(new Map([["passed",!1],["failed",!1],["skipped",!1]])),[c,h]=d.useState(new Map),[l,b]=d.useState(),[x,u]=d.useState(),[_,w]=d.useState({}),[N,V]=d.useState(!1),[E,T]=d.useState(),D=E&&!E.completed,[A,ee]=oe("watch-all",!1),[I,$]=d.useState({value:new Set}),z=d.useRef(Promise.resolve()),m=d.useRef({testIds:new Set,locations:new Set}),[j,y]=d.useState(0),[B,Y]=d.useState(0),[ue,Me]=d.useState(!1),[ve,be]=d.useState(!0),[v,je]=d.useState(),[te,Ue]=d.useState(),[se,Ie]=d.useState(!1),[ie,Re]=d.useState(!1),[Ce,Ne]=d.useState(!1),Be=d.useCallback(()=>Ne(!0),[Ne]),[ce,Pe]=oe("single-worker",!1),[de,Le]=oe("updateSnapshots","missing"),[Q]=oe("mergeFiles",!1),Fe=d.useRef(null),re=d.useCallback(()=>{je(f=>(f==null||f.close(),new Ze(new Ge(we))))},[]);d.useEffect(()=>{var f;(f=Fe.current)==null||f.focus(),V(!0),re()},[re]),d.useEffect(()=>{if(!v)return;const f=[v.onStdio(p=>{if(p.buffer){const k=atob(p.buffer);W.write(k)}else W.write(p.text);p.type==="stderr"&&o(!0)}),v.onClose(()=>Me(!0))];return W.resize=(p,k)=>{Ee={cols:p,rows:k},v.resizeTerminalNoReply({cols:p,rows:k})},()=>{for(const p of f)p.dispose()}},[v]),d.useEffect(()=>{if(!v)return;let f;const p=new mt({onUpdate:k=>{clearTimeout(f),f=void 0,k?b(p.asModel()):f||(f=setTimeout(()=>{b(p.asModel())},250))},onError:k=>{W.write((k.stack||k.value||"")+`
|
|
4
|
+
`),o(!0)},pathSeparator:U.pathSeparator});return Ue(p),b(void 0),V(!0),$({value:new Set}),(async()=>{try{await v.initialize({interceptStdio:!0,watchTestDirs:!0});const{status:k,report:M}=await v.runGlobalSetup({});if(p.processGlobalReport(M),k!=="passed")return;const R=await v.listTests({projects:U.projects,locations:U.args,grep:U.grep,grepInvert:U.grepInvert});p.processListReport(R.report),v.onReport(K=>{p.processTestReportEvent(K)});const{hasBrowsers:L}=await v.checkBrowsers({});be(L)}finally{V(!1)}})(),()=>{clearTimeout(f)}},[v]),d.useEffect(()=>{if(!l)return;const{config:f,rootSuite:p}=l,k=f.configFile?Se.getObject(f.configFile+":projects",void 0):void 0,M=new Map(c);for(const R of M.keys())p.suites.find(L=>L.title===R)||M.delete(R);for(const R of p.suites)M.has(R.title)||M.set(R.title,!!(k!=null&&k.includes(R.title)));!k&&M.size&&![...M.values()].includes(!0)&&M.set(M.entries().next().value[0],!0),(c.size!==M.size||[...c].some(([R,L])=>M.get(R)!==L))&&h(M)},[c,l]),d.useEffect(()=>{D&&(l!=null&&l.progress)?u(l.progress):l||u(void 0)},[l,D]);const{testTree:ae}=d.useMemo(()=>{if(!l)return{testTree:new pe("",new Z("","root"),[],c,U.pathSeparator,Q)};const f=new pe("",l.rootSuite,l.loadErrors,c,U.pathSeparator,Q);return f.filterTree(r,n,D?E==null?void 0:E.testIds:void 0),f.sortAndPropagateStatus(),f.shortenRoot(),f.flattenForSingleProject(),{testTree:f}},[r,l,n,c,E,D,Q]),X=d.useCallback((f,p)=>{if(!(!v||!l)&&!(f==="bounce-if-busy"&&D)){for(const k of p.testIds)m.current.testIds.add(k);for(const k of p.locations)m.current.locations.add(k);z.current=z.current.then(async()=>{var L,K,O;const{testIds:k,locations:M}=m.current;if(m.current={testIds:new Set,locations:new Set},!k.size)return;{for(const S of((L=l.rootSuite)==null?void 0:L.allTests())||[])if(k.has(S.id)){S.results=[];const C=S._createTestResult("pending");C[G]="scheduled"}b({...l})}const R=" ["+new Date().toLocaleTimeString()+"]";W.write("\x1B[2m—".repeat(Math.max(0,Ee.cols-R.length))+R+"\x1B[22m"),u({total:0,passed:0,failed:0,skipped:0}),T({testIds:k}),await v.runTests({locations:[...M].map(Vt),grep:U.grep,grepInvert:U.grepInvert,testIds:[...k],projects:[...c].filter(([S,C])=>C).map(([S])=>S),updateSnapshots:de,reporters:U.reporters,workers:ce?1:void 0,trace:"on"});for(const S of((K=l.rootSuite)==null?void 0:K.allTests())||[])((O=S.results[0])==null?void 0:O.duration)===-1&&(S.results=[]);b({...l}),T(S=>S?{...S,completed:!0}:void 0)})}},[c,D,l,v,de,ce]),ne=d.useCallback(()=>X("bounce-if-busy",ae.collectTestIds(ae.rootItem)),[X,ae]);d.useEffect(()=>{if(!v||!te)return;const f=v.onTestFilesChanged(async p=>{if(z.current=z.current.then(async()=>{V(!0);try{const O=await v.listTests({projects:U.projects,locations:U.args,grep:U.grep,grepInvert:U.grepInvert});te.processListReport(O.report)}catch(O){console.log(O)}finally{V(!1)}}),await z.current,p.testFiles.length===0)return;const k=te.asModel(),M=new pe("",k.rootSuite,k.loadErrors,c,U.pathSeparator,Q),R=[],L=[],K=new Set(p.testFiles);if(A){const O=S=>{const C=S.location.file;if(C&&K.has(C)){const J=M.collectTestIds(S);R.push(...J.locations),L.push(...J.testIds)}S.kind==="group"&&S.subKind==="folder"&&S.children.forEach(O)};O(M.rootItem)}else for(const O of I.value){const S=M.treeItemById(O);if(!S)continue;let C=S;for(;!(C.kind==="group"&&(C.subKind==="file"||C.subKind==="folder"))&&C.parent;)C=C.parent;const J=C==null?void 0:C.location.file;if(J&&K.has(J)){const ke=M.collectTestIds(S);R.push(...ke.locations),L.push(...ke.testIds)}}X("queue-if-busy",{locations:R,testIds:L})});return()=>f.dispose()},[X,v,A,I,te,c,Q]),d.useEffect(()=>{if(!v)return;const f=p=>{p.code==="Backquote"&&p.ctrlKey?(p.preventDefault(),s(!t)):p.code==="F5"&&p.shiftKey?(p.preventDefault(),v==null||v.stopTestsNoReply({})):p.code==="F5"&&(p.preventDefault(),ne())};return addEventListener("keydown",f),()=>{removeEventListener("keydown",f)}},[ne,re,v,t]);const me=d.useRef(null),Oe=d.useCallback(f=>{var p;f.preventDefault(),f.stopPropagation(),(p=me.current)==null||p.showModal()},[]),he=d.useCallback(f=>{var p;f.preventDefault(),f.stopPropagation(),(p=me.current)==null||p.close()},[]),Ae=d.useCallback(f=>{he(f),s(!0),v==null||v.installBrowsers({}).then(async()=>{s(!1);const{hasBrowsers:p}=await(v==null?void 0:v.checkBrowsers({}));be(p)})},[he,v]);return a.jsxDEV("div",{className:"vbox ui-mode",children:[!ve&&a.jsxDEV("dialog",{ref:me,children:[a.jsxDEV("div",{className:"title",children:[a.jsxDEV("span",{className:"codicon codicon-lightbulb"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:425,columnNumber:30},void 0),"Install browsers"]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:425,columnNumber:7},void 0),a.jsxDEV("div",{className:"body",children:["Playwright did not find installed browsers.",a.jsxDEV("br",{},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:428,columnNumber:9},void 0),"Would you like to run `playwright install`?",a.jsxDEV("br",{},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:430,columnNumber:9},void 0),a.jsxDEV("button",{className:"button",onClick:Ae,children:"Install"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:431,columnNumber:9},void 0),a.jsxDEV("button",{className:"button secondary",onClick:he,children:"Dismiss"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:432,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:426,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:424,columnNumber:22},void 0),ue&&a.jsxDEV("div",{className:"disconnected",children:[a.jsxDEV("div",{className:"title",children:"UI Mode disconnected"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:436,columnNumber:7},void 0),a.jsxDEV("div",{children:[a.jsxDEV("a",{href:"#",onClick:()=>window.location.href="/",children:"Reload the page"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:437,columnNumber:12},void 0)," to reconnect"]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:437,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:435,columnNumber:24},void 0),a.jsxDEV(et,{sidebarSize:250,minSidebarSize:150,orientation:"horizontal",sidebarIsFirst:!0,settingName:"testListSidebar",main:a.jsxDEV("div",{className:"vbox",children:[a.jsxDEV("div",{className:ge("vbox",!t&&"hidden"),children:[a.jsxDEV(q,{children:[a.jsxDEV("div",{className:"section-title",style:{flex:"none"},children:"Output"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:448,columnNumber:13},void 0),a.jsxDEV(P,{icon:"circle-slash",title:"Clear output",onClick:()=>{W.clear(),o(!1)}},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:449,columnNumber:13},void 0),a.jsxDEV("div",{className:"spacer"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:450,columnNumber:13},void 0),a.jsxDEV(P,{icon:"close",title:"Close",onClick:()=>s(!1)},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:451,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:447,columnNumber:11},void 0),a.jsxDEV(ht,{source:W},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:453,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:446,columnNumber:9},void 0),a.jsxDEV("div",{className:ge("vbox",t&&"hidden"),children:a.jsxDEV(_t,{pathSeparator:U.pathSeparator,item:_,rootDir:(xe=l==null?void 0:l.config)==null?void 0:xe.rootDir,revealSource:Ce,onOpenExternally:f=>v==null?void 0:v.openNoReply({location:{file:f.file,line:f.line,column:f.column}})},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:456,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:455,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:445,columnNumber:13},void 0),sidebar:a.jsxDEV("div",{className:"vbox ui-mode-sidebar",children:[a.jsxDEV(q,{noShadow:!0,noMinHeight:!0,children:[a.jsxDEV("img",{src:"playwright-logo.svg",alt:"Playwright logo"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:467,columnNumber:11},void 0),a.jsxDEV("div",{className:"section-title",children:"Playwright"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:468,columnNumber:11},void 0),a.jsxDEV(P,{icon:"refresh",title:"Reload",onClick:()=>re(),disabled:D||N},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:469,columnNumber:11},void 0),a.jsxDEV("div",{style:{position:"relative"},children:[a.jsxDEV(P,{icon:"terminal",title:"Toggle output — "+(Ve?"⌃`":"Ctrl + `"),toggled:t,onClick:()=>{s(!t)}},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:471,columnNumber:13},void 0),i&&a.jsxDEV("div",{title:"Output contains error",style:{position:"absolute",top:2,right:2,width:7,height:7,borderRadius:"50%",backgroundColor:"var(--vscode-notificationsErrorIcon-foreground)"}},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:472,columnNumber:37},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:470,columnNumber:11},void 0),!ve&&a.jsxDEV(P,{icon:"lightbulb-autofix",style:{color:"var(--vscode-list-warningForeground)"},title:"Playwright browsers are missing",onClick:Oe},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:474,columnNumber:28},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:466,columnNumber:9},void 0),a.jsxDEV(gt,{filterText:r,setFilterText:e,statusFilters:n,setStatusFilters:g,projectFilters:c,setProjectFilters:h,testModel:l,runTests:ne},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:476,columnNumber:9},void 0),a.jsxDEV(q,{className:"section-toolbar",noMinHeight:!0,children:[!D&&!x&&a.jsxDEV("div",{className:"section-title",children:"Tests"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:486,columnNumber:43},void 0),!D&&x&&a.jsxDEV("div",{"data-testid":"status-line",className:"status-line",children:a.jsxDEV("div",{children:[x.passed,"/",x.total," passed (",x.passed/x.total*100|0,"%)"]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:488,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:487,columnNumber:42},void 0),D&&x&&a.jsxDEV("div",{"data-testid":"status-line",className:"status-line",children:a.jsxDEV("div",{children:["Running ",x.passed,"/",E.testIds.size," passed (",x.passed/E.testIds.size*100|0,"%)"]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:491,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:490,columnNumber:41},void 0),a.jsxDEV(P,{icon:"play",title:"Run all — F5",onClick:ne,disabled:D||N},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:493,columnNumber:11},void 0),a.jsxDEV(P,{icon:"debug-stop",title:"Stop — "+(Ve?"⇧F5":"Shift + F5"),onClick:()=>v==null?void 0:v.stopTests({}),disabled:!D||N},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:494,columnNumber:11},void 0),a.jsxDEV(P,{icon:"eye",title:"Watch all",toggled:A,onClick:()=>{$({value:new Set}),ee(!A)}},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:495,columnNumber:11},void 0),a.jsxDEV(P,{icon:"collapse-all",title:"Collapse all",onClick:()=>{y(j+1)}},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:499,columnNumber:11},void 0),a.jsxDEV(P,{icon:"expand-all",title:"Expand all",onClick:()=>{Y(B+1)}},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:502,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:485,columnNumber:9},void 0),a.jsxDEV(Nt,{filterText:r,testModel:l,testTree:ae,testServerConnection:v,runningState:E,runTests:X,onItemSelected:w,watchAll:A,watchedTreeIds:I,setWatchedTreeIds:$,isLoading:N,requestedCollapseAllCount:j,requestedExpandAllCount:B,setFilterText:e,onRevealSource:Be},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:506,columnNumber:9},void 0),a.jsxDEV(q,{noShadow:!0,noMinHeight:!0,className:"settings-toolbar",onClick:()=>Re(!ie),children:[a.jsxDEV("span",{className:`codicon codicon-${ie?"chevron-down":"chevron-right"}`,style:{marginLeft:5},title:ie?"Hide Testing Options":"Show Testing Options"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:524,columnNumber:11},void 0),a.jsxDEV("div",{className:"section-title",children:"Testing Options"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:529,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:523,columnNumber:9},void 0),ie&&a.jsxDEV(tt,{settings:[{type:"check",value:ce,set:Pe,name:"Single worker"},{type:"select",options:[{label:"All",value:"all"},{label:"Changed",value:"changed"},{label:"Missing",value:"missing"},{label:"None",value:"none"}],value:de,set:Le,name:"Update snapshots"}]},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:531,columnNumber:35},void 0),a.jsxDEV(q,{noShadow:!0,noMinHeight:!0,className:"settings-toolbar",onClick:()=>Ie(!se),children:[a.jsxDEV("span",{className:`codicon codicon-${se?"chevron-down":"chevron-right"}`,style:{marginLeft:5},title:se?"Hide Settings":"Show Settings"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:541,columnNumber:11},void 0),a.jsxDEV("div",{className:"section-title",children:"Settings"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:546,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:540,columnNumber:9},void 0),se&&a.jsxDEV(st,{location:"ui-mode"},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:548,columnNumber:29},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:465,columnNumber:16},void 0)},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:439,columnNumber:5},void 0)]},void 0,!0,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/ui/uiModeView.tsx",lineNumber:423,columnNumber:10},void 0)};(async()=>{if(it(),window.location.protocol!=="file:"){if(window.location.href.includes("isUnderTest=true")&&await new Promise(r=>setTimeout(r,1e3)),!navigator.serviceWorker)throw new Error(`Service workers are not supported.
|
|
5
|
+
Make sure to serve the website (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(r=>{navigator.serviceWorker.oncontrollerchange=()=>r()}),setInterval(function(){fetch("ping")},1e4)}rt.createRoot(document.querySelector("#root")).render(a.jsxDEV(St,{},void 0,!1,{fileName:"/Users/mrugeshmaster/git/letsramp/playwright/packages/trace-viewer/src/uiMode.tsx",lineNumber:41,columnNumber:64},void 0))})();
|
package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
7
|
<link rel="icon" href="./playwright-logo.svg" type="image/svg+xml">
|
|
8
8
|
<title>Playwright Test</title>
|
|
9
|
-
<script type="module" crossorigin src="./uiMode.
|
|
10
|
-
<link rel="modulepreload" crossorigin href="./assets/defaultSettingsView-
|
|
9
|
+
<script type="module" crossorigin src="./uiMode.CIKB3XSv.js"></script>
|
|
10
|
+
<link rel="modulepreload" crossorigin href="./assets/defaultSettingsView-Co9upU5h.js">
|
|
11
11
|
<link rel="stylesheet" crossorigin href="./defaultSettingsView.7ch9cixO.css">
|
|
12
12
|
<link rel="stylesheet" crossorigin href="./uiMode.Btcz36p_.css">
|
|
13
13
|
</head>
|