likec4 1.46.2 → 1.46.3
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/__app__/src/style.css +1 -1
- package/__app__/src/vendors.js +88 -65
- package/dist/cli/index.mjs +349 -342
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/shared/{likec4.Ds1BAAT3.mjs → likec4.4c1Hb6hc.mjs} +2465 -2455
- package/dist/shared/{likec4.Dawj4DWo.mjs → likec4.fwpDnke2.mjs} +35 -28
- package/dist/shared/{likec4.LnxAaQKk.d.mts → likec4.iyEJ8QdJ.d.mts} +19 -8
- package/dist/vite-plugin/index.d.mts +1 -1
- package/dist/vite-plugin/index.mjs +1 -1
- package/package.json +18 -18
- package/react/index.js +88 -65
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{invariant as le,isNonEmptyArray as pe}from"@likec4/core";import{relative as ue}from"node:path";import{t as fe}from"./likec4.DO_7oUns.mjs";import{t as ge,a as A}from"./likec4.CB2-Uaub.mjs";import{f as he,g as J,T as me,N as V,i as we,e as x,j as _,u as v,t as Ie,a as ve,n as ye,b as Ne,c as ke,d as G,L as
|
|
2
|
-
function Se(...t){return je(Re,t)}function Re(t,e){let i={};for(let n of e)n in t&&(i[n]=t[n]);return i}function Te(t){var e,i;if(t){if("astNode"in t)return
|
|
1
|
+
import{invariant as le,isNonEmptyArray as pe}from"@likec4/core";import{relative as ue}from"node:path";import{t as fe}from"./likec4.DO_7oUns.mjs";import{t as ge,a as A}from"./likec4.CB2-Uaub.mjs";import{f as he,g as J,T as me,N as V,i as we,e as x,j as _,u as v,t as Ie,a as ve,n as ye,b as Ne,c as ke,d as G,L as $e}from"./likec4.4c1Hb6hc.mjs";import{compareNatural as Le}from"@likec4/core/utils";import{a as W}from"./likec4.DASl7M77.mjs";import{t as je}from"./likec4.DOUP9ptn.mjs";import{RichText as Ce}from"@likec4/core/types";
|
|
2
|
+
function Se(...t){return je(Re,t)}function Re(t,e){let i={};for(let n of e)n in t&&(i[n]=t[n]);return i}function Te(t){var e,i;if(t){if("astNode"in t)return Me(t);if(Array.isArray(t))return t.reduce(B,void 0);{const n=t,r=Ee(n)?be((i=(e=n?.root)===null||e===void 0?void 0:e.astNode)!==null&&i!==void 0?i:n?.astNode):void 0;return C(n,r)}}else return}function Ee(t){return typeof t<"u"&&"element"in t&&"text"in t}function be(t){try{return J(t).uri.toString()}catch{return}}function Me(t){var e,i;const{
|
|
3
3
|
astNode:n,property:r,index:o}=t??{},c=(e=n?.$cstNode)!==null&&e!==void 0?e:n?.$textRegion;if(!(n===void 0||c===void 0)){if(r===void 0)return C(c,D(n));{const a=d=>o!==void 0&&o>-1&&Array.isArray(n[r])?o<d.length?d[o]:void 0:d.reduce(B,void 0);if(!((i=c.assignments)===null||i===void 0)&&i[r]){const d=a(c.assignments[r]);return d&&C(d,D(n))}else if(n.$cstNode){const d=a(he(n.$cstNode,r));return d&&C(d,D(n))}else return}}}function D(t){var e,i,n,r;return t.$cstNode?(i=(e=J(t))===null||e===void 0?void 0:
|
|
4
4
|
e.uri)===null||i===void 0?void 0:i.toString():t.$textRegion?t.$textRegion.documentURI||((r=(n=new me(t,o=>o.$container?[o.$container]:[]).find(o=>{var c;return(c=o.$textRegion)===null||c===void 0?void 0:c.documentURI}))===null||n===void 0?void 0:n.$textRegion)===null||r===void 0?void 0:r.documentURI):void 0}function C(t,e){var i,n;const r={offset:t.offset,end:(i=t.end)!==null&&i!==void 0?i:t.offset+t.length,length:(n=t.length)!==null&&n!==void 0?n:t.end-t.offset};return t.range&&(r.range=t.range),
|
|
5
5
|
e??(e=t.fileURI),e&&(r.fileURI=e),r}function B(t,e){var i,n;if(t){if(!e)return t&&C(t)}else return e&&C(e);const r=(i=t.end)!==null&&i!==void 0?i:t.offset+t.length,o=(n=e.end)!==null&&n!==void 0?n:e.offset+e.length,c=Math.min(t.offset,e.offset),a=Math.max(r,o),d=a-c,f={offset:c,end:a,length:d};if(t.range&&e.range&&(f.range={start:e.range.start.line<t.range.start.line||e.range.start.line===t.range.start.line&&e.range.start.character<t.range.start.character?e.range.start:t.range.start,end:e.range.
|
|
@@ -11,41 +11,48 @@ const i=this.traceData.pop();return this.assertTrue(i===e,"Trace region mismatch
|
|
|
11
11
|
offset,range:{start:{line:n.targetStart.line,character:n.targetStart.character},end:{line:r.line,character:r.character}}},delete n.targetStart,((o=n.children)===null||o===void 0?void 0:o.length)===0&&delete n.children,!((c=n.targetRegion)===null||c===void 0)&&c.length&&i(n),delete n.complete,n}};return n}function Pe(t,e){const i=new xe(e),n=i.pushTraceRegion(void 0);z(t,i),i.popTraceRegion(n),n.complete&&n.complete(i.currentPosition);const r=n.children&&n.children.length===1?n.children[0]:void 0,
|
|
12
12
|
o=r?.targetRegion,c=n.targetRegion;return o&&r.sourceRegion&&o.offset===c.offset&&o.length===c.length?{text:i.content,trace:r}:{text:i.content,trace:n}}function z(t,e){typeof t=="string"?_e(t,e):t instanceof O?De(t,e):t instanceof h?H(t,e):t instanceof E&&Fe(t,e)}function q(t,e){return typeof t=="string"?t.length!==0:t instanceof h?t.contents.some(i=>q(i,e)):t instanceof E?!(t.ifNotEmpty&&e.currentLineContent.length===0):!1}function _e(t,e){t&&(Y(e,!1),e.append(t))}function Y(t,e){var i;if(t.pendingIndent){
|
|
13
13
|
let n="";for(const r of t.relevantIndents.filter(o=>o.indentEmptyLines||!e))n+=(i=r.indentation)!==null&&i!==void 0?i:t.defaultIndentation;t.append(n,!0),t.pendingIndent=!1}}function H(t,e){let i;const n=Te(t.tracedSource);n&&(i=e.pushTraceRegion(n));for(const r of t.contents)z(r,e);if(i){e.popTraceRegion(i);const r=e.getParentTraceSourceFileURI();r&&n?.fileURI===r&&delete n.fileURI,i.complete&&i.complete(e.currentPosition)}}function De(t,e){var i;if(q(t,e)){t.indentImmediately&&!e.pendingIndent&&
|
|
14
|
-
e.append((i=t.indentation)!==null&&i!==void 0?i:e.defaultIndentation,!0);try{e.increaseIndent(t),H(t,e)}finally{e.decreaseIndent()}}}function Fe(t,e){t.ifNotEmpty&&!Oe(e.currentLineContent)?e.resetCurrentLine():(Y(e,!0),e.append(t.lineDelimiter),e.addNewLine())}function Oe(t){return t.trimStart()!==""}Object.freeze("__\xABSKIP^NEW^LINE^IF^EMPTY\xBB__");const Ae=/\S|$/;function Je(t){const e=t.filter(n=>n.length>0).map(n=>n.search(Ae)),i=e.length===0?0:Math.min(...e);return Math.max(0,i)}function
|
|
15
|
-
const i=Ge(t),n=We(t,e,i);return ze(n)}function Ve(t,e,i){return(n,...r)=>Ye(t,e,i)(
|
|
14
|
+
e.append((i=t.indentation)!==null&&i!==void 0?i:e.defaultIndentation,!0);try{e.increaseIndent(t),H(t,e)}finally{e.decreaseIndent()}}}function Fe(t,e){t.ifNotEmpty&&!Oe(e.currentLineContent)?e.resetCurrentLine():(Y(e,!0),e.append(t.lineDelimiter),e.addNewLine())}function Oe(t){return t.trimStart()!==""}Object.freeze("__\xABSKIP^NEW^LINE^IF^EMPTY\xBB__");const Ae=/\S|$/;function Je(t){const e=t.filter(n=>n.length>0).map(n=>n.search(Ae)),i=e.length===0?0:Math.min(...e);return Math.max(0,i)}function $(t,...e){
|
|
15
|
+
const i=Ge(t),n=We(t,e,i);return ze(n)}function Ve(t,e,i){return(n,...r)=>Ye(t,e,i)($(n,...r))}function Ge(t){const e=t.join("_").split(V),i=e.length>1&&e[0].trim().length===0,n=i&&e.length>1&&e[e.length-1].trim().length===0;if(e.length===1||e.length!==0&&e[0].trim().length!==0||e.length===2&&e[1].trim().length===0)return{indentation:0,omitFirstLine:i,omitLastLine:n,trimLastLine:e.length!==1&&e[e.length-1].trim().length===0};{let r=i?e.slice(1):e;r=n?r.slice(0,r.length-1):r,r=r.filter(c=>c.length!==
|
|
16
16
|
0);const o=Je(r);return{indentation:o,omitFirstLine:i,omitLastLine:n&&(e[e.length-1].length<o||!e[e.length-1].startsWith(r[0].substring(0,o)))}}}function We(t,e,{indentation:i,omitFirstLine:n,omitLastLine:r,trimLastLine:o}){const c=[];t.forEach((f,u)=>{c.push(...f.split(V).map((p,g)=>g===0||p.length<i?p:p.substring(i)).reduce(u===0?(p,g,w)=>w===0?n?[]:[g]:w===1&&p.length===0?[g]:p.concat(U,g):(p,g,w)=>w===0?[g]:p.concat(U,g),[]).filter(p=>!(typeof p=="string"&&p.length===0)).concat(T(e[u])?e[u]:
|
|
17
17
|
e[u]!==void 0?{content:String(e[u])}:u<e.length?K:[]))});const a=c.length,d=a!==0?c[a-1]:void 0;return(r||o)&&typeof d=="string"&&d.trim().length===0?n&&a!==1&&c[a-2]===U?c.slice(0,a-2):c.slice(0,a-1):c}const U={isNewLine:!0},K={isUndefinedSegment:!0},X=t=>t===U,F=t=>t===K,Be=t=>t.content!==void 0;function ze(t){return t.reduce((i,n,r)=>F(n)?i:X(n)?{node:r!==0&&(F(t[r-1])||T(t[r-1]))||r>1&&typeof t[r-1]=="string"&&(F(t[r-2])||T(t[r-2]))?i.node.appendNewLineIfNotEmpty():i.node.appendNewLine()}:(()=>{
|
|
18
18
|
var o;const c=(r===0||X(t[r-1]))&&typeof n=="string"&&n.length!==0?"".padStart(n.length-n.trimStart().length):"",a=Be(n)?n.content:n;let d;return{node:i.indented?i.node:c.length!==0?i.node.indent({indentation:c,indentImmediately:!1,indentedChildren:f=>d=f.append(a)}):i.node.append(a),indented:d??((o=i.indented)===null||o===void 0?void 0:o.append(a))}})(),{node:new h}).node}const qe=typeof process>"u"?`
|
|
19
19
|
`:process.platform==="win32"?`\r
|
|
20
20
|
`:`
|
|
21
|
-
`;function T(t){return t instanceof h||t instanceof O||t instanceof E}function
|
|
21
|
+
`;function T(t){return t instanceof h||t instanceof O||t instanceof E}function L(t,e){return T(t)?Pe(t,e).text:String(t)}class h{constructor(...e){this.contents=[],this.append(...e)}isEmpty(){return this.contents.length===0}trace(e,i,n){if(we(e)){if(this.tracedSource={astNode:e,property:i,index:n},this.tracedSource.property===void 0&&this.tracedSource.index!==void 0&&this.tracedSource.index>-1)throw new Error("Generation support: 'property' argument must not be 'undefined' if a non-negative valu\
|
|
22
22
|
e is assigned to 'index' in 'CompositeGeneratorNode.trace(...)'.")}else this.tracedSource=e;return this}append(...e){for(const i of e)typeof i=="function"?i(this):i&&this.contents.push(i);return this}appendIf(e,...i){return e?this.append(...i):this}appendNewLine(){return this.append(s)}appendNewLineIf(e){return e?this.append(s):this}appendNewLineIfNotEmpty(){return this.append(He)}appendNewLineIfNotEmptyIf(e){return e?this.appendNewLineIfNotEmpty():this}appendTemplate(e,...i){return this.append(
|
|
23
|
-
|
|
23
|
+
$(e,...i))}appendTemplateIf(e){return e?(i,...n)=>this.appendTemplate(i,...n):()=>this}indent(e){const{indentedChildren:i,indentation:n,indentEmptyLines:r,indentImmediately:o}=Array.isArray(e)||typeof e=="function"?{indentedChildren:e}:typeof e=="object"?e:{},c=new O(n,o,r);return this.contents.push(c),Array.isArray(i)?c.append(...i):i&&c.append(i),this}appendTraced(e,i,n){return r=>this.append(new h().trace(e,i,n).append(r))}appendTracedIf(e,i,n,r){return e?this.appendTraced(typeof i=="function"?
|
|
24
24
|
i():i,n,r):()=>this}appendTracedTemplate(e,i,n){return(r,...o)=>this.append(Ve(e,i,n)(r,...o))}appendTracedTemplateIf(e,i,n,r){return e?this.appendTracedTemplate(typeof i=="function"?i():i,n,r):()=>this}}function Ye(t,e,i){return n=>n instanceof h&&n.tracedSource===void 0?n.trace(t,e,i):new h().trace(t,e,i).append(n)}class O extends h{constructor(e,i=!0,n=!1){super(),this.indentImmediately=!0,this.indentEmptyLines=!1,typeof e=="string"?this.indentation=e:typeof e=="number"&&(this.indentation="".
|
|
25
25
|
padStart(e)),this.indentImmediately=i,this.indentEmptyLines=n}}class E{constructor(e,i=!1){this.ifNotEmpty=!1,this.lineDelimiter=e??qe,this.ifNotEmpty=i}}const s=new E,He=new E(void 0,!0),Q=t=>t===void 0||typeof t=="string"||T(t)?t:String(t);function y(t,e=Q,i={}){const n=typeof e=="function"?e:Q,{filter:r,prefix:o,suffix:c,separator:a,appendNewLineIfNotEmpty:d,skipNewLineAfterLastItem:f}=typeof e=="object"?e:i,u=typeof o=="function"?o:(()=>o),p=typeof c=="function"?c:(()=>c);return Ke(t,(g,w,l,m)=>{
|
|
26
26
|
if(r&&!r(w,l,m))return g;const I=n(w,l,m);return I===void 0?g:(g??(g=new h)).append(u(w,l,m)).append(I).append(p(w,l,m)).appendIf(!m,a).appendNewLineIfNotEmptyIf(!g.isEmpty()&&!!d&&(!m||!f))})}function Ke(t,e,i){const n=t[Symbol.iterator]();let r=n.next(),o=0,c=i;for(;!r.done;){const a=n.next();c=e(c,r.value,o,!!a.done),r=a,o++}return c}const Xe=t=>t.charAt(0).toLocaleUpperCase()+t.slice(1),Qe=t=>t.split(".").map(Xe).join(""),Ze=t=>Qe(t.parent?t.id.slice(t.parent.length+1):t.id),et=({autoLayout:t})=>{
|
|
27
27
|
switch(t.direction){case"TB":return"down";case"BT":return"up";case"LR":return"right";case"RL":return"left"}},tt=({shape:t})=>{switch(t){case"queue":case"cylinder":case"rectangle":case"person":return t;case"storage":return"stored_data";case"mobile":case"browser":return"rectangle"}};function Z(t){const e=t.$view,{nodes:i,edges:n}=e,r=new Map,o=(a,d)=>{const f=Ze(a),u=(d?d+".":"")+f;r.set(a.id,u);const p=JSON.stringify(a.title),g=tt(a);return new h().append(f,": {",s).indent({indentedChildren:w=>w.
|
|
28
|
-
append("label: ",p,s).appendIf(g!=="rectangle","shape: ",g,s).appendIf(a.children.length>0,s,y(i.filter(l=>l.parent===a.id),l=>o(l,u))),indentation:2}).append("}",s)},c=a=>new h().append(r.get(a.source)," -> ",r.get(a.target)).append(d=>a.label&&d.append(": ",JSON.stringify(a.label)));return
|
|
28
|
+
append("label: ",p,s).appendIf(g!=="rectangle","shape: ",g,s).appendIf(a.children.length>0,s,y(i.filter(l=>l.parent===a.id),l=>o(l,u))),indentation:2}).append("}",s)},c=a=>new h().append(r.get(a.source)," -> ",r.get(a.target)).append(d=>a.label&&d.append(": ",JSON.stringify(a.label)));return L(new h().append("direction: ",et(e),s,s).append(y(i.filter(a=>x(a.parent)),a=>o(a),{appendNewLineIfNotEmpty:!0})).appendIf(n.length>0,s,y(n,a=>c(a),{appendNewLineIfNotEmpty:!0})))}const nt=t=>t.charAt(0).toLocaleUpperCase()+
|
|
29
29
|
t.slice(1),it=t=>t.split(".").map(nt).join(""),rt=t=>it(t.parent?t.id.slice(t.parent.length+1):t.id),ot=({shape:t})=>{switch(t){case"queue":case"cylinder":return["[(",")]"];case"person":return["[fa:fa-user ","]"];case"storage":return["([","])"];case"mobile":case"browser":case"rectangle":return["[","]"]}};function ee(t){const e=t.$view,{nodes:i,edges:n}=e,r=new Map,o=(a,d)=>{const f=rt(a),u=(d?d+".":"")+f;r.set(a.id,u);const p=a.title.replaceAll(`
|
|
30
30
|
`,"\\n"),g=ot(a),w=new h;return a.children.length>0?w.append("subgraph ",u,"[",JSON.stringify(a.title),"]",s).indent({indentedChildren:[y(i.filter(l=>l.parent===a.id),l=>o(l,u),{appendNewLineIfNotEmpty:!0})],indentation:2}).append("end",s):w.append(u,g[0],p,g[1]),w},c=a=>new h().append(r.get(a.source)," -.",a.label?' "'+a.label.replaceAll(`
|
|
31
|
-
`,"\\n")+'" .-':"-","> ",r.get(a.target));return
|
|
31
|
+
`,"\\n")+'" .-':"-","> ",r.get(a.target));return L(new h().appendIf(e.title!==null&&e.title.length>0,"---",s,`title: ${JSON.stringify(e.title)}`,s,"---",s).append("graph ",e.autoLayout.direction,s).indent({indentedChildren:a=>{a.append(y(i.filter(d=>x(d.parent)),d=>o(d),{appendNewLineIfNotEmpty:!0})).appendIf(n.length>0,y(n,d=>c(d),{appendNewLineIfNotEmpty:!0}))},indentation:2}))}const at=t=>t.charAt(0).toLocaleUpperCase()+t.slice(1),P=t=>t.split(".").map(at).join(""),te=t=>P(t.parent?t.id.slice(
|
|
32
32
|
t.parent.length+1):t.id),S=(t,e,i="#3b82f6")=>t?e(t)??i:i,st=({autoLayout:t})=>{switch(t.direction){case"TB":return"top to bottom";case"BT":return console.warn("Bottom to top direction is not supported. Defaulting to top to bottom."),"top to bottom";case"LR":return"left to right";case"RL":return console.warn("Right to left direction is not supported. Defaulting to left to right."),"left to right"}},ne=({shape:t})=>{switch(t){case"queue":case"rectangle":case"person":return t;case"storage":case"cy\
|
|
33
33
|
linder":return"database";case"mobile":case"browser":return"rectangle"}},R=t=>x(t)?null:JSON.stringify(t).slice(1,-1);function ie(t){const e=t.$view,i=t.$model.$styles.theme.colors,{nodes:n,edges:r}=e,o=l=>m=>m in i?i[m].elements[l]:void 0,c=l=>m=>m in i?i[m].relationships[l]:void 0,a=new Map,d=()=>new h().append('title "',e.title||e.id,'"',s).append(st(e)," direction",s),f=()=>new h().append("hide stereotype",s).append("skinparam ranksep ","60",s).append("skinparam nodesep ","30",s).append("skin\
|
|
34
34
|
param {",s).indent({indentedChildren:l=>l.append("arrowFontSize ","10",s).append("defaultTextAlignment ","center",s).append("wrapWidth ","200",s).append("maxMessageSize ","100",s).append("shadowing ","false",s),indentation:2}).append("}",s),u=l=>{const m=ne(l),I=P(l.id);return new h().append("skinparam ",m,"<<",I,">>","{",s).indent({indentedChildren:k=>k.append("BackgroundColor ",S(l.color,o("fill")),s).append("FontColor ",S(l.color,o("hiContrast"),"#FFFFFF"),s).append("BorderColor ",S(l.color,o(
|
|
35
|
-
"stroke")),s),indentation:2}).append("}",s)},p=l=>{const m=ne(l),I=P(l.id),k=R(l.title)||te(l),N=R(l.technology);a.set(l.id,I);const
|
|
36
|
-
nparam ","RectangleBorderColor<<",I,">> ",S(l.color,o("fill")),s).append("skinparam ","RectangleFontColor<<",I,">> ",S(l.color,o("fill")),s).append("skinparam ","RectangleBorderStyle<<",I,">> ","dashed",s,s).append(y(n.filter(N=>N.parent===l.id),N=>N.children.length>0?g(N):p(N))),indentation:2}).append("}",s)},w=l=>{const m=R(l.technology)||"",I=R(l.label)||"",k=S(l.color,c("line"),"#777777"),N=
|
|
37
|
-
!!(I||m),' : "',N(k)).appendIf(!!I,I,N(k)).appendIf(!!(I&&m),"\\n").appendIf(!!m,N(k),"<size:8>[",m,"]</size>").appendIf(!!(I||m),'"').append(s)};return
|
|
35
|
+
"stroke")),s),indentation:2}).append("}",s)},p=l=>{const m=ne(l),I=P(l.id),k=R(l.title)||te(l),N=R(l.technology);a.set(l.id,I);const M=Ce.from(l.description);return new h().append(m," ").append('"').append("==",k).appendIf(!!N,"\\n","<size:10>[",N,"]</size>").appendIf(M.nonEmpty,"\\n\\n",R(M.text)).append('"'," <<",I,">> ","as ",I,s)},g=l=>{const m=R(l.title)||te(l),I=P(l.id);return a.set(l.id,I),new h().append('rectangle "',m,'" <<',I,">> as ",I," {",s).indent({indentedChildren:k=>k.append("ski\
|
|
36
|
+
nparam ","RectangleBorderColor<<",I,">> ",S(l.color,o("fill")),s).append("skinparam ","RectangleFontColor<<",I,">> ",S(l.color,o("fill")),s).append("skinparam ","RectangleBorderStyle<<",I,">> ","dashed",s,s).append(y(n.filter(N=>N.parent===l.id),N=>N.children.length>0?g(N):p(N))),indentation:2}).append("}",s)},w=l=>{const m=R(l.technology)||"",I=R(l.label)||"",k=S(l.color,c("line"),"#777777"),N=M=>`<color:${M}>`;return new h().append(a.get(l.source)," .[",k,",thickness=2].> ",a.get(l.target)).appendIf(
|
|
37
|
+
!!(I||m),' : "',N(k)).appendIf(!!I,I,N(k)).appendIf(!!(I&&m),"\\n").appendIf(!!m,N(k),"<size:8>[",m,"]</size>").appendIf(!!(I||m),'"').append(s)};return L(new h().append("@startuml",s).append(d(),s).append(f(),s).append(y(n.filter(l=>l.children.length==0),l=>u(l),{appendNewLineIfNotEmpty:!0})).append(y(n.filter(l=>x(l.parent)),l=>l.children.length>0?g(l):p(l),{appendNewLineIfNotEmpty:!0})).appendIf(r.length>0,s,y(r,l=>w(l),{appendNewLineIfNotEmpty:!0})).append("@enduml",s))}function j(t){return{
|
|
38
38
|
matches:e=>{let{module:i,projectId:n}=e.match(/^likec4:plugin\/(?<projectId>.+)\/(?<module>.+)$/)?.groups??e.match(/^likec4:(?<module>.+)\/(?<projectId>.+)$/)?.groups??{};return!i||!n?null:(i.endsWith(".js")&&(i=i.slice(0,-3)),i===t?n:null)},virtualId:e=>_("likec4:plugin",e,t)+".js"}}const dt={"<":"\\u003C",">":"\\u003E","/":"\\u002F","\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};function ct(t){return t.replace(/[<>\b\f\n\r\t\0\u2028\u2029\\]/g,
|
|
39
|
-
e=>dt[e])}function
|
|
39
|
+
e=>dt[e])}function b(t,e){return{id:`likec4:${t}`,virtualId:`likec4:plugin/${t}.js`,async load({logger:i,projects:n}){i.info(v.dim(`generating likec4:${t}`));const r=n.map(({id:o})=>{const c=ct(JSON.stringify(_(`likec4:${t}`,o)));return` ${JSON.stringify(o)}: () => import(${c})`});return`
|
|
40
40
|
export let ${e}Fn = {
|
|
41
41
|
${r.join(`,
|
|
42
42
|
`)}
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
export async function ${e}(projectId) {
|
|
46
|
-
|
|
46
|
+
let fn = ${e}Fn[projectId]
|
|
47
47
|
if (!fn) {
|
|
48
|
-
|
|
48
|
+
const projects = Object.keys(${e}Fn)
|
|
49
|
+
console.error('Unknown projectId: ' + projectId + ' (available: ' + projectIds + ')')
|
|
50
|
+
if (projects.length === 0) {
|
|
51
|
+
throw new Error('No projects found, invalid state')
|
|
52
|
+
}
|
|
53
|
+
projectId = projects[0]
|
|
54
|
+
console.warn('Falling back to project: ' + projectId)
|
|
55
|
+
fn = ${e}Fn[projectId]
|
|
49
56
|
}
|
|
50
57
|
return await fn()
|
|
51
58
|
}
|
|
@@ -72,7 +79,7 @@ if (import.meta.hot) {
|
|
|
72
79
|
|
|
73
80
|
export function d2Source(viewId) {
|
|
74
81
|
switch (viewId) {
|
|
75
|
-
`.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y([...t.views()],n
|
|
82
|
+
`.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y([...t.views()],n=>$`
|
|
76
83
|
case ${JSON.stringify(n.id)}: {
|
|
77
84
|
return ${JSON.stringify(Z(n))}
|
|
78
85
|
}
|
|
@@ -82,7 +89,7 @@ if (import.meta.hot) {
|
|
|
82
89
|
}
|
|
83
90
|
`}}).append(s," }",s).appendTemplate`
|
|
84
91
|
}
|
|
85
|
-
`.append(s,s)
|
|
92
|
+
`.append(s,s),L(e)}const pt={...j("d2"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating likec4:d2/${e.id}`));const n=await t.computedModel(e.id);return lt(n)}},ut=b("d2","loadD2Sources");function ft(t){const e=new h;return e.appendTemplate`
|
|
86
93
|
/******************************************************************************
|
|
87
94
|
* This file was generated
|
|
88
95
|
* DO NOT EDIT MANUALLY!
|
|
@@ -91,7 +98,7 @@ if (import.meta.hot) {
|
|
|
91
98
|
|
|
92
99
|
export function dotSource(viewId) {
|
|
93
100
|
switch (viewId) {
|
|
94
|
-
`.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y(Object.keys(t),n
|
|
101
|
+
`.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y(Object.keys(t),n=>$`
|
|
95
102
|
case ${JSON.stringify(n)}: {
|
|
96
103
|
return ${JSON.stringify(t[n].dot)}
|
|
97
104
|
}
|
|
@@ -104,7 +111,7 @@ if (import.meta.hot) {
|
|
|
104
111
|
|
|
105
112
|
export function svgSource(viewId) {
|
|
106
113
|
switch (viewId) {
|
|
107
|
-
`.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y(Object.keys(t),n
|
|
114
|
+
`.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y(Object.keys(t),n=>$`
|
|
108
115
|
case ${JSON.stringify(n)}: {
|
|
109
116
|
return ${JSON.stringify(t[n].svg)}
|
|
110
117
|
}
|
|
@@ -112,7 +119,7 @@ if (import.meta.hot) {
|
|
|
112
119
|
default: {
|
|
113
120
|
throw new Error('Unknown viewId: ' + viewId)
|
|
114
121
|
}
|
|
115
|
-
`}}).append(s," }",s,"}",s,s)
|
|
122
|
+
`}}).append(s," }",s,"}",s,s),L(e)}const gt={...j("dot"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating likec4:dot/${e.id}`));const n=await t.views.viewsAsGraphvizOut(e.id),r=Ie(n,({id:o,svg:c,dot:a})=>[o,{dot:a,svg:c}]);return ft(r)}},ht=b("dot","loadDotSources");function mt(t){const e=ge(t.flatMap(r=>r.nodes.map(o=>o.icon)),Ne(r=>ke(r)&&!(r.toLowerCase().startsWith("http:")||r.toLowerCase().startsWith("https:"))),ye(),ve(Le)),{imports:i,cases:n}=e.reduce((r,o,c)=>{
|
|
116
123
|
const a=o.startsWith("file:"),d="Icon"+c.toString().padStart(2,"0");if(a)return r.imports.push(`import ${d} from '${o}?inline'`),r.cases.push(` '${o}': () => jsx('img', { src: ${d} })`),r;const[f,u]=o.split(":");return r.imports.push(`import ${d} from 'likec4/icons/${f}/${u}'`),r.cases.push(` '${f}:${u}': ${d}`),r},{imports:[],cases:[]});return`
|
|
117
124
|
import { jsx } from 'react/jsx-runtime'
|
|
118
125
|
${i.join(`
|
|
@@ -164,7 +171,7 @@ if (import.meta.hot) {
|
|
|
164
171
|
|
|
165
172
|
export function mmdSource(viewId) {
|
|
166
173
|
switch (viewId) {
|
|
167
|
-
`.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y([...t.views()],n
|
|
174
|
+
`.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y([...t.views()],n=>$`
|
|
168
175
|
case ${JSON.stringify(n.id)}: {
|
|
169
176
|
return ${JSON.stringify(ee(n))}
|
|
170
177
|
}
|
|
@@ -175,7 +182,7 @@ if (import.meta.hot) {
|
|
|
175
182
|
`}}).append(s," }",s).appendTemplate`
|
|
176
183
|
}
|
|
177
184
|
|
|
178
|
-
`.append(s,s)
|
|
185
|
+
`.append(s,s),L(e)}const yt={...j("mmd"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating virtual:likec4/mmd/${e.id}`));const n=await t.computedModel(e.id);return vt(n)}},Nt=b("mmd","loadMmdSources"),kt=t=>`
|
|
179
186
|
import { createHooksForModel, atom } from 'likec4/vite-plugin/internal'
|
|
180
187
|
|
|
181
188
|
export const $likec4data = atom(${W.stringify(t.$data)})
|
|
@@ -201,10 +208,10 @@ if (import.meta.hot) {
|
|
|
201
208
|
}
|
|
202
209
|
})
|
|
203
210
|
}
|
|
204
|
-
|
|
211
|
+
`,$t={...j("model"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating likec4:model/${e.id}`));const n=await t.layoutedModel(e.id);return kt(n)}},re=b("model","loadModel"),Lt=t=>`
|
|
205
212
|
export const isSingleProject = ${t.length===1};
|
|
206
213
|
export const projects = ${W.stringify(t,null,2)};
|
|
207
|
-
`,oe={id:"likec4:projects",virtualId:"likec4:plugin/projects.js",async load({logger:t,projects:e}){return t.info(v.dim("generating likec4:projects"))
|
|
214
|
+
`,oe={id:"likec4:projects",virtualId:"likec4:plugin/projects.js",async load({logger:t,projects:e}){return t.info(v.dim("generating likec4:projects")),Lt(A(e,Se(["id","title"])))}};function jt(t){const e=new h;return e.appendTemplate`
|
|
208
215
|
/******************************************************************************
|
|
209
216
|
* This file was generated
|
|
210
217
|
* DO NOT EDIT MANUALLY!
|
|
@@ -213,7 +220,7 @@ export const projects = ${W.stringify(t,null,2)};
|
|
|
213
220
|
|
|
214
221
|
export function pumlSource(viewId) {
|
|
215
222
|
switch (viewId) {
|
|
216
|
-
`.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y([...t.views()],n
|
|
223
|
+
`.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y([...t.views()],n=>$`
|
|
217
224
|
case ${JSON.stringify(n.id)}: {
|
|
218
225
|
return ${JSON.stringify(ie(n))}
|
|
219
226
|
}
|
|
@@ -223,7 +230,7 @@ export const projects = ${W.stringify(t,null,2)};
|
|
|
223
230
|
}
|
|
224
231
|
`}}).append(s," }",s).appendTemplate`
|
|
225
232
|
}
|
|
226
|
-
`.append(s,s)
|
|
233
|
+
`.append(s,s),L(e)}const Ct={...j("puml"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating likec4:puml/${e.id}`));const n=await t.computedModel(e.id);return jt(n)}},St=b("puml","loadPumlSources"),ae=t=>`
|
|
227
234
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
228
235
|
import { LikeC4ModelProvider as Provider, LikeC4View as GenericView, ReactLikeC4 as GenericReactLikeC4 } from 'likec4/react';
|
|
229
236
|
import { IconRenderer } from 'likec4:icons/${t}'
|
|
@@ -256,10 +263,10 @@ export {
|
|
|
256
263
|
useLikeC4View
|
|
257
264
|
} from 'likec4:model/${t}'
|
|
258
265
|
export const projectId = ${JSON.stringify(t)}
|
|
259
|
-
`,
|
|
260
|
-
d?(o=d,n.info(v.dim("likec4/previews alias")+" "+v.dim(o))):n.warn("likec4/previews alias not found")}if(e.languageServices)r=e.languageServices;else{const d=c=e.watch??a.mode==="development";r=(await
|
|
266
|
+
`,bt={id:"likec4:single-project",virtualId:"likec4:plugin/single-project.js",async load({logger:t,projects:e}){const i=G(e);return t.info(v.dim("generating likec4:single-project for")+" "+i.id),Et(i.id)}},se=[$t,wt,pt,gt,yt,Ct],de=[...se,Rt],ce=[oe,re,bt,Tt,ut,ht,Nt,St,It];function Mt({useOverviewGraph:t=!1,...e}){let i,n,r,o,c=e.watch??!1;return{name:"vite-plugin-likec4",async configResolved(a){if(i=a.root,n=a.logger,t===!0){const d=a.resolve.alias.find(f=>f.find==="likec4/previews")?.replacement;
|
|
267
|
+
d?(o=d,n.info(v.dim("likec4/previews alias")+" "+v.dim(o))):n.warn("likec4/previews alias not found")}if(e.languageServices)r=e.languageServices;else{const d=c=e.watch??a.mode==="development";r=(await $e.fromWorkspace(e.workspace??a.root,{logger:n,graphviz:e.graphviz??"wasm",printErrors:e.printErrors??!0,throwIfInvalid:e.throwIfInvalid??!1,watch:d})).languageServices}o=r.workspaceUri.fsPath},resolveId(a){for(const d of de){const f=d.matches(a);if(f)return d.virtualId(f)}for(const d of ce)if(d.id===
|
|
261
268
|
a)return d.virtualId;return null},async load(a){for(const d of de){const f=d.matches(a);if(f){const u=r.project(f);return await d.load({logger:n,likec4:r,project:u,assetsDir:o,useOverviewGraph:t})}}for(const d of ce)if(d.virtualId===a){const f=r.projects();return le(pe(f)),await d.load({logger:n,likec4:r,projects:f,assetsDir:o,useOverviewGraph:t})}return null},configureServer(a){const d=()=>A(r.projects(),p=>({id:p.id,title:p.title,folder:p.folder.fsPath}));let f=d();const u=async p=>{const g=a.
|
|
262
269
|
moduleGraph.getModuleById(p);if(g&&g.importers.size>0)try{await a.reloadModule(g)}catch(w){n.error(w)}};r.builder.onModelParsed(async()=>{const[p]=r.getErrors();if(p){a.ws.send({type:"error",err:{name:"LikeC4ValidationError",message:`Validation failed
|
|
263
270
|
`+p.message.slice(0,500),stack:"",plugin:"vite-plugin-likec4",loc:{file:ue(i,p.sourceFsPath),line:p.range.start.line+1,column:p.range.start.character+1}}});return}const g=d();fe(g,f)||(f=g,await u(oe.virtualId),await u(re.virtualId));for(const w of f)for(const l of se)await u(l.virtualId(w.id))}),xt.call(this,{logger:n,likec4:r,server:a,reloadModule:u})},async buildEnd(){c&&await r.dispose()}}}function xt({logger:t,likec4:e,server:i}){i.ws.on("likec4:view:onChange",async function(n){try{t.info([
|
|
264
271
|
v.green("view:onChange"),v.dim("project")+":",n.projectId,v.dim("view")+":",n.viewId,v.dim("change")+":",n.change.op].join(" "));const r=await e.editor.applyChange(n);if(!r.success){t.error(`Failed to apply view change:
|
|
265
|
-
${r.error}`),i.ws.send({type:"error",err:{message:r.error,stack:"",name:"LikeC4ViewChangeError",plugin:"vite-plugin-likec4"}});return}t.info([v.green("view:onChange"),"\u2705"].join(" "))}catch(r){const o=r;t.error("Failed to apply view change",{error:o}),i.ws.send({type:"error",err:{message:o.message,stack:o.stack??"",name:o.name,plugin:"vite-plugin-likec4"}})}})}export{h as C,
|
|
272
|
+
${r.error}`),i.ws.send({type:"error",err:{message:r.error,stack:"",name:"LikeC4ViewChangeError",plugin:"vite-plugin-likec4"}});return}t.info([v.green("view:onChange"),"\u2705"].join(" "))}catch(r){const o=r;t.error("Failed to apply view change",{error:o}),i.ws.send({type:"error",err:{message:o.message,stack:o.stack??"",name:o.name,plugin:"vite-plugin-likec4"}})}})}export{h as C,Mt as L,s as N,ee as a,Z as b,$ as e,ie as g,y as j,L as t};
|
|
@@ -15750,17 +15750,23 @@ declare class IndexManager extends DefaultIndexManager {
|
|
|
15750
15750
|
|
|
15751
15751
|
declare class LangiumDocuments extends DefaultLangiumDocuments {
|
|
15752
15752
|
protected services: LikeC4SharedServices;
|
|
15753
|
-
protected compare: (a: string | undefined, b: string | undefined) => number;
|
|
15754
15753
|
constructor(services: LikeC4SharedServices);
|
|
15755
15754
|
addDocument(document: LangiumDocument): void;
|
|
15756
15755
|
getDocument(uri: URI$1): LikeC4LangiumDocument | undefined;
|
|
15757
15756
|
get all(): Stream<LikeC4LangiumDocument>;
|
|
15758
15757
|
/**
|
|
15759
|
-
* Returns all
|
|
15758
|
+
* Returns all documents, excluding built-in documents and documents excluded by ProjectsManager.
|
|
15760
15759
|
*/
|
|
15761
15760
|
get allExcludingBuiltin(): Stream<LikeC4LangiumDocument>;
|
|
15761
|
+
/**
|
|
15762
|
+
* Returns all documents for a project, including both project documents and documents included by the project.
|
|
15763
|
+
*/
|
|
15762
15764
|
projectDocuments(projectId: ProjectId): Stream<LikeC4LangiumDocument>;
|
|
15763
15765
|
groupedByProject(): Record<ProjectId, NonEmptyArray<LikeC4LangiumDocument>>;
|
|
15766
|
+
/**
|
|
15767
|
+
* Reset the project IDs of all documents.
|
|
15768
|
+
*/
|
|
15769
|
+
resetProjectIds(): void;
|
|
15764
15770
|
}
|
|
15765
15771
|
|
|
15766
15772
|
/**
|
|
@@ -15779,7 +15785,7 @@ interface ProjectData {
|
|
|
15779
15785
|
* Resolved include paths with both URI and folder string representations.
|
|
15780
15786
|
* These are additional directories that are part of this project.
|
|
15781
15787
|
*/
|
|
15782
|
-
includePaths?:
|
|
15788
|
+
includePaths?: NonEmptyArray<{
|
|
15783
15789
|
uri: URI$1;
|
|
15784
15790
|
folder: ProjectFolder;
|
|
15785
15791
|
}>;
|
|
@@ -15795,7 +15801,7 @@ interface Project {
|
|
|
15795
15801
|
/**
|
|
15796
15802
|
* Resolved include paths as URIs (if configured).
|
|
15797
15803
|
*/
|
|
15798
|
-
includePaths?: URI$1
|
|
15804
|
+
includePaths?: NonEmptyReadonlyArray<URI$1>;
|
|
15799
15805
|
}
|
|
15800
15806
|
declare class ProjectsManager {
|
|
15801
15807
|
#private;
|
|
@@ -15833,6 +15839,11 @@ declare class ProjectsManager {
|
|
|
15833
15839
|
* Checks if the specified document should be excluded from processing.
|
|
15834
15840
|
*/
|
|
15835
15841
|
isExcluded(document: LangiumDocument | URI$1 | string): boolean;
|
|
15842
|
+
/**
|
|
15843
|
+
* Checks if the specified document is included by the project.
|
|
15844
|
+
*/
|
|
15845
|
+
isIncluded(projectId: ProjectId$1, document: LangiumDocument | URI$1 | string): boolean;
|
|
15846
|
+
includedInProjects(document: LangiumDocument | URI$1 | string): ProjectId$1[];
|
|
15836
15847
|
/**
|
|
15837
15848
|
* Checks if it is a config file and it is not excluded by default exclude pattern
|
|
15838
15849
|
*
|
|
@@ -15842,7 +15853,7 @@ declare class ProjectsManager {
|
|
|
15842
15853
|
/**
|
|
15843
15854
|
* Registers likec4 project by config file.
|
|
15844
15855
|
*/
|
|
15845
|
-
registerConfigFile(configFile: URI$1): Promise<ProjectData>;
|
|
15856
|
+
registerConfigFile(configFile: URI$1, cancelToken?: CancellationToken$1): Promise<ProjectData>;
|
|
15846
15857
|
/**
|
|
15847
15858
|
* Registers (or reloads) likec4 project by config file or config object.
|
|
15848
15859
|
* If there is some project registered at same folder, it will be reloaded.
|
|
@@ -15850,14 +15861,14 @@ declare class ProjectsManager {
|
|
|
15850
15861
|
registerProject(opts: {
|
|
15851
15862
|
config: LikeC4ProjectConfig | LikeC4ProjectConfigInput;
|
|
15852
15863
|
folderUri: URI$1 | string;
|
|
15853
|
-
}): Promise<ProjectData>;
|
|
15864
|
+
}, cancelToken?: CancellationToken$1): Promise<ProjectData>;
|
|
15854
15865
|
/**
|
|
15855
15866
|
* Determines which project the given document belongs to.
|
|
15856
15867
|
* If the document does not belong to any project, returns the default project ID.
|
|
15857
15868
|
*/
|
|
15858
15869
|
belongsTo(document: LangiumDocument | URI$1 | string): scalar.ProjectId;
|
|
15859
|
-
reloadProjects(): Promise<void>;
|
|
15860
|
-
protected _reloadProjects(): Promise<void>;
|
|
15870
|
+
reloadProjects(cancelToken?: CancellationToken$1): Promise<void>;
|
|
15871
|
+
protected _reloadProjects(cancelToken?: CancellationToken$1): Promise<void>;
|
|
15861
15872
|
protected uniqueProjectId(name: string): scalar.ProjectId;
|
|
15862
15873
|
protected reset(): void;
|
|
15863
15874
|
rebuidProject(projectId: ProjectId$1, cancelToken?: CancellationToken$1): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{L as LikeC4VitePlugin}from"../shared/likec4.
|
|
1
|
+
export{L as LikeC4VitePlugin}from"../shared/likec4.fwpDnke2.mjs";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "likec4",
|
|
3
3
|
"description": "Toolchain for your architecture diagrams",
|
|
4
|
-
"version": "1.46.
|
|
4
|
+
"version": "1.46.3",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://likec4.dev",
|
|
7
7
|
"author": "Denis Davydkov <denis@davydkov.com>",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"access": "public"
|
|
100
100
|
},
|
|
101
101
|
"dependencies": {
|
|
102
|
-
"@hpcc-js/wasm-graphviz": "1.
|
|
102
|
+
"@hpcc-js/wasm-graphviz": "1.17.0",
|
|
103
103
|
"@vitejs/plugin-react": "^5.1.2",
|
|
104
104
|
"boxen": "^8.0.1",
|
|
105
105
|
"bundle-require": "^5.1.0",
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
"@xyflow/react": "12.10.0",
|
|
114
114
|
"@xyflow/system": "0.0.74",
|
|
115
115
|
"yargs": "17.7.2",
|
|
116
|
-
"@likec4/core": "1.46.
|
|
116
|
+
"@likec4/core": "1.46.3"
|
|
117
117
|
},
|
|
118
118
|
"peerDependencies": {
|
|
119
119
|
"react": "^18.x || ^19.x",
|
|
@@ -131,31 +131,31 @@
|
|
|
131
131
|
"@tanstack/react-router": "^1.114.13",
|
|
132
132
|
"@tanstack/router-cli": "^1.114.13",
|
|
133
133
|
"@tanstack/router-vite-plugin": "^1.114.13",
|
|
134
|
-
"@types/node": "~22.19.
|
|
134
|
+
"@types/node": "~22.19.3",
|
|
135
135
|
"@types/picomatch": "^4.0.2",
|
|
136
136
|
"@types/react": "19.2.7",
|
|
137
137
|
"@types/react-dom": "19.2.3",
|
|
138
138
|
"@types/semver": "^7.7.1",
|
|
139
139
|
"@types/yargs": "^17.0.33",
|
|
140
140
|
"@xstate/react": "6.0.0",
|
|
141
|
-
"autoprefixer": "^10.4.
|
|
141
|
+
"autoprefixer": "^10.4.23",
|
|
142
142
|
"clsx": "^2.1.1",
|
|
143
|
-
"conf": "^
|
|
143
|
+
"conf": "^15.0.2",
|
|
144
144
|
"defu": "^6.1.4",
|
|
145
145
|
"dts-bundle-generator": "^9.5.1",
|
|
146
146
|
"esbuild-node-externals": "1.20.1",
|
|
147
147
|
"esm-env": "^1.2.2",
|
|
148
|
-
"fast-equals": "^5.
|
|
148
|
+
"fast-equals": "^5.4.0",
|
|
149
149
|
"get-port": "^7.1.0",
|
|
150
150
|
"html-to-image": "1.11.11",
|
|
151
151
|
"is-inside-container": "^1.0.0",
|
|
152
152
|
"json5": "^2.2.3",
|
|
153
|
-
"ky": "^1.14.
|
|
153
|
+
"ky": "^1.14.1",
|
|
154
154
|
"langium": "3.5.0",
|
|
155
155
|
"merge-error-cause": "^5.0.2",
|
|
156
156
|
"mkdirp": "^3.0.1",
|
|
157
157
|
"motion": "^12.23.26",
|
|
158
|
-
"nano-spawn": "^
|
|
158
|
+
"nano-spawn": "^2.0.0",
|
|
159
159
|
"nanostores": "1.1.0",
|
|
160
160
|
"npm-run-all2": "^8.0.4",
|
|
161
161
|
"p-limit": "6.2.0",
|
|
@@ -190,17 +190,17 @@
|
|
|
190
190
|
"wireit": "0.14.12",
|
|
191
191
|
"zod": "^3.25.76",
|
|
192
192
|
"xstate": "5.24.0",
|
|
193
|
-
"@likec4/config": "1.46.2",
|
|
194
|
-
"@likec4/diagram": "1.46.2",
|
|
195
193
|
"@likec4/icons": "1.46.1",
|
|
194
|
+
"@likec4/config": "1.46.3",
|
|
195
|
+
"@likec4/diagram": "1.46.3",
|
|
196
196
|
"@likec4/devops": "1.42.0",
|
|
197
|
-
"@likec4/
|
|
198
|
-
"@likec4/
|
|
199
|
-
"@likec4/
|
|
200
|
-
"@likec4/
|
|
201
|
-
"@likec4/
|
|
202
|
-
"@likec4/
|
|
203
|
-
"@likec4/
|
|
197
|
+
"@likec4/generators": "1.46.3",
|
|
198
|
+
"@likec4/layouts": "1.46.3",
|
|
199
|
+
"@likec4/tsconfig": "1.46.1",
|
|
200
|
+
"@likec4/language-server": "1.46.3",
|
|
201
|
+
"@likec4/styles": "1.46.3",
|
|
202
|
+
"@likec4/style-preset": "1.46.3",
|
|
203
|
+
"@likec4/log": "1.46.1"
|
|
204
204
|
},
|
|
205
205
|
"scripts": {
|
|
206
206
|
"typecheck": "tsc --build --verbose",
|