@likec4/core
Advanced tools
Changelog
1.19.0 (2025-01-01)
This release introduces significant improvements in the computation of view predicates.
These improvements may lead to changes in the final layout, as the order of included elements is now strictly adhered to.
Changelog
1.18.0 (2024-12-12)
Deployment Model
One of the most highly requested additions to our project!
This feature introduces a physical model with its own structure and elements, referencing the logical model while inheriting its relationships.
The syntax and approach remain consistent with existing ones.
This is just the first step, and we would love your feedback!
Documentation and RFC
Include all descendants
New predicate selector .**
lets you include all descendants, making it especially useful for deployment views.
Thanks to @Cyclonit for contributing! 🎉 #1310, closes #1259
Typesafe LikeC4 model
Generate TypeScript code from your model, complete with type definitions for elements and views. Enjoy code completion and type checks in every React hook or API call!
📖 Documentation is currently in progress. Stay tuned!
UI improvements
Changelog
Changelog
1.17.0 (2024-11-15)
Element details
Notation, full description, links, metatdata, tags, relationships (global/view scopes), other views...
Disabled by default in React components (to turn on use enableElementDetails
)
https://github.com/user-attachments/assets/52966fab-9662-4132-974b-2c68a6a879cd
Render icon on containers (thanks @davydkov, closes #1195)
Disable icon with none
(thanks @davydkov, closes #1026)
Traverse symlinks in the workspace (thanks @hubertmis, #1213)
Changelog
1.16.0 (2024-11-04)
Global predicates (thanks @hubertmis, #1173)
global {
predicateGroup new_cloud_service {
include cloud.*
where kind is microservice
exclude *
where tag is #deprecated
}
}
views {
view of newServices {
include *
global predicate new_cloud_service
}
view of newBackendServices {
include *
global predicate new_cloud_service
}
}
Changelog
1.15.0 (2024-10-26)
Style groups:
Global styles can be grouped and applied together:
global {
// Define style group
styleGroup common_styles {
style * {
color muted
opacity 10%
}
style singlePageApplication, mobileApp {
color secondary
}
}
}
views {
view mobileApp of mobileApplication {
include *
// Apply common styles
global style common_styles
}
}
Also, global styles and groups can be referenced in views {}
blocks (local styles) and applied to all views in a block.
Documentation (thanks @hubertmis, #1143, #1161)
Adhoc group
elements
view {
group 'Third-parties' {
group 'Integrations' {
group 'Analytics' {
include * where tag is #analytics
}
group 'Marketing' {
include * where tag is #marketing
}
}
group 'Monitoring' {
include * where tag is #marketing
}
}
}
Documentation (thanks @davydkov, #1140)
where
together with
, not work style on (thanks @pavelpykhtin, #1147 closes #1144)Changelog
1.14.0 (2024-10-20)
View relationship decomposition:
Relationship Cloud -> Amazon
from examples:
Global styles:
Shared global styles
global {
style mute_all * {
color muted
opacity 10%
}
}
views {
view of app {
global style mute_all
style cloud.* {
color green
}
}
}
Documentation (thanks @hubertmis, closes #1058)
Build with --base './'
:
Allows to build a relocatable website (thanks @rumpelrausch, closes #1111)
Changelog
1.13.0 (2024-10-18)
Browse relationships
Disabled by default in generated components, to enable:
import { LikeC4View } from './likec4.generated'
<LikeC4View
viewId="index"
enableRelationshipsBrowser
/>
Share your feedback in our Discussions
Local styles:
Shared styles in views block (thanks @hubertmis, #1113)
views {
// apply to all views in this views block
style * {
color muted
opacity 10%
}
view apiApp of internetBankingSystem.apiApplication {
include *
}
view mobileApp of internetBankingSystem.mobileApplication {
include *
}
}
Alignment tools:
Implemented alignment tools for manual layouting (thanks @pavelpykhtin, #1099)
crow
arrow type (thanks @pavelpykhtin, #1092)controls
property to show/hide top left panel (b36880f)styleNonce
property for ReactLikeC4 (0c78314)