umlimator 0.20.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. The sequence and communication diagrams (uml.sequence, uml.communication, 0.20.0): uml.Lifeline.",
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",
@@ -429,14 +421,25 @@
429
421
  "uml.Package",
430
422
  "uml.Comment",
431
423
  "uml.InstanceSpecification",
432
- "uml.Lifeline"
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"
433
436
  ]
434
437
  },
435
438
  "parent": {
436
- "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."
437
440
  },
438
441
  "props": {
439
- "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).",
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).",
440
443
  "anyOf": [
441
444
  {
442
445
  "type": "object",
@@ -452,6 +455,28 @@
452
455
  },
453
456
  "represents": {
454
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
+ ]
455
480
  }
456
481
  }
457
482
  },
@@ -459,7 +484,7 @@
459
484
  ]
460
485
  },
461
486
  "members": {
462
- "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).",
463
488
  "anyOf": [
464
489
  {
465
490
  "type": "array",
@@ -473,7 +498,7 @@
473
498
  "description": "Unique among every node, edge and member of the model."
474
499
  },
475
500
  "type": {
476
- "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."
477
502
  },
478
503
  "label": {
479
504
  "description": "The member's name (a slot's: the feature it gives a value); the rest of its UML text is in props."
@@ -516,6 +541,15 @@
516
541
  },
517
542
  "value": {
518
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 /."
519
553
  }
520
554
  }
521
555
  },
@@ -560,7 +594,7 @@
560
594
  "folder",
561
595
  "node"
562
596
  ],
563
- "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)."
564
598
  },
565
599
  "sublabel": {
566
600
  "type": "string",
@@ -818,7 +852,7 @@
818
852
  "description": "When the line is used."
819
853
  },
820
854
  "type": {
821
- "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.",
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.",
822
856
  "examples": [
823
857
  "uml.Association",
824
858
  "uml.Generalization",
@@ -829,14 +863,19 @@
829
863
  "uml.PackageImport",
830
864
  "uml.PackageMerge",
831
865
  "uml.Message",
832
- "uml.Connector"
866
+ "uml.Connector",
867
+ "uml.Include",
868
+ "uml.Extend",
869
+ "uml.ControlFlow",
870
+ "uml.ObjectFlow",
871
+ "uml.Transition"
833
872
  ]
834
873
  },
835
874
  "parent": {
836
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."
837
876
  },
838
877
  "props": {
839
- "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.",
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.",
840
879
  "anyOf": [
841
880
  {
842
881
  "type": "object",
@@ -919,6 +958,21 @@
919
958
  },
920
959
  "replyTo": {
921
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 /."
922
976
  }
923
977
  }
924
978
  },
@@ -1195,26 +1249,22 @@
1195
1249
  "type": "boolean",
1196
1250
  "description": "Cards 80 px tall that show their sub-line, then their chips."
1197
1251
  },
1198
- "shapes": {
1199
- "enum": [
1200
- "box",
1201
- "c4",
1202
- "uml"
1203
- ],
1204
- "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)."
1205
- },
1206
1252
  "kindsFromLabels": {
1207
1253
  "type": "boolean",
1208
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)."
1209
1255
  },
1210
1256
  "diagram": {
1211
- "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); 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.",
1212
1258
  "examples": [
1213
1259
  "uml.class",
1214
1260
  "uml.object",
1215
1261
  "uml.package",
1216
1262
  "uml.sequence",
1217
- "uml.communication"
1263
+ "uml.communication",
1264
+ "uml.use-case",
1265
+ "uml.activity",
1266
+ "uml.state-machine",
1267
+ "uml.interaction-overview"
1218
1268
  ]
1219
1269
  },
1220
1270
  "subject": {
@@ -1238,7 +1288,7 @@
1238
1288
  "type": "object",
1239
1289
  "properties": {
1240
1290
  "collapsed": {
1241
- "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)."
1242
1292
  },
1243
1293
  "rows": {
1244
1294
  "description": "At most this many rows in each compartment, then \"+k more\"."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "umlimator",
3
- "version": "0.20.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
  }