likec4 1.55.0 → 1.56.0

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.
Files changed (263) hide show
  1. package/__app__/chunks/ColorSchemeToggle.mjs +1 -0
  2. package/__app__/chunks/DiagramActorProvider.mjs +10 -0
  3. package/__app__/chunks/Fallback.mjs +1 -0
  4. package/__app__/chunks/Header.mjs +13 -0
  5. package/__app__/chunks/IconRenderer.mjs +1 -0
  6. package/__app__/chunks/LikeC4Diagram.mjs +19 -0
  7. package/__app__/chunks/LikeC4ModelContext.mjs +1 -0
  8. package/__app__/chunks/LikeC4ModelContext2.mjs +1 -0
  9. package/__app__/chunks/LikeC4Styles.mjs +48 -0
  10. package/__app__/chunks/NavigationPanel.mjs +1 -0
  11. package/__app__/chunks/StaticLikeC4Diagram.mjs +1 -0
  12. package/__app__/chunks/ViewReact.mjs +1 -0
  13. package/__app__/chunks/__root.mjs +1 -0
  14. package/__app__/chunks/adhoc-editor.mjs +1 -0
  15. package/__app__/chunks/hooks.mjs +1 -0
  16. package/__app__/chunks/libs/@dagrejs/dagre.mjs +1 -0
  17. package/__app__/chunks/libs/@floating-ui/core.mjs +1 -0
  18. package/__app__/chunks/libs/@floating-ui/dom.mjs +1 -0
  19. package/__app__/chunks/libs/@floating-ui/react.mjs +1 -0
  20. package/__app__/chunks/libs/@mantine/core.mjs +41 -0
  21. package/__app__/chunks/libs/@mantine/hooks.mjs +1 -0
  22. package/__app__/chunks/libs/@nanostores/react.mjs +1 -0
  23. package/__app__/chunks/libs/@react-hookz/web.mjs +1 -0
  24. package/__app__/chunks/libs/@tabler/icons-react.mjs +15 -0
  25. package/__app__/chunks/libs/@tanstack/history.mjs +1 -0
  26. package/__app__/chunks/libs/@tanstack/react-router.mjs +3 -0
  27. package/__app__/chunks/libs/@tanstack/router-core.mjs +1 -0
  28. package/__app__/chunks/libs/@xstate/react.mjs +1 -0
  29. package/__app__/chunks/libs/@xstate/store.mjs +1 -0
  30. package/__app__/chunks/libs/@xyflow/react.mjs +7 -0
  31. package/__app__/chunks/libs/@zag-js/anatomy.mjs +1 -0
  32. package/__app__/chunks/libs/@zag-js/collection.mjs +1 -0
  33. package/__app__/chunks/libs/@zag-js/core.mjs +1 -0
  34. package/__app__/chunks/libs/@zag-js/react.mjs +1 -0
  35. package/__app__/chunks/libs/@zag-js/tree-view.mjs +1 -0
  36. package/__app__/chunks/libs/bezier-js.mjs +1 -0
  37. package/__app__/chunks/libs/d3-path.mjs +1 -0
  38. package/__app__/chunks/libs/d3-shape.mjs +1 -0
  39. package/__app__/chunks/libs/fast-equals.mjs +1 -0
  40. package/__app__/chunks/libs/framer-motion.mjs +9 -0
  41. package/__app__/chunks/libs/html-to-image.mjs +2 -0
  42. package/__app__/chunks/libs/motion-dom.mjs +1 -0
  43. package/__app__/chunks/libs/motion.mjs +1 -0
  44. package/__app__/chunks/libs/nanostores.mjs +1 -0
  45. package/__app__/chunks/libs/react-error-boundary.mjs +1 -0
  46. package/__app__/chunks/libs/react-resizable-panels.mjs +1 -0
  47. package/__app__/chunks/libs/remeda.mjs +1 -0
  48. package/__app__/chunks/libs/xstate.mjs +1 -0
  49. package/__app__/chunks/libs/zod.mjs +39 -0
  50. package/__app__/chunks/rolldown-runtime.mjs +1 -0
  51. package/__app__/chunks/safeCtx.mjs +1 -0
  52. package/__app__/chunks/searchParams.mjs +1 -0
  53. package/__app__/chunks/single-index.mjs +1 -0
  54. package/__app__/chunks/styled-system.mjs +1 -0
  55. package/__app__/chunks/styles.css.mjs +1 -0
  56. package/__app__/chunks/useLikeC4Project.mjs +1 -0
  57. package/__app__/chunks/useUpdateEffect.mjs +1 -0
  58. package/__app__/codegen/react.mjs +11 -0
  59. package/__app__/codegen/webcomponent.mjs +790 -0
  60. package/__app__/src/fonts.css +1 -1
  61. package/__app__/src/main.mjs +1 -0
  62. package/__app__/src/pages/AdHocViewEditor.mjs +1 -0
  63. package/__app__/src/pages/EmbedPage.mjs +1 -0
  64. package/__app__/src/pages/ExportPage.mjs +1 -0
  65. package/__app__/src/pages/ProjectsOverview.mjs +1 -0
  66. package/__app__/src/pages/ViewAsD2.mjs +1 -0
  67. package/__app__/src/pages/ViewAsDot.mjs +1 -0
  68. package/__app__/src/pages/ViewAsMmd.mjs +1 -0
  69. package/__app__/src/pages/ViewAsPuml.mjs +1 -0
  70. package/__app__/src/pages/ViewEditor.mjs +1 -0
  71. package/__app__/src/pages/ViewReact.mjs +1 -0
  72. package/__app__/src/routeTree.gen.mjs +1 -0
  73. package/__app__/src/routes/__root.mjs +1 -0
  74. package/__app__/src/routes/_single/adhoc.mjs +1 -0
  75. package/__app__/src/routes/_single/embed._viewId.mjs +1 -0
  76. package/__app__/src/routes/_single/export._viewId.mjs +1 -0
  77. package/__app__/src/routes/_single/route.mjs +1 -0
  78. package/__app__/src/routes/_single/single-index.mjs +1 -0
  79. package/__app__/src/routes/_single/view._viewId.d2.mjs +1 -0
  80. package/__app__/src/routes/_single/view._viewId.dot.mjs +1 -0
  81. package/__app__/src/routes/_single/view._viewId.index.mjs +1 -0
  82. package/__app__/src/routes/_single/view._viewId.mjs +1 -0
  83. package/__app__/src/routes/_single/view._viewId.mmd.mjs +1 -0
  84. package/__app__/src/routes/_single/view._viewId.puml.mjs +1 -0
  85. package/__app__/src/routes/_single/webcomponent._.mjs +33 -0
  86. package/__app__/src/routes/index.mjs +1 -0
  87. package/__app__/src/routes/project._projectId/-components.mjs +1 -0
  88. package/__app__/src/routes/project._projectId/adhoc.mjs +1 -0
  89. package/__app__/src/routes/project._projectId/embed._viewId.mjs +1 -0
  90. package/__app__/src/routes/project._projectId/export._viewId.mjs +1 -0
  91. package/__app__/src/routes/project._projectId/index.mjs +1 -0
  92. package/__app__/src/routes/project._projectId/route.mjs +1 -0
  93. package/__app__/src/routes/project._projectId/view._viewId.d2.mjs +1 -0
  94. package/__app__/src/routes/project._projectId/view._viewId.dot.mjs +1 -0
  95. package/__app__/src/routes/project._projectId/view._viewId.index.mjs +1 -0
  96. package/__app__/src/routes/project._projectId/view._viewId.mjs +1 -0
  97. package/__app__/src/routes/project._projectId/view._viewId.mmd.mjs +1 -0
  98. package/__app__/src/routes/project._projectId/view._viewId.puml.mjs +1 -0
  99. package/__app__/src/routes/projects.mjs +1 -0
  100. package/__app__/src/style.css +1 -1
  101. package/dist/chunks/filenames.mjs +17 -0
  102. package/dist/{_chunks → chunks}/index.d.mts +2 -1
  103. package/dist/{_chunks → chunks}/index2.d.mts +71 -12
  104. package/dist/chunks/libs/@chevrotain/gast.mjs +1 -0
  105. package/dist/chunks/libs/@chevrotain/regexp-to-ast.mjs +9 -0
  106. package/dist/chunks/libs/@chevrotain/utils.mjs +1 -0
  107. package/dist/chunks/libs/@hono/mcp.mjs +45 -0
  108. package/dist/chunks/libs/@hono/node-server.mjs +1 -0
  109. package/dist/{_chunks → chunks}/libs/@logtape/logtape.d.mts +2 -0
  110. package/dist/chunks/libs/@logtape/logtape.mjs +4 -0
  111. package/dist/chunks/libs/@lume/kiwi.mjs +1 -0
  112. package/dist/chunks/libs/@modelcontextprotocol/sdk.mjs +12 -0
  113. package/dist/chunks/libs/ajv.mjs +1 -0
  114. package/dist/chunks/libs/ansi-align.mjs +2 -0
  115. package/dist/chunks/libs/ansi-regex.mjs +1 -0
  116. package/dist/chunks/libs/ansi-styles.mjs +1 -0
  117. package/dist/chunks/libs/atomically.mjs +1 -0
  118. package/dist/chunks/libs/birpc.mjs +1 -0
  119. package/dist/chunks/libs/boxen.mjs +22 -0
  120. package/dist/chunks/libs/chevrotain-allstar.mjs +2 -0
  121. package/dist/chunks/libs/chevrotain.mjs +58 -0
  122. package/dist/chunks/libs/conf.mjs +1 -0
  123. package/dist/chunks/libs/defu.mjs +1 -0
  124. package/dist/chunks/libs/destr.mjs +1 -0
  125. package/dist/chunks/libs/eventemitter3.mjs +1 -0
  126. package/dist/chunks/libs/find-up-simple.mjs +1 -0
  127. package/dist/chunks/libs/get-port.mjs +1 -0
  128. package/dist/chunks/libs/hono.mjs +1 -0
  129. package/dist/chunks/libs/is-docker.mjs +1 -0
  130. package/dist/chunks/libs/is-error-instance.mjs +1 -0
  131. package/dist/chunks/libs/is-inside-container.mjs +1 -0
  132. package/dist/chunks/libs/is-plain-obj.mjs +1 -0
  133. package/dist/chunks/libs/isexe.mjs +1 -0
  134. package/dist/chunks/libs/json5.mjs +14 -0
  135. package/dist/chunks/libs/khroma.mjs +1 -0
  136. package/dist/chunks/libs/ky.mjs +3 -0
  137. package/dist/{_chunks → chunks}/libs/langium.d.mts +4 -4
  138. package/dist/chunks/libs/langium.mjs +32 -0
  139. package/dist/chunks/libs/merge-error-cause.mjs +2 -0
  140. package/dist/chunks/libs/p-debounce.mjs +1 -0
  141. package/dist/chunks/libs/p-limit.mjs +1 -0
  142. package/dist/chunks/libs/p-queue.mjs +1 -0
  143. package/dist/chunks/libs/p-timeout.mjs +1 -0
  144. package/dist/chunks/libs/package-manager-detector.mjs +1 -0
  145. package/dist/chunks/libs/package-up.mjs +1 -0
  146. package/dist/chunks/libs/pako.mjs +1 -0
  147. package/dist/chunks/libs/parse-ms.mjs +1 -0
  148. package/dist/chunks/libs/pathe.mjs +1 -0
  149. package/dist/chunks/libs/picomatch.mjs +1 -0
  150. package/dist/chunks/libs/pretty-ms.mjs +1 -0
  151. package/dist/chunks/libs/remeda.mjs +1 -0
  152. package/dist/chunks/libs/safe-stringify.mjs +1 -0
  153. package/dist/chunks/libs/strip-indent.mjs +1 -0
  154. package/dist/chunks/libs/tinyrainbow.mjs +1 -0
  155. package/dist/{_chunks → chunks}/libs/ts-graphviz.d.mts +2 -0
  156. package/dist/chunks/libs/ts-graphviz.mjs +4 -0
  157. package/dist/chunks/libs/ufo.mjs +1 -0
  158. package/dist/chunks/libs/unstorage.mjs +1 -0
  159. package/dist/chunks/libs/which.mjs +1 -0
  160. package/dist/chunks/libs/word-wrap.mjs +12 -0
  161. package/dist/{_chunks → chunks}/libs/zod.d.mts +2 -0
  162. package/dist/chunks/node.mjs +76 -0
  163. package/dist/chunks/plugin.mjs +400 -0
  164. package/dist/chunks/rolldown-runtime.mjs +1 -0
  165. package/dist/chunks/sequence-view.mjs +1 -0
  166. package/dist/cli/index.mjs +262 -123
  167. package/dist/config/index.d.mts +1 -2
  168. package/dist/config/index.mjs +1 -1
  169. package/dist/index.d.mts +4 -8
  170. package/dist/index.mjs +1 -1
  171. package/dist/model/index.d.mts +2 -1
  172. package/dist/model/index.mjs +1 -1
  173. package/dist/vite-plugin/index.d.mts +38 -8
  174. package/dist/vite-plugin/index.mjs +1 -1
  175. package/dist/{_chunks → vite-plugin/internal/chunks}/libs/@nanostores/react.d.mts +2 -56
  176. package/dist/vite-plugin/internal/chunks/libs/@nanostores/react.mjs +1 -0
  177. package/dist/vite-plugin/internal/chunks/libs/birpc.mjs +1 -0
  178. package/dist/vite-plugin/internal/chunks/libs/fast-equals.mjs +1 -0
  179. package/dist/vite-plugin/internal/chunks/libs/nanostores.d.mts +59 -0
  180. package/dist/vite-plugin/internal/chunks/libs/nanostores.mjs +1 -0
  181. package/dist/vite-plugin/internal/chunks/libs/remeda.mjs +1 -0
  182. package/dist/vite-plugin/internal/chunks/rolldown-runtime.mjs +1 -0
  183. package/dist/vite-plugin/{internal.d.mts → internal/index.d.mts} +12 -3
  184. package/dist/vite-plugin/internal/index.mjs +1 -0
  185. package/package.json +37 -57
  186. package/react/index.d.mts +2 -28
  187. package/react/index.mjs +50520 -53827
  188. package/vite-plugin/internal/package.json +2 -2
  189. package/vite-plugin-modules.d.ts +14 -0
  190. package/__app__/react/likec4.tsx +0 -25
  191. package/__app__/src/ProjectsOverview.js +0 -16
  192. package/__app__/src/const.js +0 -19
  193. package/__app__/src/likec4.js +0 -21225
  194. package/__app__/src/main.js +0 -7
  195. package/__app__/src/routes/index.js +0 -324
  196. package/__app__/src/routes/projects.js +0 -189
  197. package/__app__/src/routes/single.js +0 -1924
  198. package/__app__/src/vendors.js +0 -52672
  199. package/__app__/src/webcomponent.js +0 -68
  200. package/dist/THIRD-PARTY-LICENSES.md +0 -1609
  201. package/dist/_chunks/libs/@chevrotain/cst-dts-gen.mjs +0 -30
  202. package/dist/_chunks/libs/@chevrotain/regexp-to-ast.mjs +0 -9
  203. package/dist/_chunks/libs/@chevrotain/types.d.mts +0 -1
  204. package/dist/_chunks/libs/@chevrotain/utils.mjs +0 -1
  205. package/dist/_chunks/libs/@hono/mcp.mjs +0 -45
  206. package/dist/_chunks/libs/@hono/node-server.mjs +0 -1
  207. package/dist/_chunks/libs/@logtape/logtape.mjs +0 -4
  208. package/dist/_chunks/libs/@lume/kiwi.mjs +0 -1
  209. package/dist/_chunks/libs/@modelcontextprotocol/sdk.mjs +0 -12
  210. package/dist/_chunks/libs/@nanostores/react.mjs +0 -1
  211. package/dist/_chunks/libs/ajv.mjs +0 -1
  212. package/dist/_chunks/libs/ansi-align.mjs +0 -2
  213. package/dist/_chunks/libs/ansi-regex.mjs +0 -1
  214. package/dist/_chunks/libs/ansi-styles.mjs +0 -1
  215. package/dist/_chunks/libs/atomically.mjs +0 -1
  216. package/dist/_chunks/libs/birpc.mjs +0 -1
  217. package/dist/_chunks/libs/boxen.mjs +0 -22
  218. package/dist/_chunks/libs/chevrotain-allstar.mjs +0 -2
  219. package/dist/_chunks/libs/chevrotain.mjs +0 -58
  220. package/dist/_chunks/libs/conf.mjs +0 -1
  221. package/dist/_chunks/libs/defu.mjs +0 -1
  222. package/dist/_chunks/libs/destr.mjs +0 -1
  223. package/dist/_chunks/libs/esm-env.mjs +0 -1
  224. package/dist/_chunks/libs/eventemitter3.mjs +0 -1
  225. package/dist/_chunks/libs/fast-equals.mjs +0 -1
  226. package/dist/_chunks/libs/find-up-simple.mjs +0 -1
  227. package/dist/_chunks/libs/get-port.mjs +0 -1
  228. package/dist/_chunks/libs/is-docker.mjs +0 -1
  229. package/dist/_chunks/libs/is-error-instance.mjs +0 -1
  230. package/dist/_chunks/libs/is-inside-container.mjs +0 -1
  231. package/dist/_chunks/libs/is-plain-obj.mjs +0 -1
  232. package/dist/_chunks/libs/isexe.mjs +0 -1
  233. package/dist/_chunks/libs/json5.mjs +0 -14
  234. package/dist/_chunks/libs/khroma.mjs +0 -1
  235. package/dist/_chunks/libs/ky.mjs +0 -3
  236. package/dist/_chunks/libs/langium.mjs +0 -33
  237. package/dist/_chunks/libs/merge-error-cause.mjs +0 -2
  238. package/dist/_chunks/libs/p-limit.mjs +0 -1
  239. package/dist/_chunks/libs/p-queue.mjs +0 -1
  240. package/dist/_chunks/libs/p-timeout.mjs +0 -1
  241. package/dist/_chunks/libs/package-manager-detector.mjs +0 -1
  242. package/dist/_chunks/libs/package-up.mjs +0 -1
  243. package/dist/_chunks/libs/pako.mjs +0 -1
  244. package/dist/_chunks/libs/parse-ms.mjs +0 -1
  245. package/dist/_chunks/libs/pathe.mjs +0 -1
  246. package/dist/_chunks/libs/picomatch.mjs +0 -1
  247. package/dist/_chunks/libs/pretty-ms.mjs +0 -1
  248. package/dist/_chunks/libs/remeda.mjs +0 -2
  249. package/dist/_chunks/libs/safe-stringify.mjs +0 -1
  250. package/dist/_chunks/libs/strip-indent.mjs +0 -1
  251. package/dist/_chunks/libs/tinyrainbow.mjs +0 -1
  252. package/dist/_chunks/libs/ts-graphviz.mjs +0 -4
  253. package/dist/_chunks/libs/ufo.mjs +0 -1
  254. package/dist/_chunks/libs/unstorage.mjs +0 -1
  255. package/dist/_chunks/libs/which.mjs +0 -1
  256. package/dist/_chunks/libs/word-wrap.mjs +0 -12
  257. package/dist/_chunks/node.mjs +0 -76
  258. package/dist/_chunks/rolldown-runtime.mjs +0 -1
  259. package/dist/_chunks/sequence.mjs +0 -1
  260. package/dist/_chunks/src.mjs +0 -17
  261. package/dist/_chunks/src2.mjs +0 -499
  262. package/dist/vite-plugin/internal.mjs +0 -1
  263. /package/dist/{_chunks → chunks}/libs/vscode-languageserver.mjs +0 -0
@@ -1,3 +1,2 @@
1
- import "../_chunks/libs/zod.mjs";
2
- import { _ as isLikeC4JsonConfig, a as LikeC4ProjectConfig, c as LikeC4ProjectJsonConfig, d as defineConfig, f as defineGenerators, g as isLikeC4Config, h as defineThemeColor, l as LikeC4StylesConfig, m as defineTheme, n as GeneratorFnContext, o as LikeC4ProjectConfigInput, p as defineStyle, r as GeneratorFnParams, s as LikeC4ProjectConfigOps, t as GeneratorFn, u as LikeC4StylesConfigInput, v as isLikeC4NonJsonConfig } from "../_chunks/index.mjs";
1
+ import { _ as isLikeC4JsonConfig, a as LikeC4ProjectConfig, c as LikeC4ProjectJsonConfig, d as defineConfig, f as defineGenerators, g as isLikeC4Config, h as defineThemeColor, l as LikeC4StylesConfig, m as defineTheme, n as GeneratorFnContext, o as LikeC4ProjectConfigInput, p as defineStyle, r as GeneratorFnParams, s as LikeC4ProjectConfigOps, t as GeneratorFn, u as LikeC4StylesConfigInput, v as isLikeC4NonJsonConfig } from "../chunks/index.mjs";
3
2
  export { type GeneratorFn, type GeneratorFnContext, type GeneratorFnParams, type LikeC4ProjectConfig, type LikeC4ProjectConfigInput, LikeC4ProjectConfigOps, type LikeC4ProjectJsonConfig, type LikeC4StylesConfig, type LikeC4StylesConfigInput, defineConfig, defineGenerators, defineStyle, defineTheme, defineThemeColor, isLikeC4Config, isLikeC4JsonConfig, isLikeC4NonJsonConfig };
@@ -1 +1 @@
1
- import"../_chunks/libs/json5.mjs";import"../_chunks/libs/@hono/mcp.mjs";import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c}from"../_chunks/src.mjs";export{r as LikeC4ProjectConfigOps,c as defineConfig,i as defineGenerators,o as defineStyle,n as defineTheme,e as defineThemeColor,a as isLikeC4Config,s as isLikeC4JsonConfig,t as isLikeC4NonJsonConfig};
1
+ import"../chunks/rolldown-runtime.mjs";import{a as e,d as t,i as n,l as r,n as i,o as a,r as o,t as s,u as c}from"../chunks/filenames.mjs";function defineConfig(e){return a.parse(e)}function defineGenerators(e){return n.parse(e)}function defineThemeColor(e){return t.parse(e)}function defineTheme(e){return r.parse(e)}function defineStyle(e){return c.parse(e)}export{e as LikeC4ProjectConfigOps,defineConfig,defineGenerators,defineStyle,defineTheme,defineThemeColor,s as isLikeC4Config,i as isLikeC4JsonConfig,o as isLikeC4NonJsonConfig};
package/dist/index.d.mts CHANGED
@@ -1,12 +1,8 @@
1
- import "./_chunks/libs/zod.mjs";
2
- import "./_chunks/index.mjs";
3
- import { t as Logger } from "./_chunks/libs/@logtape/logtape.mjs";
4
- import "./_chunks/libs/langium.mjs";
5
- import { a as LikeC4Views, i as LikeC4SharedServices, n as LikeC4ModelBuilder, o as ProjectsManager, r as LikeC4Services, t as LikeC4LanguageServices } from "./_chunks/index2.mjs";
6
- import "./_chunks/libs/@chevrotain/types.mjs";
7
- import "./_chunks/libs/ts-graphviz.mjs";
8
- import { LikeC4Model } from "@likec4/core/model";
1
+ import { i as __name } from "./chunks/rolldown-runtime.mjs";
2
+ import { t as Logger } from "./chunks/libs/@logtape/logtape.mjs";
3
+ import { a as LikeC4Views, i as LikeC4SharedServices, n as LikeC4ModelBuilder, o as ProjectsManager, r as LikeC4Services, t as LikeC4LanguageServices } from "./chunks/index2.mjs";
9
4
  import { LayoutedView, NonEmptyArray, ProjectId } from "@likec4/core/types";
5
+ import { LikeC4Model } from "@likec4/core/model";
10
6
  export * from "@likec4/core/types";
11
7
 
12
8
  //#region ../language-services/dist/_chunks/options.d.mts
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import"./_chunks/libs/remeda.mjs";import"./_chunks/libs/@logtape/logtape.mjs";import"./_chunks/libs/merge-error-cause.mjs";import"./_chunks/libs/is-error-instance.mjs";import"./_chunks/libs/is-plain-obj.mjs";import"./_chunks/libs/safe-stringify.mjs";import{n as e,t}from"./_chunks/node.mjs";import{t as n}from"./_chunks/libs/defu.mjs";import"./_chunks/libs/langium.mjs";import"./_chunks/libs/@chevrotain/regexp-to-ast.mjs";import"./_chunks/libs/chevrotain.mjs";import"./_chunks/libs/@chevrotain/cst-dts-gen.mjs";import"./_chunks/libs/@chevrotain/utils.mjs";import"./_chunks/libs/chevrotain-allstar.mjs";import"./_chunks/libs/tinyrainbow.mjs";import"./_chunks/libs/ufo.mjs";import"./_chunks/libs/json5.mjs";import"./_chunks/libs/@hono/mcp.mjs";import"./_chunks/src.mjs";import"./_chunks/libs/pathe.mjs";import"./_chunks/sequence.mjs";import"./_chunks/libs/@lume/kiwi.mjs";import"./_chunks/libs/ts-graphviz.mjs";import"./_chunks/libs/word-wrap.mjs";import"./_chunks/libs/khroma.mjs";import"./_chunks/libs/p-limit.mjs";import"./_chunks/libs/eventemitter3.mjs";import"./_chunks/libs/p-queue.mjs";import"./_chunks/libs/isexe.mjs";import"./_chunks/libs/which.mjs";import"./_chunks/libs/parse-ms.mjs";import"./_chunks/libs/pretty-ms.mjs";import"./_chunks/libs/picomatch.mjs";import"./_chunks/libs/p-timeout.mjs";import"./_chunks/libs/fast-equals.mjs";import"./_chunks/libs/strip-indent.mjs";import"./_chunks/libs/destr.mjs";import"./_chunks/libs/unstorage.mjs";import{exact as r}from"@likec4/core";let i;(function(i){async function a(e,i){let{logger:a,watch:o,...s}=i??{};return t(e,n(r({...s,configureLogger:a}),{configureLogger:`console`}))}i.fromSource=a;async function o(t=``,i){let{logger:a,watch:o,...s}=i??{};return e(t,n(r({...s,configureLogger:a}),{configureLogger:`console`}))}i.fromWorkspace=o})(i||={});export{i as LikeC4};
1
+ import{i as e}from"./chunks/rolldown-runtime.mjs";import{n as t,t as n}from"./chunks/node.mjs";import{t as r}from"./chunks/libs/defu.mjs";import{exact as i}from"@likec4/core";let a;(function(a){async function fromSource$1(e,t){let{logger:a,watch:o,...s}=t??{};return n(e,r(i({...s,configureLogger:a}),{configureLogger:`console`}))}e(fromSource$1,`fromSource`),a.fromSource=fromSource$1;async function fromWorkspace$1(e=``,n){let{logger:a,watch:o,...s}=n??{};return t(e,r(i({...s,configureLogger:a}),{configureLogger:`console`}))}e(fromWorkspace$1,`fromWorkspace`),a.fromWorkspace=fromWorkspace$1})(a||={});export{a as LikeC4};
@@ -1,6 +1,7 @@
1
- import { Connection, ConnectionModel, DeployedInstanceModel, DeploymentConnectionModel, DeploymentElementModel, DeploymentNodeModel, DeploymentRelationEndpoint, DeploymentRelationModel, EdgeModel, ElementModel, LikeC4DeploymentModel, LikeC4Model, LikeC4Model as LikeC4Model$1, LikeC4ViewModel, NodeModel, RelationshipModel, deploymentConnection, differenceConnections, findAscendingConnections, findDeepestNestedConnection, findDescendantConnections, hasSameSource, hasSameSourceTarget, hasSameTarget, isAnyInOut, isDeployedInstanceModel, isDeploymentElementModel, isDeploymentNodeModel, isDeploymentRelationModel, isEdgeModel, isElementModel, isIncoming, isLikeC4ViewModel, isNestedConnection, isNestedElementOfDeployedInstanceModel, isNodeModel, isOutgoing, isRelationModel, mergeConnections, modelConnection, sortConnectionsByBoundaryHierarchy, sortDeepestFirst } from "@likec4/core/model";
1
+ import { i as __name } from "../chunks/rolldown-runtime.mjs";
2
2
  import * as types from "@likec4/core/types";
3
3
  import { BBox, LayoutedDynamicView, NodeId, ViewId } from "@likec4/core/types";
4
+ import { Connection, ConnectionModel, DeployedInstanceModel, DeploymentConnectionModel, DeploymentElementModel, DeploymentNodeModel, DeploymentRelationEndpoint, DeploymentRelationModel, EdgeModel, ElementModel, LikeC4DeploymentModel, LikeC4Model, LikeC4Model as LikeC4Model$1, LikeC4ViewModel, NodeModel, RelationshipModel, deploymentConnection, differenceConnections, findAscendingConnections, findDeepestNestedConnection, findDescendantConnections, hasSameSource, hasSameSourceTarget, hasSameTarget, isAnyInOut, isDeployedInstanceModel, isDeploymentElementModel, isDeploymentNodeModel, isDeploymentRelationModel, isEdgeModel, isElementModel, isIncoming, isLikeC4ViewModel, isNestedConnection, isNestedElementOfDeployedInstanceModel, isNodeModel, isOutgoing, isRelationModel, mergeConnections, modelConnection, sortConnectionsByBoundaryHierarchy, sortDeepestFirst } from "@likec4/core/model";
4
5
  import { ComputedProjectEdge, ComputedProjectNode, ComputedProjectsView, LayoutedProjectEdge, LayoutedProjectNode, LayoutedProjectsView } from "@likec4/core/compute-view";
5
6
  export * from "@likec4/core/types";
6
7
 
@@ -1 +1 @@
1
- import"../_chunks/libs/remeda.mjs";import{t as e}from"../_chunks/sequence.mjs";import"../_chunks/libs/@lume/kiwi.mjs";import{Connection as t,ConnectionModel as n,DeployedInstanceModel as r,DeploymentConnectionModel as i,DeploymentNodeModel as a,DeploymentRelationModel as o,EdgeModel as s,ElementModel as c,LikeC4DeploymentModel as l,LikeC4Model as u,LikeC4Model as d,LikeC4ViewModel as f,NodeModel as p,RelationshipModel as m,deploymentConnection as h,differenceConnections as g,findAscendingConnections as _,findDeepestNestedConnection as v,findDescendantConnections as y,hasSameSource as b,hasSameSourceTarget as x,hasSameTarget as S,isAnyInOut as C,isDeployedInstanceModel as w,isDeploymentElementModel as T,isDeploymentNodeModel as E,isDeploymentRelationModel as D,isEdgeModel as O,isElementModel as k,isIncoming as A,isLikeC4ViewModel as j,isNestedConnection as M,isNestedElementOfDeployedInstanceModel as N,isNodeModel as P,isOutgoing as F,isRelationModel as I,mergeConnections as L,modelConnection as R,sortConnectionsByBoundaryHierarchy as z,sortDeepestFirst as B}from"@likec4/core/model";function V(e){return d.create(e)}export{t as Connection,n as ConnectionModel,r as DeployedInstanceModel,i as DeploymentConnectionModel,a as DeploymentNodeModel,o as DeploymentRelationModel,s as EdgeModel,c as ElementModel,l as LikeC4DeploymentModel,u as LikeC4Model,f as LikeC4ViewModel,p as NodeModel,m as RelationshipModel,e as calcSequenceLayout,V as createLikeC4Model,h as deploymentConnection,g as differenceConnections,_ as findAscendingConnections,v as findDeepestNestedConnection,y as findDescendantConnections,b as hasSameSource,x as hasSameSourceTarget,S as hasSameTarget,C as isAnyInOut,w as isDeployedInstanceModel,T as isDeploymentElementModel,E as isDeploymentNodeModel,D as isDeploymentRelationModel,O as isEdgeModel,k as isElementModel,A as isIncoming,j as isLikeC4ViewModel,M as isNestedConnection,N as isNestedElementOfDeployedInstanceModel,P as isNodeModel,F as isOutgoing,I as isRelationModel,L as mergeConnections,R as modelConnection,z as sortConnectionsByBoundaryHierarchy,B as sortDeepestFirst};
1
+ import"../chunks/rolldown-runtime.mjs";import{t as e}from"../chunks/sequence-view.mjs";import{Connection as t,ConnectionModel as n,DeployedInstanceModel as r,DeploymentConnectionModel as i,DeploymentNodeModel as a,DeploymentRelationModel as o,EdgeModel as s,ElementModel as c,LikeC4DeploymentModel as l,LikeC4Model as u,LikeC4Model as d,LikeC4ViewModel as f,NodeModel as p,RelationshipModel as m,deploymentConnection as h,differenceConnections as g,findAscendingConnections as _,findDeepestNestedConnection as v,findDescendantConnections as y,hasSameSource as b,hasSameSourceTarget as x,hasSameTarget as S,isAnyInOut as C,isDeployedInstanceModel as w,isDeploymentElementModel as T,isDeploymentNodeModel as E,isDeploymentRelationModel as D,isEdgeModel as O,isElementModel as k,isIncoming as A,isLikeC4ViewModel as j,isNestedConnection as M,isNestedElementOfDeployedInstanceModel as N,isNodeModel as P,isOutgoing as F,isRelationModel as I,mergeConnections as L,modelConnection as R,sortConnectionsByBoundaryHierarchy as z,sortDeepestFirst as B}from"@likec4/core/model";function createLikeC4Model(e){return d.create(e)}export{t as Connection,n as ConnectionModel,r as DeployedInstanceModel,i as DeploymentConnectionModel,a as DeploymentNodeModel,o as DeploymentRelationModel,s as EdgeModel,c as ElementModel,l as LikeC4DeploymentModel,u as LikeC4Model,f as LikeC4ViewModel,p as NodeModel,m as RelationshipModel,e as calcSequenceLayout,createLikeC4Model,h as deploymentConnection,g as differenceConnections,_ as findAscendingConnections,v as findDeepestNestedConnection,y as findDescendantConnections,b as hasSameSource,x as hasSameSourceTarget,S as hasSameTarget,C as isAnyInOut,w as isDeployedInstanceModel,T as isDeploymentElementModel,E as isDeploymentNodeModel,D as isDeploymentRelationModel,O as isEdgeModel,k as isElementModel,A as isIncoming,j as isLikeC4ViewModel,M as isNestedConnection,N as isNestedElementOfDeployedInstanceModel,P as isNodeModel,F as isOutgoing,I as isRelationModel,L as mergeConnections,R as modelConnection,z as sortConnectionsByBoundaryHierarchy,B as sortDeepestFirst};
@@ -1,12 +1,31 @@
1
- import "../_chunks/libs/zod.mjs";
2
- import "../_chunks/index.mjs";
3
- import "../_chunks/libs/langium.mjs";
4
- import { t as LikeC4LanguageServices } from "../_chunks/index2.mjs";
5
- import "../_chunks/libs/@chevrotain/types.mjs";
6
- import "../_chunks/libs/ts-graphviz.mjs";
7
- import { Plugin } from "vite";
1
+ import { i as __name } from "../chunks/rolldown-runtime.mjs";
2
+ import { t as LikeC4LanguageServices } from "../chunks/index2.mjs";
3
+ import { PluginOption } from "vite";
8
4
 
9
5
  //#region ../vite-plugin/dist/index.d.mts
6
+ //#region src/virtuals/app-config.d.ts
7
+ interface AppConfig {
8
+ /**
9
+ * Webcomponent prefix for likec4 webcomponents
10
+ * @default 'likec4'
11
+ */
12
+ webcomponentPrefix?: string;
13
+ /**
14
+ * Page title for the application
15
+ * @default 'LikeC4'
16
+ */
17
+ pageTitle?: string;
18
+ /**
19
+ * Whether to use hash history for the application
20
+ * @default false
21
+ */
22
+ useHashHistory?: boolean | undefined;
23
+ /**
24
+ * Default color scheme for the application
25
+ * @default 'auto'
26
+ */
27
+ theme?: 'light' | 'dark' | undefined;
28
+ } //#endregion
10
29
  //#region src/plugin.d.ts
11
30
  type SharedOptions = {
12
31
  /**
@@ -14,6 +33,10 @@ type SharedOptions = {
14
33
  * By default, the plugin is active in all environments
15
34
  */
16
35
  environments?: string | string[];
36
+ /**
37
+ * Configuration for the static application
38
+ */
39
+ appConfig?: AppConfig;
17
40
  };
18
41
  type LikeC4VitePluginOptions = SharedOptions & ({
19
42
  /**
@@ -44,6 +67,11 @@ type LikeC4VitePluginOptions = SharedOptions & ({
44
67
  * @default true if vite mode is 'development', false otherwise
45
68
  */
46
69
  watch?: boolean;
70
+ /**
71
+ * The log level to use.
72
+ * @default 'warning'
73
+ */
74
+ logLevel?: 'trace' | 'debug' | 'info' | 'warning' | 'error' | undefined;
47
75
  languageServices?: never;
48
76
  } | {
49
77
  /**
@@ -56,10 +84,12 @@ type LikeC4VitePluginOptions = SharedOptions & ({
56
84
  throwIfInvalid?: never;
57
85
  graphviz?: never;
58
86
  watch?: never;
87
+ logLevel?: never;
59
88
  });
60
89
  declare function LikeC4VitePlugin({
61
90
  environments,
91
+ appConfig,
62
92
  ...opts
63
- }: LikeC4VitePluginOptions): Plugin; //#endregion
93
+ }: LikeC4VitePluginOptions): PluginOption; //#endregion
64
94
  //#endregion
65
95
  export { LikeC4VitePlugin, type LikeC4VitePluginOptions };
@@ -1 +1 @@
1
- import"../_chunks/libs/birpc.mjs";import"../_chunks/libs/remeda.mjs";import"../_chunks/libs/@logtape/logtape.mjs";import"../_chunks/libs/merge-error-cause.mjs";import"../_chunks/libs/is-error-instance.mjs";import"../_chunks/libs/is-plain-obj.mjs";import"../_chunks/libs/safe-stringify.mjs";import"../_chunks/node.mjs";import"../_chunks/libs/defu.mjs";import"../_chunks/libs/langium.mjs";import"../_chunks/libs/@chevrotain/regexp-to-ast.mjs";import"../_chunks/libs/chevrotain.mjs";import"../_chunks/libs/@chevrotain/cst-dts-gen.mjs";import"../_chunks/libs/@chevrotain/utils.mjs";import"../_chunks/libs/chevrotain-allstar.mjs";import"../_chunks/libs/tinyrainbow.mjs";import"../_chunks/libs/ufo.mjs";import"../_chunks/libs/json5.mjs";import"../_chunks/libs/@hono/mcp.mjs";import"../_chunks/src.mjs";import"../_chunks/libs/pathe.mjs";import"../_chunks/sequence.mjs";import"../_chunks/libs/@lume/kiwi.mjs";import"../_chunks/libs/ts-graphviz.mjs";import"../_chunks/libs/word-wrap.mjs";import"../_chunks/libs/khroma.mjs";import"../_chunks/libs/p-limit.mjs";import"../_chunks/libs/eventemitter3.mjs";import"../_chunks/libs/p-queue.mjs";import"../_chunks/libs/isexe.mjs";import"../_chunks/libs/which.mjs";import"../_chunks/libs/parse-ms.mjs";import"../_chunks/libs/pretty-ms.mjs";import"../_chunks/libs/picomatch.mjs";import"../_chunks/libs/p-timeout.mjs";import"../_chunks/libs/fast-equals.mjs";import"../_chunks/libs/strip-indent.mjs";import"../_chunks/libs/destr.mjs";import"../_chunks/libs/unstorage.mjs";import{t as e}from"../_chunks/src2.mjs";import"../_chunks/libs/pako.mjs";export{e as LikeC4VitePlugin};
1
+ import{t as e}from"../chunks/plugin.mjs";export{e as LikeC4VitePlugin};
@@ -1,3 +1,4 @@
1
+ import { t as __name } from "../../rolldown-runtime.mjs";
1
2
  import { DependencyList } from "react";
2
3
 
3
4
  //#region ../../node_modules/.pnpm/nanostores@1.2.0/node_modules/nanostores/atom/index.d.ts
@@ -217,61 +218,6 @@ interface PreinitializedMapStore<Value extends object = any> extends MapStore<Va
217
218
  */
218
219
  declare function map<Value extends object, StoreExt extends object = object>(value?: Value): PreinitializedMapStore<Value> & StoreExt;
219
220
  //#endregion
220
- //#region ../../node_modules/.pnpm/nanostores@1.2.0/node_modules/nanostores/task/index.d.ts
221
- interface Task<Value> extends Promise<Value> {
222
- t: true;
223
- }
224
- //#endregion
225
- //#region ../../node_modules/.pnpm/nanostores@1.2.0/node_modules/nanostores/computed/index.d.ts
226
- type StoreValues<Stores extends AnyStore[]> = { [Index in keyof Stores]: StoreValue<Stores[Index]> };
227
- interface Computed {
228
- /**
229
- * @deprecated Use `@nanostores/async`.
230
- */
231
- <Value, OriginStore extends Store>(stores: OriginStore, cb: (value: StoreValue<OriginStore>) => Task<Value>): ReadableAtom<undefined | Value>;
232
- /**
233
- * @deprecated Use `@nanostores/async`.
234
- */
235
- <Value, OriginStores extends AnyStore[]>(stores: [...OriginStores], cb: (...values: StoreValues<OriginStores>) => Task<Value>): ReadableAtom<undefined | Value>;
236
- <Value, OriginStore extends Store>(stores: OriginStore, cb: (value: StoreValue<OriginStore>) => Value): ReadableAtom<Value>;
237
- /**
238
- * Create derived store, which use generates value from another stores.
239
- *
240
- * ```js
241
- * import { computed } from 'nanostores'
242
- *
243
- * import { $users } from './users.js'
244
- *
245
- * export const $admins = computed($users, users => {
246
- * return users.filter(user => user.isAdmin)
247
- * })
248
- * ```
249
- *
250
- * Use `@nanostores/async` for async function.
251
- */
252
- <Value, OriginStores extends AnyStore[]>(stores: [...OriginStores], cb: (...values: StoreValues<OriginStores>) => Task<Value> | Value): ReadableAtom<Value>;
253
- }
254
- declare const computed: Computed;
255
- interface Batched {
256
- <Value, OriginStore extends Store>(stores: OriginStore, cb: (value: StoreValue<OriginStore>) => Task<Value> | Value): ReadableAtom<Value>;
257
- /**
258
- * Create derived store, which use generates value from another stores.
259
- *
260
- * ```js
261
- * import { batched } from 'nanostores'
262
- *
263
- * const $sortBy = atom('id')
264
- * const $category = atom('')
265
- *
266
- * export const $link = batched([$sortBy, $category], (sortBy, category) => {
267
- * return `/api/entities?sortBy=${sortBy}&category=${category}`
268
- * })
269
- * ```
270
- */
271
- <Value, OriginStores extends AnyStore[]>(stores: [...OriginStores], cb: (...values: StoreValues<OriginStores>) => Task<Value> | Value): ReadableAtom<Value>;
272
- }
273
- declare const batched: Batched;
274
- //#endregion
275
221
  //#region ../../node_modules/.pnpm/@nanostores+react@1.1.0_nanostores@1.2.0_react@19.2.4/node_modules/@nanostores/react/index.d.ts
276
222
  type StoreKeys<T> = T extends {
277
223
  setKey: (k: infer K, v: any) => unknown;
@@ -320,4 +266,4 @@ interface UseStoreOptions<SomeStore> {
320
266
  */
321
267
  declare function useStore<SomeStore extends Store>(store: SomeStore, options?: UseStoreOptions<SomeStore>): StoreValue<SomeStore>;
322
268
  //#endregion
323
- export { Atom as a, atom as c, map as i, batched as n, ReadableAtom as o, computed as r, WritableAtom as s, useStore as t };
269
+ export { map as a, WritableAtom as c, StoreValue as i, atom as l, AnyStore as n, Atom as o, Store as r, ReadableAtom as s, useStore as t };
@@ -0,0 +1 @@
1
+ import"../../rolldown-runtime.mjs";import{useCallback as e,useRef as t,useSyncExternalStore as n}from"react";function listenKeys(e,t,n){let r=new Set(t).add(void 0);return e.listen((e,t,i)=>{r.has(i)&&n(e,t,i)})}let emit=(e,t)=>n=>{e.current!==n&&(e.current=n,t())};function useStore(r,{keys:i,deps:a=[r,i],ssr:o}={}){let s=t();s.current=r.get();let c=e(e=>(emit(s,e)(r.value),i?.length>0?listenKeys(r,i,emit(s,e)):r.listen(emit(s,e))),a),get=()=>s.current,l=get;return o&&`init`in r&&(l=o===`initial`?()=>r.init:o),n(c,get,l)}export{useStore as t};
@@ -0,0 +1 @@
1
+ import"../rolldown-runtime.mjs";function createPromiseWithResolvers(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}const e=Math.random.bind(Math);function nanoid(t=21){let n=``,r=t;for(;r--;)n+=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`[e()*64|0];return n}const defaultSerialize=e=>e,t=defaultSerialize,{clearTimeout:n,setTimeout:r}=globalThis;function createBirpc(e,i){let{post:a,on:o,off=()=>{},eventNames:s=[],serialize:c=defaultSerialize,deserialize:l=t,resolver:u,bind:d=`rpc`,timeout:f=6e4,proxify:p=!0}=i,m=!1,h=new Map,g,_;async function _call(e,t,o,s){if(m)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let l={m:e,a:t,t:`q`};s&&(l.o=!0);let send=async e=>a(c(e));if(o){await send(l);return}if(g)try{await g}finally{g=void 0}let{promise:u,resolve:d,reject:p}=createPromiseWithResolvers(),v=nanoid();l.i=v;let y;async function handler(n=l){return f>=0&&(y=r(()=>{try{if(i.onTimeoutError?.call(_,e,t)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){p(e)}h.delete(v)},f),typeof y==`object`&&(y=y.unref?.())),h.set(v,{resolve:d,reject:p,timeoutId:y,method:e}),await send(n),u}try{i.onRequest?await i.onRequest.call(_,l,handler,d):await handler()}catch(e){if(i.onGeneralError?.call(_,e)!==!0)throw e;return}finally{n(y),h.delete(v)}return u}let v={$call:(e,...t)=>_call(e,t,!1),$callOptional:(e,...t)=>_call(e,t,!1,!0),$callEvent:(e,...t)=>_call(e,t,!0),$callRaw:e=>_call(e.method,e.args,e.event,e.optional),$rejectPendingCalls,get $closed(){return m},get $meta(){return i.meta},$close,$functions:e};_=p?new Proxy({},{get(t,n){if(Object.prototype.hasOwnProperty.call(v,n))return v[n];if(n===`then`&&!s.includes(`then`)&&!(`then`in e))return;let sendEvent=(...e)=>_call(n,e,!0);if(s.includes(n))return sendEvent.asEvent=sendEvent,sendEvent;let sendCall=(...e)=>_call(n,e,!1);return sendCall.asEvent=sendEvent,sendCall}}):v;function $close(e){m=!0,h.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),h.clear(),off(onMessage)}function $rejectPendingCalls(e){let t=Array.from(h.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return h.clear(),t}async function onMessage(t,...r){let o;try{o=l(t)}catch(e){if(i.onGeneralError?.call(_,e)!==!0)throw e;return}if(o.t===`q`){let{m:t,a:n,o:s}=o,l,f,fn=await(u?u.call(_,t,e[t]):e[t]);if(s&&(fn||=()=>void 0),!fn)f=Error(`[birpc] function "${t}" not found`);else try{l=await fn.apply(d===`rpc`?_:e,n)}catch(e){f=e}if(o.i){if(f&&i.onFunctionError&&i.onFunctionError.call(_,f,t,n)===!0)return;if(!f)try{await a(c({t:`s`,i:o.i,r:l}),...r);return}catch(e){if(f=e,i.onGeneralError?.call(_,e,t,n)!==!0)throw e}try{await a(c({t:`s`,i:o.i,e:f}),...r)}catch(e){if(i.onGeneralError?.call(_,e,t,n)!==!0)throw e}}}else{let{i:e,r:t,e:r}=o,i=h.get(e);i&&(n(i.timeoutId),r?i.reject(r):i.resolve(t)),h.delete(e)}}return g=o(onMessage),_}export{createBirpc as t};
@@ -0,0 +1 @@
1
+ import"../rolldown-runtime.mjs";const{getOwnPropertyNames:e,getOwnPropertySymbols:t}=Object,{hasOwnProperty:n}=Object.prototype;function combineComparators(e,t){return function isEqual(n,r,i){return e(n,r,i)&&t(n,r,i)}}function createIsCircular(e){return function isCircular(t,n,r){if(!t||!n||typeof t!=`object`||typeof n!=`object`)return e(t,n,r);let{cache:i}=r,a=i.get(t),o=i.get(n);if(a&&o)return a===n&&o===t;i.set(t,n),i.set(n,t);let s=e(t,n,r);return i.delete(t),i.delete(n),s}}function getStrictProperties(n){return e(n).concat(t(n))}const r=Object.hasOwn||((e,t)=>n.call(e,t)),{getOwnPropertyDescriptor:i,keys:a}=Object,o=Object.is||function sameValueEqual(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t};function strictEqual(e,t){return e===t}function areArrayBuffersEqual(e,t){return e.byteLength===t.byteLength&&areTypedArraysEqual(new Uint8Array(e),new Uint8Array(t))}function areArraysEqual(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function areDataViewsEqual(e,t){return e.byteLength===t.byteLength&&areTypedArraysEqual(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function areDatesEqual(e,t){return o(e.getTime(),t.getTime())}function areErrorsEqual(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function areMapsEqual(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=Array(r),a=e.entries(),o,s,c=0;for(;(o=a.next())&&!o.done;){let r=t.entries(),a=!1,l=0;for(;(s=r.next())&&!s.done;){if(i[l]){l++;continue}let r=o.value,u=s.value;if(n.equals(r[0],u[0],c,l,e,t,n)&&n.equals(r[1],u[1],r[0],u[0],e,t,n)){a=i[l]=!0;break}l++}if(!a)return!1;c++}return!0}function areObjectsEqual(e,t,n){let r=a(e),i=r.length;if(a(t).length!==i)return!1;for(;i-- >0;)if(!isPropertyEqual(e,t,n,r[i]))return!1;return!0}function areObjectsEqualStrict(e,t,n){let r=getStrictProperties(e),a=r.length;if(getStrictProperties(t).length!==a)return!1;let o,s,c;for(;a-- >0;)if(o=r[a],!isPropertyEqual(e,t,n,o)||(s=i(e,o),c=i(t,o),(s||c)&&(!s||!c||s.configurable!==c.configurable||s.enumerable!==c.enumerable||s.writable!==c.writable)))return!1;return!0}function arePrimitiveWrappersEqual(e,t){return o(e.valueOf(),t.valueOf())}function areRegExpsEqual(e,t){return e.source===t.source&&e.flags===t.flags}function areSetsEqual(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=Array(r),a=e.values(),o,s;for(;(o=a.next())&&!o.done;){let r=t.values(),a=!1,c=0;for(;(s=r.next())&&!s.done;){if(!i[c]&&n.equals(o.value,s.value,o.value,s.value,e,t,n)){a=i[c]=!0;break}c++}if(!a)return!1}return!0}function areTypedArraysEqual(e,t){let n=e.byteLength;if(t.byteLength!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function areUrlsEqual(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function isPropertyEqual(e,t,n,i){return(i===`_owner`||i===`__o`||i===`__v`)&&(e.$$typeof||t.$$typeof)?!0:r(t,i)&&n.equals(e[i],t[i],i,i,e,t,n)}const s=Object.prototype.toString;function createEqualityComparator(e){let t=createSupportedComparatorMap(e),{areArraysEqual:n,areDatesEqual:r,areFunctionsEqual:i,areMapsEqual:a,areNumbersEqual:o,areObjectsEqual:c,areRegExpsEqual:l,areSetsEqual:u,getUnsupportedCustomComparator:d}=e;return function comparator(e,f,p){if(e===f)return!0;if(e==null||f==null)return!1;let m=typeof e;if(m!==typeof f)return!1;if(m!==`object`)return m===`number`||m===`bigint`?o(e,f,p):m===`function`?i(e,f,p):!1;let h=e.constructor;if(h!==f.constructor)return!1;if(h===Object)return c(e,f,p);if(h===Array)return n(e,f,p);if(h===Date)return r(e,f,p);if(h===RegExp)return l(e,f,p);if(h===Map)return a(e,f,p);if(h===Set)return u(e,f,p);if(h===Promise)return!1;if(Array.isArray(e))return n(e,f,p);let g=s.call(e),_=t[g];if(_)return _(e,f,p);let v=d&&d(e,f,p,g);return v?v(e,f,p):!1}}function createEqualityComparatorConfig({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual,areArraysEqual:n?areObjectsEqualStrict:areArraysEqual,areDataViewsEqual,areDatesEqual,areErrorsEqual,areFunctionsEqual:strictEqual,areMapsEqual:n?combineComparators(areMapsEqual,areObjectsEqualStrict):areMapsEqual,areNumbersEqual:o,areObjectsEqual:n?areObjectsEqualStrict:areObjectsEqual,arePrimitiveWrappersEqual,areRegExpsEqual,areSetsEqual:n?combineComparators(areSetsEqual,areObjectsEqualStrict):areSetsEqual,areTypedArraysEqual:n?combineComparators(areTypedArraysEqual,areObjectsEqualStrict):areTypedArraysEqual,areUrlsEqual,getUnsupportedCustomComparator:void 0};if(t&&(r=Object.assign({},r,t(r))),e){let e=createIsCircular(r.areArraysEqual),t=createIsCircular(r.areMapsEqual),n=createIsCircular(r.areObjectsEqual),i=createIsCircular(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:e,areMapsEqual:t,areObjectsEqual:n,areSetsEqual:i})}return r}function createInternalEqualityComparator(e){return function(t,n,r,i,a,o,s){return e(t,n,s)}}function createIsEqual({circular:e,comparator:t,createState:n,equals:r,strict:i}){if(n)return function isEqual(a,o){let{cache:s=e?new WeakMap:void 0,meta:c}=n();return t(a,o,{cache:s,equals:r,meta:c,strict:i})};if(e)return function isEqual(e,n){return t(e,n,{cache:new WeakMap,equals:r,meta:void 0,strict:i})};let a={cache:void 0,equals:r,meta:void 0,strict:i};return function isEqual(e,n){return t(e,n,a)}}function createSupportedComparatorMap({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:i,areFunctionsEqual:a,areMapsEqual:o,areNumbersEqual:s,areObjectsEqual:c,arePrimitiveWrappersEqual:l,areRegExpsEqual:u,areSetsEqual:d,areTypedArraysEqual:f,areUrlsEqual:p}){return{"[object Arguments]":c,"[object Array]":t,"[object ArrayBuffer]":e,"[object AsyncGeneratorFunction]":a,"[object BigInt]":s,"[object BigInt64Array]":f,"[object BigUint64Array]":f,"[object Boolean]":l,"[object DataView]":n,"[object Date]":r,"[object Error]":i,"[object Float16Array]":f,"[object Float32Array]":f,"[object Float64Array]":f,"[object Function]":a,"[object GeneratorFunction]":a,"[object Int8Array]":f,"[object Int16Array]":f,"[object Int32Array]":f,"[object Map]":o,"[object Number]":l,"[object Object]":(e,t,n)=>typeof e.then!=`function`&&typeof t.then!=`function`&&c(e,t,n),"[object RegExp]":u,"[object Set]":d,"[object String]":l,"[object URL]":p,"[object Uint8Array]":f,"[object Uint8ClampedArray]":f,"[object Uint16Array]":f,"[object Uint32Array]":f}}const c=createCustomEqual();createCustomEqual({strict:!0}),createCustomEqual({circular:!0}),createCustomEqual({circular:!0,strict:!0});const l=createCustomEqual({createInternalComparator:()=>o});createCustomEqual({strict:!0,createInternalComparator:()=>o}),createCustomEqual({circular:!0,createInternalComparator:()=>o}),createCustomEqual({circular:!0,createInternalComparator:()=>o,strict:!0});function createCustomEqual(e={}){let{circular:t=!1,createInternalComparator:n,createState:r,strict:i=!1}=e,a=createEqualityComparator(createEqualityComparatorConfig(e));return createIsEqual({circular:t,comparator:a,createState:r,equals:n?n(a):createInternalEqualityComparator(a),strict:i})}export{l as n,c as t};
@@ -0,0 +1,59 @@
1
+ import { t as __name } from "../rolldown-runtime.mjs";
2
+ import { i as StoreValue, n as AnyStore, r as Store, s as ReadableAtom } from "./@nanostores/react.mjs";
3
+
4
+ //#region ../../node_modules/.pnpm/nanostores@1.2.0/node_modules/nanostores/task/index.d.ts
5
+ interface Task<Value> extends Promise<Value> {
6
+ t: true;
7
+ }
8
+ //#endregion
9
+ //#region ../../node_modules/.pnpm/nanostores@1.2.0/node_modules/nanostores/computed/index.d.ts
10
+ type StoreValues<Stores extends AnyStore[]> = { [Index in keyof Stores]: StoreValue<Stores[Index]> };
11
+ interface Computed {
12
+ /**
13
+ * @deprecated Use `@nanostores/async`.
14
+ */
15
+ <Value, OriginStore extends Store>(stores: OriginStore, cb: (value: StoreValue<OriginStore>) => Task<Value>): ReadableAtom<undefined | Value>;
16
+ /**
17
+ * @deprecated Use `@nanostores/async`.
18
+ */
19
+ <Value, OriginStores extends AnyStore[]>(stores: [...OriginStores], cb: (...values: StoreValues<OriginStores>) => Task<Value>): ReadableAtom<undefined | Value>;
20
+ <Value, OriginStore extends Store>(stores: OriginStore, cb: (value: StoreValue<OriginStore>) => Value): ReadableAtom<Value>;
21
+ /**
22
+ * Create derived store, which use generates value from another stores.
23
+ *
24
+ * ```js
25
+ * import { computed } from 'nanostores'
26
+ *
27
+ * import { $users } from './users.js'
28
+ *
29
+ * export const $admins = computed($users, users => {
30
+ * return users.filter(user => user.isAdmin)
31
+ * })
32
+ * ```
33
+ *
34
+ * Use `@nanostores/async` for async function.
35
+ */
36
+ <Value, OriginStores extends AnyStore[]>(stores: [...OriginStores], cb: (...values: StoreValues<OriginStores>) => Task<Value> | Value): ReadableAtom<Value>;
37
+ }
38
+ declare const computed: Computed;
39
+ interface Batched {
40
+ <Value, OriginStore extends Store>(stores: OriginStore, cb: (value: StoreValue<OriginStore>) => Task<Value> | Value): ReadableAtom<Value>;
41
+ /**
42
+ * Create derived store, which use generates value from another stores.
43
+ *
44
+ * ```js
45
+ * import { batched } from 'nanostores'
46
+ *
47
+ * const $sortBy = atom('id')
48
+ * const $category = atom('')
49
+ *
50
+ * export const $link = batched([$sortBy, $category], (sortBy, category) => {
51
+ * return `/api/entities?sortBy=${sortBy}&category=${category}`
52
+ * })
53
+ * ```
54
+ */
55
+ <Value, OriginStores extends AnyStore[]>(stores: [...OriginStores], cb: (...values: StoreValues<OriginStores>) => Task<Value> | Value): ReadableAtom<Value>;
56
+ }
57
+ declare const batched: Batched;
58
+ //#endregion
59
+ export { computed as n, batched as t };
@@ -0,0 +1 @@
1
+ import"../rolldown-runtime.mjs";let e=[],t=0,n=0;const atom=r=>{let i=[],a={get(){return a.lc||a.listen(()=>{})(),a.value},init:r,lc:0,listen(n){return a.lc=i.push(n),()=>{for(let r=t+4;r<e.length;)e[r]===n?e.splice(r,4):r+=4;let r=i.indexOf(n);~r&&(i.splice(r,1),--a.lc||a.off())}},notify(r,o){n++;let s=!e.length;for(let t of i)e.push(t,a.value,r,o);if(s){for(t=0;t<e.length;t+=4)e[t](e[t+1],e[t+2],e[t+3]);e.length=0}},off(){},set(e){let t=a.value;t!==e&&(a.value=e,a.notify(t))},subscribe(e){let t=a.listen(e);return e(a.value),t},value:r};return a};let on=(e,t,n,r)=>(e.events=e.events||{},e.events[n+10]||(e.events[n+10]=r(t=>{e.events[n].reduceRight((e,t)=>(t(e),e),{shared:{},...t})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let r=e.events[n],i=r.indexOf(t);r.splice(i,1),r.length||(delete e.events[n],e.events[n+10](),delete e.events[n+10])}),onMount=(e,t)=>{let listener=n=>{let r=t(n);r&&e.events[6].push(r)};return on(e,listener,5,t=>{let n=e.listen;e.listen=(...r)=>(!e.lc&&!e.active&&(e.active=!0,t()),n(...r));let r=e.off;return e.events[6]=[],e.off=()=>{r(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let t of e.events[6])t();e.events[6]=[]}},1e3)},()=>{e.listen=n,e.off=r}})},computedStore=(e,t,r)=>{Array.isArray(e)||(e=[e]);let i,a,set=()=>{if(a===n)return;a=n;let r=e.map(e=>e.get());if(!i||r.some((e,t)=>e!==i[t])){i=r;let e=t(...r);e&&e.then&&e.t?e.then(e=>{i===r&&o.set(e)}):(o.set(e),a=n)}},o=atom(void 0),s=o.get;o.get=()=>(set(),s());let c,l=r?()=>{clearTimeout(c),c=setTimeout(set)}:set;return onMount(o,()=>{let t=e.map(e=>e.listen(l));return set(),()=>{for(let e of t)e()}}),o};const computed=(e,t)=>computedStore(e,t),batched=(e,t)=>computedStore(e,t,!0),map=(e={})=>{let t=atom(e);return t.setKey=function(e,n){let r=t.value;n===void 0&&e in t.value?(t.value={...t.value},delete t.value[e],t.notify(r,e)):t.value[e]!==n&&(t.value={...t.value,[e]:n},t.notify(r,e))},t};export{atom as i,batched as n,computed as r,map as t};
@@ -0,0 +1 @@
1
+ import{t as i}from"../rolldown-runtime.mjs";function e(i,a,o){let r=o=>i(o,...a);return o===void 0?r:Object.assign(r,{lazy:o,lazyArgs:a})}function t$1(i,a,o){let s=i.length-a.length;if(s===0)return i(...a);if(s===1)return e(i,a,o);throw Error(`Wrong number of arguments`)}i(t$1,`t`);function t(...i){return t$1(n,i)}function n(i,a){let o={};for(let[s,c]of Object.entries(i))o[s]=a(c,s,i);return o}export{t};
@@ -0,0 +1 @@
1
+ var e=Object.defineProperty,__name=(t,n)=>e(t,`name`,{value:n,configurable:!0});export{__name as t};
@@ -1,5 +1,8 @@
1
- import { a as Atom, c as atom, i as map, n as batched, o as ReadableAtom, r as computed, s as WritableAtom, t as useStore } from "../_chunks/libs/@nanostores/react.mjs";
2
- import { LayoutedElementView, ProjectId, ViewChange, ViewId } from "@likec4/core/types";
1
+ import { t as __name } from "./chunks/rolldown-runtime.mjs";
2
+ import { a as map, c as WritableAtom, l as atom, o as Atom, s as ReadableAtom, t as useStore } from "./chunks/libs/@nanostores/react.mjs";
3
+ import { n as computed, t as batched } from "./chunks/libs/nanostores.mjs";
4
+ import { LikeC4Model } from "@likec4/core/model";
5
+ import { LayoutedElementView, LayoutedLikeC4ModelData, LayoutedView, ProjectId, ViewChange, ViewId } from "@likec4/core/types";
3
6
  import { AdhocViewPredicate } from "@likec4/core/compute-view";
4
7
 
5
8
  //#region ../vite-plugin/dist/internal.d.mts
@@ -39,6 +42,12 @@ interface LikeC4VitePluginRpcOptions {
39
42
  * used by the Vite plugin in virtual modules
40
43
  */
41
44
  declare function createRpc(options: LikeC4VitePluginRpcOptions): LikeC4VitePluginRpc;
42
- declare const createHooksForModel: ($atom: WritableAtom) => any; //#endregion
45
+ declare function createHooksForModel($atom: WritableAtom<LayoutedLikeC4ModelData>): {
46
+ updateModel: (data: LayoutedLikeC4ModelData) => void;
47
+ $likec4model: Atom<LikeC4Model.Layouted>;
48
+ useLikeC4Model: () => LikeC4Model.Layouted;
49
+ useLikeC4Views: () => ReadonlyArray<LayoutedView>;
50
+ useLikeC4View: (viewId: string) => LayoutedView | null;
51
+ }; //#endregion
43
52
  //#endregion
44
53
  export { type Atom, type LikeC4VitePluginRpc, LikeC4VitePluginRpcOptions, type ReadableAtom, type WritableAtom, atom, batched, computed, createHooksForModel, createRpc, map, useStore };
@@ -0,0 +1 @@
1
+ import"./chunks/rolldown-runtime.mjs";import{i as e,n as t,r as n,t as r}from"./chunks/libs/nanostores.mjs";import{t as i}from"./chunks/libs/@nanostores/react.mjs";import{t as a}from"./chunks/libs/birpc.mjs";import{n as o,t as s}from"./chunks/libs/fast-equals.mjs";import{t as c}from"./chunks/libs/remeda.mjs";import{LikeC4Model as l}from"@likec4/core/model";import{useMemo as u}from"react";function createRpc(e){return a({},{post:t=>e.send(`likec4:rpc`,t),on:t=>e.on(`likec4:rpc`,t),onGeneralError(e,t){console.error(`RPC error in ${t}`,{error:e})},onFunctionError:(e,t)=>{console.error(`RPC error in ${t}`,{error:e})}})}function createHooksForModel(e){let t=n(e,e=>l.create(e));function updateModel(t){let n=e.get(),r={...t,views:c(t.views,e=>{let t=n.views[e.id];return s(t,e)?t:e})};o(r.views,n.views)&&s(r,n)||e.set(r)}let r=n(t,e=>[...e.views()].map(e=>e.$layouted));function useLikeC4Model(){return i(t)}function useLikeC4Views(){return i(r)}function useLikeC4View(e){return i(u(()=>n(t,t=>t.findView(e)?.$layouted??null),[e]))}return{updateModel,$likec4model:t,useLikeC4Model,useLikeC4Views,useLikeC4View}}export{e as atom,t as batched,n as computed,createHooksForModel,createRpc,r as map,i as useStore};
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.55.0",
4
+ "version": "1.56.0",
5
5
  "license": "MIT",
6
6
  "homepage": "https://likec4.dev",
7
7
  "author": "Denis Davydkov <denis@davydkov.com>",
@@ -70,9 +70,9 @@
70
70
  "./vite-plugin/internal": {
71
71
  "sources": "./src/vite-plugin/internal.ts",
72
72
  "default": {
73
- "types": "./dist/vite-plugin/internal.d.mts",
74
- "import": "./dist/vite-plugin/internal.mjs",
75
- "default": "./dist/vite-plugin/internal.mjs"
73
+ "types": "./dist/vite-plugin/internal/index.d.mts",
74
+ "import": "./dist/vite-plugin/internal/index.mjs",
75
+ "default": "./dist/vite-plugin/internal/index.mjs"
76
76
  }
77
77
  },
78
78
  "./vite-plugin": {
@@ -89,39 +89,23 @@
89
89
  "registry": "https://registry.npmjs.org",
90
90
  "access": "public"
91
91
  },
92
- "imports": {
93
- "#vite/aliases": {
94
- "production": "./src/vite/aliases.prod.ts",
95
- "sources": "./src/vite/aliases.ts"
96
- },
97
- "#vite/config-app": {
98
- "production": "./src/vite/config-app.prod.ts",
99
- "sources": "./src/vite/config-app.ts"
100
- },
101
- "#vite/config-react": {
102
- "production": "./src/vite/config-react.prod.ts",
103
- "sources": "./src/vite/config-react.ts"
104
- },
105
- "#vite/config-webcomponent": {
106
- "production": "./src/vite/config-webcomponent.prod.ts",
107
- "sources": "./src/vite/config-webcomponent.ts"
108
- }
109
- },
110
92
  "dependencies": {
111
93
  "@hpcc-js/wasm-graphviz": "1.21.2",
112
- "@vitejs/plugin-react": "^5.2.0",
94
+ "@vitejs/plugin-react": "^6.0.1",
113
95
  "bundle-require": "^5.1.0",
96
+ "react-compiler-runtime": "^1.0.0",
114
97
  "esbuild": "0.27.4",
115
98
  "fdir": "6.4.0",
116
- "playwright": "1.58.2",
99
+ "playwright": "^1.58.2",
117
100
  "chokidar": "^5.0.0",
101
+ "immer": "^11.1.4",
118
102
  "std-env": "^3.10.0",
119
103
  "type-fest": "^4.41.0",
120
104
  "vite-plugin-singlefile": "^2.3.2",
121
- "vite": "^7.3.1",
105
+ "vite": "^8.0.10",
122
106
  "yargs": "17.7.2",
123
107
  "nano-spawn": "^2.0.0",
124
- "@likec4/core": "1.55.0",
108
+ "@likec4/core": "1.56.0",
125
109
  "@likec4/icons": "1.46.4"
126
110
  },
127
111
  "peerDependencies": {
@@ -132,15 +116,15 @@
132
116
  "langium": "3.5.0",
133
117
  "@dagrejs/dagre": "1.1.8",
134
118
  "@fontsource-variable/ibm-plex-sans": "^5.2.8",
135
- "@mantine/core": "8.3.18",
136
- "@mantine/hooks": "8.3.18",
119
+ "@mantine/core": "9.1.0",
120
+ "@mantine/hooks": "9.1.0",
137
121
  "@pandacss/dev": "^1.9.1",
138
122
  "@react-hookz/web": "^25.2.0",
139
123
  "@tabler/icons-react": "3.40.0",
140
124
  "@tanstack/react-router": "^1.114.13",
141
125
  "@tanstack/router-cli": "^1.114.13",
142
126
  "@tanstack/router-vite-plugin": "^1.114.13",
143
- "@types/node": "~22.19.15",
127
+ "@types/node": "~22.19.17",
144
128
  "@types/picomatch": "^4.0.3",
145
129
  "@types/react": "19.2.14",
146
130
  "@types/react-dom": "19.2.3",
@@ -148,8 +132,8 @@
148
132
  "@types/yargs": "^17.0.33",
149
133
  "@xstate/react": "6.1.0",
150
134
  "@xstate/store": "3.17.1",
151
- "@xyflow/react": "12.10.1",
152
- "@xyflow/system": "0.0.75",
135
+ "@xyflow/react": "12.10.2",
136
+ "@xyflow/system": "0.0.76",
153
137
  "autoprefixer": "^10.4.27",
154
138
  "picomatch": "^4.0.4",
155
139
  "birpc": "^4.0.0",
@@ -172,9 +156,10 @@
172
156
  "p-limit": "7.3.0",
173
157
  "nanostores": "1.2.0",
174
158
  "@nanostores/react": "1.1.0",
159
+ "oxlint": "1.59.0",
175
160
  "package-manager-detector": "1.6.0",
176
161
  "package-up": "^5.0.0",
177
- "postcss": "8.5.8",
162
+ "postcss": "8.5.10",
178
163
  "pretty-ms": "^9.3.0",
179
164
  "react": "19.2.4",
180
165
  "react-dom": "19.2.4",
@@ -184,14 +169,13 @@
184
169
  "remeda": "^2.33.7",
185
170
  "semver": "^7.7.4",
186
171
  "strip-indent": "^4.1.1",
187
- "tinyrainbow": "^3.0.3",
172
+ "tinyrainbow": "^3.1.0",
188
173
  "tsx": "4.21.0",
189
- "turbo": "2.9.5",
174
+ "turbo": "2.9.6",
190
175
  "typescript": "5.9.3",
191
176
  "ufo": "1.6.3",
192
- "obuild": "0.4.31",
177
+ "tsdown": "^0.21.10",
193
178
  "vite-plugin-dts": "^4.5.4",
194
- "vite-plugin-inspect": "^11.3.3",
195
179
  "vitest": "4.1.3",
196
180
  "vscode-jsonrpc": "8.2.1",
197
181
  "vscode-languageserver": "9.0.1",
@@ -202,33 +186,29 @@
202
186
  "zod": "^4.3.6",
203
187
  "zx": "8.8.5",
204
188
  "xstate": "5.30.0",
205
- "@likec4/leanix-bridge": "1.55.0",
206
- "@likec4/log": "1.55.0",
207
- "@likec4/config": "1.55.0",
208
- "@likec4/language-server": "1.55.0",
209
- "@likec4/language-services": "1.55.0",
210
- "@likec4/mcp": "1.55.0",
189
+ "@likec4/leanix-bridge": "1.56.0",
190
+ "@likec4/log": "1.56.0",
191
+ "@likec4/config": "1.56.0",
192
+ "@likec4/language-services": "1.56.0",
193
+ "@likec4/language-server": "1.56.0",
194
+ "@likec4/mcp": "1.56.0",
211
195
  "@likec4/devops": "1.42.0",
212
- "@likec4/diagram": "1.55.0",
213
- "@likec4/layouts": "1.55.0",
214
- "@likec4/vite-plugin": "1.55.0",
215
- "@likec4/generators": "1.55.0",
216
- "@likec4/react": "1.55.0",
217
- "@likec4/styles": "1.55.0",
218
- "@likec4/tsconfig": "1.55.0",
219
- "@likec4/style-preset": "1.55.0"
196
+ "@likec4/layouts": "1.56.0",
197
+ "@likec4/vite-plugin": "1.56.0",
198
+ "@likec4/diagram": "1.56.0",
199
+ "@likec4/react": "1.56.0",
200
+ "@likec4/generators": "1.56.0",
201
+ "@likec4/spa": "1.56.0",
202
+ "@likec4/style-preset": "1.56.0",
203
+ "@likec4/styles": "1.56.0",
204
+ "@likec4/tsconfig": "1.56.0"
220
205
  },
221
206
  "scripts": {
222
207
  "typecheck": "tsc --build --verbose",
223
- "build-cli": "obuild",
224
- "build-app": "tsx --conditions=sources scripts/bundle-app.ts",
225
- "build-react": "tsx --conditions=sources scripts/bundle-react.ts",
226
- "build": "echo \"use pnpm turbo run build\" || true",
227
- "generate:app": "tsr generate",
208
+ "build": "tsdown",
228
209
  "pack": "pnpm pack",
229
- "lint": "run -T eslint src/ --fix",
230
210
  "lint:package": "pnpx publint ./package.tgz",
231
- "clean": "pnpm rimraf --glob lib dist app/dist dev/.export dev/dist node_modules/.vite react/* icons",
211
+ "clean": "pnpm rimraf --glob lib dist app/dist dev/.export dev/dist node_modules/.vite react/* __app__",
232
212
  "start": "tsx --conditions=sources src/cli/index.ts",
233
213
  "dev": "pnpm cli:serve dev",
234
214
  "dev:docs": "pnpm cli:serve ../../apps/docs/src",
package/react/index.d.mts CHANGED
@@ -1,4 +1,3 @@
1
- import { Align } from '@xyflow/react';
2
1
  import { Any } from '@likec4/core/types';
3
2
  import { AutoLayoutDirection } from '@likec4/core/types';
4
3
  import { aux } from '@likec4/core/types';
@@ -10,8 +9,6 @@ import { Color } from '@likec4/core/types';
10
9
  import { ComputedNodeStyle } from '@likec4/core/types';
11
10
  import { ComputedNodeStyle as ComputedNodeStyle_2 } from '@likec4/core';
12
11
  import { Context as Context_4 } from 'react';
13
- import { ControlButton } from '@xyflow/react';
14
- import { Controls } from '@xyflow/react';
15
12
  import { CSSProperties } from 'react';
16
13
  import { DependencyList } from 'react';
17
14
  import { DeploymentFqn } from '@likec4/core/types';
@@ -56,9 +53,6 @@ import { LikeC4ViewModel } from '@likec4/core/model';
56
53
  import { MarkdownOrString } from '@likec4/core/types';
57
54
  import { MarkdownOrString as MarkdownOrString_2 } from '@likec4/core';
58
55
  import { MemoExoticComponent } from 'react';
59
- import { MiniMap } from '@xyflow/react';
60
- import { MiniMapNode } from '@xyflow/react';
61
- import { MiniMapNodeProps } from '@xyflow/react';
62
56
  import { MotionNodeLayoutOptions } from 'motion/react';
63
57
  import { MotionStyle } from 'motion/react';
64
58
  import { MouseEvent as MouseEvent_2 } from 'react';
@@ -71,15 +65,12 @@ import { NodeId as NodeId_3 } from '@likec4/core';
71
65
  import { NodeModel } from '@likec4/core/model';
72
66
  import { NodeNotation } from '@likec4/core/types';
73
67
  import { NodeProps } from '@xyflow/react';
74
- import { NodeToolbar } from '@xyflow/react';
75
68
  import { NodeToolbarProps } from '@xyflow/react';
76
69
  import { NonEmptyArray } from '@likec4/core/types';
77
70
  import { NonEmptyObject } from 'type-fest';
78
71
  import { NonEmptyReadonlyArray } from '@likec4/core/types';
79
72
  import { OptionalKeysOf } from 'type-fest';
80
- import { Panel } from '@xyflow/react';
81
73
  import { PartialDeep } from 'type-fest';
82
- import { Position } from '@xyflow/react';
83
74
  import { ProjectId } from '@likec4/core/types';
84
75
  import { ProjectId as ProjectId_2 } from '@likec4/core';
85
76
  import { PropsWithChildren } from 'react';
@@ -107,7 +98,6 @@ import { ViewChange } from '@likec4/core/types';
107
98
  import { ViewId } from '@likec4/core/types';
108
99
  import { ViewId as ViewId_3 } from '@likec4/core';
109
100
  import { Viewport } from '@xyflow/system';
110
- import { ViewportPortal } from '@xyflow/react';
111
101
  import { WhereOperator } from '@likec4/core/types';
112
102
  import { Without } from 'type-fest/source/merge-exclusive';
113
103
  import { XYPosition } from '@xyflow/system';
@@ -1734,7 +1724,7 @@ declare type ElementShapeProps = {
1734
1724
  export declare const ElementTag: ForwardRefExoticComponent<{
1735
1725
  tag: string;
1736
1726
  cursor?: "pointer" | "default";
1737
- } & Omit<Omit< DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "children" | "color"> & RefAttributes<HTMLDivElement>>;
1727
+ } & Omit<Omit< DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "color" | "children"> & RefAttributes<HTMLDivElement>>;
1738
1728
 
1739
1729
  export declare const ElementTags: MemoExoticComponent<({ id, data: { tags, width, hovered }, onTagClick, onTagMouseEnter, onTagMouseLeave }: ElementTagsProps) => JSX.Element | null>;
1740
1730
 
@@ -2909,7 +2899,7 @@ declare type Mapper<TContext extends MachineContext, TExpressionEvent extends Ev
2909
2899
  TODO>, TEvent, AnyEventObject>;
2910
2900
  }) => TResult;
2911
2901
 
2912
- export declare const Markdown: ForwardRefExoticComponent<Omit<Omit< DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "children" | "color" | "dangerouslySetInnerHTML"> & {
2902
+ export declare const Markdown: ForwardRefExoticComponent<Omit<Omit< DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "color" | "children" | "dangerouslySetInnerHTML"> & {
2913
2903
  value: RichTextOrEmpty;
2914
2904
  /**
2915
2905
  * When markdown block is used inside a diagram node, this variant should be used to apply the likec4 palette.
@@ -4553,22 +4543,6 @@ declare type WithHovered = {
4553
4543
  };
4554
4544
  };
4555
4545
 
4556
- export declare namespace XYFlow {
4557
- export {
4558
- Align,
4559
- ControlButton,
4560
- Controls,
4561
- MiniMap,
4562
- MiniMapNode,
4563
- MiniMapNodeProps,
4564
- NodeToolbar,
4565
- NodeToolbarProps,
4566
- Panel,
4567
- Position,
4568
- ViewportPortal
4569
- }
4570
- }
4571
-
4572
4546
  declare type XYFLowInstance = ReactFlowInstance<RelationshipsBrowserTypes.AnyNode, RelationshipsBrowserTypes.Edge>;
4573
4547
 
4574
4548
  declare type XYFlowInstance = ReactFlowInstance<Types.AnyNode, Types.AnyEdge>;