creevey 0.10.27 → 0.10.29
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/dist/client/shared/components/PageHeader/ImagePreview.js +1 -1
- package/dist/client/shared/components/PageHeader/ImagePreview.js.map +1 -1
- package/dist/client/web/assets/{index-C044taY0.js → index-8m1n3wEe.js} +1 -1
- package/dist/client/web/index.html +1 -1
- package/dist/server/docker.d.ts +1 -0
- package/dist/server/docker.js +37 -1
- package/dist/server/docker.js.map +1 -1
- package/dist/server/playwright/internal.d.ts +2 -2
- package/dist/server/playwright/internal.js +3 -2
- package/dist/server/playwright/internal.js.map +1 -1
- package/dist/server/playwright/webdriver.d.ts +2 -1
- package/dist/server/playwright/webdriver.js +2 -2
- package/dist/server/playwright/webdriver.js.map +1 -1
- package/dist/server/selenium/selenoid.js +2 -1
- package/dist/server/selenium/selenoid.js.map +1 -1
- package/dist/server/webdriver.d.ts +1 -1
- package/dist/server/webdriver.js +2 -1
- package/dist/server/webdriver.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/src/client/shared/components/PageHeader/ImagePreview.tsx +7 -1
- package/src/server/docker.ts +40 -1
- package/src/server/playwright/internal.ts +8 -2
- package/src/server/playwright/webdriver.ts +3 -1
- package/src/server/selenium/selenoid.ts +3 -2
- package/src/server/webdriver.ts +4 -1
- package/src/types.ts +2 -1
|
@@ -57,6 +57,6 @@ exports.ImagePreview = (0, theming_1.withTheme)(({ isActive, onClick, imageName,
|
|
|
57
57
|
};
|
|
58
58
|
// TODO Add image name as a title
|
|
59
59
|
return (react_1.default.createElement(Button, { onClick: handleClick, borderColor: isActive ? theme.barSelectedColor : error ? theme.color.negative : undefined },
|
|
60
|
-
react_1.default.createElement(Image, { hasBorder: isActive || error, src: url, alt: imageName, backgroundColor: theme.background.content })));
|
|
60
|
+
react_1.default.createElement(Image, { hasBorder: isActive || error, src: url, alt: imageName, title: imageName, backgroundColor: theme.background.content })));
|
|
61
61
|
});
|
|
62
62
|
//# sourceMappingURL=ImagePreview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImagePreview.js","sourceRoot":"","sources":["../../../../../src/client/shared/components/PageHeader/ImagePreview.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAmC;AACnC,+CAA6D;AAE7D,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAWzD,MAAM,MAAM,GAAG,gBAAM,CAAC,MAAM,CAA2B,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3E,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE,MAAM;IAClB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,uBAAuB;IAC/B,WAAW,EAAE,WAAW,IAAI,aAAa;IAEzC,iBAAiB,EAAE;QACjB,UAAU,EAAE,CAAC;KACd;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,KAAK,GAAG,IAAA,mBAAS,EACrB,gBAAM,CAAC,GAAG,CACR,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,SAAS,EAAE,GAAG,QAAQ,IAAI;IAC1B,KAAK,EAAE,GAAG,QAAQ,IAAI;IACtB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;IAEpD,WAAW,EAAE;QACX,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,GAAG,QAAQ,GAAG,CAAC,IAAI;QAC3B,KAAK,EAAE,GAAG,QAAQ,GAAG,CAAC,IAAI;QAC1B,MAAM,EAAE,KAAK;QACb,eAAe,EAAE,eAAe;QAChC,eAAe,EAAE;;yBAEA,WAAW,GAAG,CAAC,GAAG,GAAG;QACtC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,GAAG,GAAG;QAC3C,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,GAAG,GAAG;yBAC1B,WAAW,GAAG,CAAC,GAAG,GAAG;;;;yBAIrB,WAAW,GAAG,CAAC,GAAG,GAAG;QACtC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,GAAG,GAAG;QAC3C,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,GAAG,GAAG;yBAC1B,WAAW,GAAG,CAAC,GAAG,GAAG;MACxC;KACC;CACF,CAAC,CACH,CACF,CAAC;AAEW,QAAA,YAAY,GAAG,IAAA,mBAAS,EACnC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAkB,EAAe,EAAE;IACnF,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,OAAO,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,iCAAiC;IACjC,OAAO,CACL,8BAAC,MAAM,IACL,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAEzF,8BAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"ImagePreview.js","sourceRoot":"","sources":["../../../../../src/client/shared/components/PageHeader/ImagePreview.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAmC;AACnC,+CAA6D;AAE7D,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAWzD,MAAM,MAAM,GAAG,gBAAM,CAAC,MAAM,CAA2B,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3E,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE,MAAM;IAClB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,uBAAuB;IAC/B,WAAW,EAAE,WAAW,IAAI,aAAa;IAEzC,iBAAiB,EAAE;QACjB,UAAU,EAAE,CAAC;KACd;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,KAAK,GAAG,IAAA,mBAAS,EACrB,gBAAM,CAAC,GAAG,CACR,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,SAAS,EAAE,GAAG,QAAQ,IAAI;IAC1B,KAAK,EAAE,GAAG,QAAQ,IAAI;IACtB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;IAEpD,WAAW,EAAE;QACX,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,GAAG,QAAQ,GAAG,CAAC,IAAI;QAC3B,KAAK,EAAE,GAAG,QAAQ,GAAG,CAAC,IAAI;QAC1B,MAAM,EAAE,KAAK;QACb,eAAe,EAAE,eAAe;QAChC,eAAe,EAAE;;yBAEA,WAAW,GAAG,CAAC,GAAG,GAAG;QACtC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,GAAG,GAAG;QAC3C,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,GAAG,GAAG;yBAC1B,WAAW,GAAG,CAAC,GAAG,GAAG;;;;yBAIrB,WAAW,GAAG,CAAC,GAAG,GAAG;QACtC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,GAAG,GAAG;QAC3C,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,GAAG,GAAG;yBAC1B,WAAW,GAAG,CAAC,GAAG,GAAG;MACxC;KACC;CACF,CAAC,CACH,CACF,CAAC;AAEW,QAAA,YAAY,GAAG,IAAA,mBAAS,EACnC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAkB,EAAe,EAAE;IACnF,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,OAAO,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,iCAAiC;IACjC,OAAO,CACL,8BAAC,MAAM,IACL,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAEzF,8BAAC,KAAK,IACJ,SAAS,EAAE,QAAQ,IAAI,KAAK,EAC5B,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,SAAS,EAChB,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,GACzC,CACK,CACV,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -508,7 +508,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
|
|
|
508
508
|
${o.color.medium} ${no/2+.2}px,
|
|
509
509
|
${o.color.medium} ${no/2+1.2}px,
|
|
510
510
|
rgba(0, 0, 0, 0) ${no/2+1.2}px
|
|
511
|
-
)`}}))),YN=$e(({isActive:e,onClick:t,imageName:o,url:a,theme:l,error:s})=>{const f=()=>{t(o)};return L.jsx(VN,{onClick:f,borderColor:e?l.barSelectedColor:s?l.color.negative:void 0,children:L.jsx(GN,{hasBorder:e||s,src:a,alt:o,backgroundColor:l.background.content})})}),yC="Creevey_view_mode",fo=["side-by-side","swap","slide","blend"],KN=()=>{const e=localStorage.getItem(yC);return e&&fo.includes(e)?e:"side-by-side"},XN=D.div({marginTop:"24px"}),QN=$e(D.div(({theme:e})=>({marginTop:"8px",padding:"8px",background:`${e.background.negative}20`,color:e.color.negative,borderRadius:"2px",display:"flex",alignItems:"baseline","& svg":{margin:"0 5px",width:8,height:8},"& pre":{margin:"0 4px",padding:0,lineHeight:"22px"}}))),ZN=$e(D.div(({theme:e})=>({padding:"8px 32px",backgroundColor:`${e.color.positive}20`,color:e.color.positive,fontSize:"12px",textAlign:"center",fontWeight:"bold"}))),JN=D.h1({marginLeft:"44px",marginBottom:"8px"}),eL=$e(D.span(({theme:e})=>({padding:"0 8px",color:e.color.mediumdark}))),tL=D.div({display:"flex",margin:"16px 0 8px"});function rL({title:e,imageName:t,images:o={},errorMessage:a,showViewModes:l,viewMode:s,imagesWithError:f=[],onImageChange:c,onViewModeChange:d}){var E;const{isReport:h,isUpdateMode:y}=w.useContext($l),b=Object.entries(o),v=S=>{d(S)};w.useEffect(()=>{if(t===""){if(f.length>0){c(f[0]);return}const S=Object.keys(o).at(0);S&&c(S)}},[t,o,f,c]);const x=a||f.includes(t)?((E=o[t])==null?void 0:E.error)??a:null;return L.jsxs(XN,{children:[L.jsx(JN,{children:e.flatMap(S=>[S,L.jsx(eL,{children:"/"},S)]).slice(0,-1)}),x&&L.jsxs(QN,{children:[L.jsx(nC,{}),L.jsx("pre",{children:x})]}),b.length>1?L.jsx(tL,{children:b.map(([S,k])=>L.jsx(YN,{imageName:S,url:`${Fx(e,S,h)}/${k.actual}`,isActive:S===t,onClick:c,error:f.includes(S)},S))}):null,y&&L.jsx(ZN,{children:"Update Mode: Review and approve screenshots from previous test runs"}),l&&L.jsx(gm,{selected:s,actions:{onSelect:v},children:fo.map(S=>L.jsx("div",{id:S,title:S},S))})]})}function nL(e){const t=(a,l)=>{switch(a){case".":return L.jsx(fi,{disabled:!0,autoFocus:!1,content:"",nonce:"",rel:"",rev:"",children:"..."},`dots${l<5?"Left":"Right"}`);default:return L.jsx(fi,{rel:a,rev:a,autoFocus:!1,nonce:a,content:a,onClick:()=>{o(a)},active:e.activePage===a,children:a},a)}},o=a=>{const l=Number(a);1<=l&&a!==e.activePage&&l<=e.pagesCount&&e.onPageChange(l)};return L.jsx("div",{children:oL(e.activePage,e.pagesCount).map(t)})}function oL(e,t){const o=Number(e),a=[],l=Math.max(Math.min(o-2,t-4),1),s=Math.min(Math.max(5,o+2),t),f=l>3,c=f?l:1,d=s<t-2,h=d?s:t;f&&a.push("1",".");for(let y=c;y<=h;++y)a.push(`${y}`);return d&&a.push("."),d&&isFinite(t)&&a.push(`${t}`),a}const aL=$e(D.div(({theme:e})=>({display:"flex",padding:"24px 32px 20px",justifyContent:"space-between",background:e.background.content})));function iL({retriesCount:e,retry:t,onRetryChange:o}){return L.jsx(aL,{children:L.jsx(nL,{activePage:`${t}`,onPageChange:o,pagesCount:e})})}const lL=D.div({width:"100%",height:"100%",boxSizing:"border-box",display:"flex",flexDirection:"column"}),sL=D.div(({theme:e})=>({background:e.base=="light"?e.color.mediumlight:e.color.darker,flexGrow:1,padding:"20px 0"})),uL=D.div({position:"sticky",top:0,zIndex:1}),cL=D.div({flexGrow:1,minHeight:0}),fL=D.div({position:"sticky",bottom:0,zIndex:1}),dL=D.div(({height:e="100vh"})=>({height:e,width:"100%",overflowY:"hidden",display:"flex",flexDirection:"column"}));function pL({path:e,results:t=[],approved:o,theme:a,height:l,retry:s,imageName:f,onImageChange:c,onRetryChange:d}){var R;const h=t[s-1]??{},{isReport:y}=w.useContext($l),[b,v]=w.useState(KN()),x=Fx(e,f,y),E=(R=h.images)==null?void 0:R[f],S=!!(E&&(o==null?void 0:o[f])!=s-1&&h.status!="success"),k=S&&!!(E!=null&&E.diff&&E.expect),_=h.images?Object.keys(h.images).filter(O=>{var P,I;return h.status!="success"&&(o==null?void 0:o[O])!=s-1&&((I=(P=h.images)==null?void 0:P[O])==null?void 0:I.error)!=null}):[],A=w.useCallback(O=>{S&&O.code==="Tab"&&(O.preventDefault(),O.shiftKey?v(P=>fo.at((fo.indexOf(P)-1)%fo.length)):v(P=>fo.at((fo.indexOf(P)+1)%fo.length)))},[S]);return w.useEffect(()=>{localStorage.setItem(yC,b)},[b]),w.useEffect(()=>(document.addEventListener("keydown",A,!1),()=>{document.removeEventListener("keydown",A,!1)}),[A]),L.jsxs(dL,{height:l,children:[L.jsx(uL,{children:L.jsx(rL,{title:e,imageName:f,images:h.images,errorMessage:h.error,showViewModes:k,viewMode:b,onViewModeChange:v,onImageChange:c,imagesWithError:_})}),L.jsx(cL,{children:L.jsx(ii,{vertical:!0,children:L.jsx(lL,{children:L.jsx(sL,{theme:a,children:E?L.jsx(qN,{url:x,image:E,canApprove:S,mode:b}):L.jsx(SI,{children:`Image ${f} not found`})})})})}),t.length?L.jsx(fL,{children:L.jsx(iL,{retry:s,retriesCount:t.length,onRetryChange:d})}):null]})}const hL=$e(pL),gL=$e(D.span(({theme:e})=>({lineHeight:"10px",display:"inline-block",position:"relative",whiteSpace:"nowrap",background:e.base=="light"?e.color.mediumlight:e.color.darker,borderRadius:"3em",padding:2,verticalAlign:"middle",marginLeft:10,input:{appearance:"none",width:"100%",height:"100%",position:"absolute",left:0,top:0,margin:0,padding:0,border:"none",cursor:"pointer","&:focus":{outline:"none"}},span:{cursor:"pointer",display:"inline-block",transition:"all 100ms ease-out",userSelect:"none",borderRadius:"100%",background:e.background.bar,boxShadow:`${bp(.1,e.appBorderColor)} 0 0 2px`,color:e.color.defaultText,width:20,height:20,boxSizing:"border-box",lineHeight:"19px",textAlign:"center","&:hover":{boxShadow:`${bp(.3,e.appBorderColor)} 0 0 0 1px inset`},"&:active":{boxShadow:`${bp(.05,e.appBorderColor)} 0 0 0 2px inset`}},"input:checked ~ span":{marginLeft:20},"input:not(:checked) ~ span":{marginRight:20}}))),mL=({value:e,onChange:t})=>L.jsxs(gL,{children:[L.jsx("input",{type:"checkbox",onChange:()=>{t(!e)},checked:e??!1}),L.jsx("span",{children:e?"☪":"☀"})]}),bC="Creevey_theme";function vL(e){return xt(e)&&Object.prototype.hasOwnProperty.call(ac,e)}function yL(){const e=localStorage.getItem(bC);return vL(e)?e:"light"}function wC(){const[e,t]=w.useState(yL());return w.useEffect(()=>{localStorage.setItem(bC,e)},[e]),[e,t]}const bL=$e(D.div(({theme:e})=>({height:"100vh",display:"flex",background:e.background.content,color:e.color.defaultText}))),wL=D.div({zIndex:1,position:"absolute",right:10,top:10});function xL({api:e,initialState:t}){var he,de;const[o,a]=FO(t.tests),[l,s]=w.useState(t.isRunning),[f,c]=w.useState([]),[d,h]=w.useState({status:null,subStrings:[]}),[y,b]=wC(),v=n3(o,f),x=w.useMemo(()=>Ax(o),[o]),[E,S]=w.useState(((he=v==null?void 0:v.results)==null?void 0:he.length)??0),k=w.useMemo(()=>{var U;return(U=v==null?void 0:v.results)==null?void 0:U[E-1]},[v,E]),[_,A]=w.useState(Object.keys((k==null?void 0:k.images)??{})[0]??""),[R,O]=w.useState([]),P=w.useMemo(()=>{var U,J,Q;return!!((J=(U=v==null?void 0:v.results)==null?void 0:U[E-1])!=null&&J.images&&((Q=v.approved)==null?void 0:Q[_])!=E-1&&v.results[E-1].status!="success")},[_,v,E]);f.length>0&&!xt(v)&&c([]);const I=w.useCallback((U,J)=>{a(Q=>{tu(Q,U,J)})},[a]),T=w.useCallback((U,J)=>{a(Q=>{o3(Q,U,J)})},[a]),N=w.useCallback(U=>{const J=Ar(U);l3(J),O(J),a(Q=>{tu(Q,J,!0),c(J)})},[a]),B=w.useCallback(()=>{if(x.length==0)return;const U=x.findIndex(Q=>Q.id===(v==null?void 0:v.id)),J=Object.entries((k==null?void 0:k.images)??{}).filter(([Q,j])=>{var Z;return(j==null?void 0:j.error)!=null&&((Z=v==null?void 0:v.approved)==null?void 0:Z[Q])!=E-1&&(k==null?void 0:k.status)!="success"}).map(([Q])=>Q);if(J.length>1&&(x.length==1||J.indexOf(_)<J.length-1))A(Q=>J[J.indexOf(Q)+1]??J[0]);else{const Q=x[U+1]??x[0];N(Q)}},[x,N,v,E,k,_]),M=w.useCallback(()=>{const U=v==null?void 0:v.id;U&&(e==null||e.approve(U,E-1,_))},[e,_,v==null?void 0:v.id,E]),G=w.useCallback(()=>{M(),B()},[M,B]),ee=w.useCallback(()=>{e==null||e.approveAll()},[e]),se=w.useCallback(U=>e==null?void 0:e.start(fg(U).map(J=>J.id)),[e]),be=w.useCallback(()=>e==null?void 0:e.stop(),[e]),ie=w.useCallback(U=>{b(U?"dark":"light")},[b]);return w.useEffect(()=>{var Q,j;const U=((Q=v==null?void 0:v.results)==null?void 0:Q.length)??0,J=((j=v==null?void 0:v.results)==null?void 0:j[U-1])??{images:{}};A(Object.keys(J.images??{})[0]??""),S(U)},[v==null?void 0:v.results]),w.useEffect(()=>{window.addEventListener("popstate",U=>{a(J=>{const Q=U.state;if(Q&&typeof Q=="object"&&"testPath"in Q){const{testPath:j}=Q;Array.isArray(j)&&(tu(J,j,!0),c(j))}})}),a(U=>{const J=s3();tu(U,J,!0),c(J)})},[a]),w.useEffect(()=>e==null?void 0:e.onUpdate(({isRunning:U,tests:J,removedTests:Q=[]})=>{xt(U)&&s(U),xt(J)&&a(j=>{Object.values(J).forEach(Z=>{Z&&Px(j,Ar(Z),Z)}),Q.forEach(Z=>{Tx(j,Ar(Z))})})}),[e,a]),L.jsx($l.Provider,{value:{isReport:t.isReport,isRunning:l,onImageNext:P?B:void 0,onImageApprove:P?G:void 0,onApproveAll:ee,onStart:se,onStop:be,onSuiteOpen:I,onSuiteToggle:T,sidebarFocusedItem:R,setSidebarFocusedItem:O,isUpdateMode:t.isUpdateMode},children:L.jsx(Mw,{theme:vx(ac[y]),children:L.jsx(u3,{rootSuite:o,filter:d,children:L.jsxs(bL,{children:[L.jsx(EN,{rootSuite:o,testId:v==null?void 0:v.id,onOpenTest:N,filter:d,setFilter:h}),v&&L.jsx(hL,{path:f,results:v.results,approved:v.approved,retry:E,imageName:_,onImageChange:A,onRetryChange:S},`${v.id}_${((de=v.results)==null?void 0:de.length)??0}`),L.jsx(wL,{children:L.jsx(mL,{value:y=="dark",onChange:ie})})]})})})})}async function SL(){let e=gr,t=gr;const o=new Set;let a=null,l=gr,s=!1;const f=new WebSocket(`ws://${Ix()}`);function c(d){f.send(JSON.stringify(d))}return f.addEventListener("error",d=>{t(d)}),f.addEventListener("open",()=>{e({start(d){if(s){console.warn("Tests cannot be started in Update Mode. This mode is for approving screenshots only.");return}c({type:"start",payload:d})},stop(){if(s){console.warn("Tests cannot be stopped in Update Mode. This mode is for approving screenshots only.");return}c({type:"stop"})},approve(d,h,y){c({type:"approve",payload:{id:d,retry:h,image:y}})},approveAll(){c({type:"approveAll"})},onUpdate(d){return o.add(d),()=>o.delete(d)},get status(){return a||(c({type:"status"}),a=new Promise(d=>l=d))}})}),f.addEventListener("message",d=>{const h=JSON.parse(d.data);h.type=="update"&&o.forEach(y=>{y(h.payload)}),h.type=="status"&&(s=h.payload.isUpdateMode,l(h.payload),l=gr,a=null)}),new Promise((d,h)=>{e=d,t=h})}const EL=$e(D.div(({theme:e})=>({height:"100vh",width:"100vw",background:e.background.app}))),kL=$e(D.div(({size:e=32,theme:t})=>({borderRadius:"50%",cursor:"progress",display:"inline-block",overflow:"hidden",position:"absolute",transition:"all 200ms ease-out",verticalAlign:"top",top:"50%",left:"50%",marginTop:-(e/2),marginLeft:-(e/2),height:e,width:e,zIndex:4,borderWidth:2,borderStyle:"solid",borderColor:t.base==="light"?"rgba(97, 97, 97, 0.29)":"rgba(255, 255, 255, 0.2)",borderTopColor:t.base==="light"?"rgb(100,100,100)":"rgba(255, 255, 255, 0.4)",animation:`${CL} 0.7s linear infinite`,mixBlendMode:"difference"}))),CL=Tr`
|
|
511
|
+
)`}}))),YN=$e(({isActive:e,onClick:t,imageName:o,url:a,theme:l,error:s})=>{const f=()=>{t(o)};return L.jsx(VN,{onClick:f,borderColor:e?l.barSelectedColor:s?l.color.negative:void 0,children:L.jsx(GN,{hasBorder:e||s,src:a,alt:o,title:o,backgroundColor:l.background.content})})}),yC="Creevey_view_mode",fo=["side-by-side","swap","slide","blend"],KN=()=>{const e=localStorage.getItem(yC);return e&&fo.includes(e)?e:"side-by-side"},XN=D.div({marginTop:"24px"}),QN=$e(D.div(({theme:e})=>({marginTop:"8px",padding:"8px",background:`${e.background.negative}20`,color:e.color.negative,borderRadius:"2px",display:"flex",alignItems:"baseline","& svg":{margin:"0 5px",width:8,height:8},"& pre":{margin:"0 4px",padding:0,lineHeight:"22px"}}))),ZN=$e(D.div(({theme:e})=>({padding:"8px 32px",backgroundColor:`${e.color.positive}20`,color:e.color.positive,fontSize:"12px",textAlign:"center",fontWeight:"bold"}))),JN=D.h1({marginLeft:"44px",marginBottom:"8px"}),eL=$e(D.span(({theme:e})=>({padding:"0 8px",color:e.color.mediumdark}))),tL=D.div({display:"flex",margin:"16px 0 8px"});function rL({title:e,imageName:t,images:o={},errorMessage:a,showViewModes:l,viewMode:s,imagesWithError:f=[],onImageChange:c,onViewModeChange:d}){var E;const{isReport:h,isUpdateMode:y}=w.useContext($l),b=Object.entries(o),v=S=>{d(S)};w.useEffect(()=>{if(t===""){if(f.length>0){c(f[0]);return}const S=Object.keys(o).at(0);S&&c(S)}},[t,o,f,c]);const x=a||f.includes(t)?((E=o[t])==null?void 0:E.error)??a:null;return L.jsxs(XN,{children:[L.jsx(JN,{children:e.flatMap(S=>[S,L.jsx(eL,{children:"/"},S)]).slice(0,-1)}),x&&L.jsxs(QN,{children:[L.jsx(nC,{}),L.jsx("pre",{children:x})]}),b.length>1?L.jsx(tL,{children:b.map(([S,k])=>L.jsx(YN,{imageName:S,url:`${Fx(e,S,h)}/${k.actual}`,isActive:S===t,onClick:c,error:f.includes(S)},S))}):null,y&&L.jsx(ZN,{children:"Update Mode: Review and approve screenshots from previous test runs"}),l&&L.jsx(gm,{selected:s,actions:{onSelect:v},children:fo.map(S=>L.jsx("div",{id:S,title:S},S))})]})}function nL(e){const t=(a,l)=>{switch(a){case".":return L.jsx(fi,{disabled:!0,autoFocus:!1,content:"",nonce:"",rel:"",rev:"",children:"..."},`dots${l<5?"Left":"Right"}`);default:return L.jsx(fi,{rel:a,rev:a,autoFocus:!1,nonce:a,content:a,onClick:()=>{o(a)},active:e.activePage===a,children:a},a)}},o=a=>{const l=Number(a);1<=l&&a!==e.activePage&&l<=e.pagesCount&&e.onPageChange(l)};return L.jsx("div",{children:oL(e.activePage,e.pagesCount).map(t)})}function oL(e,t){const o=Number(e),a=[],l=Math.max(Math.min(o-2,t-4),1),s=Math.min(Math.max(5,o+2),t),f=l>3,c=f?l:1,d=s<t-2,h=d?s:t;f&&a.push("1",".");for(let y=c;y<=h;++y)a.push(`${y}`);return d&&a.push("."),d&&isFinite(t)&&a.push(`${t}`),a}const aL=$e(D.div(({theme:e})=>({display:"flex",padding:"24px 32px 20px",justifyContent:"space-between",background:e.background.content})));function iL({retriesCount:e,retry:t,onRetryChange:o}){return L.jsx(aL,{children:L.jsx(nL,{activePage:`${t}`,onPageChange:o,pagesCount:e})})}const lL=D.div({width:"100%",height:"100%",boxSizing:"border-box",display:"flex",flexDirection:"column"}),sL=D.div(({theme:e})=>({background:e.base=="light"?e.color.mediumlight:e.color.darker,flexGrow:1,padding:"20px 0"})),uL=D.div({position:"sticky",top:0,zIndex:1}),cL=D.div({flexGrow:1,minHeight:0}),fL=D.div({position:"sticky",bottom:0,zIndex:1}),dL=D.div(({height:e="100vh"})=>({height:e,width:"100%",overflowY:"hidden",display:"flex",flexDirection:"column"}));function pL({path:e,results:t=[],approved:o,theme:a,height:l,retry:s,imageName:f,onImageChange:c,onRetryChange:d}){var R;const h=t[s-1]??{},{isReport:y}=w.useContext($l),[b,v]=w.useState(KN()),x=Fx(e,f,y),E=(R=h.images)==null?void 0:R[f],S=!!(E&&(o==null?void 0:o[f])!=s-1&&h.status!="success"),k=S&&!!(E!=null&&E.diff&&E.expect),_=h.images?Object.keys(h.images).filter(O=>{var P,I;return h.status!="success"&&(o==null?void 0:o[O])!=s-1&&((I=(P=h.images)==null?void 0:P[O])==null?void 0:I.error)!=null}):[],A=w.useCallback(O=>{S&&O.code==="Tab"&&(O.preventDefault(),O.shiftKey?v(P=>fo.at((fo.indexOf(P)-1)%fo.length)):v(P=>fo.at((fo.indexOf(P)+1)%fo.length)))},[S]);return w.useEffect(()=>{localStorage.setItem(yC,b)},[b]),w.useEffect(()=>(document.addEventListener("keydown",A,!1),()=>{document.removeEventListener("keydown",A,!1)}),[A]),L.jsxs(dL,{height:l,children:[L.jsx(uL,{children:L.jsx(rL,{title:e,imageName:f,images:h.images,errorMessage:h.error,showViewModes:k,viewMode:b,onViewModeChange:v,onImageChange:c,imagesWithError:_})}),L.jsx(cL,{children:L.jsx(ii,{vertical:!0,children:L.jsx(lL,{children:L.jsx(sL,{theme:a,children:E?L.jsx(qN,{url:x,image:E,canApprove:S,mode:b}):L.jsx(SI,{children:`Image ${f} not found`})})})})}),t.length?L.jsx(fL,{children:L.jsx(iL,{retry:s,retriesCount:t.length,onRetryChange:d})}):null]})}const hL=$e(pL),gL=$e(D.span(({theme:e})=>({lineHeight:"10px",display:"inline-block",position:"relative",whiteSpace:"nowrap",background:e.base=="light"?e.color.mediumlight:e.color.darker,borderRadius:"3em",padding:2,verticalAlign:"middle",marginLeft:10,input:{appearance:"none",width:"100%",height:"100%",position:"absolute",left:0,top:0,margin:0,padding:0,border:"none",cursor:"pointer","&:focus":{outline:"none"}},span:{cursor:"pointer",display:"inline-block",transition:"all 100ms ease-out",userSelect:"none",borderRadius:"100%",background:e.background.bar,boxShadow:`${bp(.1,e.appBorderColor)} 0 0 2px`,color:e.color.defaultText,width:20,height:20,boxSizing:"border-box",lineHeight:"19px",textAlign:"center","&:hover":{boxShadow:`${bp(.3,e.appBorderColor)} 0 0 0 1px inset`},"&:active":{boxShadow:`${bp(.05,e.appBorderColor)} 0 0 0 2px inset`}},"input:checked ~ span":{marginLeft:20},"input:not(:checked) ~ span":{marginRight:20}}))),mL=({value:e,onChange:t})=>L.jsxs(gL,{children:[L.jsx("input",{type:"checkbox",onChange:()=>{t(!e)},checked:e??!1}),L.jsx("span",{children:e?"☪":"☀"})]}),bC="Creevey_theme";function vL(e){return xt(e)&&Object.prototype.hasOwnProperty.call(ac,e)}function yL(){const e=localStorage.getItem(bC);return vL(e)?e:"light"}function wC(){const[e,t]=w.useState(yL());return w.useEffect(()=>{localStorage.setItem(bC,e)},[e]),[e,t]}const bL=$e(D.div(({theme:e})=>({height:"100vh",display:"flex",background:e.background.content,color:e.color.defaultText}))),wL=D.div({zIndex:1,position:"absolute",right:10,top:10});function xL({api:e,initialState:t}){var he,de;const[o,a]=FO(t.tests),[l,s]=w.useState(t.isRunning),[f,c]=w.useState([]),[d,h]=w.useState({status:null,subStrings:[]}),[y,b]=wC(),v=n3(o,f),x=w.useMemo(()=>Ax(o),[o]),[E,S]=w.useState(((he=v==null?void 0:v.results)==null?void 0:he.length)??0),k=w.useMemo(()=>{var U;return(U=v==null?void 0:v.results)==null?void 0:U[E-1]},[v,E]),[_,A]=w.useState(Object.keys((k==null?void 0:k.images)??{})[0]??""),[R,O]=w.useState([]),P=w.useMemo(()=>{var U,J,Q;return!!((J=(U=v==null?void 0:v.results)==null?void 0:U[E-1])!=null&&J.images&&((Q=v.approved)==null?void 0:Q[_])!=E-1&&v.results[E-1].status!="success")},[_,v,E]);f.length>0&&!xt(v)&&c([]);const I=w.useCallback((U,J)=>{a(Q=>{tu(Q,U,J)})},[a]),T=w.useCallback((U,J)=>{a(Q=>{o3(Q,U,J)})},[a]),N=w.useCallback(U=>{const J=Ar(U);l3(J),O(J),a(Q=>{tu(Q,J,!0),c(J)})},[a]),B=w.useCallback(()=>{if(x.length==0)return;const U=x.findIndex(Q=>Q.id===(v==null?void 0:v.id)),J=Object.entries((k==null?void 0:k.images)??{}).filter(([Q,j])=>{var Z;return(j==null?void 0:j.error)!=null&&((Z=v==null?void 0:v.approved)==null?void 0:Z[Q])!=E-1&&(k==null?void 0:k.status)!="success"}).map(([Q])=>Q);if(J.length>1&&(x.length==1||J.indexOf(_)<J.length-1))A(Q=>J[J.indexOf(Q)+1]??J[0]);else{const Q=x[U+1]??x[0];N(Q)}},[x,N,v,E,k,_]),M=w.useCallback(()=>{const U=v==null?void 0:v.id;U&&(e==null||e.approve(U,E-1,_))},[e,_,v==null?void 0:v.id,E]),G=w.useCallback(()=>{M(),B()},[M,B]),ee=w.useCallback(()=>{e==null||e.approveAll()},[e]),se=w.useCallback(U=>e==null?void 0:e.start(fg(U).map(J=>J.id)),[e]),be=w.useCallback(()=>e==null?void 0:e.stop(),[e]),ie=w.useCallback(U=>{b(U?"dark":"light")},[b]);return w.useEffect(()=>{var Q,j;const U=((Q=v==null?void 0:v.results)==null?void 0:Q.length)??0,J=((j=v==null?void 0:v.results)==null?void 0:j[U-1])??{images:{}};A(Object.keys(J.images??{})[0]??""),S(U)},[v==null?void 0:v.results]),w.useEffect(()=>{window.addEventListener("popstate",U=>{a(J=>{const Q=U.state;if(Q&&typeof Q=="object"&&"testPath"in Q){const{testPath:j}=Q;Array.isArray(j)&&(tu(J,j,!0),c(j))}})}),a(U=>{const J=s3();tu(U,J,!0),c(J)})},[a]),w.useEffect(()=>e==null?void 0:e.onUpdate(({isRunning:U,tests:J,removedTests:Q=[]})=>{xt(U)&&s(U),xt(J)&&a(j=>{Object.values(J).forEach(Z=>{Z&&Px(j,Ar(Z),Z)}),Q.forEach(Z=>{Tx(j,Ar(Z))})})}),[e,a]),L.jsx($l.Provider,{value:{isReport:t.isReport,isRunning:l,onImageNext:P?B:void 0,onImageApprove:P?G:void 0,onApproveAll:ee,onStart:se,onStop:be,onSuiteOpen:I,onSuiteToggle:T,sidebarFocusedItem:R,setSidebarFocusedItem:O,isUpdateMode:t.isUpdateMode},children:L.jsx(Mw,{theme:vx(ac[y]),children:L.jsx(u3,{rootSuite:o,filter:d,children:L.jsxs(bL,{children:[L.jsx(EN,{rootSuite:o,testId:v==null?void 0:v.id,onOpenTest:N,filter:d,setFilter:h}),v&&L.jsx(hL,{path:f,results:v.results,approved:v.approved,retry:E,imageName:_,onImageChange:A,onRetryChange:S},`${v.id}_${((de=v.results)==null?void 0:de.length)??0}`),L.jsx(wL,{children:L.jsx(mL,{value:y=="dark",onChange:ie})})]})})})})}async function SL(){let e=gr,t=gr;const o=new Set;let a=null,l=gr,s=!1;const f=new WebSocket(`ws://${Ix()}`);function c(d){f.send(JSON.stringify(d))}return f.addEventListener("error",d=>{t(d)}),f.addEventListener("open",()=>{e({start(d){if(s){console.warn("Tests cannot be started in Update Mode. This mode is for approving screenshots only.");return}c({type:"start",payload:d})},stop(){if(s){console.warn("Tests cannot be stopped in Update Mode. This mode is for approving screenshots only.");return}c({type:"stop"})},approve(d,h,y){c({type:"approve",payload:{id:d,retry:h,image:y}})},approveAll(){c({type:"approveAll"})},onUpdate(d){return o.add(d),()=>o.delete(d)},get status(){return a||(c({type:"status"}),a=new Promise(d=>l=d))}})}),f.addEventListener("message",d=>{const h=JSON.parse(d.data);h.type=="update"&&o.forEach(y=>{y(h.payload)}),h.type=="status"&&(s=h.payload.isUpdateMode,l(h.payload),l=gr,a=null)}),new Promise((d,h)=>{e=d,t=h})}const EL=$e(D.div(({theme:e})=>({height:"100vh",width:"100vw",background:e.background.app}))),kL=$e(D.div(({size:e=32,theme:t})=>({borderRadius:"50%",cursor:"progress",display:"inline-block",overflow:"hidden",position:"absolute",transition:"all 200ms ease-out",verticalAlign:"top",top:"50%",left:"50%",marginTop:-(e/2),marginLeft:-(e/2),height:e,width:e,zIndex:4,borderWidth:2,borderStyle:"solid",borderColor:t.base==="light"?"rgba(97, 97, 97, 0.29)":"rgba(255, 255, 255, 0.2)",borderTopColor:t.base==="light"?"rgb(100,100,100)":"rgba(255, 255, 255, 0.4)",animation:`${CL} 0.7s linear infinite`,mixBlendMode:"difference"}))),CL=Tr`
|
|
512
512
|
from {
|
|
513
513
|
transform: rotate(0deg);
|
|
514
514
|
}
|
package/dist/server/docker.d.ts
CHANGED
package/dist/server/docker.js
CHANGED
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getDockerSocketPath = getDockerSocketPath;
|
|
6
7
|
exports.pullImages = pullImages;
|
|
7
8
|
exports.buildImage = buildImage;
|
|
8
9
|
exports.runImage = runImage;
|
|
@@ -10,9 +11,44 @@ const tar_stream_1 = __importDefault(require("tar-stream"));
|
|
|
10
11
|
const loglevel_1 = __importDefault(require("loglevel"));
|
|
11
12
|
const stream_1 = require("stream");
|
|
12
13
|
const dockerode_1 = __importDefault(require("dockerode"));
|
|
14
|
+
const fs_1 = require("fs");
|
|
15
|
+
const os_1 = require("os");
|
|
16
|
+
const path_1 = require("path");
|
|
13
17
|
const logger_js_1 = require("./logger.js");
|
|
14
18
|
const context_js_1 = require("./worker/context.js");
|
|
15
|
-
|
|
19
|
+
function findDockerSocket() {
|
|
20
|
+
// List of possible docker.sock locations in order of preference
|
|
21
|
+
const possiblePaths = [
|
|
22
|
+
// Standard Linux location
|
|
23
|
+
'/var/run/docker.sock',
|
|
24
|
+
// Docker Desktop for Mac
|
|
25
|
+
(0, path_1.join)((0, os_1.homedir)(), '.docker', 'run', 'docker.sock'),
|
|
26
|
+
// Colima
|
|
27
|
+
(0, path_1.join)((0, os_1.homedir)(), '.colima', 'default', 'docker.sock'),
|
|
28
|
+
(0, path_1.join)((0, os_1.homedir)(), '.colima', 'docker.sock'),
|
|
29
|
+
// Podman
|
|
30
|
+
'/run/podman/podman.sock',
|
|
31
|
+
...(process.env.XDG_RUNTIME_DIR ? [(0, path_1.join)(process.env.XDG_RUNTIME_DIR, 'podman', 'podman.sock')] : []),
|
|
32
|
+
// Rancher Desktop
|
|
33
|
+
(0, path_1.join)((0, os_1.homedir)(), '.rd', 'docker.sock'),
|
|
34
|
+
// Orbstack
|
|
35
|
+
(0, path_1.join)((0, os_1.homedir)(), '.orbstack', 'run', 'docker.sock'),
|
|
36
|
+
];
|
|
37
|
+
for (const socketPath of possiblePaths) {
|
|
38
|
+
if ((0, fs_1.existsSync)(socketPath)) {
|
|
39
|
+
(0, logger_js_1.logger)().debug(`Found Docker socket at: ${socketPath}`);
|
|
40
|
+
return socketPath;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// Fall back to default if no socket found
|
|
44
|
+
(0, logger_js_1.logger)().warn('No Docker socket found at known locations, using default /var/run/docker.sock');
|
|
45
|
+
return '/var/run/docker.sock';
|
|
46
|
+
}
|
|
47
|
+
const dockerSocketPath = findDockerSocket();
|
|
48
|
+
const docker = new dockerode_1.default({ socketPath: dockerSocketPath });
|
|
49
|
+
function getDockerSocketPath() {
|
|
50
|
+
return dockerSocketPath;
|
|
51
|
+
}
|
|
16
52
|
class DevNull extends stream_1.Writable {
|
|
17
53
|
_write(_chunk, _encoding, callback) {
|
|
18
54
|
setImmediate(callback);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/server/docker.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/server/docker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Browser, BrowserContext, Page } from 'playwright-core';
|
|
1
|
+
import { Browser, BrowserContext, Page, PageScreenshotOptions } from 'playwright-core';
|
|
2
2
|
import type { Args } from 'storybook/internal/types';
|
|
3
3
|
import { Config, StoriesRaw, StoryInput, StorybookGlobals } from '../../types';
|
|
4
4
|
export declare class InternalBrowser {
|
|
@@ -7,7 +7,7 @@ export declare class InternalBrowser {
|
|
|
7
7
|
get browser(): Page;
|
|
8
8
|
get sessionId(): string;
|
|
9
9
|
closeBrowser(): Promise<void>;
|
|
10
|
-
takeScreenshot(captureElement?: string | null, ignoreElements?: string | string[] | null): Promise<Buffer>;
|
|
10
|
+
takeScreenshot(captureElement?: string | null, ignoreElements?: string | string[] | null, options?: PageScreenshotOptions): Promise<Buffer>;
|
|
11
11
|
selectStory(id: string): Promise<void>;
|
|
12
12
|
updateStoryArgs(story: StoryInput, updatedArgs: Args): Promise<void>;
|
|
13
13
|
loadStoriesFromBrowser(): Promise<StoriesRaw>;
|
|
@@ -118,7 +118,7 @@ class InternalBrowser {
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
-
async takeScreenshot(captureElement, ignoreElements) {
|
|
121
|
+
async takeScreenshot(captureElement, ignoreElements, options) {
|
|
122
122
|
const ignore = Array.isArray(ignoreElements) ? ignoreElements : ignoreElements ? [ignoreElements] : [];
|
|
123
123
|
const mask = ignore.map((el) => this.#page.locator(el));
|
|
124
124
|
if (captureElement) {
|
|
@@ -130,10 +130,11 @@ class InternalBrowser {
|
|
|
130
130
|
style: ':root { overflow: hidden !important; }',
|
|
131
131
|
animations: 'disabled',
|
|
132
132
|
mask,
|
|
133
|
+
...options,
|
|
133
134
|
});
|
|
134
135
|
}
|
|
135
136
|
(0, logger_1.logger)().debug('Capturing viewport screenshot');
|
|
136
|
-
return this.#page.screenshot({ animations: 'disabled', mask });
|
|
137
|
+
return this.#page.screenshot({ animations: 'disabled', mask, ...options });
|
|
137
138
|
}
|
|
138
139
|
async selectStory(id) {
|
|
139
140
|
if (this.#shouldReinit) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/server/playwright/internal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/server/playwright/internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Args } from 'storybook/internal/types';
|
|
2
2
|
import type { Config, StoriesRaw, StoryInput } from '../../types';
|
|
3
3
|
import { CreeveyWebdriverBase } from '../webdriver';
|
|
4
|
+
import { PageScreenshotOptions } from 'playwright-core';
|
|
4
5
|
export declare class PlaywrightWebdriver extends CreeveyWebdriverBase {
|
|
5
6
|
#private;
|
|
6
7
|
constructor(browser: string, gridUrl: string, config: Config, debug: boolean);
|
|
@@ -10,7 +11,7 @@ export declare class PlaywrightWebdriver extends CreeveyWebdriverBase {
|
|
|
10
11
|
closeBrowser(): Promise<void>;
|
|
11
12
|
loadStoriesFromBrowser(): Promise<StoriesRaw>;
|
|
12
13
|
afterTest(): Promise<void>;
|
|
13
|
-
protected takeScreenshot(captureElement: string | null, ignoreElements?: string | string[] | null): Promise<Buffer>;
|
|
14
|
+
protected takeScreenshot(captureElement: string | null, ignoreElements?: string | string[] | null, options?: PageScreenshotOptions): Promise<Buffer>;
|
|
14
15
|
protected selectStory(id: string): Promise<void>;
|
|
15
16
|
protected updateStoryArgs(story: StoryInput, updatedArgs: Args): Promise<void>;
|
|
16
17
|
}
|
|
@@ -73,11 +73,11 @@ class PlaywrightWebdriver extends webdriver_1.CreeveyWebdriverBase {
|
|
|
73
73
|
afterTest() {
|
|
74
74
|
return Promise.resolve(undefined);
|
|
75
75
|
}
|
|
76
|
-
async takeScreenshot(captureElement, ignoreElements) {
|
|
76
|
+
async takeScreenshot(captureElement, ignoreElements, options) {
|
|
77
77
|
if (!this.#browser) {
|
|
78
78
|
throw new Error('Browser is not initialized');
|
|
79
79
|
}
|
|
80
|
-
return this.#browser.takeScreenshot(captureElement, ignoreElements);
|
|
80
|
+
return this.#browser.takeScreenshot(captureElement, ignoreElements, options);
|
|
81
81
|
}
|
|
82
82
|
async selectStory(id) {
|
|
83
83
|
if (!this.#browser) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../../../src/server/playwright/webdriver.ts"],"names":[],"mappings":";;;AAGA,sCAAmC;AACnC,0CAA0C;AAC1C,4CAAoD;
|
|
1
|
+
{"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../../../src/server/playwright/webdriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,12 +101,13 @@ async function startSelenoidContainer(config, debug) {
|
|
|
101
101
|
await (0, docker_js_1.pullImages)(images, pullOptions);
|
|
102
102
|
}
|
|
103
103
|
// TODO Allow pass custom options
|
|
104
|
+
const dockerSocketPath = (0, docker_js_1.getDockerSocketPath)();
|
|
104
105
|
const selenoidOptions = {
|
|
105
106
|
ExposedPorts: { '4444/tcp': {} },
|
|
106
107
|
HostConfig: {
|
|
107
108
|
PortBindings: { '4444/tcp': [{ HostPort: '4444' }] },
|
|
108
109
|
Binds: [
|
|
109
|
-
|
|
110
|
+
`${dockerSocketPath}:/var/run/docker.sock`,
|
|
110
111
|
`${await createSelenoidConfig(browsers, { useDocker: true })}:/etc/selenoid/:ro`,
|
|
111
112
|
],
|
|
112
113
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selenoid.js","sourceRoot":"","sources":["../../../src/server/selenium/selenoid.ts"],"names":[],"mappings":";;;;;AAkFA,0DA8BC;AAED,
|
|
1
|
+
{"version":3,"file":"selenoid.js","sourceRoot":"","sources":["../../../src/server/selenium/selenoid.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export declare function resolveStorybookUrl(storybookUrl: string, checkUrl: (url
|
|
|
6
6
|
export declare function appendIframePath(url: string): string;
|
|
7
7
|
export declare function getAddresses(): string[];
|
|
8
8
|
export declare abstract class CreeveyWebdriverBase implements CreeveyWebdriver {
|
|
9
|
-
protected abstract takeScreenshot(captureElement: string | null, ignoreElements?: string | string[] | null): Promise<Buffer>;
|
|
9
|
+
protected abstract takeScreenshot(captureElement: string | null, ignoreElements?: string | string[] | null, options?: any): Promise<Buffer>;
|
|
10
10
|
protected abstract selectStory(id: string): Promise<void>;
|
|
11
11
|
protected abstract updateStoryArgs(story: StoryInput, updatedArgs: Args): Promise<void>;
|
|
12
12
|
abstract getSessionId(): Promise<string>;
|
package/dist/server/webdriver.js
CHANGED
|
@@ -46,7 +46,8 @@ class CreeveyWebdriverBase {
|
|
|
46
46
|
(0, logger_js_1.logger)().debug(`Switching to story ${chalk_1.default.cyan(title)}/${chalk_1.default.cyan(name)} by id ${chalk_1.default.magenta(id)}`);
|
|
47
47
|
await this.selectStory(id);
|
|
48
48
|
return Object.assign({
|
|
49
|
-
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
|
+
takeScreenshot: (options) => this.takeScreenshot(captureElement, ignoreElements, options),
|
|
50
51
|
updateStoryArgs: (updatedArgs) => this.updateStoryArgs(story, updatedArgs),
|
|
51
52
|
captureElement,
|
|
52
53
|
}, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../../src/server/webdriver.ts"],"names":[],"mappings":";;;;;;AAmBA,kDAkBC;AAED,4CAEC;AAED,oCAOC;AAlDD,kDAA0B;AAC1B,2BAAuC;AACvC,2CAAqC;AAErC,0CASqB;AAER,QAAA,eAAe,GAAG,gBAAgB,CAAC;AACnC,QAAA,gBAAgB,GAAG,2BAA2B,CAAC;AAC5D,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAExC,KAAK,UAAU,mBAAmB,CACvC,YAAoB,EACpB,QAA2C;IAE3C,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,yBAAyB;IACzB,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,wBAAgB,EAAE,EAAE,CAAC,CAAC;QAC/D,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,sCAAsC,eAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACnF,IAAI,MAAM,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,IAAA,kBAAM,GAAE,CAAC,KAAK,CAAC,0BAA0B,eAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvE,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;IAC7G,KAAK,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAC/B,MAAM,KAAK,CAAC;AACd,CAAC;AAED,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC;AACjD,CAAC;AAED,SAAgB,YAAY;IAC1B,+BAA+B;IAC/B,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CAC7B,GAAG,MAAM,CAAC,MAAM,CAAC,IAAA,sBAAiB,GAAE,CAAC;SAClC,MAAM,CAAC,oBAAS,CAAC;SACjB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CACjG,CAAC;AACJ,CAAC;AAED,MAAsB,oBAAoB;
|
|
1
|
+
{"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../../src/server/webdriver.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -437,7 +437,7 @@ export interface BaseCreeveyTestContext {
|
|
|
437
437
|
matchImages: (images: Record<string, Buffer | string>) => Promise<void>;
|
|
438
438
|
}
|
|
439
439
|
export interface CreeveyTestContext extends BaseCreeveyTestContext {
|
|
440
|
-
takeScreenshot: () => Promise<Buffer>;
|
|
440
|
+
takeScreenshot: (options?: any) => Promise<Buffer>;
|
|
441
441
|
updateStoryArgs: (updatedArgs: Record<string, unknown>) => Promise<void>;
|
|
442
442
|
captureElement: string | null;
|
|
443
443
|
}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA4kBA,oBAEC;AAED,8BAEC;AAED,wBASC;AAED,4BAEC;AAED,4BAEC;AAGD,gCAEC;AAED,oCAEC;AAED,4CAEC;AAED,0CAEC;AAED,4CAEC;AAED,sCAEC;AAjmBD,IAAY,eAUX;AAVD,WAAY,eAAe;IACzB,6CAA0B,CAAA;IAC1B,wDAAqC,CAAA;IACrC,iDAA8B,CAAA;IAC9B,mDAAgC,CAAA;IAChC,iDAA8B,CAAA;IAC9B,gEAA6C,CAAA;IAC7C,wDAAqC,CAAA;IACrC,6CAA0B,CAAA;IAC1B,mDAAgC,CAAA;AAClC,CAAC,EAVW,eAAe,+BAAf,eAAe,QAU1B;AA+XD,MAAa,WAAY,SAAQ,KAAK;IACpC,MAAM,CAA4C;CACnD;AAFD,kCAEC;AAyCD,IAAY,WASX;AATD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;IACf,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;IACvB,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;IACrB,iCAAkB,CAAA;IAClB,iCAAkB,CAAA;AACpB,CAAC,EATW,WAAW,2BAAX,WAAW,QAStB;AAkHD,SAAgB,IAAI;IAClB,UAAU;AACZ,CAAC;AAED,SAAgB,SAAS,CAAI,KAA2B;IACtD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAC/C,CAAC;AAED,SAAgB,MAAM,CAAC,CAA8B;IACnD,OAAO,CACL,SAAS,CAAC,CAAC,CAAC;QACZ,QAAQ,CAAC,CAAC,CAAC;QACX,IAAI,IAAI,CAAC;QACT,SAAS,IAAI,CAAC;QACd,OAAO,CAAC,CAAC,EAAE,IAAI,QAAQ;QACvB,OAAO,CAAC,CAAC,OAAO,IAAI,QAAQ,CAC7B,CAAC;AACJ,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAU;IACjC,OAAO,OAAO,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC;AAC3C,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAU;IACjC,OAAO,OAAO,CAAC,IAAI,QAAQ,CAAC;AAC9B,CAAC;AAED,8DAA8D;AAC9D,SAAgB,UAAU,CAAC,CAAU;IACnC,OAAO,OAAO,CAAC,IAAI,UAAU,CAAC;AAChC,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,YAAY,WAAW,IAAI,QAAQ,IAAI,KAAK,CAAC;AAC3D,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC;AACjD,CAAC;AAED,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;AAChE,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;AACjE,CAAC;AAED,SAAgB,aAAa,CAAC,OAAgB;IAC5C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;AAC9D,CAAC"}
|
package/package.json
CHANGED
|
@@ -76,7 +76,13 @@ export const ImagePreview = withTheme(
|
|
|
76
76
|
onClick={handleClick}
|
|
77
77
|
borderColor={isActive ? theme.barSelectedColor : error ? theme.color.negative : undefined}
|
|
78
78
|
>
|
|
79
|
-
<Image
|
|
79
|
+
<Image
|
|
80
|
+
hasBorder={isActive || error}
|
|
81
|
+
src={url}
|
|
82
|
+
alt={imageName}
|
|
83
|
+
title={imageName}
|
|
84
|
+
backgroundColor={theme.background.content}
|
|
85
|
+
/>
|
|
80
86
|
</Button>
|
|
81
87
|
);
|
|
82
88
|
},
|
package/src/server/docker.ts
CHANGED
|
@@ -2,11 +2,50 @@ import tar from 'tar-stream';
|
|
|
2
2
|
import Logger from 'loglevel';
|
|
3
3
|
import { Writable } from 'stream';
|
|
4
4
|
import Dockerode, { Container } from 'dockerode';
|
|
5
|
+
import { existsSync } from 'fs';
|
|
6
|
+
import { homedir } from 'os';
|
|
7
|
+
import { join } from 'path';
|
|
5
8
|
import { DockerAuth } from '../types.js';
|
|
6
9
|
import { logger } from './logger.js';
|
|
7
10
|
import { setWorkerContainer } from './worker/context.js';
|
|
8
11
|
|
|
9
|
-
|
|
12
|
+
function findDockerSocket(): string {
|
|
13
|
+
// List of possible docker.sock locations in order of preference
|
|
14
|
+
const possiblePaths = [
|
|
15
|
+
// Standard Linux location
|
|
16
|
+
'/var/run/docker.sock',
|
|
17
|
+
// Docker Desktop for Mac
|
|
18
|
+
join(homedir(), '.docker', 'run', 'docker.sock'),
|
|
19
|
+
// Colima
|
|
20
|
+
join(homedir(), '.colima', 'default', 'docker.sock'),
|
|
21
|
+
join(homedir(), '.colima', 'docker.sock'),
|
|
22
|
+
// Podman
|
|
23
|
+
'/run/podman/podman.sock',
|
|
24
|
+
...(process.env.XDG_RUNTIME_DIR ? [join(process.env.XDG_RUNTIME_DIR, 'podman', 'podman.sock')] : []),
|
|
25
|
+
// Rancher Desktop
|
|
26
|
+
join(homedir(), '.rd', 'docker.sock'),
|
|
27
|
+
// Orbstack
|
|
28
|
+
join(homedir(), '.orbstack', 'run', 'docker.sock'),
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
for (const socketPath of possiblePaths) {
|
|
32
|
+
if (existsSync(socketPath)) {
|
|
33
|
+
logger().debug(`Found Docker socket at: ${socketPath}`);
|
|
34
|
+
return socketPath;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Fall back to default if no socket found
|
|
39
|
+
logger().warn('No Docker socket found at known locations, using default /var/run/docker.sock');
|
|
40
|
+
return '/var/run/docker.sock';
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const dockerSocketPath = findDockerSocket();
|
|
44
|
+
const docker = new Dockerode({ socketPath: dockerSocketPath });
|
|
45
|
+
|
|
46
|
+
export function getDockerSocketPath(): string {
|
|
47
|
+
return dockerSocketPath;
|
|
48
|
+
}
|
|
10
49
|
|
|
11
50
|
class DevNull extends Writable {
|
|
12
51
|
_write(_chunk: unknown, _encoding: BufferEncoding, callback: (error?: Error | null) => void): void {
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
BrowserContextOptions,
|
|
7
7
|
BrowserType,
|
|
8
8
|
Page,
|
|
9
|
+
PageScreenshotOptions,
|
|
9
10
|
chromium,
|
|
10
11
|
firefox,
|
|
11
12
|
webkit,
|
|
@@ -140,7 +141,11 @@ export class InternalBrowser {
|
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
143
|
|
|
143
|
-
async takeScreenshot(
|
|
144
|
+
async takeScreenshot(
|
|
145
|
+
captureElement?: string | null,
|
|
146
|
+
ignoreElements?: string | string[] | null,
|
|
147
|
+
options?: PageScreenshotOptions,
|
|
148
|
+
): Promise<Buffer> {
|
|
144
149
|
const ignore = Array.isArray(ignoreElements) ? ignoreElements : ignoreElements ? [ignoreElements] : [];
|
|
145
150
|
const mask = ignore.map((el) => this.#page.locator(el));
|
|
146
151
|
if (captureElement) {
|
|
@@ -152,10 +157,11 @@ export class InternalBrowser {
|
|
|
152
157
|
style: ':root { overflow: hidden !important; }',
|
|
153
158
|
animations: 'disabled',
|
|
154
159
|
mask,
|
|
160
|
+
...options,
|
|
155
161
|
});
|
|
156
162
|
}
|
|
157
163
|
logger().debug('Capturing viewport screenshot');
|
|
158
|
-
return this.#page.screenshot({ animations: 'disabled', mask });
|
|
164
|
+
return this.#page.screenshot({ animations: 'disabled', mask, ...options });
|
|
159
165
|
}
|
|
160
166
|
|
|
161
167
|
async selectStory(id: string): Promise<void> {
|
|
@@ -5,6 +5,7 @@ import { logger } from '../logger';
|
|
|
5
5
|
import { subscribeOn } from '../messages';
|
|
6
6
|
import { CreeveyWebdriverBase } from '../webdriver';
|
|
7
7
|
import type { InternalBrowser } from './internal';
|
|
8
|
+
import { PageScreenshotOptions } from 'playwright-core';
|
|
8
9
|
|
|
9
10
|
export class PlaywrightWebdriver extends CreeveyWebdriverBase {
|
|
10
11
|
#browser: InternalBrowser | null = null;
|
|
@@ -91,12 +92,13 @@ export class PlaywrightWebdriver extends CreeveyWebdriverBase {
|
|
|
91
92
|
protected async takeScreenshot(
|
|
92
93
|
captureElement: string | null,
|
|
93
94
|
ignoreElements?: string | string[] | null,
|
|
95
|
+
options?: PageScreenshotOptions,
|
|
94
96
|
): Promise<Buffer> {
|
|
95
97
|
if (!this.#browser) {
|
|
96
98
|
throw new Error('Browser is not initialized');
|
|
97
99
|
}
|
|
98
100
|
|
|
99
|
-
return this.#browser.takeScreenshot(captureElement, ignoreElements);
|
|
101
|
+
return this.#browser.takeScreenshot(captureElement, ignoreElements, options);
|
|
100
102
|
}
|
|
101
103
|
|
|
102
104
|
protected async selectStory(id: string): Promise<void> {
|
|
@@ -5,7 +5,7 @@ import { mkdir, writeFile, copyFile } from 'fs/promises';
|
|
|
5
5
|
import { exec, chmod } from 'shelljs';
|
|
6
6
|
import { Config, BrowserConfigObject } from '../../types.js';
|
|
7
7
|
import { downloadBinary, getCreeveyCache, killTree } from '../utils.js';
|
|
8
|
-
import { pullImages, runImage } from '../docker.js';
|
|
8
|
+
import { pullImages, runImage, getDockerSocketPath } from '../docker.js';
|
|
9
9
|
import { subscribeOn } from '../messages.js';
|
|
10
10
|
import { removeWorkerContainer } from '../worker/context.js';
|
|
11
11
|
|
|
@@ -137,12 +137,13 @@ export async function startSelenoidContainer(config: Config, debug: boolean): Pr
|
|
|
137
137
|
}
|
|
138
138
|
|
|
139
139
|
// TODO Allow pass custom options
|
|
140
|
+
const dockerSocketPath = getDockerSocketPath();
|
|
140
141
|
const selenoidOptions = {
|
|
141
142
|
ExposedPorts: { '4444/tcp': {} },
|
|
142
143
|
HostConfig: {
|
|
143
144
|
PortBindings: { '4444/tcp': [{ HostPort: '4444' }] },
|
|
144
145
|
Binds: [
|
|
145
|
-
|
|
146
|
+
`${dockerSocketPath}:/var/run/docker.sock`,
|
|
146
147
|
`${await createSelenoidConfig(browsers, { useDocker: true })}:/etc/selenoid/:ro`,
|
|
147
148
|
],
|
|
148
149
|
},
|
package/src/server/webdriver.ts
CHANGED
|
@@ -54,6 +54,8 @@ export abstract class CreeveyWebdriverBase implements CreeveyWebdriver {
|
|
|
54
54
|
protected abstract takeScreenshot(
|
|
55
55
|
captureElement: string | null,
|
|
56
56
|
ignoreElements?: string | string[] | null,
|
|
57
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
58
|
+
options?: any,
|
|
57
59
|
): Promise<Buffer>;
|
|
58
60
|
|
|
59
61
|
protected abstract selectStory(id: string): Promise<void>;
|
|
@@ -80,7 +82,8 @@ export abstract class CreeveyWebdriverBase implements CreeveyWebdriver {
|
|
|
80
82
|
|
|
81
83
|
return Object.assign(
|
|
82
84
|
{
|
|
83
|
-
|
|
85
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
86
|
+
takeScreenshot: (options?: any) => this.takeScreenshot(captureElement, ignoreElements, options),
|
|
84
87
|
updateStoryArgs: (updatedArgs: Args) => this.updateStoryArgs(story, updatedArgs),
|
|
85
88
|
captureElement,
|
|
86
89
|
},
|
package/src/types.ts
CHANGED
|
@@ -457,7 +457,8 @@ export interface BaseCreeveyTestContext {
|
|
|
457
457
|
}
|
|
458
458
|
|
|
459
459
|
export interface CreeveyTestContext extends BaseCreeveyTestContext {
|
|
460
|
-
|
|
460
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
461
|
+
takeScreenshot: (options?: any) => Promise<Buffer>;
|
|
461
462
|
updateStoryArgs: (updatedArgs: Record<string, unknown>) => Promise<void>;
|
|
462
463
|
captureElement: string | null;
|
|
463
464
|
}
|