UNPKG

@techdocs/cli

Version:

Utility CLI for managing TechDocs sites in Backstage.

2 lines • 11.8 kB
"use strict";(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([["4591"],{69890(e,t,n){n.d(t,{RealLogViewer:()=>q});var r=n(31085),i=n(77125),l=n(29365),s=n(99594),o=n(53373),a=n.n(o),d=n(14041),c=n(18690),u=n(19686),h=n(84392);let g=(0,n(84774).A)(),f=/\n\r?/g,m=Object.fromEntries(Object.entries({1:e=>({...e,bold:!0}),3:e=>({...e,italic:!0}),4:e=>({...e,underline:!0}),22:({bold:e,...t})=>t,23:({italic:e,...t})=>t,24:({underline:e,...t})=>t,30:e=>({...e,foreground:"black"}),31:e=>({...e,foreground:"red"}),32:e=>({...e,foreground:"green"}),33:e=>({...e,foreground:"yellow"}),34:e=>({...e,foreground:"blue"}),35:e=>({...e,foreground:"magenta"}),36:e=>({...e,foreground:"cyan"}),37:e=>({...e,foreground:"white"}),39:({foreground:e,...t})=>t,90:e=>({...e,foreground:"grey"}),40:e=>({...e,background:"black"}),41:e=>({...e,background:"red"}),42:e=>({...e,background:"green"}),43:e=>({...e,background:"yellow"}),44:e=>({...e,background:"blue"}),45:e=>({...e,background:"magenta"}),46:e=>({...e,background:"cyan"}),47:e=>({...e,background:"white"}),49:({background:e,...t})=>t}).map(([e,t])=>[`\x1b[${e}m`,t]));class p{text;lineNumber;chunks;constructor(e=1,t=[]){this.lineNumber=e,this.chunks=t,this.text=t.map(e=>e.text).join("").toLocaleLowerCase("en-US")}lastChunk(){return this.chunks[this.chunks.length-1]}replaceLastChunk(e){e&&(this.chunks.splice(this.chunks.length-1,1,...e),this.text=this.chunks.map(e=>e.text).join("").toLocaleLowerCase("en-US"))}}class x{text="";lines=[];process(e){if(this.text===e)return this.lines;if(this.text&&e.startsWith(this.text)){let t=this.lines.length>0?this.lines.length-1:0,n=this.lines[t]??new p,r=n.lastChunk(),i=this.processLines((r?.text??"")+e.slice(this.text.length),r?.modifiers,n?.lineNumber);n.replaceLastChunk(i[0]?.chunks),this.lines[t]=n,this.lines=this.lines.concat(i.slice(1))}else this.lines=this.processLines(e);return this.text=e,this.lines}processLines=(e,t={},n=1)=>{let r=[],i=t,l=n,s=0;for(f.lastIndex=0;;){let t=f.exec(e);if(!t){let t=this.processText(e.slice(s),i);return r.push(new p(l,t)),r}let n=e.slice(s,t.index);s=t.index+t[0].length;let o=this.processText(n,i);r.push(new p(l,o)),i=o[o.length-1].modifiers??i,l+=1}};processText=(e,t)=>{let n=[],r=t,i=0;for(g.lastIndex=0;;){let t=g.exec(e);if(!t)return n.push({text:e.slice(i),modifiers:r}),n;let l=e.slice(i,t.index);n.push({text:l,modifiers:r}),i=t.index+t[0].length,r=this.processCode(t[0],r)}};processCode=(e,t)=>m[e]?.(t)??t}var k=n(95479),b=n.n(k),A=n(60075),y=n(60603);let j=({attributes:e,content:t})=>{let{href:n,...i}=e;return(0,r.jsx)(y.N_,{to:n,...i,children:t})};function w({line:e,classes:t,searchText:n,highlightResultIndex:i,setRowHeight:l}){let s=(0,d.useRef)(null),o=(0,d.useMemo)(()=>(function(e,t){let n=function(e,t){if(!t||!e.includes(t))return;let n=[],r=0;for(;;){let i=e.indexOf(t,r);if(-1===i)break;let l=i+t.length;n.push({start:i,end:l}),r=l}return n}(e.text,t);if(!n)return e.chunks;let r=[],i=0,l=0,s=n[0];for(let t of e.chunks){let{text:e,modifiers:o}=t;if(!s||i+e.length<s.start){r.push(t),i+=e.length;continue}let a=0;for(;s;){let t=Math.max(s.start-i,0);if(t>e.length)break;let d=Math.min(s.end-i,e.length);if(t>a&&r.push({text:e.slice(a,t),modifiers:o}),d>t&&r.push({modifiers:o,highlight:l,text:e.slice(t,d)}),a=d,s.end-i===d)l+=1,s=n[l];else break}a<e.length&&r.push({text:e.slice(a),modifiers:o}),i+=e.length}return r})(e,n),[e,n]);(0,d.useEffect)(()=>{s.current&&l&&l(e.lineNumber,s.current.offsetHeight)},[e.lineNumber,l]);let c=(0,d.useMemo)(()=>o.map(({text:e,modifiers:n,highlight:s},o)=>(0,r.jsx)("span",{className:a()(function(e,t){let n=[];if(t.bold&&n.push(e.modifierBold),t.italic&&n.push(e.modifierItalic),t.underline&&n.push(e.modifierUnderline),t.foreground){let r=`modifierForeground${b()(t.foreground)}`;n.push(e[r])}if(t.background){let r=`modifierBackground${b()(t.background)}`;n.push(e[r])}return n.length>0?n.join(" "):void 0}(t,n),void 0!==s&&(s===i?t.textSelectedHighlight:t.textHighlight),{[t.textWrap]:!!l}),children:(0,r.jsx)(A.A,{options:{render:j},children:e})},o)),[o,i,t,l]);return(0,r.jsx)("span",{ref:s,children:c})}var S=n(89595),C=n(16249),L=n(72501),B=n(68887),v=n(63798),N=n(65859),I=n(12326),M=n(71677),F=n(89332);function E(e){let{t}=(0,S.i)(F.O),{resultCount:n,resultIndexStep:i,toggleShouldFilter:s}=e,o=e.resultIndex??0;return(0,r.jsxs)(r.Fragment,{children:[void 0!==n&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.A,{size:"small",onClick:()=>i(!0),children:(0,r.jsx)(B.default,{})}),(0,r.jsxs)(L.A,{children:[Math.min(o+1,n),"/",n]}),(0,r.jsx)(l.A,{size:"small",onClick:()=>i(),children:(0,r.jsx)(v.default,{})})]}),(0,r.jsx)(C.A,{size:"small",variant:"standard",placeholder:t("logViewer.searchField.placeholder"),value:e.searchInput,onKeyPress:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey||e.altKey?s():i(e.shiftKey))},onChange:t=>e.setSearchInput(t.target.value)}),(0,r.jsx)(l.A,{size:"small",onClick:s,children:e.shouldFilter?(0,r.jsx)(N.default,{color:"primary"}):(0,r.jsx)(N.default,{color:"disabled"})}),e?.onDownloadLog?(0,r.jsx)(M.Ay,{title:t("logViewer.downloadBtn.tooltip"),children:(0,r.jsx)(l.A,{size:"small",onClick:e.onDownloadLog,children:(0,r.jsx)(I.default,{})})}):null]})}var R=n(58837),z=n(268),H=n(4499),T=n(95186),_=n(38084),K=n(54024),$=n(40935),D=n(85229),W=n(42020),O=n(6456);let G=(0,R.A)(e=>({root:{background:e.palette.background.paper},header:{height:40,display:"flex",alignItems:"center",justifyContent:"flex-end"},log:{fontFamily:'"Monaco", monospace',fontSize:e.typography.pxToRem(12),lineHeight:"20px"},line:{position:"relative",whiteSpace:"pre",display:"flex",alignItems:"flex-start","&:hover":{background:e.palette.action.hover}},lineSelected:{background:e.palette.action.selected,"&:hover":{background:e.palette.action.selected}},lineCopyButton:{position:"absolute",paddingTop:0,paddingBottom:0,"&:hover":{color:e.palette.linkHover}},lineNumber:{display:"inline-block",textAlign:"end",width:60,paddingRight:e.spacing(1),marginRight:e.spacing(1),cursor:"pointer",flexShrink:0,color:H.A["300"],borderRight:`1px solid ${H.A["700"]}`},textHighlight:{background:(0,z.X4)(e.palette.info.main,.15)},textSelectedHighlight:{background:(0,z.X4)(e.palette.info.main,.4)},modifierBold:{fontWeight:e.typography.fontWeightBold},modifierItalic:{fontStyle:"italic"},modifierUnderline:{textDecoration:"underline"},modifierForegroundBlack:{color:T.A.black},modifierForegroundRed:{color:_.A["500"]},modifierForegroundGreen:{color:K.A["500"]},modifierForegroundYellow:{color:$.A["500"]},modifierForegroundBlue:{color:H.A["500"]},modifierForegroundMagenta:{color:D.A["500"]},modifierForegroundCyan:{color:W.A["500"]},modifierForegroundWhite:{color:T.A.white},modifierForegroundGrey:{color:O.A["500"]},modifierBackgroundBlack:{background:T.A.black},modifierBackgroundRed:{background:_.A["500"]},modifierBackgroundGreen:{background:K.A["500"]},modifierBackgroundYellow:{background:$.A["500"]},modifierBackgroundBlue:{background:H.A["500"]},modifierBackgroundMagenta:{background:D.A["500"]},modifierBackgroundCyan:{background:W.A["500"]},modifierBackgroundWhite:{background:T.A.white},modifierBackgroundGrey:{background:O.A["500"]},textWrap:{whiteSpace:"pre-wrap",wordBreak:"break-all"}}),{name:"BackstageLogViewer"});var U=n(54633),V=n(50509),X=n(151),Y=n(11688),P=n(38097);function q(e){let t=G({classes:e.classes}),[n,o]=(0,d.useState)(null),g=e.textWrap??!1,f=(0,d.useRef)({}),m=(0,d.useMemo)(()=>new x,[]).process(e.text),[p,k]=(0,d.useState)(!1),b=function(e){let[t,n]=(0,d.useState)(""),r=t.toLocaleLowerCase("en-US"),[i,l]=(0,d.useState)(0),[s,o]=(0,U.e)(!1),a=(0,d.useMemo)(()=>(function(e,t){if(!t)return{lines:e};let n=[],r=[];for(let i of e)if(i.text.includes(t)){n.push(i);let e=0,l=0;for(;;){let n=i.text.indexOf(t,e);if(-1===n)break;r.push({lineNumber:i.lineNumber,lineIndex:l++}),e=n+t.length}}return{lines:n,results:r}})(e,r),[e,r]),c=a.results?a.results[Math.min(i,a.results.length-1)]:void 0,u=a.results?.length;return{lines:s?a.lines:e,searchText:r,searchInput:t,setSearchInput:n,shouldFilter:s,toggleShouldFilter:o,resultCount:u,resultIndex:i,resultIndexStep:e=>{if(e){if(void 0!==u){let e=Math.min(i-1,u-2);l(e<0?u-1:e)}}else if(void 0!==u){let e=i+1;l(e>=u?0:e)}},resultLine:c?.lineNumber,resultLineIndex:c?.lineIndex}}(m),A=function(e){let t=(0,V.gf)(X.m),[n,r]=(0,d.useState)([]),[{error:i},l]=(0,Y.A)();(0,d.useEffect)(()=>{i&&t.post(i)},[i,t]);let s=(e,t)=>{let n=e.filter(e=>e.start-1===t||e.end+1===t);if(0===n.length)return e;let r={start:Math.min(t,...n.map(e=>e.start)),end:Math.max(t,...n.map(e=>e.end))};return[...e.filter(e=>!n.includes(e)&&(e.start!==t||e.end!==t)),r]};return{shouldShowCopyButton:e=>n.some(t=>t.start===e),isSelected:e=>!!n&&n.some(t=>t.start<=e&&(t.end??t.start)>=e),setSelection(e,t,i){r(r=>{let l=r.find(t=>t.start<=e&&t.end>=e),o=r.filter(e=>e!==l);if(!t&&!i)return l&&l.start===l.end?[]:[{start:e,end:e}];if(t){if(0===r.length)return[{start:e,end:e}];if(l)return l.start===l.end?o:[...o,{start:l.start,end:e}];let t=((e,t)=>{let r;if(0===n.length)return;let i=Number.MAX_SAFE_INTEGER;return e.forEach(e=>{let n=Math.min(Math.abs(e.start-t),Math.abs(e.end-t));n<i&&(i=n,r=e)}),r})(r,e);return t?t.start<e?s([...o.filter(e=>e!==t),{start:t.start,end:e}],e):s([...o.filter(e=>e!==t),{start:e,end:t.end}],e):r}return i?l?l.start===l.end?o:[...o,...l.start<e?[{start:l.start,end:e-1}]:[],...l.end>e?[{start:e+1,end:l.end}]:[]]:s([...r,{start:e,end:e}],e):[]})},copySelection(t){let r=n.find(e=>e.start===t);r&&l(e.slice(r.start-1,r.end).map(e=>e.chunks.map(e=>e.text).join("")).join("\n"))},getHash(){if(0===n.length)return"";let e=n.map(e=>e.start===e.end?`${e.start}`:`${e.start}-${e.end}`);return`#lines-${e.join(",")}`},selectAll(e){let t=e.match(/#lines-([\d,-]+)/),n=[];t&&t[1].split(",").forEach(e=>{let[t,r]=e.split("-").map(Number);n.push({start:t,end:r??t})}),r(n)}}}(m),y=(0,c.useLocation)();(0,d.useEffect)(()=>{n&&n.scrollToItem(m.length-1,"end")},[n,m]),(0,d.useEffect)(()=>{n&&(b.resultLine?n.scrollToItem(b.resultLine-1,"center"):n.scrollToItem(m.length-1,"end"))},[n,b.resultLine,m]),(0,d.useEffect)(()=>{let e=A.getHash();e.length>0&&history.replaceState(null,"",e)},[A]),(0,d.useEffect)(()=>{y.hash&&A.selectAll(y.hash)},[]);let j=(e,t)=>{t.preventDefault(),A.setSelection(e,t.shiftKey,t.metaKey||t.ctrlKey)};function S(e,t){g&&n&&(n.resetAfterIndex(0),f.current[e-1]=t)}function C(e){return f.current[e]||20}return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u.Ay,{children:({height:n,width:d})=>{let c={ref:o,className:t.log,height:(n||480)-40,width:d||640,itemData:b.lines,itemCount:b.lines.length},u=({index:e,style:n,data:o})=>{let d=o[e],{lineNumber:c}=d;return(0,r.jsxs)(i.A,{style:{...n},className:a()(t.line,{[t.lineSelected]:A.isSelected(c)}),children:[A.shouldShowCopyButton(c)&&(0,r.jsx)(l.A,{"data-testid":"copy-button",size:"small",className:t.lineCopyButton,onClick:()=>{A.copySelection(c),k(!0)},children:(0,r.jsx)(s.default,{fontSize:"inherit"})}),(0,r.jsx)("a",{role:"row",target:"_self",href:`#line-${c}`,className:t.lineNumber,onClick:e=>j(c,e),onKeyPress:e=>j(c,e),children:c}),(0,r.jsx)(w,{setRowHeight:g?S:void 0,line:d,classes:t,searchText:b.searchText,highlightResultIndex:b.resultLine===c?b.resultLineIndex:void 0})]})};return(0,r.jsxs)(i.A,{style:{width:d,height:n},className:t.root,children:[(0,r.jsx)(i.A,{className:t.header,children:(0,r.jsx)(E,{...b,onDownloadLog:e.onDownloadLog})}),g?(0,r.jsx)(h._m,{...c,itemSize:C,children:u}):(0,r.jsx)(h.Y1,{...c,itemSize:20,children:u})]})}}),(0,r.jsx)(P.A,{open:p,autoHideDuration:3e3,onClose:()=>k(!1),message:"Lines copied to clipboard",anchorOrigin:{vertical:"bottom",horizontal:"center"}})]})}}}]); //# sourceMappingURL=4591.b5ae39667626.chunk.js.map