UNPKG

@techdocs/cli

Version:

Utility CLI for managing TechDocs sites in Backstage.

6 lines (5 loc) • 16.3 kB
"use strict";(()=>{(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([[8384],{52235:(I,u,t)=>{var e,p=t(4293),y=t(78920);e={value:!0},u.A=void 0;var f=y(t(14041)),v=p(t(74044)),g=(0,v.default)(f.createElement("path",{d:"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"}),"ArrowForward");u.A=g},48514:(I,u,t)=>{t.d(u,{M:()=>g});var e=t(31085),p=t(58837),y=t(71677),f=t(72501);const v=(0,p.A)({container:{overflow:"visible !important"},typo:{fontSize:"inherit",overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box","-webkit-line-clamp":({line:l})=>l||1,"-webkit-box-orient":"vertical"}},{name:"BackstageOverflowTooltip"});function g(l){const R=v(l);return(0,e.jsx)(y.Ay,{title:l.title??(l.text||""),placement:l.placement,children:(0,e.jsx)(f.A,{className:R.typo,variant:"inherit",children:l.text})})}},48045:(I,u,t)=>{t.d(u,{n:()=>B});var e=t(31085),p=t(40703),y=t(59469),f=t(48653),v=t(45685),g=t(37197),l=t(58837),R=t(87051),r=t(53373),S=t.n(r),a=t(10394),d=t(72501),C=t(52235),i=t(72072);const h=(0,l.A)(n=>({root:{maxWidth:"fit-content",padding:n.spacing(2,2,2,2.5)},boxTitle:{margin:0,color:n.palette.textSubtle},arrow:{color:n.palette.textSubtle}}),{name:"BackstageBottomLink"});function x(n){const{link:o,title:c,onClick:j}=n,T=h();return(0,e.jsxs)(a.A,{children:[(0,e.jsx)(g.A,{}),(0,e.jsx)(i.N_,{to:o,onClick:j,underline:"none",children:(0,e.jsxs)(a.A,{display:"flex",alignItems:"center",className:T.root,children:[(0,e.jsx)(a.A,{className:T.boxTitle,fontWeight:"fontWeightBold",m:1,children:(0,e.jsx)(d.A,{children:(0,e.jsx)("strong",{children:c})})}),(0,e.jsx)(C.A,{className:T.arrow})]})})]})}var L=t(14041),m=t(73896),M=t(22020),K=t(10315),b=t(87849);const s=n=>{const{slackChannel:o}=n,{t:c}=(0,b.i)(K.O);if(o){if(typeof o=="string")return(0,e.jsx)(d.A,{children:c("errorBoundary.title",{slackChannel:o})});if(!o.href)return(0,e.jsx)(d.A,{children:c("errorBoundary.title",{slackChannel:o.name})})}else return null;return(0,e.jsx)(m.z,{to:o.href,variant:"contained",children:o.name})},O=class extends L.Component{constructor(o){super(o),this.state={error:void 0,errorInfo:void 0}}componentDidCatch(o,c){console.error(`ErrorBoundary, error: ${o}`,{error:o,errorInfo:c}),this.setState({error:o,errorInfo:c})}render(){const{slackChannel:o,children:c}=this.props,{error:j}=this.state;return j?(0,e.jsx)(M.b,{title:"Something Went Wrong",error:j,children:(0,e.jsx)(s,{slackChannel:o})}):c}},z=(0,l.A)(n=>({noPadding:{padding:0,"&:last-child":{paddingBottom:0}},contentAlignBottom:{display:"flex",alignItems:"self-end"},header:{padding:n.spacing(2,2,2,2.5)},headerTitle:{fontWeight:n.typography.fontWeightBold},headerSubheader:{paddingTop:n.spacing(1)},headerAvatar:{},headerAction:{},headerContent:{},subheader:{display:"flex"}}),{name:"BackstageInfoCard"}),E=(0,R.A)(n=>({root:{display:"inline-block",padding:n.spacing(8,8,0,0),float:"right"}}),{name:"BackstageInfoCardCardActionsTopRight"})(y.A),D={card:{flex:{display:"flex",flexDirection:"column"},fullHeight:{display:"flex",flexDirection:"column",height:"100%"},gridItem:{display:"flex",flexDirection:"column",height:"calc(100% - 10px)",marginBottom:"10px",breakInside:"avoid-page","@media print":{height:"auto"}}},cardContent:{fullHeight:{flex:1},gridItem:{flex:1}}};function B(n){const{title:o,subheader:c,divider:j=!0,deepLink:T,slackChannel:P,errorBoundaryProps:W,variant:H,alignContent:A="normal",children:U,headerStyle:k,headerProps:F,icon:w,action:Q,actionsClassName:G,actions:$,cardClassName:Z,actionsTopRight:J,className:q,noPadding:_,titleTypographyProps:tt,subheaderTypographyProps:et}=n,N=z();let V={},Y={};H&&H.split(/[\s]+/g).forEach(X=>{V={...V,...D.card[X]},Y={...Y,...D.cardContent[X]}});const nt=()=>!c&&!w?null:(0,e.jsxs)("div",{"data-testid":"info-card-subheader",children:[c&&(0,e.jsx)("div",{className:N.subheader,children:c}),w]}),ot=W||(P?{slackChannel:P}:{});return(0,e.jsx)(p.A,{style:V,className:q,children:(0,e.jsxs)(O,{...ot,children:[o&&(0,e.jsx)(v.A,{classes:{root:S()(N.header),title:N.headerTitle,subheader:N.headerSubheader,avatar:N.headerAvatar,action:N.headerAction,content:N.headerContent},title:o,subheader:nt(),action:Q,style:{...k},titleTypographyProps:tt,subheaderTypographyProps:et,...F}),J&&(0,e.jsx)(E,{children:J}),j&&(0,e.jsx)(g.A,{}),(0,e.jsx)(f.A,{className:S()(Z,{[N.noPadding]:_,[N.contentAlignBottom]:A==="bottom"}),style:Y,children:U}),$&&(0,e.jsx)(y.A,{className:G,children:$}),T&&(0,e.jsx)(x,{...T})]})})}},89648:(I,u,t)=>{t.d(u,{s:()=>i});var e=t(31085),p=t(58837),y=t(51372),f=t(48514),v=t(67871),g=t(90184),l=t(8859),R=t(34428);const r=Object.freeze({createEntityRefColumn(h){const{defaultKind:x}=h;function L(m){return m.metadata?.title||(0,g.S)(m,{defaultKind:x})}return{title:"Name",highlight:!0,customFilterAndSearch(m,M){return L(M).includes(m)},customSort(m,M){return L(m).localeCompare(L(M))},render:m=>(0,e.jsx)(l.z,{entityRef:m,defaultKind:x,title:m.metadata?.title})}},createEntityRelationColumn(h){const{title:x,relation:L,defaultKind:m,filter:M}=h;function K(s){return(0,v.t)(s,L,M)}function b(s){return K(s).map(O=>(0,g.S)(O,{defaultKind:m})).join(", ")}return{title:x,customFilterAndSearch(s,O){return b(O).includes(s)},customSort(s,O){return b(s).localeCompare(b(O))},render:s=>(0,e.jsx)(R.i,{entityRefs:K(s),defaultKind:m})}},createOwnerColumn(){return this.createEntityRelationColumn({title:"Owner",relation:y.vv,defaultKind:"group"})},createDomainColumn(){return this.createEntityRelationColumn({title:"Domain",relation:y.jn,defaultKind:"domain",filter:{kind:"domain"}})},createSystemColumn(){return this.createEntityRelationColumn({title:"System",relation:y.jn,defaultKind:"system",filter:{kind:"system"}})},createMetadataDescriptionColumn(){return{title:"Description",field:"metadata.description",render:h=>(0,e.jsx)(f.M,{text:h.metadata.description,placement:"bottom-start",line:2})}},createSpecLifecycleColumn(){return{title:"Lifecycle",field:"spec.lifecycle"}},createSpecTypeColumn(){return{title:"Type",field:"spec.type"}}}),S=[r.createEntityRefColumn({defaultKind:"system"}),r.createDomainColumn(),r.createOwnerColumn(),r.createMetadataDescriptionColumn()],a=[r.createEntityRefColumn({defaultKind:"component"}),r.createSystemColumn(),r.createOwnerColumn(),r.createSpecTypeColumn(),r.createSpecLifecycleColumn(),r.createMetadataDescriptionColumn()];var d=t(14209);const C=(0,p.A)(h=>({empty:{padding:h.spacing(2),display:"flex",justifyContent:"center"}})),i=h=>{const{entities:x,title:L,emptyContent:m,variant:M="gridItem",columns:K,tableOptions:b={}}=h,s=C(),O={minWidth:"0",width:"100%"};return M==="gridItem"&&(O.height="calc(100% - 10px)"),(0,e.jsx)(d.X,{columns:K,title:L,style:O,emptyContent:m&&(0,e.jsx)("div",{className:s.empty,children:m}),options:{search:!1,paging:!1,actionsColumnIndex:-1,padding:"dense",draggable:!1,...b},data:x})};i.columns=r,i.systemEntityColumns=S,i.componentEntityColumns=a},99538:(I,u,t)=>{t.d(u,{T7:()=>l,TY:()=>S,tN:()=>r});var e=t(31085),p=t(6820),y=t(25862),f=t(43836),v=t(10602);const g=(0,f.tK)("entity-context"),l=a=>{const{children:d,entity:C,loading:i,error:h,refresh:x}=a,L={entity:C,loading:i,error:h,refresh:x};return(0,e.jsx)(g.Provider,{value:(0,v.B)({1:L}),children:(0,e.jsx)(y.Ig,{attributes:{...C?{entityRef:(0,p.U2)(C)}:void 0},children:d})})},R=a=>_jsx(l,{entity:a.entity,loading:!a.entity,error:void 0,refresh:void 0,children:a.children});function r(){const a=(0,f.qO)("entity-context");if(!a)throw new Error("Entity context is not available");const d=a.atVersion(1);if(!d)throw new Error("EntityContext v1 not available");if(!d.entity)throw new Error("useEntity hook is being called outside of an EntityLayout where the entity has not been loaded. If this is intentional, please use useAsyncEntity instead.");return{entity:d.entity}}function S(){const a=(0,f.qO)("entity-context");if(!a)throw new Error("Entity context is not available");const d=a.atVersion(1);if(!d)throw new Error("EntityContext v1 not available");const{entity:C,loading:i,error:h,refresh:x}=d;return{entity:C,loading:i,error:h,refresh:x}}},90759:(I,u,t)=>{t.d(u,{W:()=>p});var e=t(93184);const p=(0,e.h)({id:"catalog",messages:{indexPage:{title:"{{orgName}} Catalog",createButtonTitle:"Create",supportButtonContent:"All your software catalog entities"},aboutCard:{title:"About",refreshButtonTitle:"Schedule entity refresh",editButtonTitle:"Edit Metadata",createSimilarButtonTitle:"Create something similar",refreshScheduledMessage:"Refresh scheduled",launchTemplate:"Launch Template",viewTechdocs:"View TechDocs",viewSource:"View Source",descriptionField:{label:"Description",value:"No description"},ownerField:{label:"Owner",value:"No Owner"},domainField:{label:"Domain",value:"No Domain"},systemField:{label:"System",value:"No System"},parentComponentField:{label:"Parent Component",value:"No Parent Component"},typeField:{label:"Type"},lifecycleField:{label:"Lifecycle"},tagsField:{label:"Tags",value:"No Tags"},targetsField:{label:"Targets"}},searchResultItem:{lifecycle:"Lifecycle",Owner:"Owner"},catalogTable:{warningPanelTitle:"Could not fetch catalog entities.",viewActionTitle:"View",editActionTitle:"Edit",starActionTitle:"Add to favorites",unStarActionTitle:"Remove from favorites"},dependencyOfComponentsCard:{title:"Dependency of components",emptyMessage:"No component depends on this component"},dependsOnComponentsCard:{title:"Depends on components",emptyMessage:"No component is a dependency of this component"},dependsOnResourcesCard:{title:"Depends on resources",emptyMessage:"No resource is a dependency of this component"},entityContextMenu:{copiedMessage:"Copied!",moreButtonTitle:"More",inspectMenuTitle:"Inspect entity",copyURLMenuTitle:"Copy entity URL",unregisterMenuTitle:"Unregister entity"},entityLabelsCard:{title:"Labels",emptyDescription:"No labels defined for this entity. You can add labels to your entity YAML as shown in the highlighted example below:",readMoreButtonTitle:"Read more"},entityLabels:{warningPanelTitle:"Entity not found",ownerLabel:"Owner",lifecycleLabel:"Lifecycle"},entityLinksCard:{title:"Links",emptyDescription:"No links defined for this entity. You can add links to your entity YAML as shown in the highlighted example below:",readMoreButtonTitle:"Read more"},entityNotFound:{title:"Entity was not found",description:"Want to help us build this? Check out our Getting Started documentation.",docButtonTitle:"DOCS"},deleteEntity:{dialogTitle:"Are you sure you want to delete this entity?",deleteButtonTitle:"Delete",cancelButtonTitle:"Cancel",description:"This entity is not referenced by any location and is therefore not receiving updates. Click here to delete."},entityProcessingErrorsDescription:"The error below originates from",entityRelationWarningDescription:`This entity has relations to other entities, which can't be found in the catalog. Entities not found are: `,hasComponentsCard:{title:"Has components",emptyMessage:"No component is part of this system"},hasResourcesCard:{title:"Has resources",emptyMessage:"No resource is part of this system"},hasSubcomponentsCard:{title:"Has subcomponents",emptyMessage:"No subcomponent is part of this component"},hasSubdomainsCard:{title:"Has subdomains",emptyMessage:"No subdomain is part of this domain"},hasSystemsCard:{title:"Has systems",emptyMessage:"No system is part of this domain"},relatedEntitiesCard:{emptyHelpLinkTitle:"Learn how to change this"},systemDiagramCard:{title:"System Diagram",description:"Use pinch & zoom to move around the diagram.",edgeLabels:{partOf:"part of",provides:"provides",dependsOn:"depends on"}}}})},78384:(I,u,t)=>{t.r(u),t.d(u,{HasSubcomponentsCard:()=>l});var e=t(31085),p=t(51372),y=t(48105),f=t(59251),v=t(90759),g=t(87849);function l(R){const{t:r}=(0,g.i)(v.W),{variant:S="gridItem",title:a=r("hasSubcomponentsCard.title"),columns:d=y.mz,tableOptions:C={},kind:i="Component"}=R;return(0,e.jsx)(f.p,{variant:S,title:a,entityKind:i,relationType:p.sA,columns:d,asRenderableEntities:y.xJ,emptyMessage:r("hasSubcomponentsCard.emptyMessage"),emptyHelpLink:"https://backstage.io/docs/features/software-catalog/descriptor-format#specsubcomponentof-optional",tableOptions:C})}},59251:(I,u,t)=>{t.d(u,{p:()=>E});var e=t(31085),p=t(72501),y=t(99538),f=t(6820),v=t(72427),g=t(73466),l=t(7341);function R(D,B){const n=B?.type?.toLocaleLowerCase("en-US"),o=B?.kind?.toLocaleLowerCase("en-US"),c=(0,v.gf)(l.v),{loading:j,value:T,error:P}=(0,g.A)(async()=>{const W=D.relations?.filter(A=>(!n||A.type.toLocaleLowerCase("en-US")===n)&&(!o||(0,f.KU)(A.targetRef).kind===o));if(!W?.length)return[];const{items:H}=await c.getEntitiesByRefs({entityRefs:W.map(A=>A.targetRef)});return H.filter(A=>!!A)},[D,n,o]);return{entities:T,loading:j,error:P}}var r=t(89648),S=t(48045),a=t(68146),d=t(58837),C=t(37197),i=t(8109),h=t(5951),x=t(77310),L=t(37916),m=t(22020);const M=(0,d.A)(D=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:D.spacing(2)},divider:{margin:D.spacing(2)}}),{name:"BackstageResponseErrorPanel"});function K(D){const{title:B,error:n,defaultExpanded:o}=D,c=M();if(n.name!=="ResponseError")return(0,e.jsx)(m.b,{title:B??n.message,defaultExpanded:o,error:n});const{body:j,cause:T}=n,{request:P,response:W}=j,H=`${W.statusCode}: ${T.name}`,A=P&&`${P.method} ${P.url}`,U=T.message.replace(/\\n/g,` `),k=T.stack?.replace(/\\n/g,` `),F=JSON.stringify(j,void 0,2);return(0,e.jsxs)(m.b,{title:B??n.message,defaultExpanded:o,error:{name:H,message:U,stack:k},children:[A&&(0,e.jsxs)(i.A,{alignItems:"flex-start",children:[(0,e.jsx)(h.A,{classes:{secondary:c.text},primary:"Request",secondary:P?`${A}`:void 0}),(0,e.jsx)(L.l,{text:A})]}),(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(C.A,{component:"li",className:c.divider}),(0,e.jsx)(i.A,{alignItems:"flex-start",children:(0,e.jsx)(h.A,{classes:{secondary:c.text},primary:"Full Error as JSON"})}),(0,e.jsx)(x.z,{language:"json",text:F,showCopyCodeButton:!0})]})]})}var b=t(72072),s=t(48105),O=t(90759),z=t(87849);const E=D=>{const{variant:B="gridItem",title:n,columns:o,entityKind:c,relationType:j,emptyMessage:T,emptyHelpLink:P,asRenderableEntities:W,tableOptions:H={}}=D,{t:A}=(0,z.i)(O.W),{entity:U}=(0,y.tN)(),{entities:k,loading:F,error:w}=R(U,{type:j,kind:c});return F?(0,e.jsx)(S.n,{variant:B,title:n,children:(0,e.jsx)(a.k,{})}):w?(0,e.jsx)(S.n,{variant:B,title:n,children:(0,e.jsx)(K,{error:w})}):(0,e.jsx)(r.s,{title:n,variant:B,emptyContent:(0,e.jsxs)("div",{style:{textAlign:"center"},children:[(0,e.jsx)(p.A,{variant:"body1",children:T}),(0,e.jsx)(p.A,{variant:"body2",children:(0,e.jsx)(b.N_,{to:P,externalLinkIcon:!0,children:A("relatedEntitiesCard.emptyHelpLinkTitle")})})]}),columns:o,entities:W(k||[]),tableOptions:H})};E.componentEntityColumns=s.mz,E.componentEntityHelpLink=s.e2,E.asComponentEntities=s.xJ,E.resourceEntityColumns=s.v9,E.resourceEntityHelpLink=s.nz,E.asResourceEntities=s.eB,E.systemEntityColumns=s.MW,E.systemEntityHelpLink=s.iU,E.asSystemEntities=s.vy,E.domainEntityColums=s.xO,E.domainEntityHelpLink=s.Xr,E.asDomainEntities=s.QS},48105:(I,u,t)=>{t.d(u,{MW:()=>R,QS:()=>C,Xr:()=>d,e2:()=>y,eB:()=>l,iU:()=>r,mz:()=>p,nz:()=>g,v9:()=>v,vy:()=>S,xJ:()=>f,xO:()=>a});var e=t(89648);const p=[e.s.columns.createEntityRefColumn({defaultKind:"component"}),e.s.columns.createOwnerColumn(),e.s.columns.createSpecTypeColumn(),e.s.columns.createSpecLifecycleColumn(),e.s.columns.createMetadataDescriptionColumn()],y="https://backstage.io/docs/features/software-catalog/descriptor-format#kind-component",f=i=>i,v=[e.s.columns.createEntityRefColumn({defaultKind:"resource"}),e.s.columns.createOwnerColumn(),e.s.columns.createSpecTypeColumn(),e.s.columns.createSpecLifecycleColumn(),e.s.columns.createMetadataDescriptionColumn()],g="https://backstage.io/docs/features/software-catalog/descriptor-format#kind-resource",l=i=>i,R=[e.s.columns.createEntityRefColumn({defaultKind:"system"}),e.s.columns.createOwnerColumn(),e.s.columns.createMetadataDescriptionColumn()],r="https://backstage.io/docs/features/software-catalog/descriptor-format#kind-system",S=i=>i,a=[e.s.columns.createEntityRefColumn({defaultKind:"domain"}),e.s.columns.createOwnerColumn(),e.s.columns.createMetadataDescriptionColumn()],d="https://backstage.io/docs/features/software-catalog/descriptor-format#kind-domain",C=i=>i}}]);})(); //# sourceMappingURL=8384.1d132866.chunk.js.map