umlimator 0.19.0 → 0.21.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.
@@ -23,14 +23,6 @@
23
23
  "type": "string",
24
24
  "description": "The view shown first (default: the view with no parent)."
25
25
  },
26
- "shapes": {
27
- "enum": [
28
- "box",
29
- "c4",
30
- "uml"
31
- ],
32
- "description": "The notation every view's cards are (a view's own wins) is drawn in (0.15.0): box (every card a rounded box, the default), c4 (people, browser apps, phones, databases, queues and files as the C4 model's tools draw them) or uml (UML 2.5's actor, node, artifact, package and data store, and the component icon on a box)."
33
- },
34
26
  "nodes": {
35
27
  "type": "array",
36
28
  "items": {
@@ -311,7 +303,7 @@
311
303
  "folder",
312
304
  "node"
313
305
  ],
314
- "description": "The card's own shape, in every notation (0.15.0): box, person, browser, mobile, cylinder, pipe, document, hexagon, robot, terminal, window, folder or node. Without it the notation draws the card by its kind."
306
+ "description": "The card's own shape (0.15.0): box, person, browser, mobile, cylinder, pipe, document, hexagon, robot, terminal, window, folder or node. Without it a map draws the card by its kind (a rounded box where no shape says more)."
315
307
  },
316
308
  "noSub": {
317
309
  "type": "boolean",
@@ -319,7 +311,7 @@
319
311
  },
320
312
  "opensView": {
321
313
  "type": "string",
322
- "description": "The view the card opens. It may name a view the host loads only when it is opened."
314
+ "description": "The view the card opens. It may name a view the host loads only when it is opened. Schema version 2: the view a call behaviour action (an activity view), an interaction use or an inline interaction (a uml.sequence view) opens (0.21.0)."
323
315
  },
324
316
  "opensCount": {
325
317
  "type": "integer",
@@ -419,7 +411,7 @@
419
411
  }
420
412
  },
421
413
  "type": {
422
- "description": "Schema version 2: the element's type, <notation>.<Name> (uml.Class). validate() checks typed fields only in a model with schemaVersion 2. The class diagram (uml.class, 0.18.0): uml.Class, uml.Interface, uml.Enumeration, uml.DataType, uml.PrimitiveType, uml.Package and uml.Comment; their members uml.Property, uml.Operation and uml.EnumerationLiteral. The object diagram (uml.object, 0.19.0): uml.InstanceSpecification and uml.Comment; an instance's members uml.Slot. The package diagram (uml.package, 0.19.0): uml.Package and the class diagram's classifiers, and uml.Comment.",
414
+ "description": "Schema version 2: the element's type, <notation>.<Name> (uml.Class). validate() checks typed fields only in a model with schemaVersion 2. The class diagram (uml.class, 0.18.0): uml.Class, uml.Interface, uml.Enumeration, uml.DataType, uml.PrimitiveType, uml.Package and uml.Comment; their members uml.Property, uml.Operation and uml.EnumerationLiteral. The object diagram (uml.object, 0.19.0): uml.InstanceSpecification and uml.Comment; an instance's members uml.Slot. The package diagram (uml.package, 0.19.0): uml.Package and the class diagram's classifiers, and uml.Comment. The sequence and communication diagrams (uml.sequence, uml.communication, 0.20.0): uml.Lifeline. The use case diagram (uml.use-case, 0.21.0): uml.Actor, uml.UseCase, uml.Subject and uml.Comment; a use case's members uml.ExtensionPoint. The activity diagram (uml.activity, 0.21.0): uml.InitialNode, uml.ActivityFinalNode, uml.FlowFinalNode, uml.Action, uml.CallBehaviorAction, uml.SendSignalAction, uml.AcceptEventAction, uml.DecisionNode, uml.MergeNode, uml.ForkNode, uml.JoinNode, uml.ObjectNode, uml.DataStoreNode, uml.ActivityPartition and uml.Comment. The state machine diagram (uml.state-machine, 0.21.0): uml.State, uml.Pseudostate, uml.FinalState and uml.Comment; a state's members uml.Region and uml.InternalTransition. The interaction overview diagram (uml.interaction-overview, 0.21.0): the activity's control nodes, uml.InteractionUse, uml.Interaction (an inline interaction) and uml.Comment.",
423
415
  "examples": [
424
416
  "uml.Class",
425
417
  "uml.Interface",
@@ -428,14 +420,26 @@
428
420
  "uml.PrimitiveType",
429
421
  "uml.Package",
430
422
  "uml.Comment",
431
- "uml.InstanceSpecification"
423
+ "uml.InstanceSpecification",
424
+ "uml.Lifeline",
425
+ "uml.Actor",
426
+ "uml.UseCase",
427
+ "uml.Subject",
428
+ "uml.Action",
429
+ "uml.DecisionNode",
430
+ "uml.ActivityPartition",
431
+ "uml.State",
432
+ "uml.Pseudostate",
433
+ "uml.FinalState",
434
+ "uml.InteractionUse",
435
+ "uml.Interaction"
432
436
  ]
433
437
  },
434
438
  "parent": {
435
- "description": "Schema version 2: the element that owns it (a package, a composite state, a lane). From 0.19.0 a class, object or package view draws a shown package that owns something it shows as a box holding it."
439
+ "description": "Schema version 2: the element that owns it (a package, a composite state, a lane). From 0.19.0 a class, object or package view draws a shown package that owns something it shows as a box holding it. A use case's: a subject or a package. An activity node's: its partition (lane); a partition's: the partition it is nested in. A substate's or pseudostate's: a state, or a region (a member) of one."
436
440
  },
437
441
  "props": {
438
- "description": "Schema version 2: the type's own properties. The class diagram (uml.class, 0.18.0): isAbstract and stereotypes on a classifier; on a member, the fields of its UML text (docs/conformance/uml-class.md). The object diagram (uml.object, 0.19.0): an instance's classifier and stereotypes; a slot's value (docs/conformance/uml-object.md).",
442
+ "description": "Schema version 2: the type's own properties. The class diagram (uml.class, 0.18.0): isAbstract and stereotypes on a classifier; on a member, the fields of its UML text (docs/conformance/uml-class.md). The object diagram (uml.object, 0.19.0): an instance's classifier and stereotypes; a slot's value (docs/conformance/uml-object.md). The sequence and communication diagrams (uml.sequence, uml.communication, 0.20.0): a lifeline's represents, and stereotypes (actor draws «actor» over its name). The state machine diagram (uml.state-machine, 0.21.0): a state's entry, do and exit, a pseudostate's kind (docs/conformance/uml-state-machine.md).",
439
443
  "anyOf": [
440
444
  {
441
445
  "type": "object",
@@ -448,6 +452,31 @@
448
452
  },
449
453
  "classifier": {
450
454
  "description": "uml.InstanceSpecification: the name (or qualified name, sales::Order) of the classifier it is an instance of, as text; drawn name : Classifier, underlined."
455
+ },
456
+ "represents": {
457
+ "description": "uml.Lifeline: what it is an instance of, by name, as text; drawn name : Type (docs/diagrams/risks.md M8)."
458
+ },
459
+ "entry": {
460
+ "description": "uml.State: its entry activity, as text; drawn as the row entry / text."
461
+ },
462
+ "do": {
463
+ "description": "uml.State: its do activity, as text; drawn as the row do / text."
464
+ },
465
+ "exit": {
466
+ "description": "uml.State: its exit activity, as text; drawn as the row exit / text."
467
+ },
468
+ "kind": {
469
+ "description": "uml.Pseudostate: which pseudostate it is; any other is drawn as a junction, with a warning.",
470
+ "examples": [
471
+ "initial",
472
+ "choice",
473
+ "junction",
474
+ "fork",
475
+ "join",
476
+ "shallowHistory",
477
+ "deepHistory",
478
+ "terminate"
479
+ ]
451
480
  }
452
481
  }
453
482
  },
@@ -455,7 +484,7 @@
455
484
  ]
456
485
  },
457
486
  "members": {
458
- "description": "Schema version 2: owned parts, in display order (attributes, ports, regions, lanes), each a typed element. The class diagram (uml.class, 0.18.0): a classifier's attributes (uml.Property) and operations (uml.Operation), an enumeration's literals (uml.EnumerationLiteral). The object diagram (uml.object, 0.19.0): an instance's slots (uml.Slot), each a feature = value row.",
487
+ "description": "Schema version 2: owned parts, in display order (attributes, ports, regions, lanes), each a typed element. The class diagram (uml.class, 0.18.0): a classifier's attributes (uml.Property) and operations (uml.Operation), an enumeration's literals (uml.EnumerationLiteral). The object diagram (uml.object, 0.19.0): an instance's slots (uml.Slot), each a feature = value row. The use case diagram (uml.use-case, 0.21.0): a use case's extension points (uml.ExtensionPoint, by name). The state machine diagram (uml.state-machine, 0.21.0): a state's regions (uml.Region, by name) and internal transitions (uml.InternalTransition, trigger [guard] / effect).",
459
488
  "anyOf": [
460
489
  {
461
490
  "type": "array",
@@ -469,7 +498,7 @@
469
498
  "description": "Unique among every node, edge and member of the model."
470
499
  },
471
500
  "type": {
472
- "description": "uml.Property, uml.Operation or uml.EnumerationLiteral in a class diagram; uml.Slot in an object diagram."
501
+ "description": "uml.Property, uml.Operation or uml.EnumerationLiteral in a class diagram; uml.Slot in an object diagram. uml.ExtensionPoint in a use case diagram; uml.Region or uml.InternalTransition in a state machine diagram."
473
502
  },
474
503
  "label": {
475
504
  "description": "The member's name (a slot's: the feature it gives a value); the rest of its UML text is in props."
@@ -512,6 +541,15 @@
512
541
  },
513
542
  "value": {
514
543
  "description": "uml.Slot: its value, as text (34.00 EUR); left out, the slot is drawn by its feature's name."
544
+ },
545
+ "trigger": {
546
+ "description": "uml.InternalTransition: what triggers it, as text (a trigger list, after 30 days)."
547
+ },
548
+ "guard": {
549
+ "description": "uml.InternalTransition: its guard, as text, drawn [in brackets]."
550
+ },
551
+ "effect": {
552
+ "description": "uml.InternalTransition: its effect, as text, drawn after /."
515
553
  }
516
554
  }
517
555
  },
@@ -556,7 +594,7 @@
556
594
  "folder",
557
595
  "node"
558
596
  ],
559
- "description": "The card's own shape, in every notation (0.15.0): box, person, browser, mobile, cylinder, pipe, document, hexagon, robot, terminal, window, folder or node. Without it the notation draws the card by its kind."
597
+ "description": "The card's own shape (0.15.0): box, person, browser, mobile, cylinder, pipe, document, hexagon, robot, terminal, window, folder or node. Without it a map draws the card by its kind (a rounded box where no shape says more)."
560
598
  },
561
599
  "sublabel": {
562
600
  "type": "string",
@@ -814,7 +852,7 @@
814
852
  "description": "When the line is used."
815
853
  },
816
854
  "type": {
817
- "description": "Schema version 2: the element's type, <notation>.<Name> (uml.Class). The class diagram (uml.class, 0.18.0): uml.Association, uml.Generalization (from the specific to the general), uml.InterfaceRealization (to the interface), uml.Dependency (from the client) and uml.CommentLink (from the comment). The object diagram (uml.object, 0.19.0): uml.Link and uml.CommentLink. The package diagram (uml.package, 0.19.0): uml.PackageImport and uml.PackageMerge (from the importing or merging package), uml.Dependency and uml.CommentLink.",
855
+ "description": "Schema version 2: the element's type, <notation>.<Name> (uml.Class). The class diagram (uml.class, 0.18.0): uml.Association, uml.Generalization (from the specific to the general), uml.InterfaceRealization (to the interface), uml.Dependency (from the client) and uml.CommentLink (from the comment). The object diagram (uml.object, 0.19.0): uml.Link and uml.CommentLink. The package diagram (uml.package, 0.19.0): uml.PackageImport and uml.PackageMerge (from the importing or merging package), uml.Dependency and uml.CommentLink. The sequence diagram (uml.sequence, 0.20.0): uml.Message, inline in its view's edges, in time order. The communication diagram (uml.communication, 0.20.0): uml.Connector and uml.Message, model lines its view lists, connectors first; only the messages' order means anything. The use case diagram (uml.use-case, 0.21.0): uml.Association (an actor and a use case), uml.Include and uml.Extend (from the including or extending use case), uml.Generalization (from the specific to the general) and uml.CommentLink. The activity diagram (uml.activity, 0.21.0): uml.ControlFlow, uml.ObjectFlow and uml.CommentLink. The state machine diagram (uml.state-machine, 0.21.0): uml.Transition and uml.CommentLink. The interaction overview diagram (uml.interaction-overview, 0.21.0): uml.ControlFlow and uml.CommentLink.",
818
856
  "examples": [
819
857
  "uml.Association",
820
858
  "uml.Generalization",
@@ -823,14 +861,21 @@
823
861
  "uml.CommentLink",
824
862
  "uml.Link",
825
863
  "uml.PackageImport",
826
- "uml.PackageMerge"
864
+ "uml.PackageMerge",
865
+ "uml.Message",
866
+ "uml.Connector",
867
+ "uml.Include",
868
+ "uml.Extend",
869
+ "uml.ControlFlow",
870
+ "uml.ObjectFlow",
871
+ "uml.Transition"
827
872
  ]
828
873
  },
829
874
  "parent": {
830
- "description": "Schema version 2: the element that owns it (a package, a composite state, a lane)."
875
+ "description": "Schema version 2: the element that owns it (a package, a composite state, a lane). In a sequence view: the operand (uml.InteractionOperand) of one of its fragments that holds the message; none at the top level."
831
876
  },
832
877
  "props": {
833
- "description": "Schema version 2: the type's own properties. The class diagram (uml.class, 0.18.0): an association's ends, and stereotypes on any line («use» on a dependency). The object diagram (uml.object, 0.19.0): a link's association and the roles at its ends. The package diagram (uml.package, 0.19.0): a package import's visibility.",
878
+ "description": "Schema version 2: the type's own properties. The class diagram (uml.class, 0.18.0): an association's ends, and stereotypes on any line («use» on a dependency). The object diagram (uml.object, 0.19.0): a link's association and the roles at its ends. The package diagram (uml.package, 0.19.0): a package import's visibility. The sequence and communication diagrams (0.20.0): a message's sort and replyTo. The use case diagram (0.21.0): an extend's extensionPoints and condition. The activity and interaction overview diagrams (0.21.0): a flow's guard (its label is its name). The state machine diagram (0.21.0): a transition's trigger, guard and effect, drawn trigger [guard] / effect.",
834
879
  "anyOf": [
835
880
  {
836
881
  "type": "object",
@@ -900,6 +945,34 @@
900
945
  },
901
946
  "visibility": {
902
947
  "description": "uml.PackageImport: public (the default, drawn «import») or private (drawn «access»)."
948
+ },
949
+ "sort": {
950
+ "description": "uml.Message: call (the default), async, reply, create or delete; any other is drawn as a call, with a warning.",
951
+ "examples": [
952
+ "call",
953
+ "async",
954
+ "reply",
955
+ "create",
956
+ "delete"
957
+ ]
958
+ },
959
+ "replyTo": {
960
+ "description": "uml.Message, a reply: the id of the earlier call it answers, which it goes back along."
961
+ },
962
+ "extensionPoints": {
963
+ "description": "uml.Extend: the ids of the extension points (uml.ExtensionPoint members) of the use case it extends, at least one; drawn by name."
964
+ },
965
+ "condition": {
966
+ "description": "uml.Extend: when it extends, as text; drawn [in brackets] after its points."
967
+ },
968
+ "guard": {
969
+ "description": "uml.ControlFlow, uml.ObjectFlow, uml.Transition: its guard, as text, drawn [in brackets]; else is drawn [else]."
970
+ },
971
+ "trigger": {
972
+ "description": "uml.Transition: what triggers it, as text (M8: no event is parsed)."
973
+ },
974
+ "effect": {
975
+ "description": "uml.Transition: its effect, as text, drawn after /."
903
976
  }
904
977
  }
905
978
  },
@@ -985,7 +1058,7 @@
985
1058
  },
986
1059
  "edges": {
987
1060
  "type": "array",
988
- "description": "The lines this view draws: model line ids or lines of its own. Default: every model line between its cards; [] draws none.",
1061
+ "description": "The lines this view draws: model line ids or lines of its own. Default: every model line between its cards; [] draws none. In a sequence view (uml.sequence, 0.20.0): its occurrences in time order, each message and interaction use inline, a fragment's operand by operand.",
989
1062
  "items": {
990
1063
  "anyOf": [
991
1064
  {
@@ -993,6 +1066,49 @@
993
1066
  },
994
1067
  {
995
1068
  "$ref": "#/$defs/edge"
1069
+ },
1070
+ {
1071
+ "type": "object",
1072
+ "required": [
1073
+ "id",
1074
+ "type"
1075
+ ],
1076
+ "properties": {
1077
+ "type": {
1078
+ "const": "uml.InteractionUse"
1079
+ },
1080
+ "label": {
1081
+ "description": "The interaction it refers to, by name."
1082
+ },
1083
+ "parent": {
1084
+ "description": "The operand (uml.InteractionOperand) that holds it; none at the top level."
1085
+ },
1086
+ "props": {
1087
+ "properties": {
1088
+ "covers": {
1089
+ "description": "The ids of the lifelines it spans, next to each other in the view's nodeIds."
1090
+ },
1091
+ "refersTo": {
1092
+ "description": "The id of the view it refers to."
1093
+ }
1094
+ }
1095
+ }
1096
+ },
1097
+ "not": {
1098
+ "anyOf": [
1099
+ {
1100
+ "required": [
1101
+ "from"
1102
+ ]
1103
+ },
1104
+ {
1105
+ "required": [
1106
+ "to"
1107
+ ]
1108
+ }
1109
+ ]
1110
+ },
1111
+ "description": "Schema version 2: an occurrence of a sequence view that is not a line: an interaction use (uml.InteractionUse), its label the interaction it refers to, props.covers the lifelines it spans (next to each other in nodeIds), props.refersTo a view's id, parent its operand."
996
1112
  }
997
1113
  ]
998
1114
  }
@@ -1133,31 +1249,29 @@
1133
1249
  "type": "boolean",
1134
1250
  "description": "Cards 80 px tall that show their sub-line, then their chips."
1135
1251
  },
1136
- "shapes": {
1137
- "enum": [
1138
- "box",
1139
- "c4",
1140
- "uml"
1141
- ],
1142
- "description": "The notation this view's cards are is drawn in (0.15.0): box (every card a rounded box, the default), c4 (people, browser apps, phones, databases, queues and files as the C4 model's tools draw them) or uml (UML 2.5's actor, node, artifact, package and data store, and the component icon on a box)."
1143
- },
1144
1252
  "kindsFromLabels": {
1145
1253
  "type": "boolean",
1146
1254
  "description": "Guess a line's kind from its label's words when its edges name none (render() and layout(); the standalone page always does)."
1147
1255
  },
1148
1256
  "diagram": {
1149
- "description": "Schema version 2: the view's diagram type; without it the view is a map. uml.class draws a class diagram (0.18.0, lib/umlimator-all.js), uml.object an object diagram and uml.package a package diagram (0.19.0); a type this release does not draw is drawn as plain cards, with a warning.",
1257
+ "description": "Schema version 2: the view's diagram type; without it the view is a map. uml.class draws a class diagram (0.18.0, lib/umlimator-all.js), uml.object an object diagram and uml.package a package diagram (0.19.0), uml.sequence a sequence diagram and uml.communication a communication diagram (0.20.0), uml.use-case a use case diagram, uml.activity an activity diagram, uml.state-machine a state machine diagram and uml.interaction-overview an interaction overview diagram (0.21.0); a type this release does not draw is drawn as plain cards, with a warning.",
1150
1258
  "examples": [
1151
1259
  "uml.class",
1152
1260
  "uml.object",
1153
- "uml.package"
1261
+ "uml.package",
1262
+ "uml.sequence",
1263
+ "uml.communication",
1264
+ "uml.use-case",
1265
+ "uml.activity",
1266
+ "uml.state-machine",
1267
+ "uml.interaction-overview"
1154
1268
  ]
1155
1269
  },
1156
1270
  "subject": {
1157
1271
  "description": "Schema version 2: the element this diagram is the inside of. In a class, object or package view, the package names are qualified from (sales::Order without sales:: in a view of sales); not drawn unless the view lists it."
1158
1272
  },
1159
1273
  "direction": {
1160
- "description": "Schema version 2: a typed view's layout direction (default right). A map stays left to right."
1274
+ "description": "Schema version 2: a typed view's layout direction (default right). A map stays left to right. A sequence view is always down; another direction is a warning."
1161
1275
  },
1162
1276
  "notation": {
1163
1277
  "description": "Schema version 2: a skin of the diagram type (crowsfoot for er)."
@@ -1174,7 +1288,7 @@
1174
1288
  "type": "object",
1175
1289
  "properties": {
1176
1290
  "collapsed": {
1177
- "description": "Compartments not drawn, divider and all: ['attributes', 'operations'] (an enumeration's: 'literals')."
1291
+ "description": "Compartments not drawn, divider and all: ['attributes', 'operations'] (an enumeration's: 'literals'); a state's: 'activities' (its entry, do and exit and internal transitions, 0.21.0)."
1178
1292
  },
1179
1293
  "rows": {
1180
1294
  "description": "At most this many rows in each compartment, then \"+k more\"."
@@ -1189,7 +1303,48 @@
1189
1303
  ]
1190
1304
  },
1191
1305
  "fragments": {
1192
- "description": "Schema version 2: a sequence view's combined fragments and interaction uses."
1306
+ "description": "Schema version 2: a sequence view's combined fragments (uml.CombinedFragment, props.operator alt, opt, loop, par or break), outermost first; each one's members are its operands (uml.InteractionOperand, label the guard) in order, and its parent is the operand that holds it (uml.sequence, 0.20.0).",
1307
+ "items": {
1308
+ "properties": {
1309
+ "type": {
1310
+ "examples": [
1311
+ "uml.CombinedFragment"
1312
+ ]
1313
+ },
1314
+ "parent": {
1315
+ "description": "The operand (uml.InteractionOperand) that holds it; none at the top level."
1316
+ },
1317
+ "props": {
1318
+ "properties": {
1319
+ "operator": {
1320
+ "description": "The fragment's operator; any other is a warning.",
1321
+ "examples": [
1322
+ "alt",
1323
+ "opt",
1324
+ "loop",
1325
+ "par",
1326
+ "break"
1327
+ ]
1328
+ }
1329
+ }
1330
+ },
1331
+ "members": {
1332
+ "description": "Its operands, in order.",
1333
+ "items": {
1334
+ "properties": {
1335
+ "type": {
1336
+ "examples": [
1337
+ "uml.InteractionOperand"
1338
+ ]
1339
+ },
1340
+ "label": {
1341
+ "description": "The operand's guard."
1342
+ }
1343
+ }
1344
+ }
1345
+ }
1346
+ }
1347
+ }
1193
1348
  },
1194
1349
  "timeline": {
1195
1350
  "description": "Schema version 2: a timing view's unit, changes and constraints."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "umlimator",
3
- "version": "0.19.0",
3
+ "version": "0.21.0",
4
4
  "description": "Embeddable, layered architecture maps: layout, orthogonal routing and an interactive canvas in one ES module.",
5
5
  "keywords": ["architecture", "diagram", "c4", "map", "svg", "layout", "orthogonal-routing", "drill-down"],
6
6
  "homepage": "https://zintaen.github.io/umlimator/",
@@ -12,6 +12,6 @@
12
12
  "./all": { "types": "./lib/umlimator.d.ts", "default": "./lib/umlimator-all.js" },
13
13
  "./element": "./lib/umlimator-element.js", "./markdown-it": "./lib/umlimator-markdown-it.js", "./remark": "./lib/umlimator-remark.js" },
14
14
  "files": ["lib/", "LICENSE", "THIRD_PARTY_NOTICES.md"],
15
- "scripts": { "test": "node --test", "build": "node tools/build.mjs" },
15
+ "scripts": { "test": "node --test --test-skip-pattern=\"\\(timed\\)\" && node --test --test-concurrency=1 --test-name-pattern=\"\\(timed\\)\"", "build": "node tools/build.mjs" },
16
16
  "engines": { "node": ">=18" }
17
17
  }