@r0kshan/cairn 1.0.0-RC11 → 1.0.0-RC12
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/README.md +3 -8
- package/THIRD-PARTY-NOTICES.md +11 -5
- package/bin/cairn.mjs +4298 -3790
- package/dist/cairn.mjs +4366 -3688
- package/licenses/elkjs-EPL-2.0.md +263 -0
- package/package.json +8 -6
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@ Furthermore, complexe software architecture with many flows and component genera
|
|
|
31
31
|
| **Configurable dispositions** | `slide` and `page` dispositions available to suit different presentation requirements |
|
|
32
32
|
| **Spacial optimization** | Cairn aims to optimize space as much as possible (Still working on improving this functionnality) |
|
|
33
33
|
| **Typed diagrams with validation.** | Each view defines its element kinds and rules; `cairn validate` reports syntax, schema, and completeness issues as source-located, coded diagnostics, with a JSON mode for CI. |
|
|
34
|
-
| **
|
|
34
|
+
| **Flow matrix.** | `cairn matrix` exports the flow matrix as CSV, Markdown, or SVG — from any view, with the columns that view can fill. In infrastructure it splits protocol from port and annotates endpoints that sit in a network zone; headers localise via `style { lang: fr }`. The same table is available to embedders through `compile(source, { matrix: true })`. |
|
|
35
35
|
| **Enterprise-view extras.** | Business objects on flows, an auto-generated legend, and a numbered-flow table via `flow-text: numbered`. |
|
|
36
36
|
| **French or English output.** | `style { lang: fr }` localizes band titles, legend, and matrix headers while keeping keywords English for portable sources (open to adding other languages if you find this usefull) |
|
|
37
37
|
| **In-built themes and customizable colours** | Whether using the default or a chosen in-built theme, element colours can be overriden for all elements of a given kind in the `style` block |
|
|
@@ -174,15 +174,8 @@ brew install R0kshan/tap/cairn
|
|
|
174
174
|
# Windows — Scoop
|
|
175
175
|
scoop bucket add cairn https://github.com/R0kshan/scoop-bucket
|
|
176
176
|
scoop install cairn
|
|
177
|
-
|
|
178
|
-
# npm (requires Node ≥ 22.6)
|
|
179
|
-
npm i -g @r0kshan/cairn@unstable
|
|
180
177
|
```
|
|
181
178
|
|
|
182
|
-
> `@unstable` is not optional: cairn is pre-stable, so tagged versions publish to
|
|
183
|
-
> that dist-tag and there is no `latest` yet — a bare `npm i -g @r0kshan/cairn`
|
|
184
|
-
> fails with `No matching version found` until the first stable release.
|
|
185
|
-
|
|
186
179
|
From source (no release needed — requires Node ≥ 22.6):
|
|
187
180
|
|
|
188
181
|
```sh
|
|
@@ -234,6 +227,8 @@ On validation errors nothing is written and the exit code is 1; warnings are pri
|
|
|
234
227
|
cairn matrix my-infra.cairn --format csv # csv (default) | md | svg · -o to set the path
|
|
235
228
|
```
|
|
236
229
|
|
|
230
|
+
Every view exports one; the columns follow the view (infrastructure keeps protocol and port, application keeps the protocol alone, logical keeps just the exchange).
|
|
231
|
+
|
|
237
232
|
### Rebuild on every save
|
|
238
233
|
|
|
239
234
|
```sh
|
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -12,8 +12,13 @@ theirs is distributed.
|
|
|
12
12
|
Version 0.12.0, inlined unmodified. Upstream: https://github.com/kieler/elkjs
|
|
13
13
|
|
|
14
14
|
Declared license: `EPL-2.0 OR GPL-3.0-or-later`. cairn elects **EPL-2.0** — full
|
|
15
|
-
text
|
|
16
|
-
elkjs
|
|
15
|
+
text in [`licenses/elkjs-EPL-2.0.md`](./licenses/elkjs-EPL-2.0.md), a verbatim
|
|
16
|
+
copy of elkjs' own `LICENSE.md`, upstream at https://www.eclipse.org/legal/epl-2.0/.
|
|
17
|
+
|
|
18
|
+
That copy is vendored rather than referenced because elkjs is a *devDependency*:
|
|
19
|
+
the published package installs zero dependencies, so `node_modules/elkjs/` never
|
|
20
|
+
reaches a consumer while the inlined code does. EPL-2.0 §3.1(b) requires the
|
|
21
|
+
license to travel with the distributed form, so `files` ships it in the tarball.
|
|
17
22
|
|
|
18
23
|
Per EPL-2.0 §3.1(a): the source code for elkjs is available under the EPL-2.0,
|
|
19
24
|
and can be obtained from https://github.com/kieler/elkjs or from the published
|
|
@@ -26,6 +31,7 @@ covers cairn's own code only.
|
|
|
26
31
|
|
|
27
32
|
---
|
|
28
33
|
|
|
29
|
-
If the set of inlined dependencies changes, update this file
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
If the set of inlined dependencies changes, update this file **and** `licenses/`
|
|
35
|
+
in the same commit — a notice that names a license text the tarball doesn't carry
|
|
36
|
+
is the failure mode this section exists to prevent. `files` in `package.json`
|
|
37
|
+
ships both with the npm package.
|