New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@currents/playwright

Package Overview
Dependencies
Maintainers
2
Versions
139
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@currents/playwright - npm Package Compare versions

Comparing version 0.10.5 to 0.10.6

7

CHANGELOG.md
# Changelog
## [0.10.6](https://github.com/currents-dev/currents-playwright/compare/v0.10.5...v0.10.6) (2023-11-07)
### Bug Fixes
* use @currents/commit-info ([b737211](https://github.com/currents-dev/currents-playwright/commit/b73721163ec1921fca05eda71111e1abe9a59283))
## [0.10.5](https://github.com/currents-dev/currents-playwright/compare/v0.10.4...v0.10.5) (2023-11-07)

@@ -4,0 +11,0 @@

2

dist/bin/index.js
#! /usr/bin/env node
"use strict";var I=Object.create;var g=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var E=(e,r,n,c)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of T(r))!R.call(e,a)&&a!==n&&g(e,a,{get:()=>r[a],enumerable:!(c=j(r,a))||c.enumerable});return e};var p=(e,r,n)=>(n=e!=null?I(k(e)):{},E(r||!e||!e.__esModule?g(n,"default",{value:e,enumerable:!0}):n,e));var Ge=require("source-map-support/register"),v=p(require("fs"));var u=p(require("debug")),m=(0,u.default)("currents"),i=(...e)=>m(...e);i.extend=m.extend.bind(m);var s=p(require("chalk")),N=p(require("util"));var q=s.default.cyan,M=s.default.blueBright,W=s.default.red,J=s.default.green,Y=s.default.gray,z=s.default.white,Q=s.default.magenta,d=s.default.dim;var O={ciBuildId:{name:"CI Build ID",env:"CURRENTS_CI_BUILD_ID",cli:"--ci-build-id"},recordKey:{name:"Record Key",env:"CURRENTS_RECORD_KEY",cli:"--key"},projectId:{name:"Project ID",env:"CURRENTS_PROJECT_ID",cli:"--project-id"},tag:{name:"Currents Tag",env:"CURRENTS_TAG",cli:"--tag"}};function l(e){return O[e].env}var P=p(require("fs"));function f(e){return{ciBuildId:e.ciBuildId,projectId:e.projectId,recordKey:e.key,tag:e.tag,enableTestResults:e.pwcEnableTestResults,removeTitleTags:e.pwcRemoveTitleTags}}var o=require("@commander-js/extra-typings"),C=p(require("chalk"));var y={name:"@currents/playwright",version:"0.10.5",main:"./dist/index.js",author:"Currents Software Inc",license:"GPL-3.0-or-later",scripts:{test:"jest",rm:"rimraf dist",lint:'TIMING=1 eslint "**/*.ts*"',build:"tsup-node --minify --dts",dev:"tsup-node --watch --dts",release:"release-it ","publish:npm":"npm run rm && npm run build && ./publish.js","release-ci":"npm run rm && npm run build && ./publish.js -t latest"},bin:{pwc:"./dist/bin/index.js"},devDependencies:{"@playwright/test":"^1.37.1","@release-it/conventional-changelog":"^7.0.2","@swc/jest":"^0.2.24","@types/async-retry":"^1.4.5","@types/babel__code-frame":"^7.0.3","@types/debug":"^4.1.7","@types/getos":"^3.0.1","@types/jest":"^29.5.3","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.191","@types/randomstring":"^1.1.8","@types/shelljs":"^0.8.11","@types/stack-utils":"^2.0.1",commander:"^11.1.0",eslint:"^7.32.0","eslint-config-custom":"*",jest:"^29.5.0",msw:"^1.2.3",playwright:"^1.30.0","release-it":"^16.2.1",rimraf:"^4.1.1",tsconfig:"*",tsup:"^6.5.0",typescript:"^4.5.2",wtfnode:"^0.9.1"},dependencies:{"@babel/code-frame":"^7.18.6","@commander-js/extra-typings":"^11.1.0","@cypress/commit-info":"^2.2.0","async-retry":"^1.3.3",axios:"^1.2.0","axios-retry":"^3.4.0",chalk:"^4.1.2",colors:"^1.4.0","date-fns":"^2.29.3",debug:"^4.3.4",dotenv:"^16.0.3",execa:"^7.2.0",getos:"^3.2.1","image-size":"^1.0.2","json-stringify-safe":"^5.0.1",lodash:"^4.17.21","p-all":"^3.0.0",pino:"^8.11.0","pretty-ms":"^7.0.1",randomstring:"^1.2.3","source-map-support":"^0.5.21","stack-utils":"^2.0.6","tmp-promise":"^3.0.3","ts-pattern":"^4.3.0"},files:["dist","!**/*.map","!**/*/*.map","**/*.LEGAL.txt","LICENSE.md","README.md","CHANGELOG.md"],keywords:["playwright","playwright dashboard","cloud dashboard","reporter","currents","tests reporter","sorry cypress","ci"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./parallel":{import:"./dist/parallel/index.js",require:"./dist/parallel/index.js"},"./package.json":"./package.json"},publishConfig:{access:"public",registry:"https://registry.npmjs.org"},"release-it":{npm:{publish:!1},github:{release:!0},plugins:{"@release-it/conventional-changelog":{preset:"angular",header:"# Changelog",ignoreVersion:!0,infile:"../../CHANGELOG.md"}},git:{commitMessage:"chore: release v${version}",tagName:"v${version}"}}};var b=y.version;var w=(e=new o.Command)=>e.name("pwc").usage("[options] [playwright arguments and flags]").allowUnknownOption().showHelpAfterError("(add --help for additional information)").description(`\u{1F3AD} Run Playwright tests on CI using https://currents.dev
"use strict";var I=Object.create;var g=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var E=(e,r,n,c)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of T(r))!R.call(e,a)&&a!==n&&g(e,a,{get:()=>r[a],enumerable:!(c=j(r,a))||c.enumerable});return e};var p=(e,r,n)=>(n=e!=null?I(k(e)):{},E(r||!e||!e.__esModule?g(n,"default",{value:e,enumerable:!0}):n,e));var Ge=require("source-map-support/register"),v=p(require("fs"));var u=p(require("debug")),m=(0,u.default)("currents"),i=(...e)=>m(...e);i.extend=m.extend.bind(m);var s=p(require("chalk")),N=p(require("util"));var q=s.default.cyan,M=s.default.blueBright,W=s.default.red,J=s.default.green,Y=s.default.gray,z=s.default.white,Q=s.default.magenta,d=s.default.dim;var O={ciBuildId:{name:"CI Build ID",env:"CURRENTS_CI_BUILD_ID",cli:"--ci-build-id"},recordKey:{name:"Record Key",env:"CURRENTS_RECORD_KEY",cli:"--key"},projectId:{name:"Project ID",env:"CURRENTS_PROJECT_ID",cli:"--project-id"},tag:{name:"Currents Tag",env:"CURRENTS_TAG",cli:"--tag"}};function l(e){return O[e].env}var P=p(require("fs"));function f(e){return{ciBuildId:e.ciBuildId,projectId:e.projectId,recordKey:e.key,tag:e.tag,enableTestResults:e.pwcEnableTestResults,removeTitleTags:e.pwcRemoveTitleTags}}var o=require("@commander-js/extra-typings"),C=p(require("chalk"));var y={name:"@currents/playwright",version:"0.10.6",main:"./dist/index.js",author:"Currents Software Inc",license:"GPL-3.0-or-later",scripts:{test:"jest",rm:"rimraf dist",lint:'TIMING=1 eslint "**/*.ts*"',build:"tsup-node --minify --dts",dev:"tsup-node --watch --dts",release:"release-it ","publish:npm":"npm run rm && npm run build && ./publish.js","release-ci":"npm run rm && npm run build && ./publish.js -t latest"},bin:{pwc:"./dist/bin/index.js"},devDependencies:{"@playwright/test":"^1.37.1","@release-it/conventional-changelog":"^7.0.2","@swc/jest":"^0.2.24","@types/async-retry":"^1.4.5","@types/babel__code-frame":"^7.0.3","@types/debug":"^4.1.11","@types/getos":"^3.0.1","@types/jest":"^29.5.3","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.191","@types/randomstring":"^1.1.8","@types/shelljs":"^0.8.11","@types/stack-utils":"^2.0.1",commander:"^11.1.0",eslint:"^7.32.0","eslint-config-custom":"*",jest:"^29.5.0",msw:"^1.2.3",playwright:"^1.30.0","release-it":"^16.2.1",rimraf:"^4.1.1",tsconfig:"*",tsup:"^6.5.0",typescript:"^4.5.2",wtfnode:"^0.9.1"},dependencies:{"@babel/code-frame":"^7.18.6","@commander-js/extra-typings":"^11.1.0","@currents/commit-info":"^1.0.0","async-retry":"^1.3.3",axios:"^1.2.0","axios-retry":"^3.4.0",chalk:"^4.1.2",colors:"^1.4.0","date-fns":"^2.29.3",debug:"^4.3.4",dotenv:"^16.0.3",execa:"^7.2.0",getos:"^3.2.1","image-size":"^1.0.2","json-stringify-safe":"^5.0.1",lodash:"^4.17.21","p-all":"^3.0.0",pino:"^8.11.0","pretty-ms":"^7.0.1",randomstring:"^1.2.3","source-map-support":"^0.5.21","stack-utils":"^2.0.6","tmp-promise":"^3.0.3","ts-pattern":"^4.3.0"},files:["dist","!**/*.map","!**/*/*.map","**/*.LEGAL.txt","LICENSE.md","README.md","CHANGELOG.md"],keywords:["playwright","playwright dashboard","cloud dashboard","reporter","currents","tests reporter","sorry cypress","ci"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./parallel":{import:"./dist/parallel/index.js",require:"./dist/parallel/index.js"},"./package.json":"./package.json"},publishConfig:{access:"public",registry:"https://registry.npmjs.org"},"release-it":{npm:{publish:!1},github:{release:!0},plugins:{"@release-it/conventional-changelog":{preset:"angular",header:"# Changelog",ignoreVersion:!0,infile:"../../CHANGELOG.md"}},git:{commitMessage:"chore: release v${version}",tagName:"v${version}"}}};var b=y.version;var w=(e=new o.Command)=>e.name("pwc").usage("[options] [playwright arguments and flags]").allowUnknownOption().showHelpAfterError("(add --help for additional information)").description(`\u{1F3AD} Run Playwright tests on CI using https://currents.dev

@@ -4,0 +4,0 @@ ----------------------------------------------------

@@ -1,2 +0,2 @@

"use strict";var Rr=Object.create;var X=Object.defineProperty;var Tr=Object.getOwnPropertyDescriptor;var hr=Object.getOwnPropertyNames;var _r=Object.getPrototypeOf,Cr=Object.prototype.hasOwnProperty;var Sr=(e,t)=>{for(var r in t)X(e,r,{get:t[r],enumerable:!0})},Me=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of hr(t))!Cr.call(e,n)&&n!==r&&X(e,n,{get:()=>t[n],enumerable:!(s=Tr(t,n))||s.enumerable});return e};var m=(e,t,r)=>(r=e!=null?Rr(_r(e)):{},Me(t||!e||!e.__esModule?X(r,"default",{value:e,enumerable:!0}):r,e)),yr=e=>Me(X({},"__esModule",{value:!0}),e);var Js={};Sr(Js,{currentsReporter:()=>Ks,default:()=>$s});module.exports=yr(Js);var Va=require("source-map-support/register");var Ir=m(require("fs")),de=require("ts-pattern");var w=class extends Error{};var ve=m(require("debug")),Ee=(0,ve.default)("currents"),c=(...e)=>Ee(...e);c.extend=Ee.extend.bind(Ee);var Fe=[];function ke(){return Fe}function je(e){Fe.push(e)}var h=m(require("chalk")),M=m(require("util"));var Ie=(...e)=>{let t=M.default.format(...e);je(t),console.log(t)},Ur=Ie,R=(...e)=>(c("WARNING: ",M.default.format(...e)),Ie(h.default.bgYellow.black(" WARNING "),M.default.format(...e)));var C=(...e)=>Ie(h.default.bgRed.white(" ERROR "),M.default.format(...e)),Z=(...e)=>Ur(h.default.blue.bold(M.default.format(...e))),ee=()=>console.log(`
"use strict";var Rr=Object.create;var X=Object.defineProperty;var Tr=Object.getOwnPropertyDescriptor;var hr=Object.getOwnPropertyNames;var _r=Object.getPrototypeOf,Cr=Object.prototype.hasOwnProperty;var Sr=(e,t)=>{for(var r in t)X(e,r,{get:t[r],enumerable:!0})},Me=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of hr(t))!Cr.call(e,n)&&n!==r&&X(e,n,{get:()=>t[n],enumerable:!(s=Tr(t,n))||s.enumerable});return e};var m=(e,t,r)=>(r=e!=null?Rr(_r(e)):{},Me(t||!e||!e.__esModule?X(r,"default",{value:e,enumerable:!0}):r,e)),Ur=e=>Me(X({},"__esModule",{value:!0}),e);var Js={};Sr(Js,{currentsReporter:()=>Ks,default:()=>$s});module.exports=Ur(Js);var Va=require("source-map-support/register");var Ir=m(require("fs")),de=require("ts-pattern");var w=class extends Error{};var ve=m(require("debug")),Ee=(0,ve.default)("currents"),c=(...e)=>Ee(...e);c.extend=Ee.extend.bind(Ee);var Fe=[];function ke(){return Fe}function je(e){Fe.push(e)}var h=m(require("chalk")),M=m(require("util"));var Ie=(...e)=>{let t=M.default.format(...e);je(t),console.log(t)},yr=Ie,R=(...e)=>(c("WARNING: ",M.default.format(...e)),Ie(h.default.bgYellow.black(" WARNING "),M.default.format(...e)));var C=(...e)=>Ie(h.default.bgRed.white(" ERROR "),M.default.format(...e)),Z=(...e)=>yr(h.default.blue.bold(M.default.format(...e))),ee=()=>console.log(`
`+h.default.dim(Array(48).fill("=").join(""))+`

@@ -9,10 +9,10 @@ `),Re=(e=2)=>console.log(Array(e).fill("").join(`

\u{1F4D6} https://currents.dev/readme/integration-with-playwright/currents-playwright`),new w("Missing required config variable")}),_e=t,c("Resolved Currents config: %o",_e)}function he(e){return Object.entries(e??{}).reduce((t,[r,s])=>s===void 0?t:{...t,[r]:s},{})}function G(){return _e}var $e=m(require("async-retry")),Je=m(require("axios")),Ye=m(require("fs/promises"));var qe=c.extend("upload");async function Qe(e,t,r){let s=await Ye.default.readFile(e.path);return qe("Uploading file %s",e.uploadUrl,{buffer:Buffer.byteLength(s)}),Xe(s,e.uploadUrl,t,r)}async function ze(e,t,r){return qe("Uploading buffer %s",e.name,{buffer:Buffer.byteLength(e.buffer)}),Xe(e.buffer,e.uploadUrl,t,r)}async function Pr(e,t,r,s){return(0,Je.default)({method:"put",url:t,data:e,onUploadProgress:s,headers:{"Content-Disposition":"inline","Content-Type":r}})}async function Xe(...e){await(0,$e.default)(async()=>{await Pr(...e)},{retries:5,onRetry:(t,r)=>{if(r===5){C(`Cannot upload after ${r} times: ${t.message}`);return}R(`Upload failed ${r} out of 5 attempts: ${t.message}`)}})}var it=m(require("axios")),at=m(require("axios-retry")),Se=m(require("lodash")),lt=m(require("pretty-ms"));var Ze={name:"@currents/playwright",version:"0.10.5",main:"./dist/index.js",author:"Currents Software Inc",license:"GPL-3.0-or-later",scripts:{test:"jest",rm:"rimraf dist",lint:'TIMING=1 eslint "**/*.ts*"',build:"tsup-node --minify --dts",dev:"tsup-node --watch --dts",release:"release-it ","publish:npm":"npm run rm && npm run build && ./publish.js","release-ci":"npm run rm && npm run build && ./publish.js -t latest"},bin:{pwc:"./dist/bin/index.js"},devDependencies:{"@playwright/test":"^1.37.1","@release-it/conventional-changelog":"^7.0.2","@swc/jest":"^0.2.24","@types/async-retry":"^1.4.5","@types/babel__code-frame":"^7.0.3","@types/debug":"^4.1.7","@types/getos":"^3.0.1","@types/jest":"^29.5.3","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.191","@types/randomstring":"^1.1.8","@types/shelljs":"^0.8.11","@types/stack-utils":"^2.0.1",commander:"^11.1.0",eslint:"^7.32.0","eslint-config-custom":"*",jest:"^29.5.0",msw:"^1.2.3",playwright:"^1.30.0","release-it":"^16.2.1",rimraf:"^4.1.1",tsconfig:"*",tsup:"^6.5.0",typescript:"^4.5.2",wtfnode:"^0.9.1"},dependencies:{"@babel/code-frame":"^7.18.6","@commander-js/extra-typings":"^11.1.0","@cypress/commit-info":"^2.2.0","async-retry":"^1.3.3",axios:"^1.2.0","axios-retry":"^3.4.0",chalk:"^4.1.2",colors:"^1.4.0","date-fns":"^2.29.3",debug:"^4.3.4",dotenv:"^16.0.3",execa:"^7.2.0",getos:"^3.2.1","image-size":"^1.0.2","json-stringify-safe":"^5.0.1",lodash:"^4.17.21","p-all":"^3.0.0",pino:"^8.11.0","pretty-ms":"^7.0.1",randomstring:"^1.2.3","source-map-support":"^0.5.21","stack-utils":"^2.0.6","tmp-promise":"^3.0.3","ts-pattern":"^4.3.0"},files:["dist","!**/*.map","!**/*/*.map","**/*.LEGAL.txt","LICENSE.md","README.md","CHANGELOG.md"],keywords:["playwright","playwright dashboard","cloud dashboard","reporter","currents","tests reporter","sorry cypress","ci"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./parallel":{import:"./dist/parallel/index.js",require:"./dist/parallel/index.js"},"./package.json":"./package.json"},publishConfig:{access:"public",registry:"https://registry.npmjs.org"},"release-it":{npm:{publish:!1},github:{release:!0},plugins:{"@release-it/conventional-changelog":{preset:"angular",header:"# Changelog",ignoreVersion:!0,infile:"../../CHANGELOG.md"}},git:{commitMessage:"chore: release v${version}",tagName:"v${version}"}}};var et=Ze.version;var tt=require("axios"),rt=e=>(0,tt.isAxiosError)(e)?e.code==="ECONNREFUSED"?!0:!!(e?.response?.status&&500<=e.response.status&&e.response.status<600):!1,Ce=e=>[15*1e3,30*1e3,60*1e3][e-1],st=()=>process.env.CURRENTS_API_URL??"https://cy.currents.dev";var nt=m(require("lodash"));function ot(e){if(!e.response?.data||!e.response?.status)return;let{message:t,errors:r}=e.response.data;switch(e.response.status){case 401:R("Received 401 Unauthorized");break;case 422:Re(1),R(...br(t,r)),Re(1);break;default:C(`Unexpected error from the cloud service: %s
\u{1F4D6} https://currents.dev/readme/integration-with-playwright/currents-playwright`),new w("Missing required config variable")}),_e=t,c("Resolved Currents config: %o",_e)}function he(e){return Object.entries(e??{}).reduce((t,[r,s])=>s===void 0?t:{...t,[r]:s},{})}function G(){return _e}var $e=m(require("async-retry")),Je=m(require("axios")),Ye=m(require("fs/promises"));var qe=c.extend("upload");async function Qe(e,t,r){let s=await Ye.default.readFile(e.path);return qe("Uploading file %s",e.uploadUrl,{buffer:Buffer.byteLength(s)}),Xe(s,e.uploadUrl,t,r)}async function ze(e,t,r){return qe("Uploading buffer %s",e.name,{buffer:Buffer.byteLength(e.buffer)}),Xe(e.buffer,e.uploadUrl,t,r)}async function Pr(e,t,r,s){return(0,Je.default)({method:"put",url:t,data:e,onUploadProgress:s,headers:{"Content-Disposition":"inline","Content-Type":r}})}async function Xe(...e){await(0,$e.default)(async()=>{await Pr(...e)},{retries:5,onRetry:(t,r)=>{if(r===5){C(`Cannot upload after ${r} times: ${t.message}`);return}R(`Upload failed ${r} out of 5 attempts: ${t.message}`)}})}var it=m(require("axios")),at=m(require("axios-retry")),Se=m(require("lodash")),lt=m(require("pretty-ms"));var Ze={name:"@currents/playwright",version:"0.10.6",main:"./dist/index.js",author:"Currents Software Inc",license:"GPL-3.0-or-later",scripts:{test:"jest",rm:"rimraf dist",lint:'TIMING=1 eslint "**/*.ts*"',build:"tsup-node --minify --dts",dev:"tsup-node --watch --dts",release:"release-it ","publish:npm":"npm run rm && npm run build && ./publish.js","release-ci":"npm run rm && npm run build && ./publish.js -t latest"},bin:{pwc:"./dist/bin/index.js"},devDependencies:{"@playwright/test":"^1.37.1","@release-it/conventional-changelog":"^7.0.2","@swc/jest":"^0.2.24","@types/async-retry":"^1.4.5","@types/babel__code-frame":"^7.0.3","@types/debug":"^4.1.11","@types/getos":"^3.0.1","@types/jest":"^29.5.3","@types/json-stringify-safe":"^5.0.0","@types/lodash":"^4.14.191","@types/randomstring":"^1.1.8","@types/shelljs":"^0.8.11","@types/stack-utils":"^2.0.1",commander:"^11.1.0",eslint:"^7.32.0","eslint-config-custom":"*",jest:"^29.5.0",msw:"^1.2.3",playwright:"^1.30.0","release-it":"^16.2.1",rimraf:"^4.1.1",tsconfig:"*",tsup:"^6.5.0",typescript:"^4.5.2",wtfnode:"^0.9.1"},dependencies:{"@babel/code-frame":"^7.18.6","@commander-js/extra-typings":"^11.1.0","@currents/commit-info":"^1.0.0","async-retry":"^1.3.3",axios:"^1.2.0","axios-retry":"^3.4.0",chalk:"^4.1.2",colors:"^1.4.0","date-fns":"^2.29.3",debug:"^4.3.4",dotenv:"^16.0.3",execa:"^7.2.0",getos:"^3.2.1","image-size":"^1.0.2","json-stringify-safe":"^5.0.1",lodash:"^4.17.21","p-all":"^3.0.0",pino:"^8.11.0","pretty-ms":"^7.0.1",randomstring:"^1.2.3","source-map-support":"^0.5.21","stack-utils":"^2.0.6","tmp-promise":"^3.0.3","ts-pattern":"^4.3.0"},files:["dist","!**/*.map","!**/*/*.map","**/*.LEGAL.txt","LICENSE.md","README.md","CHANGELOG.md"],keywords:["playwright","playwright dashboard","cloud dashboard","reporter","currents","tests reporter","sorry cypress","ci"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./parallel":{import:"./dist/parallel/index.js",require:"./dist/parallel/index.js"},"./package.json":"./package.json"},publishConfig:{access:"public",registry:"https://registry.npmjs.org"},"release-it":{npm:{publish:!1},github:{release:!0},plugins:{"@release-it/conventional-changelog":{preset:"angular",header:"# Changelog",ignoreVersion:!0,infile:"../../CHANGELOG.md"}},git:{commitMessage:"chore: release v${version}",tagName:"v${version}"}}};var et=Ze.version;var tt=require("axios"),rt=e=>(0,tt.isAxiosError)(e)?e.code==="ECONNREFUSED"?!0:!!(e?.response?.status&&500<=e.response.status&&e.response.status<600):!1,Ce=e=>[15*1e3,30*1e3,60*1e3][e-1],st=()=>process.env.CURRENTS_API_URL??"https://cy.currents.dev";var nt=m(require("lodash"));function ot(e){if(!e.response?.data||!e.response?.status)return;let{message:t,errors:r}=e.response.data;switch(e.response.status){case 401:R("Received 401 Unauthorized");break;case 422:Re(1),R(...br(t,r)),Re(1);break;default:C(`Unexpected error from the cloud service: %s
%O`,e.toJSON());break}}function br(e,t){return nt.default.isString(e)?t?.length===0?[e]:[e,`
${(t??[]).map(r=>` - ${r}`).join(`
`)}
`]:["Unexpected error from the cloud service"]}var ct=c.extend("api"),ut={"x-pw-version":"0.0.0","x-pwc-version":et};function pt(e){ut["x-pw-version"]=e??"0.0.0"}var mt=3,v=null;function Lr(){return v||(v=it.default.create({baseURL:st()}),v.interceptors.request.use(e=>{e.headers.set({...ut,"x-pwc-request-attempt":e["axios-retry"]?.retryCount??0}),e.headers.set(),e.headers.get("Content-Type")||e.headers.set("Content-Type","application/json");let t={...Se.default.pick(e,"method","url","headers"),data:Buffer.isBuffer(e.data)?"buffer":e.data};return ct("network request: %o",t),e}),(0,at.default)(v,{retries:mt,retryCondition:rt,retryDelay:Ce,onRetry:Br}),v)}function Br(e,t,r){R("Network request '%s' failed: '%s'. Next attempt is in %s (%d/%d).",`${r.method?.toUpperCase()} ${r.url}`,t.message,(0,lt.default)(Ce(e)),e,mt)}var b=e=>Lr()(e).then(t=>(ct("network response: %o",{...Se.default.omit(t,"request","config"),url:t.config.url,method:t.config.method}),t)).catch(t=>{throw ot(t),t});var dt=m(require("events"));var ye={cancellationReason:null},se=e=>{ye.cancellationReason||(ye.cancellationReason=e)},Ue=()=>ye.cancellationReason,Ae=()=>{let e=Ue();e&&(R("%s",e),ne.emit("runCancelled",e))};var ne=new dt.default;function ft(){ne.addListener("runCancelled",Et)}function gt(){ne.removeListener("runCancelled",Et)}function Et(){c("Run cancelled: %s",Ue()),process.exit(1)}var Gt=m(require("json-stringify-safe")),Vt=require("lodash"),k=require("ts-pattern");function It({instanceId:e,tests:t,resultsBody:r}){return b({method:"POST",url:`instances/${e}/pw/results`,data:{results:r,tests:t}}).then(s=>s.data)}function Rt({runId:e,groupId:t,machineId:r,worker:s,spec:n}){return c("Creating instance: %o",{runId:e,groupId:t,machineId:r,worker:s,spec:n}),b({method:"POST",url:`runs/${e}/pw/instances`,data:{spec:n,runId:e,groupId:t,machineId:r,worker:s}}).then(o=>o.data)}function L(e){return e!=null}var V=require("lodash");function Tt(e){return{...(0,V.pick)(e,"title","location","results","_only","expectedStatus","timeout","retries"),results:e.results.map(Nr)}}function Nr(e){return{...(0,V.omit)(e,"steps","attachments"),attachments:e.attachments.map(t=>(0,V.omit)(t,"body"))}}var _t=m(require("image-size")),x=require("ts-pattern");var ht=m(require("randomstring"));function B(){return ht.default.generate({length:5,capitalization:"lowercase"})}var oe=require("lodash");function F(e){return e.parent.project()?.name??"__currents_no_project__"}function W(e){let t=e.titlePath(),r=xr(e).title;return t.slice(t.indexOf(r)+1,t.length)}function xr(e){let t=e.parent;for(;t.parent?.location;)t=t.parent;return t}var Dr={config:{video:!0,videoUploadOnPasses:!0},hooks:[]},wr={body:"",config:{},hookIds:[]};function Pe(e){return{...Dr,tests:e.map(t=>({...wr,clientId:t.clientId,title:W(t)}))}}function N(e){return e.map(t=>({clientId:t.clientId,results:t.results})).flatMap(({results:t,clientId:r})=>t.flatMap(s=>s.attachments.map(n=>({...n,testId:r,testAttemptIndex:s.retry}))))}function ie(e){let t=(0,oe.last)((0,oe.orderBy)(e.results,"retry"));return!t||t.status==="interrupted"?"interrupted":e.expectedStatus==="failed"&&t.status==="failed"?"passed":t.status!==e.expectedStatus?"failed":t.status}function Oe(e){switch(e){case"timedOut":return"failed";case"interrupted":return"failed";case"skipped":return"pending";default:return e}}function Ct(e){return N(e).filter(t=>t.contentType.startsWith("image")||t.contentType==="application/octet-stream").map(t=>(0,x.match)(t).with({path:x.P.string,body:x.P.nullish},r=>{let{height:s,width:n}=Mr(t.path);return{screenshotId:B(),name:r.name,testId:r.testId,testAttemptIndex:r.testAttemptIndex,path:r.path,height:s,width:n,takenAt:new Date}}).with({path:x.P.nullish,body:x.P.instanceOf(Uint8Array)},r=>({screenshotId:B(),name:r.name,testId:r.testId,testAttemptIndex:r.testAttemptIndex,path:r.path,height:0,width:0,body:r.body,takenAt:new Date})).otherwise(()=>null)).filter(L)}function Mr(e){if(!e)return{height:0,width:0};try{let{height:t,width:r}=(0,_t.default)(e);return{height:t,width:r}}catch{return{height:0,width:0}}}var St=require("date-fns"),S=require("lodash");function yt(e){let t=e.map(vr),r=(0,S.first)(t.map(o=>o.wallClockStartedAt).sort())??new Date,s=(0,S.last)(t.map(o=>o.wallClockEndedAt).sort())??new Date,n=(0,St.differenceInMilliseconds)(s,r);return{suites:1,tests:e.length,passes:(0,S.sumBy)(t,"passes"),pending:(0,S.sumBy)(t,"pending"),skipped:(0,S.sumBy)(t,"skipped"),failures:(0,S.sumBy)(t,"failures"),wallClockStartedAt:r,wallClockEndedAt:s,wallClockDuration:n}}function vr(e){c("getting test stats for test case: %o",(0,S.omit)(e,"_testType","parent","fn"));let t=e.results.map(E=>E.startTime),r=e.results.map(E=>new Date(new Date(E.startTime).getTime()+E.duration)),s=t.sort((E,I)=>E.getTime()-I.getTime()),n=r.sort((E,I)=>E.getTime()-I.getTime()),o=s[0]||new Date,i=n[n.length-1]||new Date,p=i.getTime()-o.getTime(),l=ie(e),u={passes:["passed"].includes(l)?1:0,pending:["skipped"].includes(l)?1:0,skipped:["interrupted"].includes(l)?1:0,failures:["failed","timedOut"].includes(l)?1:0,wallClockStartedAt:o,wallClockEndedAt:i,wallClockDuration:p};return c("test stats result: %o",u),u}function Ut(e){return{suites:1,tests:e.tests,passes:e.passes,pending:e.pending,failures:e.failures,start:e.wallClockStartedAt,end:e.wallClockEndedAt,duration:e.wallClockDuration}}var Ot=require("@babel/code-frame"),bt=m(require("fs")),$=require("lodash"),ae=m(require("path"));var Fr=new RegExp("([\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~])))","g");function K(e){return e.replace(Fr,"")}function Lt(e){return e.map(t=>{let r=t.results.map(o=>({state:Oe(o.status),error:kr(o,Wr(t)),failedFromHookId:null,wallClockStartedAt:o.startTime.toISOString(),wallClockDuration:o.duration,videoTimestamp:0,workerIndex:o.workerIndex})),s=Oe(ie(t)),n=(0,$.last)(r)?.error?.message??null;return{annotations:t.annotations,worker:Le(t),clientId:t.clientId,displayError:n,state:s,attempts:r}})}function Le(e){return{workerIndex:(0,$.isNil)(e.results[0]?.workerIndex)?-1:e.results[0].workerIndex,parallelIndex:(0,$.isNil)(e.results[0]?.parallelIndex)?-1:e.results[0].parallelIndex}}function kr(e,t){if(e.status==="interrupted")return{message:"Test interrupted",name:"Error",stack:"",codeFrame:void 0};if(!e.error)return null;if(e.error)return{message:At(e.error),name:jr(e.error),stack:Pt(e.error),codeFrame:e.error.location&&Hr({location:e.error.location,snippet:e.error.snippet,project:t})};let r=be(e.steps);return r?(r?.error||(r.error=e.error),{message:At(r.error),name:r.title,stack:Pt(r.error),codeFrame:Gr(r)}):null}function jr(e){return"Error"}function Hr({location:e,snippet:t,project:r}){return{line:e.line,column:e.column,originalFile:e.file,relativeFile:r?.testDir?ae.default.relative(r.testDir,e.file):null,absoluteFile:e.file,frame:K(t??"No error source code detected"),language:Bt(e.file)}}function be(e,t=3){let r;for(let s of e){if(s.error&&s.location&&(r=s),r)return r;s.steps.length>0&&t>0&&(r=be(s.steps,t-1))}for(let s of e){if(s.category==="hook"&&s.location&&(r=s),r)return r;s.steps.length>0&&t>0&&(r=be(s.steps,t-1))}return r}function At(e){return typeof e=="string"?e:K(e?.message??"")}function Pt(e){return e!==void 0&&"stack"in e&&e.stack?e.stack:""}function Gr(e){let{location:t}=e;if(!t)return;let r=Bt(t.file),s=t.file,n=ae.default.relative(process.cwd(),t.file),o=n,i=t.column,p=t.line,l=Vr(t.file),u=l?(0,Ot.codeFrameColumns)(l,{start:{line:p,column:i}}):"";return{line:p,column:i,originalFile:o,relativeFile:n,absoluteFile:s,frame:u,language:r}}var Bt=e=>(ae.default.extname(e)||"").toLowerCase().replace(".",""),Vr=e=>{try{return bt.default.readFileSync(e,"utf-8")+`
`]:["Unexpected error from the cloud service"]}var ct=c.extend("api"),ut={"x-pw-version":"0.0.0","x-pwc-version":et};function pt(e){ut["x-pw-version"]=e??"0.0.0"}var mt=3,v=null;function Lr(){return v||(v=it.default.create({baseURL:st()}),v.interceptors.request.use(e=>{e.headers.set({...ut,"x-pwc-request-attempt":e["axios-retry"]?.retryCount??0}),e.headers.set(),e.headers.get("Content-Type")||e.headers.set("Content-Type","application/json");let t={...Se.default.pick(e,"method","url","headers"),data:Buffer.isBuffer(e.data)?"buffer":e.data};return ct("network request: %o",t),e}),(0,at.default)(v,{retries:mt,retryCondition:rt,retryDelay:Ce,onRetry:Br}),v)}function Br(e,t,r){R("Network request '%s' failed: '%s'. Next attempt is in %s (%d/%d).",`${r.method?.toUpperCase()} ${r.url}`,t.message,(0,lt.default)(Ce(e)),e,mt)}var b=e=>Lr()(e).then(t=>(ct("network response: %o",{...Se.default.omit(t,"request","config"),url:t.config.url,method:t.config.method}),t)).catch(t=>{throw ot(t),t});var dt=m(require("events"));var Ue={cancellationReason:null},se=e=>{Ue.cancellationReason||(Ue.cancellationReason=e)},ye=()=>Ue.cancellationReason,Ae=()=>{let e=ye();e&&(R("%s",e),ne.emit("runCancelled",e))};var ne=new dt.default;function ft(){ne.addListener("runCancelled",Et)}function gt(){ne.removeListener("runCancelled",Et)}function Et(){c("Run cancelled: %s",ye()),process.exit(1)}var Gt=m(require("json-stringify-safe")),Vt=require("lodash"),k=require("ts-pattern");function It({instanceId:e,tests:t,resultsBody:r}){return b({method:"POST",url:`instances/${e}/pw/results`,data:{results:r,tests:t}}).then(s=>s.data)}function Rt({runId:e,groupId:t,machineId:r,worker:s,spec:n}){return c("Creating instance: %o",{runId:e,groupId:t,machineId:r,worker:s,spec:n}),b({method:"POST",url:`runs/${e}/pw/instances`,data:{spec:n,runId:e,groupId:t,machineId:r,worker:s}}).then(o=>o.data)}function L(e){return e!=null}var V=require("lodash");function Tt(e){return{...(0,V.pick)(e,"title","location","results","_only","expectedStatus","timeout","retries"),results:e.results.map(Nr)}}function Nr(e){return{...(0,V.omit)(e,"steps","attachments"),attachments:e.attachments.map(t=>(0,V.omit)(t,"body"))}}var _t=m(require("image-size")),x=require("ts-pattern");var ht=m(require("randomstring"));function B(){return ht.default.generate({length:5,capitalization:"lowercase"})}var oe=require("lodash");function F(e){return e.parent.project()?.name??"__currents_no_project__"}function W(e){let t=e.titlePath(),r=xr(e).title;return t.slice(t.indexOf(r)+1,t.length)}function xr(e){let t=e.parent;for(;t.parent?.location;)t=t.parent;return t}var Dr={config:{video:!0,videoUploadOnPasses:!0},hooks:[]},wr={body:"",config:{},hookIds:[]};function Pe(e){return{...Dr,tests:e.map(t=>({...wr,clientId:t.clientId,title:W(t)}))}}function N(e){return e.map(t=>({clientId:t.clientId,results:t.results})).flatMap(({results:t,clientId:r})=>t.flatMap(s=>s.attachments.map(n=>({...n,testId:r,testAttemptIndex:s.retry}))))}function ie(e){let t=(0,oe.last)((0,oe.orderBy)(e.results,"retry"));return!t||t.status==="interrupted"?"interrupted":e.expectedStatus==="failed"&&t.status==="failed"?"passed":t.status!==e.expectedStatus?"failed":t.status}function Oe(e){switch(e){case"timedOut":return"failed";case"interrupted":return"failed";case"skipped":return"pending";default:return e}}function Ct(e){return N(e).filter(t=>t.contentType.startsWith("image")||t.contentType==="application/octet-stream").map(t=>(0,x.match)(t).with({path:x.P.string,body:x.P.nullish},r=>{let{height:s,width:n}=Mr(t.path);return{screenshotId:B(),name:r.name,testId:r.testId,testAttemptIndex:r.testAttemptIndex,path:r.path,height:s,width:n,takenAt:new Date}}).with({path:x.P.nullish,body:x.P.instanceOf(Uint8Array)},r=>({screenshotId:B(),name:r.name,testId:r.testId,testAttemptIndex:r.testAttemptIndex,path:r.path,height:0,width:0,body:r.body,takenAt:new Date})).otherwise(()=>null)).filter(L)}function Mr(e){if(!e)return{height:0,width:0};try{let{height:t,width:r}=(0,_t.default)(e);return{height:t,width:r}}catch{return{height:0,width:0}}}var St=require("date-fns"),S=require("lodash");function Ut(e){let t=e.map(vr),r=(0,S.first)(t.map(o=>o.wallClockStartedAt).sort())??new Date,s=(0,S.last)(t.map(o=>o.wallClockEndedAt).sort())??new Date,n=(0,St.differenceInMilliseconds)(s,r);return{suites:1,tests:e.length,passes:(0,S.sumBy)(t,"passes"),pending:(0,S.sumBy)(t,"pending"),skipped:(0,S.sumBy)(t,"skipped"),failures:(0,S.sumBy)(t,"failures"),wallClockStartedAt:r,wallClockEndedAt:s,wallClockDuration:n}}function vr(e){c("getting test stats for test case: %o",(0,S.omit)(e,"_testType","parent","fn"));let t=e.results.map(E=>E.startTime),r=e.results.map(E=>new Date(new Date(E.startTime).getTime()+E.duration)),s=t.sort((E,I)=>E.getTime()-I.getTime()),n=r.sort((E,I)=>E.getTime()-I.getTime()),o=s[0]||new Date,i=n[n.length-1]||new Date,p=i.getTime()-o.getTime(),l=ie(e),u={passes:["passed"].includes(l)?1:0,pending:["skipped"].includes(l)?1:0,skipped:["interrupted"].includes(l)?1:0,failures:["failed","timedOut"].includes(l)?1:0,wallClockStartedAt:o,wallClockEndedAt:i,wallClockDuration:p};return c("test stats result: %o",u),u}function yt(e){return{suites:1,tests:e.tests,passes:e.passes,pending:e.pending,failures:e.failures,start:e.wallClockStartedAt,end:e.wallClockEndedAt,duration:e.wallClockDuration}}var Ot=require("@babel/code-frame"),bt=m(require("fs")),$=require("lodash"),ae=m(require("path"));var Fr=new RegExp("([\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~])))","g");function K(e){return e.replace(Fr,"")}function Lt(e){return e.map(t=>{let r=t.results.map(o=>({state:Oe(o.status),error:kr(o,Wr(t)),failedFromHookId:null,wallClockStartedAt:o.startTime.toISOString(),wallClockDuration:o.duration,videoTimestamp:0,workerIndex:o.workerIndex})),s=Oe(ie(t)),n=(0,$.last)(r)?.error?.message??null;return{annotations:t.annotations,worker:Le(t),clientId:t.clientId,displayError:n,state:s,attempts:r}})}function Le(e){return{workerIndex:(0,$.isNil)(e.results[0]?.workerIndex)?-1:e.results[0].workerIndex,parallelIndex:(0,$.isNil)(e.results[0]?.parallelIndex)?-1:e.results[0].parallelIndex}}function kr(e,t){if(e.status==="interrupted")return{message:"Test interrupted",name:"Error",stack:"",codeFrame:void 0};if(!e.error)return null;if(e.error)return{message:At(e.error),name:jr(e.error),stack:Pt(e.error),codeFrame:e.error.location&&Hr({location:e.error.location,snippet:e.error.snippet,project:t})};let r=be(e.steps);return r?(r?.error||(r.error=e.error),{message:At(r.error),name:r.title,stack:Pt(r.error),codeFrame:Gr(r)}):null}function jr(e){return"Error"}function Hr({location:e,snippet:t,project:r}){return{line:e.line,column:e.column,originalFile:e.file,relativeFile:r?.testDir?ae.default.relative(r.testDir,e.file):null,absoluteFile:e.file,frame:K(t??"No error source code detected"),language:Bt(e.file)}}function be(e,t=3){let r;for(let s of e){if(s.error&&s.location&&(r=s),r)return r;s.steps.length>0&&t>0&&(r=be(s.steps,t-1))}for(let s of e){if(s.category==="hook"&&s.location&&(r=s),r)return r;s.steps.length>0&&t>0&&(r=be(s.steps,t-1))}return r}function At(e){return typeof e=="string"?e:K(e?.message??"")}function Pt(e){return e!==void 0&&"stack"in e&&e.stack?e.stack:""}function Gr(e){let{location:t}=e;if(!t)return;let r=Bt(t.file),s=t.file,n=ae.default.relative(process.cwd(),t.file),o=n,i=t.column,p=t.line,l=Vr(t.file),u=l?(0,Ot.codeFrameColumns)(l,{start:{line:p,column:i}}):"";return{line:p,column:i,originalFile:o,relativeFile:n,absoluteFile:s,frame:u,language:r}}var Bt=e=>(ae.default.extname(e)||"").toLowerCase().replace(".",""),Vr=e=>{try{return bt.default.readFileSync(e,"utf-8")+`
//`}catch{return}};function Wr(e){return e.parent.project()}function Nt(e){return N(e).filter(t=>t.name==="trace").filter(t=>"path"in t).map(t=>({traceId:B(),name:t.name,testId:t.testId,testAttemptIndex:t.testAttemptIndex,path:t.path,takenAt:new Date}))}var wt=require("lodash"),Mt=m(require("p-all")),J=require("ts-pattern"),vt=require("util");var Be=c.extend("upload"),Y=new Set,xt=e=>({total:t,loaded:r})=>{},Ft=({instanceId:e,uploads:t})=>(0,Mt.default)(t.map(r=>async()=>{try{await(0,J.match)(r).with({path:J.P.string},async s=>{await Qe(s,s.contentType,xt(s.path)),Be("Upload completed for %s, %s",e,s.path)}).with({buffer:J.P.any},async s=>{await ze(s,s.contentType,xt(s.name??"buffer")),Be("Upload completed for %s, %s",e,s.name)}).exhaustive()}catch(s){let n=(0,vt.format)("Upload failed: %o",Kr(s));Y.add(n),R(n)}}),{concurrency:10,stopOnError:!1});function Kr(e){return(0,wt.pick)(e,"message","code","method","url")}function Dt(e){return e/1e3/1e3}function kt(e){let s=N(e).filter(n=>n.contentType.startsWith("video"))[0];return s&&s.path?{type:"hasVideo",path:s.path,name:s.name}:{type:"noVideo"}}function jt(e){return N(e).filter(t=>t.contentType.startsWith("video")).map(t=>({...t,id:B()}))}async function Wt({instanceId:e,testCases:t,stdout:r}){let s=zr(t),n=$r(s);c("Results for instance %s: %o",e,(0,Vt.omit)(n,"raw"));let{cloud:o,...i}=await It({instanceId:e,tests:Pe(t),resultsBody:n});o?.shouldCancel&&(c("instance %s should cancel",e),se(o.shouldCancel));let p=[...Yr({videos:s.videos,videoAssets:i.videoAssets}),...qr({screenshots:s.screenshots,screenshotUploadUrls:i.screenshotUploadUrls}),...Qr({playwrightTraces:s.playwrightTraces,playwrightTraceUrls:i.playwrightTraceUrls}),{name:"stdout",buffer:Buffer.from(r.length?r:Jr(t)),uploadUrl:i.stdoutUploadUrl,contentType:"text/plain"}];return Ft({instanceId:e,uploads:p.filter(L)})}function $r(e){return{...e,videos:e.videos.map(Ht),screenshots:e.screenshots.map(Ht)}}function Ht(e){return e.body?{...e,body:Buffer.from("redacted")}:e}function Jr(e){return`No console output was generated during execution of the tests:
${e.map(t=>`- ${t.location.file}: ${t.title}`).join(`
`)}`}function Yr({videos:e,videoAssets:t}){return t.map(r=>{let s=e.find(n=>n.id===r.id);return{...r,name:s?.name??r.name??null,path:s?.path??r.path??void 0,body:s?.body,contentType:"video/webm"}})}function qr({screenshots:e,screenshotUploadUrls:t}){return t.map(r=>{let s=e.find(n=>n.screenshotId===r.screenshotId);if(!!s)return(0,k.match)(s).with({path:k.P.string},n=>({name:n.name,path:n.path,uploadUrl:r.uploadUrl,contentType:"image/png"})).with({body:k.P.instanceOf(Buffer)},n=>({name:n.name,buffer:n.body,uploadUrl:r.uploadUrl,contentType:"image/png"})).exhaustive()}).filter(L)}function Qr({playwrightTraces:e,playwrightTraceUrls:t=[]}){return t.map(r=>{let s=e.find(n=>n.traceId===r.traceId);if(!!s?.path)return{name:s.name,path:s.path,uploadUrl:r.uploadUrl,contentType:"application/zip"}})}function zr(e){let t=yt(e),r=Ut(t),s=kt(e),n=jt(e),o=Ct(e),i=Nt(e);return{stats:t,reporterStats:r,video:s.type==="hasVideo",videos:n,screenshots:o,playwrightTraces:i,exception:null,tests:Lt(e),raw:Xr(e)}}var Xr=e=>(0,k.match)((0,Gt.default)(e.map(Tt))).when(t=>Zr(t)<5,t=>t).otherwise(()=>"toobig");function Zr(e){return Buffer.byteLength(e,"utf8")/(1024*1024)}var Er=require("ts-pattern");var g=m(require("chalk")),ce=m(require("path"));var Kt=m(require("url")),xe=m(require("fs")),j=m(require("path")),q=m(require("colors/safe")),$t=require("@babel/code-frame"),Jt=m(require("stack-utils"));function Ne(e,t){return e.replace(/^(?=.+$)/gm,t)}function es(e){let t=e.split(`
`)}`}function Yr({videos:e,videoAssets:t}){return t.map(r=>{let s=e.find(n=>n.id===r.id);return{...r,name:s?.name??r.name??null,path:s?.path??r.path??void 0,body:s?.body,contentType:"video/webm"}})}function qr({screenshots:e,screenshotUploadUrls:t}){return t.map(r=>{let s=e.find(n=>n.screenshotId===r.screenshotId);if(!!s)return(0,k.match)(s).with({path:k.P.string},n=>({name:n.name,path:n.path,uploadUrl:r.uploadUrl,contentType:"image/png"})).with({body:k.P.instanceOf(Buffer)},n=>({name:n.name,buffer:n.body,uploadUrl:r.uploadUrl,contentType:"image/png"})).exhaustive()}).filter(L)}function Qr({playwrightTraces:e,playwrightTraceUrls:t=[]}){return t.map(r=>{let s=e.find(n=>n.traceId===r.traceId);if(!!s?.path)return{name:s.name,path:s.path,uploadUrl:r.uploadUrl,contentType:"application/zip"}})}function zr(e){let t=Ut(e),r=yt(t),s=kt(e),n=jt(e),o=Ct(e),i=Nt(e);return{stats:t,reporterStats:r,video:s.type==="hasVideo",videos:n,screenshots:o,playwrightTraces:i,exception:null,tests:Lt(e),raw:Xr(e)}}var Xr=e=>(0,k.match)((0,Gt.default)(e.map(Tt))).when(t=>Zr(t)<5,t=>t).otherwise(()=>"toobig");function Zr(e){return Buffer.byteLength(e,"utf8")/(1024*1024)}var Er=require("ts-pattern");var g=m(require("chalk")),ce=m(require("path"));var Kt=m(require("url")),xe=m(require("fs")),j=m(require("path")),q=m(require("colors/safe")),$t=require("@babel/code-frame"),Jt=m(require("stack-utils"));function Ne(e,t){return e.replace(/^(?=.+$)/gm,t)}function es(e){let t=e.split(`
`),r=t.findIndex(i=>i.startsWith(" at "));r===-1&&(r=t.length);let s=t.slice(0,r).join(`

@@ -23,3 +23,3 @@ `),n=t.slice(r),o;for(let i of n){let{frame:p,fileName:l}=os(i);if(!(!p||!l)&&!ts(l)){o={file:l,column:p.column||0,line:p.line||0};break}}return{message:s,stackLines:n,location:o}}function ts(e){return e.includes(`${j.default.sep}node_modules${j.default.sep}`)}function rs(e,t){return j.default.relative(e.rootDir,t)||j.default.basename(t)}function ss(e,t,r,s){let n=t.stack,o=[],i;if(n){let p=es(n);if(o.push(p.message),i=p.location,i)try{let l=xe.default.readFileSync(i.file,"utf8"),u=(0,$t.codeFrameColumns)(l,{start:i},{highlightCode:r});(!s||xe.default.realpathSync(s)!==i.file)&&(o.push(""),o.push(q.gray(" at ")+`${rs(e,i.file)}:${i.line}`)),o.push(""),o.push(u)}catch{}o.push(""),o.push(p.stackLines.join(`

`)}function ls(e){let t=0,r=0,s=[],n=[],o=[],i=[];e.forEach(l=>{switch(l.outcome()){case"skipped":{l.results.some(u=>u.status==="interrupted")?(l.results.some(u=>!!u.error)&&n.push(l),s.push(l)):++t;break}case"expected":++r;break;case"unexpected":o.push(l);break;case"flaky":i.push(l);break}});let p=[...o,...i,...n];return{skipped:t,expected:r,interrupted:s,unexpected:o,flaky:i,failuresToPrint:p,fatalErrors:[]}}function Qt(e,t,r){let s=ls(e);return{summaryMessage:as(s,t,r),failures:s.failuresToPrint.map((o,i)=>cs(t,o,{index:i+1}).message)}}function cs(e,t,r={}){let{index:s,includeStdio:n,includeAttachments:o=!0}=r,i=[],p=zt(e,t),l=[],u=le(e,t," ",s);i.push(g.default.red(u));for(let E of t.results){let I=[],fe=Yt(e,t,E," ",!0);if(!fe.length)continue;let z=[];if(E.retry&&(z.push(""),z.push(g.default.gray(H(` Retry #${E.retry}`,"-")))),I.push(...z),I.push(...fe.map(_=>`
`+_.message)),o)for(let _=0;_<E.attachments.length;++_){let T=E.attachments[_],ge=T.contentType.startsWith("text/")&&T.body;if(!(!T.path&&!ge)){if(I.push(""),I.push(g.default.cyan(H(` attachment #${_+1}: ${T.name} (${T.contentType})`,"-"))),T.path){let U=ce.default.relative(process.cwd(),T.path);I.push(g.default.cyan(` ${U}`)),T.name==="trace"&&(I.push(g.default.cyan(" Usage:")),I.push(""),I.push(g.default.cyan(` npx playwright show-trace ${U}`)),I.push(""))}else if(T.contentType.startsWith("text/")&&T.body){let U=T.body.toString();U.length>300&&(U=U.slice(0,300)+"..."),I.push(g.default.cyan(` ${U}`))}I.push(g.default.cyan(H(" ","-")))}}let we=E[is]||[];if(n&&we.length){let _=we.map(({chunk:T,type:ge})=>{let U=T.toString("utf8");return ge==="stderr"?g.default.red(K(U)):U}).join("");I.push(""),I.push(g.default.gray(H("--- Test output","-"))+`
`+_.message)),o)for(let _=0;_<E.attachments.length;++_){let T=E.attachments[_],ge=T.contentType.startsWith("text/")&&T.body;if(!(!T.path&&!ge)){if(I.push(""),I.push(g.default.cyan(H(` attachment #${_+1}: ${T.name} (${T.contentType})`,"-"))),T.path){let y=ce.default.relative(process.cwd(),T.path);I.push(g.default.cyan(` ${y}`)),T.name==="trace"&&(I.push(g.default.cyan(" Usage:")),I.push(""),I.push(g.default.cyan(` npx playwright show-trace ${y}`)),I.push(""))}else if(T.contentType.startsWith("text/")&&T.body){let y=T.body.toString();y.length>300&&(y=y.slice(0,300)+"..."),I.push(g.default.cyan(` ${y}`))}I.push(g.default.cyan(H(" ","-")))}}let we=E[is]||[];if(n&&we.length){let _=we.map(({chunk:T,type:ge})=>{let y=T.toString("utf8");return ge==="stderr"?g.default.red(K(y)):y}).join("");I.push(""),I.push(g.default.gray(H("--- Test output","-"))+`

@@ -29,3 +29,3 @@ `+_+`

`)});i.push(...I)}return i.push(""),{message:i.join(`
`),annotations:l}}function le(e,t,r,s){let n=zt(e,t),o=`${r}${s?s+") ":""}${n}`;return H(o,"=")}function zt(e,t,r,s=!1){let[,n,,...o]=t.titlePath(),i;return s?i=`${qt(e,t)}`:i=`${qt(e,t)}:${r?.location?.line??t.location.line}:${r?.location?.column??t.location.column}`,`${n?`[${n}] \u203A `:""}${i} \u203A ${o.join(" \u203A ")}${ps(r)}`}function H(e,t){return e&&(e+=" "),e+g.default.gray(t.repeat(Math.max(0,100-e.length)))}function us(e,t){return ce.default.relative(e.rootDir,t)||ce.default.basename(t)}function qt(e,t){return us(e,t.location.file)}function ps(e){return(e?e.titlePath():[]).map(r=>" \u203A "+r).join("")}var me=require("lodash");var ue=m(require("path"));function Xt(e,t){return ms(ue.default.relative(t,e.file))}function ms(e){return e.split(ue.default.sep).join(ue.default.posix.sep)}var Zt=m(require("json-stringify-safe"));function er(e){return b({method:"POST",url:"test-result",data:{...e,result:(0,Zt.default)(ds(e.result))}}).then(t=>t.data)}function ds(e){return{...e,attachments:e.attachments.map(t=>({...t,body:t.body?"redacted":void 0}))}}var fr=require("lodash");var d=require("lodash");var D=c.extend("ci"),fs=(e,...t)=>(0,d.chain)(t).compact().join(e).value(),gs=(e,t)=>(0,d.set)(e,(0,d.camelCase)(t),process.env[t]),f=e=>(0,d.transform)(e,gs,{}),Es=()=>process.env.TF_BUILD&&process.env.TF_BUILD_BUILDNUMBER,Is=()=>process.env.TF_BUILD&&process.env.AZURE_HTTP_USER_AGENT,Rs=()=>(0,d.some)(process.env,(e,t)=>/^CODEBUILD_/.test(t)),Ts=()=>process.env.bamboo_buildNumber,hs=()=>process.env.CI_NAME&&process.env.CI_NAME==="codeship"&&process.env.CODESHIP,_s=()=>process.env.CI_NAME&&process.env.CI_NAME==="codeship"&&!process.env.CODESHIP,Cs=()=>(0,d.some)(process.env,(e,t)=>/^CONCOURSE_/.test(t)),Ss=()=>process.env.GITLAB_CI||process.env.CI_SERVER_NAME&&/^GitLab/.test(process.env.CI_SERVER_NAME),ys=()=>process.env.GCP_PROJECT||process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT,Us=()=>process.env.JENKINS_URL||process.env.JENKINS_HOME||process.env.JENKINS_VERSION||process.env.HUDSON_URL||process.env.HUDSON_HOME,As=()=>process.env.WERCKER||process.env.WERCKER_MAIN_PIPELINE_STARTED,Ps={appveyor:"APPVEYOR",azure:Is,awsCodeBuild:Rs,bamboo:Ts,bitbucket:"BITBUCKET_BUILD_NUMBER",buildkite:"BUILDKITE",circle:"CIRCLECI",codeshipBasic:hs,codeshipPro:_s,concourse:Cs,codeFresh:"CF_BUILD_ID",drone:"DRONE",githubActions:"GITHUB_ACTIONS",gitlab:Ss,goCD:"GO_JOB_NAME",googleCloud:ys,jenkins:Us,semaphore:"SEMAPHORE",shippable:"SHIPPABLE",teamcity:"TEAMCITY_VERSION",teamfoundation:Es,travis:"TRAVIS",wercker:As,netlify:"NETLIFY",layerci:"LAYERCI"};function Os(){let{env:e}=process;return(0,d.findKey)(Ps,t=>{if((0,d.isString)(t))return e[t];if((0,d.isFunction)(t))return t()})}var tr=()=>({appveyor:f(["APPVEYOR_JOB_ID","APPVEYOR_ACCOUNT_NAME","APPVEYOR_PROJECT_SLUG","APPVEYOR_BUILD_NUMBER","APPVEYOR_BUILD_VERSION","APPVEYOR_PULL_REQUEST_NUMBER","APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH"]),azure:f(["BUILD_BUILDID","BUILD_BUILDNUMBER","BUILD_CONTAINERID","BUILD_REPOSITORY_URI"]),awsCodeBuild:f(["CODEBUILD_BUILD_ID","CODEBUILD_BUILD_NUMBER","CODEBUILD_RESOLVED_SOURCE_VERSION","CODEBUILD_SOURCE_REPO_URL","CODEBUILD_SOURCE_VERSION"]),bamboo:f(["bamboo_buildNumber","bamboo_buildResultsUrl","bamboo_planRepository_repositoryUrl","bamboo_buildKey"]),bitbucket:f(["BITBUCKET_REPO_SLUG","BITBUCKET_REPO_OWNER","BITBUCKET_BUILD_NUMBER","BITBUCKET_PARALLEL_STEP","BITBUCKET_STEP_RUN_NUMBER","BITBUCKET_PR_ID","BITBUCKET_PR_DESTINATION_BRANCH","BITBUCKET_PR_DESTINATION_COMMIT"]),buildkite:f(["BUILDKITE_REPO","BUILDKITE_SOURCE","BUILDKITE_JOB_ID","BUILDKITE_BUILD_ID","BUILDKITE_BUILD_URL","BUILDKITE_BUILD_NUMBER","BUILDKITE_PULL_REQUEST","BUILDKITE_PULL_REQUEST_REPO","BUILDKITE_PULL_REQUEST_BASE_BRANCH"]),circle:f(["CIRCLE_JOB","CIRCLE_BUILD_NUM","CIRCLE_BUILD_URL","CIRCLE_PR_NUMBER","CIRCLE_PR_REPONAME","CIRCLE_PR_USERNAME","CIRCLE_COMPARE_URL","CIRCLE_WORKFLOW_ID","CIRCLE_PULL_REQUEST","CIRCLE_REPOSITORY_URL","CI_PULL_REQUEST"]),codeshipBasic:f(["CI_BUILD_ID","CI_REPO_NAME","CI_BUILD_URL","CI_PROJECT_ID","CI_BUILD_NUMBER","CI_PULL_REQUEST"]),codeshipPro:f(["CI_BUILD_ID","CI_REPO_NAME","CI_PROJECT_ID"]),concourse:f(["BUILD_ID","BUILD_NAME","BUILD_JOB_NAME","BUILD_PIPELINE_NAME","BUILD_TEAM_NAME","ATC_EXTERNAL_URL"]),codeFresh:f(["CF_BUILD_ID","CF_BUILD_URL","CF_CURRENT_ATTEMPT","CF_STEP_NAME","CF_PIPELINE_NAME","CF_PIPELINE_TRIGGER_ID","CF_PULL_REQUEST_ID","CF_PULL_REQUEST_IS_FORK","CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_TARGET"]),drone:f(["DRONE_JOB_NUMBER","DRONE_BUILD_LINK","DRONE_BUILD_NUMBER","DRONE_PULL_REQUEST"]),githubActions:f(["GITHUB_WORKFLOW","GITHUB_ACTION","GITHUB_EVENT_NAME","GITHUB_RUN_ID","GITHUB_RUN_ATTEMPT","GITHUB_REPOSITORY"]),gitlab:f(["CI_PIPELINE_ID","CI_PIPELINE_URL","CI_BUILD_ID","CI_JOB_ID","CI_JOB_URL","CI_JOB_NAME","GITLAB_HOST","CI_PROJECT_ID","CI_PROJECT_URL","CI_REPOSITORY_URL","CI_ENVIRONMENT_URL","CI_DEFAULT_BRANCH"]),goCD:f(["GO_SERVER_URL","GO_ENVIRONMENT_NAME","GO_PIPELINE_NAME","GO_PIPELINE_COUNTER","GO_PIPELINE_LABEL","GO_STAGE_NAME","GO_STAGE_COUNTER","GO_JOB_NAME","GO_TRIGGER_USER","GO_REVISION","GO_TO_REVISION","GO_FROM_REVISION","GO_MATERIAL_HAS_CHANGED"]),googleCloud:f(["BUILD_ID","PROJECT_ID","REPO_NAME","BRANCH_NAME","TAG_NAME","COMMIT_SHA","SHORT_SHA"]),jenkins:f(["BUILD_ID","BUILD_URL","BUILD_NUMBER","ghprbPullId"]),semaphore:f(["SEMAPHORE_BRANCH_ID","SEMAPHORE_BUILD_NUMBER","SEMAPHORE_CURRENT_JOB","SEMAPHORE_CURRENT_THREAD","SEMAPHORE_EXECUTABLE_UUID","SEMAPHORE_GIT_BRANCH","SEMAPHORE_GIT_DIR","SEMAPHORE_GIT_REF","SEMAPHORE_GIT_REF_TYPE","SEMAPHORE_GIT_REPO_SLUG","SEMAPHORE_GIT_SHA","SEMAPHORE_GIT_URL","SEMAPHORE_JOB_COUNT","SEMAPHORE_JOB_ID","SEMAPHORE_JOB_NAME","SEMAPHORE_JOB_UUID","SEMAPHORE_PIPELINE_ID","SEMAPHORE_PLATFORM","SEMAPHORE_PROJECT_DIR","SEMAPHORE_PROJECT_HASH_ID","SEMAPHORE_PROJECT_ID","SEMAPHORE_PROJECT_NAME","SEMAPHORE_PROJECT_UUID","SEMAPHORE_REPO_SLUG","SEMAPHORE_TRIGGER_SOURCE","SEMAPHORE_WORKFLOW_ID","PULL_REQUEST_NUMBER"]),shippable:f(["SHIPPABLE_BUILD_ID","SHIPPABLE_BUILD_NUMBER","SHIPPABLE_COMMIT_RANGE","SHIPPABLE_CONTAINER_NAME","SHIPPABLE_JOB_ID","SHIPPABLE_JOB_NUMBER","SHIPPABLE_REPO_SLUG","IS_FORK","IS_GIT_TAG","IS_PRERELEASE","IS_RELEASE","REPOSITORY_URL","REPO_FULL_NAME","REPO_NAME","BUILD_URL","BASE_BRANCH","HEAD_BRANCH","IS_PULL_REQUEST","PULL_REQUEST","PULL_REQUEST_BASE_BRANCH","PULL_REQUEST_REPO_FULL_NAME"]),teamcity:null,teamfoundation:f(["BUILD_BUILDID","BUILD_BUILDNUMBER","BUILD_CONTAINERID"]),travis:f(["TRAVIS_JOB_ID","TRAVIS_BUILD_ID","TRAVIS_BUILD_WEB_URL","TRAVIS_REPO_SLUG","TRAVIS_JOB_NUMBER","TRAVIS_EVENT_TYPE","TRAVIS_COMMIT_RANGE","TRAVIS_BUILD_NUMBER","TRAVIS_PULL_REQUEST","TRAVIS_PULL_REQUEST_BRANCH","TRAVIS_PULL_REQUEST_SHA"]),wercker:null,netlify:f(["BUILD_ID","CONTEXT","URL","DEPLOY_URL","DEPLOY_PRIME_URL","DEPLOY_ID"]),layerci:f(["LAYERCI_JOB_ID","LAYERCI_RUNNER_ID","RETRY_INDEX","LAYERCI_PULL_REQUEST","LAYERCI_REPO_NAME","LAYERCI_REPO_OWNER","LAYERCI_BRANCH","GIT_TAG"])}),bs=()=>{let{env:e}=process;return{appveyor:{sha:e.APPVEYOR_REPO_COMMIT,branch:e.APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH||e.APPVEYOR_REPO_BRANCH,message:fs(`
`),annotations:l}}function le(e,t,r,s){let n=zt(e,t),o=`${r}${s?s+") ":""}${n}`;return H(o,"=")}function zt(e,t,r,s=!1){let[,n,,...o]=t.titlePath(),i;return s?i=`${qt(e,t)}`:i=`${qt(e,t)}:${r?.location?.line??t.location.line}:${r?.location?.column??t.location.column}`,`${n?`[${n}] \u203A `:""}${i} \u203A ${o.join(" \u203A ")}${ps(r)}`}function H(e,t){return e&&(e+=" "),e+g.default.gray(t.repeat(Math.max(0,100-e.length)))}function us(e,t){return ce.default.relative(e.rootDir,t)||ce.default.basename(t)}function qt(e,t){return us(e,t.location.file)}function ps(e){return(e?e.titlePath():[]).map(r=>" \u203A "+r).join("")}var me=require("lodash");var ue=m(require("path"));function Xt(e,t){return ms(ue.default.relative(t,e.file))}function ms(e){return e.split(ue.default.sep).join(ue.default.posix.sep)}var Zt=m(require("json-stringify-safe"));function er(e){return b({method:"POST",url:"test-result",data:{...e,result:(0,Zt.default)(ds(e.result))}}).then(t=>t.data)}function ds(e){return{...e,attachments:e.attachments.map(t=>({...t,body:t.body?"redacted":void 0}))}}var fr=require("lodash");var d=require("lodash");var D=c.extend("ci"),fs=(e,...t)=>(0,d.chain)(t).compact().join(e).value(),gs=(e,t)=>(0,d.set)(e,(0,d.camelCase)(t),process.env[t]),f=e=>(0,d.transform)(e,gs,{}),Es=()=>process.env.TF_BUILD&&process.env.TF_BUILD_BUILDNUMBER,Is=()=>process.env.TF_BUILD&&process.env.AZURE_HTTP_USER_AGENT,Rs=()=>(0,d.some)(process.env,(e,t)=>/^CODEBUILD_/.test(t)),Ts=()=>process.env.bamboo_buildNumber,hs=()=>process.env.CI_NAME&&process.env.CI_NAME==="codeship"&&process.env.CODESHIP,_s=()=>process.env.CI_NAME&&process.env.CI_NAME==="codeship"&&!process.env.CODESHIP,Cs=()=>(0,d.some)(process.env,(e,t)=>/^CONCOURSE_/.test(t)),Ss=()=>process.env.GITLAB_CI||process.env.CI_SERVER_NAME&&/^GitLab/.test(process.env.CI_SERVER_NAME),Us=()=>process.env.GCP_PROJECT||process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT,ys=()=>process.env.JENKINS_URL||process.env.JENKINS_HOME||process.env.JENKINS_VERSION||process.env.HUDSON_URL||process.env.HUDSON_HOME,As=()=>process.env.WERCKER||process.env.WERCKER_MAIN_PIPELINE_STARTED,Ps={appveyor:"APPVEYOR",azure:Is,awsCodeBuild:Rs,bamboo:Ts,bitbucket:"BITBUCKET_BUILD_NUMBER",buildkite:"BUILDKITE",circle:"CIRCLECI",codeshipBasic:hs,codeshipPro:_s,concourse:Cs,codeFresh:"CF_BUILD_ID",drone:"DRONE",githubActions:"GITHUB_ACTIONS",gitlab:Ss,goCD:"GO_JOB_NAME",googleCloud:Us,jenkins:ys,semaphore:"SEMAPHORE",shippable:"SHIPPABLE",teamcity:"TEAMCITY_VERSION",teamfoundation:Es,travis:"TRAVIS",wercker:As,netlify:"NETLIFY",layerci:"LAYERCI"};function Os(){let{env:e}=process;return(0,d.findKey)(Ps,t=>{if((0,d.isString)(t))return e[t];if((0,d.isFunction)(t))return t()})}var tr=()=>({appveyor:f(["APPVEYOR_JOB_ID","APPVEYOR_ACCOUNT_NAME","APPVEYOR_PROJECT_SLUG","APPVEYOR_BUILD_NUMBER","APPVEYOR_BUILD_VERSION","APPVEYOR_PULL_REQUEST_NUMBER","APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH"]),azure:f(["BUILD_BUILDID","BUILD_BUILDNUMBER","BUILD_CONTAINERID","BUILD_REPOSITORY_URI"]),awsCodeBuild:f(["CODEBUILD_BUILD_ID","CODEBUILD_BUILD_NUMBER","CODEBUILD_RESOLVED_SOURCE_VERSION","CODEBUILD_SOURCE_REPO_URL","CODEBUILD_SOURCE_VERSION"]),bamboo:f(["bamboo_buildNumber","bamboo_buildResultsUrl","bamboo_planRepository_repositoryUrl","bamboo_buildKey"]),bitbucket:f(["BITBUCKET_REPO_SLUG","BITBUCKET_REPO_OWNER","BITBUCKET_BUILD_NUMBER","BITBUCKET_PARALLEL_STEP","BITBUCKET_STEP_RUN_NUMBER","BITBUCKET_PR_ID","BITBUCKET_PR_DESTINATION_BRANCH","BITBUCKET_PR_DESTINATION_COMMIT"]),buildkite:f(["BUILDKITE_REPO","BUILDKITE_SOURCE","BUILDKITE_JOB_ID","BUILDKITE_BUILD_ID","BUILDKITE_BUILD_URL","BUILDKITE_BUILD_NUMBER","BUILDKITE_PULL_REQUEST","BUILDKITE_PULL_REQUEST_REPO","BUILDKITE_PULL_REQUEST_BASE_BRANCH"]),circle:f(["CIRCLE_JOB","CIRCLE_BUILD_NUM","CIRCLE_BUILD_URL","CIRCLE_PR_NUMBER","CIRCLE_PR_REPONAME","CIRCLE_PR_USERNAME","CIRCLE_COMPARE_URL","CIRCLE_WORKFLOW_ID","CIRCLE_PULL_REQUEST","CIRCLE_REPOSITORY_URL","CI_PULL_REQUEST"]),codeshipBasic:f(["CI_BUILD_ID","CI_REPO_NAME","CI_BUILD_URL","CI_PROJECT_ID","CI_BUILD_NUMBER","CI_PULL_REQUEST"]),codeshipPro:f(["CI_BUILD_ID","CI_REPO_NAME","CI_PROJECT_ID"]),concourse:f(["BUILD_ID","BUILD_NAME","BUILD_JOB_NAME","BUILD_PIPELINE_NAME","BUILD_TEAM_NAME","ATC_EXTERNAL_URL"]),codeFresh:f(["CF_BUILD_ID","CF_BUILD_URL","CF_CURRENT_ATTEMPT","CF_STEP_NAME","CF_PIPELINE_NAME","CF_PIPELINE_TRIGGER_ID","CF_PULL_REQUEST_ID","CF_PULL_REQUEST_IS_FORK","CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_TARGET"]),drone:f(["DRONE_JOB_NUMBER","DRONE_BUILD_LINK","DRONE_BUILD_NUMBER","DRONE_PULL_REQUEST"]),githubActions:f(["GITHUB_WORKFLOW","GITHUB_ACTION","GITHUB_EVENT_NAME","GITHUB_RUN_ID","GITHUB_RUN_ATTEMPT","GITHUB_REPOSITORY"]),gitlab:f(["CI_PIPELINE_ID","CI_PIPELINE_URL","CI_BUILD_ID","CI_JOB_ID","CI_JOB_URL","CI_JOB_NAME","GITLAB_HOST","CI_PROJECT_ID","CI_PROJECT_URL","CI_REPOSITORY_URL","CI_ENVIRONMENT_URL","CI_DEFAULT_BRANCH"]),goCD:f(["GO_SERVER_URL","GO_ENVIRONMENT_NAME","GO_PIPELINE_NAME","GO_PIPELINE_COUNTER","GO_PIPELINE_LABEL","GO_STAGE_NAME","GO_STAGE_COUNTER","GO_JOB_NAME","GO_TRIGGER_USER","GO_REVISION","GO_TO_REVISION","GO_FROM_REVISION","GO_MATERIAL_HAS_CHANGED"]),googleCloud:f(["BUILD_ID","PROJECT_ID","REPO_NAME","BRANCH_NAME","TAG_NAME","COMMIT_SHA","SHORT_SHA"]),jenkins:f(["BUILD_ID","BUILD_URL","BUILD_NUMBER","ghprbPullId"]),semaphore:f(["SEMAPHORE_BRANCH_ID","SEMAPHORE_BUILD_NUMBER","SEMAPHORE_CURRENT_JOB","SEMAPHORE_CURRENT_THREAD","SEMAPHORE_EXECUTABLE_UUID","SEMAPHORE_GIT_BRANCH","SEMAPHORE_GIT_DIR","SEMAPHORE_GIT_REF","SEMAPHORE_GIT_REF_TYPE","SEMAPHORE_GIT_REPO_SLUG","SEMAPHORE_GIT_SHA","SEMAPHORE_GIT_URL","SEMAPHORE_JOB_COUNT","SEMAPHORE_JOB_ID","SEMAPHORE_JOB_NAME","SEMAPHORE_JOB_UUID","SEMAPHORE_PIPELINE_ID","SEMAPHORE_PLATFORM","SEMAPHORE_PROJECT_DIR","SEMAPHORE_PROJECT_HASH_ID","SEMAPHORE_PROJECT_ID","SEMAPHORE_PROJECT_NAME","SEMAPHORE_PROJECT_UUID","SEMAPHORE_REPO_SLUG","SEMAPHORE_TRIGGER_SOURCE","SEMAPHORE_WORKFLOW_ID","PULL_REQUEST_NUMBER"]),shippable:f(["SHIPPABLE_BUILD_ID","SHIPPABLE_BUILD_NUMBER","SHIPPABLE_COMMIT_RANGE","SHIPPABLE_CONTAINER_NAME","SHIPPABLE_JOB_ID","SHIPPABLE_JOB_NUMBER","SHIPPABLE_REPO_SLUG","IS_FORK","IS_GIT_TAG","IS_PRERELEASE","IS_RELEASE","REPOSITORY_URL","REPO_FULL_NAME","REPO_NAME","BUILD_URL","BASE_BRANCH","HEAD_BRANCH","IS_PULL_REQUEST","PULL_REQUEST","PULL_REQUEST_BASE_BRANCH","PULL_REQUEST_REPO_FULL_NAME"]),teamcity:null,teamfoundation:f(["BUILD_BUILDID","BUILD_BUILDNUMBER","BUILD_CONTAINERID"]),travis:f(["TRAVIS_JOB_ID","TRAVIS_BUILD_ID","TRAVIS_BUILD_WEB_URL","TRAVIS_REPO_SLUG","TRAVIS_JOB_NUMBER","TRAVIS_EVENT_TYPE","TRAVIS_COMMIT_RANGE","TRAVIS_BUILD_NUMBER","TRAVIS_PULL_REQUEST","TRAVIS_PULL_REQUEST_BRANCH","TRAVIS_PULL_REQUEST_SHA"]),wercker:null,netlify:f(["BUILD_ID","CONTEXT","URL","DEPLOY_URL","DEPLOY_PRIME_URL","DEPLOY_ID"]),layerci:f(["LAYERCI_JOB_ID","LAYERCI_RUNNER_ID","RETRY_INDEX","LAYERCI_PULL_REQUEST","LAYERCI_REPO_NAME","LAYERCI_REPO_OWNER","LAYERCI_BRANCH","GIT_TAG"])}),bs=()=>{let{env:e}=process;return{appveyor:{sha:e.APPVEYOR_REPO_COMMIT,branch:e.APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH||e.APPVEYOR_REPO_BRANCH,message:fs(`
`,e.APPVEYOR_REPO_COMMIT_MESSAGE,e.APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED),authorName:e.APPVEYOR_REPO_COMMIT_AUTHOR,authorEmail:e.APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL},awsCodeBuild:{sha:e.CODEBUILD_RESOLVED_SOURCE_VERSION,remoteOrigin:e.CODEBUILD_SOURCE_REPO_URL},azure:{sha:e.BUILD_SOURCEVERSION,branch:e.BUILD_SOURCEBRANCHNAME,message:e.BUILD_SOURCEVERSIONMESSAGE,authorName:e.BUILD_SOURCEVERSIONAUTHOR,authorEmail:e.BUILD_REQUESTEDFOREMAIL},bamboo:{sha:e.bamboo_planRepository_revision,branch:e.bamboo_planRepository_branch,authorName:e.bamboo_planRepository_username,remoteOrigin:e.bamboo_planRepository_repositoryURL},bitbucket:{sha:e.BITBUCKET_COMMIT,branch:e.BITBUCKET_BRANCH},buildkite:{sha:e.BUILDKITE_COMMIT,branch:e.BUILDKITE_BRANCH,message:e.BUILDKITE_MESSAGE,authorName:e.BUILDKITE_BUILD_CREATOR,authorEmail:e.BUILDKITE_BUILD_CREATOR_EMAIL,remoteOrigin:e.BUILDKITE_REPO,defaultBranch:e.BUILDKITE_PIPELINE_DEFAULT_BRANCH},circle:{sha:e.CIRCLE_SHA1,branch:e.CIRCLE_BRANCH,authorName:e.CIRCLE_USERNAME,remoteOrigin:e.CIRCLE_REPOSITORY_URL},codeshipBasic:{sha:e.CI_COMMIT_ID,branch:e.CI_BRANCH,message:e.CI_COMMIT_MESSAGE,authorName:e.CI_COMMITTER_NAME,authorEmail:e.CI_COMMITTER_EMAIL},codeshipPro:{sha:e.CI_COMMIT_ID,branch:e.CI_BRANCH,message:e.CI_COMMIT_MESSAGE,authorName:e.CI_COMMITTER_NAME,authorEmail:e.CI_COMMITTER_EMAIL},codeFresh:{sha:e.CF_REVISION,branch:e.CF_BRANCH,message:e.CF_COMMIT_MESSAGE,authorName:e.CF_COMMIT_AUTHOR},drone:{sha:e.DRONE_COMMIT_SHA,branch:e.DRONE_SOURCE_BRANCH,message:e.DRONE_COMMIT_MESSAGE,authorName:e.DRONE_COMMIT_AUTHOR,authorEmail:e.DRONE_COMMIT_AUTHOR_EMAIL,remoteOrigin:e.DRONE_GIT_HTTP_URL,defaultBranch:e.DRONE_REPO_BRANCH},githubActions:{sha:e.GITHUB_SHA,branch:e.GH_BRANCH||e.GITHUB_REF,defaultBranch:e.GITHUB_BASE_REF,remoteBranch:e.GITHUB_HEAD_REF,runAttempt:e.GITHUB_RUN_ATTEMPT},gitlab:{sha:e.CI_COMMIT_SHA,branch:e.CI_COMMIT_REF_NAME,message:e.CI_COMMIT_MESSAGE,authorName:e.GITLAB_USER_NAME,authorEmail:e.GITLAB_USER_EMAIL,remoteOrigin:e.CI_REPOSITORY_URL,defaultBranch:e.CI_DEFAULT_BRANCH},googleCloud:{sha:e.COMMIT_SHA,branch:e.BRANCH_NAME},jenkins:{sha:e.GIT_COMMIT,branch:e.GIT_BRANCH},semaphore:{sha:e.SEMAPHORE_GIT_SHA,branch:e.SEMAPHORE_GIT_BRANCH,remoteOrigin:e.SEMAPHORE_GIT_REPO_SLUG},shippable:{sha:e.COMMIT,branch:e.BRANCH,message:e.COMMIT_MESSAGE,authorName:e.COMMITTER},snap:null,teamcity:null,teamfoundation:{sha:e.BUILD_SOURCEVERSION,branch:e.BUILD_SOURCEBRANCHNAME,message:e.BUILD_SOURCEVERSIONMESSAGE,authorName:e.BUILD_SOURCEVERSIONAUTHOR},travis:{sha:e.TRAVIS_PULL_REQUEST_SHA||e.TRAVIS_COMMIT,branch:e.TRAVIS_PULL_REQUEST_BRANCH||e.TRAVIS_BRANCH,message:e.TRAVIS_COMMIT_MESSAGE},wercker:null,netlify:{sha:e.COMMIT_REF,branch:e.BRANCH,remoteOrigin:e.REPOSITORY_URL},layerci:{sha:e.GIT_COMMIT,branch:e.LAYERCI_BRANCH,message:e.GIT_COMMIT_TITLE}}},rr=e=>{let t=sr();return t?(0,d.chain)(e()).get(t).value():{}};function Ls(e){if(e&&Bs().includes(e))return!0;throw C(`Currents failed to automatically detect CI build ID for this environment. Please use one of the following to set CI build ID:

@@ -39,3 +39,3 @@

\u{1F4D6} https://currents.dev/readme/integration-with-playwright/currents-playwright
`),new Error("We could not determine a unique CI Build ID")}function Bs(){return(0,d.chain)(tr()).omitBy(d.isNull).keys().value()}function sr(){return Os()||null}function Ns(){return rr(tr)}function xs(){return rr(bs)}function nr(e){let t=Ns(),r=sr();return e||Ls(r),D("detected CI provider: %s",r),D("detected CI params: %O",t),{params:t,provider:r}}function or(e){D("git commit existing info"),D(e);let t=xs();D("commit info from provider environment variables: %O",t);let r=(0,d.transform)(e,(s,n,o)=>s[o]=(0,d.defaultTo)(n||t[o],null));return D("combined git and environment variables from provider"),D(r),r}var ir=require("@cypress/commit-info"),ar=require("lodash");var Ds=async()=>{let e=await(0,ir.commitInfo)();return or({branch:e.branch,remoteOrigin:e.remote,authorEmail:e.email,authorName:e.author,message:e.message,sha:e.sha})},lr=(0,ar.memoize)(Ds);var cr=m(require("getos")),ur=require("lodash"),y=require("os"),pr=require("util"),ws=async()=>{if((0,y.platform)()==="linux")try{let e=await(0,pr.promisify)(cr.default)();return"dist"in e&&"release"in e?[e.dist,e.release].join(" - "):(0,y.release)()}catch{return(0,y.release)()}return(0,y.release)()},Ms=async()=>{let e=await ws();return{osName:(0,y.platform)(),osVersion:e,osCpus:[],osMemory:{free:(0,y.freemem)(),total:(0,y.totalmem)()}}},mr=(0,ur.memoize)(Ms);function dr(e){return b({method:"POST",url:"runs",data:e}).then(t=>t.data).catch(t=>{if(t.response&&t.response.status===422)return null;throw t})}var vs={parallel:!0,tags:[],testingType:"e2e"};async function gr(e){let t=G();if(!t)return null;let r=await lr(),s=await mr(),{browser:n}=e,i={...{browserName:n.name,browserVersion:n.version},...s},p=nr(t.ciBuildId),l={...vs,platform:i,ci:p,commit:r,...e,projectId:t.projectId,recordKey:t.recordKey,ciBuildId:t.ciBuildId,tags:[...t.tag??[],...e.projectTags],removeTitleTags:!!t.removeTitleTags,specPattern:"*"};c("Creating run: %o",(0,fr.mapValues)(l,(u,E)=>E==="recordKey"?"******":u));try{let u=await dr(l);return c("Run created: %o",u),u}catch{return null}}var pe=class{config;executionState;warnings=[];errors=[];instanceCreations={};resultCreations={};testResultUploads=[];constructor({suites:t},r){this.config=r,this.executionState=Object.fromEntries(t.map(s=>(0,Er.match)(s.allTests()).when(n=>n.length===0,()=>{}).otherwise(n=>[s.title,{run:this.createRun({projectId:s.title,project:s.project(),createRunParams:{specs:(0,me.uniq)(n.map(o=>O(o,r))),browser:{name:s.title,version:""},tests:n.map(o=>({spec:O(o,r),title:W(o)})),group:s.title}}),project:ks(n,r)}])).filter(L))}createRun(t){return gr({...t.createRunParams,projectTags:t.project?.metadata?.pwc?.tags??[]}).then(r=>(r||this.warn("[currents] Missing reporting instructions for project, skipping: [%s]",t.projectId),r?.cancellation&&(se(r.cancellation),Ae()),r))}getAllSpecs(){return Object.values(this.executionState).flatMap(t=>Object.keys(t.project))}onTestBegin(t){let r=F(t),s=O(t,this.config),n=De(t);this.executionState[r].project[s][n]={type:"started",testCase:t},this.startCreatingInstance(t)}onTestEnd(t,r){let s=F(t),n=O(t,this.config),o=De(t),i=this.executionState[s].project[n];if(this.sendTestResult({test:t,result:r,specName:n,projectId:s}),r.status!==t.expectedStatus&&r.retry<t.retries){c('Test "%s" attempt %d/%d expected %s vs actual %s, waiting for more retries',t.title,r.retry,t.retries,r.status,t.expectedStatus);return}i[o]={type:"finished",testCase:t,result:r},js(i)&&this.startProcessingResults(i)}sendTestResult(t){let r=G();if(!r){c("Not sending test result - missing config");return}!r.enableTestResults||this.testResultUploads.push(this.executionState[t.projectId].run.then(s=>{if(!s){c("Not sending test result - missing run for %s",t.projectId);return}return er({runId:s.runId,groupId:s.groupId,reportedAt:new Date().toISOString(),result:t.result,recordKey:r.recordKey,retry:t.result.retry,status:t.result.status,title:W(t.test),spec:t.specName})}).catch(s=>{c("Error sending test result: %o",s)}))}onStepBegin(t,r,s){}onStepEnd(t,r,s){}warn(...t){this.warnings.push([...t]),R(...t)}async startProcessingResults(t){let r=Object.values(t)[0].testCase,s=F(r),n=O(r,this.config);this.resultCreations[s]||(this.resultCreations[s]={}),!this.resultCreations[s][n]&&(c("Starting processing spec result: %o",{projectId:s,spec:n}),this.resultCreations[s][n]=this.createResultForSpec(t))}async createResultForSpec(t){let r=G();if(!r)return;let s=Object.values(t)[0].testCase,n=F(s),o=O(s,this.config),i=Object.values(t).map(u=>u.testCase),p=Object.values(t).map(u=>u.result.status).some(u=>u==="failed"),l=await this.instanceCreations[n][o];if(!l?.instanceId){this.warn("[currents] Missing reporting instructions for file, skipping: [%s] \u203A %s",n,o);return}if(l?.claimedCount>1){this.warn('[currents] Results already reported for build "%s" [%s] \u203A %s',r.ciBuildId,n,o);return}return Hs({instanceId:l.instanceId,testCases:i,config:this.config},{status:p?"failed":"passed"})}startCreatingInstance(t){let r=F(t),s=O(t,this.config);this.instanceCreations[r]||(this.instanceCreations[r]={}),!this.instanceCreations[r][s]&&(c("Starting instance creation: %o",{projectId:r,spec:s}),this.instanceCreations[r][s]=this.createInstanceForSpec({projectId:r,specName:s,worker:Le(t)}))}async createInstanceForSpec({projectId:t,specName:r,worker:s}){c("Getting run for projectId",{projectId:t});let n=await this.executionState[t].run;if(!n)return;let{runId:o,groupId:i,machineId:p}=n,{instanceId:l,claimedCount:u,...E}=await Rt({runId:o,groupId:i,machineId:p,spec:r,worker:s});return c("Create instance response: %s %s %o",s,t,r,l,u),{instanceId:l,claimedCount:u,spec:r}}async awaitAllResults(){let t=Object.values(this.resultCreations).flatMap(r=>Object.values(r));return c("Awaiting for completion of reporting tasks..."),Promise.allSettled([...t,...this.testResultUploads])}async getRunURL(){let t=Object.values(this.executionState).find(Boolean);if(!!t)return(await t.run)?.runUrl}getAllSpecsWithSpec(){return Object.values(this.executionState).flatMap(t=>Object.entries(t.project).map(([r,s])=>({name:r,spec:s})))}_getSpecsWithNoResults(){let t=Object.values(this.resultCreations).flatMap(o=>Object.keys(o)),r=this.getAllSpecsWithSpec(),s=new Set(t),n=[];return r.forEach(o=>{s.has(o.name)||n.push(o)}),n}getSpecsWithNoResults(){return this._getSpecsWithNoResults().map(t=>t.name)}flushSpecsWithNoResults(){this._getSpecsWithNoResults().forEach(t=>{Object.values(t.spec).forEach(s=>{this.onTestBegin(s.testCase);let n={status:"skipped",workerIndex:-1,parallelIndex:0,duration:0,startTime:new Date,stdout:[],stderr:[],attachments:[],steps:[],errors:[],retry:0};this.onTestEnd(s.testCase,s.testCase.results[0]||n)})})}};function ks(e,t){let r={};return e.forEach(s=>{let n=O(s,t),o=De(s);r[n]||(r[n]={}),r[n][o]={type:"initialised",testCase:s}}),r}function O(e,t){return Xt(e.location,t.rootDir)}function De(e){return e.id??e._id}function js(e){return Object.values(e).every(t=>t.type==="finished")}async function Hs({instanceId:e,testCases:t,config:r},s){let n=t.map((u,E)=>(0,me.extend)(u,{clientId:Gs(E)})),o=t.flatMap(u=>u.results).flatMap(u=>[...u.stdout,u.stderr]).filter(u=>typeof u=="string"),{failures:i,summaryMessage:p}=Qt(t,r,s),l=o.join(`
`),new Error("We could not determine a unique CI Build ID")}function Bs(){return(0,d.chain)(tr()).omitBy(d.isNull).keys().value()}function sr(){return Os()||null}function Ns(){return rr(tr)}function xs(){return rr(bs)}function nr(e){let t=Ns(),r=sr();return e||Ls(r),D("detected CI provider: %s",r),D("detected CI params: %O",t),{params:t,provider:r}}function or(e){D("git commit existing info"),D(e);let t=xs();D("commit info from provider environment variables: %O",t);let r=(0,d.transform)(e,(s,n,o)=>s[o]=(0,d.defaultTo)(n||t[o],null));return D("combined git and environment variables from provider"),D(r),r}var ir=require("@currents/commit-info"),ar=require("lodash");var Ds=async()=>{let e=await(0,ir.commitInfo)();return or({branch:e.branch,remoteOrigin:e.remote,authorEmail:e.email,authorName:e.author,message:e.message,sha:e.sha})},lr=(0,ar.memoize)(Ds);var cr=m(require("getos")),ur=require("lodash"),U=require("os"),pr=require("util"),ws=async()=>{if((0,U.platform)()==="linux")try{let e=await(0,pr.promisify)(cr.default)();return"dist"in e&&"release"in e?[e.dist,e.release].join(" - "):(0,U.release)()}catch{return(0,U.release)()}return(0,U.release)()},Ms=async()=>{let e=await ws();return{osName:(0,U.platform)(),osVersion:e,osCpus:[],osMemory:{free:(0,U.freemem)(),total:(0,U.totalmem)()}}},mr=(0,ur.memoize)(Ms);function dr(e){return b({method:"POST",url:"runs",data:e}).then(t=>t.data).catch(t=>{if(t.response&&t.response.status===422)return null;throw t})}var vs={parallel:!0,tags:[],testingType:"e2e"};async function gr(e){let t=G();if(!t)return null;let r=await lr(),s=await mr(),{browser:n}=e,i={...{browserName:n.name,browserVersion:n.version},...s},p=nr(t.ciBuildId),l={...vs,platform:i,ci:p,commit:r,...e,projectId:t.projectId,recordKey:t.recordKey,ciBuildId:t.ciBuildId,tags:[...t.tag??[],...e.projectTags],removeTitleTags:!!t.removeTitleTags,specPattern:"*"};c("Creating run: %o",(0,fr.mapValues)(l,(u,E)=>E==="recordKey"?"******":u));try{let u=await dr(l);return c("Run created: %o",u),u}catch{return null}}var pe=class{config;executionState;warnings=[];errors=[];instanceCreations={};resultCreations={};testResultUploads=[];constructor({suites:t},r){this.config=r,this.executionState=Object.fromEntries(t.map(s=>(0,Er.match)(s.allTests()).when(n=>n.length===0,()=>{}).otherwise(n=>[s.title,{run:this.createRun({projectId:s.title,project:s.project(),createRunParams:{specs:(0,me.uniq)(n.map(o=>O(o,r))),browser:{name:s.title,version:""},tests:n.map(o=>({spec:O(o,r),title:W(o)})),group:s.title}}),project:ks(n,r)}])).filter(L))}createRun(t){return gr({...t.createRunParams,projectTags:t.project?.metadata?.pwc?.tags??[]}).then(r=>(r||this.warn("[currents] Missing reporting instructions for project, skipping: [%s]",t.projectId),r?.cancellation&&(se(r.cancellation),Ae()),r))}getAllSpecs(){return Object.values(this.executionState).flatMap(t=>Object.keys(t.project))}onTestBegin(t){let r=F(t),s=O(t,this.config),n=De(t);this.executionState[r].project[s][n]={type:"started",testCase:t},this.startCreatingInstance(t)}onTestEnd(t,r){let s=F(t),n=O(t,this.config),o=De(t),i=this.executionState[s].project[n];if(this.sendTestResult({test:t,result:r,specName:n,projectId:s}),r.status!==t.expectedStatus&&r.retry<t.retries){c('Test "%s" attempt %d/%d expected %s vs actual %s, waiting for more retries',t.title,r.retry,t.retries,r.status,t.expectedStatus);return}i[o]={type:"finished",testCase:t,result:r},js(i)&&this.startProcessingResults(i)}sendTestResult(t){let r=G();if(!r){c("Not sending test result - missing config");return}!r.enableTestResults||this.testResultUploads.push(this.executionState[t.projectId].run.then(s=>{if(!s){c("Not sending test result - missing run for %s",t.projectId);return}return er({runId:s.runId,groupId:s.groupId,reportedAt:new Date().toISOString(),result:t.result,recordKey:r.recordKey,retry:t.result.retry,status:t.result.status,title:W(t.test),spec:t.specName})}).catch(s=>{c("Error sending test result: %o",s)}))}onStepBegin(t,r,s){}onStepEnd(t,r,s){}warn(...t){this.warnings.push([...t]),R(...t)}async startProcessingResults(t){let r=Object.values(t)[0].testCase,s=F(r),n=O(r,this.config);this.resultCreations[s]||(this.resultCreations[s]={}),!this.resultCreations[s][n]&&(c("Starting processing spec result: %o",{projectId:s,spec:n}),this.resultCreations[s][n]=this.createResultForSpec(t))}async createResultForSpec(t){let r=G();if(!r)return;let s=Object.values(t)[0].testCase,n=F(s),o=O(s,this.config),i=Object.values(t).map(u=>u.testCase),p=Object.values(t).map(u=>u.result.status).some(u=>u==="failed"),l=await this.instanceCreations[n][o];if(!l?.instanceId){this.warn("[currents] Missing reporting instructions for file, skipping: [%s] \u203A %s",n,o);return}if(l?.claimedCount>1){this.warn('[currents] Results already reported for build "%s" [%s] \u203A %s',r.ciBuildId,n,o);return}return Hs({instanceId:l.instanceId,testCases:i,config:this.config},{status:p?"failed":"passed"})}startCreatingInstance(t){let r=F(t),s=O(t,this.config);this.instanceCreations[r]||(this.instanceCreations[r]={}),!this.instanceCreations[r][s]&&(c("Starting instance creation: %o",{projectId:r,spec:s}),this.instanceCreations[r][s]=this.createInstanceForSpec({projectId:r,specName:s,worker:Le(t)}))}async createInstanceForSpec({projectId:t,specName:r,worker:s}){c("Getting run for projectId",{projectId:t});let n=await this.executionState[t].run;if(!n)return;let{runId:o,groupId:i,machineId:p}=n,{instanceId:l,claimedCount:u,...E}=await Rt({runId:o,groupId:i,machineId:p,spec:r,worker:s});return c("Create instance response: %s %s %o",s,t,r,l,u),{instanceId:l,claimedCount:u,spec:r}}async awaitAllResults(){let t=Object.values(this.resultCreations).flatMap(r=>Object.values(r));return c("Awaiting for completion of reporting tasks..."),Promise.allSettled([...t,...this.testResultUploads])}async getRunURL(){let t=Object.values(this.executionState).find(Boolean);if(!!t)return(await t.run)?.runUrl}getAllSpecsWithSpec(){return Object.values(this.executionState).flatMap(t=>Object.entries(t.project).map(([r,s])=>({name:r,spec:s})))}_getSpecsWithNoResults(){let t=Object.values(this.resultCreations).flatMap(o=>Object.keys(o)),r=this.getAllSpecsWithSpec(),s=new Set(t),n=[];return r.forEach(o=>{s.has(o.name)||n.push(o)}),n}getSpecsWithNoResults(){return this._getSpecsWithNoResults().map(t=>t.name)}flushSpecsWithNoResults(){this._getSpecsWithNoResults().forEach(t=>{Object.values(t.spec).forEach(s=>{this.onTestBegin(s.testCase);let n={status:"skipped",workerIndex:-1,parallelIndex:0,duration:0,startTime:new Date,stdout:[],stderr:[],attachments:[],steps:[],errors:[],retry:0};this.onTestEnd(s.testCase,s.testCase.results[0]||n)})})}};function ks(e,t){let r={};return e.forEach(s=>{let n=O(s,t),o=De(s);r[n]||(r[n]={}),r[n][o]={type:"initialised",testCase:s}}),r}function O(e,t){return Xt(e.location,t.rootDir)}function De(e){return e.id??e._id}function js(e){return Object.values(e).every(t=>t.type==="finished")}async function Hs({instanceId:e,testCases:t,config:r},s){let n=t.map((u,E)=>(0,me.extend)(u,{clientId:Gs(E)})),o=t.flatMap(u=>u.results).flatMap(u=>[...u.stdout,u.stderr]).filter(u=>typeof u=="string"),{failures:i,summaryMessage:p}=Qt(t,r,s),l=o.join(`
`)+i.join(`

@@ -42,0 +42,0 @@ `)+p;await Promise.allSettled([Wt({instanceId:e,testCases:n,stdout:[l,...ke()].join(`

{
"name": "@currents/playwright",
"version": "0.10.5",
"version": "0.10.6",
"main": "./dist/index.js",

@@ -26,3 +26,3 @@ "author": "Currents Software Inc",

"@types/babel__code-frame": "^7.0.3",
"@types/debug": "^4.1.7",
"@types/debug": "^4.1.11",
"@types/getos": "^3.0.1",

@@ -51,3 +51,3 @@ "@types/jest": "^29.5.3",

"@commander-js/extra-typings": "^11.1.0",
"@cypress/commit-info": "^2.2.0",
"@currents/commit-info": "^1.0.0",
"async-retry": "^1.3.3",

@@ -54,0 +54,0 @@ "axios": "^1.2.0",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc