sysml-validate 0.15.6 → 0.15.8

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 CHANGED
@@ -3,7 +3,7 @@
3
3
  Headless SysML v2 / KerML validation. Runs the same parser, linker, and
4
4
  diagnostics as the
5
5
  [SysML v2 VS Code extension](https://marketplace.visualstudio.com/items?itemName=voidaliot.vscode-sysml-v2)
6
- — the Problems panel, in a terminal or a CI job. No VS Code, no browser, no
6
+ Problems panel, in a terminal or a CI job. No VS Code, no browser, no
7
7
  display server.
8
8
 
9
9
  ```bash
@@ -26,7 +26,7 @@ models/vehicle.sysml
26
26
  ✓ 2 files checked, no problems found
27
27
  ```
28
28
 
29
- Colour is used on a terminal and dropped everywhere else a pipe, a log file,
29
+ Colour is used on a terminal and dropped everywhere else, a pipe, a log file,
30
30
  or a coding agent's chat window gets exactly the plain text above. `--color` and
31
31
  `--no-color` force it either way, and `NO_COLOR` is honoured.
32
32
 
@@ -62,7 +62,7 @@ and the rest resolve with nothing else installed.
62
62
  ## Examples
63
63
 
64
64
  **Check one file while you work.** Paths, positions, severity, and the
65
- diagnostic code everything needed to jump to the problem:
65
+ diagnostic code, everything needed to jump to the problem:
66
66
 
67
67
  ```console
68
68
  $ sysml-validate models/vehicle.sysml
@@ -72,7 +72,7 @@ models/vehicle.sysml
72
72
  ✖ 1 problem (1 error) in 1 of 1 file
73
73
  ```
74
74
 
75
- **See the advisory notices too.** Hints and info are out of the way by default
75
+ **See the advisory notices too.** Hints and info are out of the way by default,
76
76
  `--all` brings them in:
77
77
 
78
78
  ```console
@@ -99,7 +99,7 @@ Compact prints **nothing at all** on a clean run, so `[ -s report.txt ]` and
99
99
  **Structured output** for a script or a dashboard:
100
100
 
101
101
  ```console
102
- $ sysml-validate models/ --format json | jq '.counts, .diagnostics[0].code'
102
+ $ sysml-validate models/ --format json | jq '.counts.diagnostics[0].code'
103
103
  {
104
104
  "error": 2,
105
105
  "warning": 0,
@@ -143,14 +143,14 @@ exit=1
143
143
  ## Your project's configuration is honoured
144
144
 
145
145
  The validator reads the settings your team commits, in the editor's own
146
- precedence `.vscode/settings.json` first, then `.vscode/sysml/project.json`:
146
+ precedence, `.vscode/settings.json` first, then `.vscode/sysml/project.json`:
147
147
 
148
148
  | Setting | Effect |
149
149
  |---|---|
150
150
  | `sysml.lint.profile` | `default` / `quiet` / `strict` style-notice volume |
151
151
  | `sysml.validation.severities` | Per-code severity overrides (e.g. `{ "SEM006": "warning" }`) |
152
152
  | `sysml.diagnostics.unusedImports` | `off` / `warning` / `error` |
153
- | `sysml.diagnostics.units` | UNIT001UNIT005 dimensional analysis on/off |
153
+ | `sysml.diagnostics.units` | UNIT001 to UNIT005 dimensional analysis on/off |
154
154
 
155
155
  `--lint-profile` overrides the profile for one run, and `--no-config` ignores
156
156
  both files. Note that `sysml.validation.severities` covers the validator's own
package/out/main.js CHANGED
@@ -61187,10 +61187,22 @@ ${baseIndent}}`;
61187
61187
  // target feature, so each end must be able to hold it (OMG SysML v2 Part 1
61188
61188
  // §7.12 ItemFlow / PayloadFeature). Reported per end, and only when the end
61189
61189
  // resolves unambiguously and carries exactly one written type.
61190
+ //
61191
+ // A MESSAGE is deliberately exempt, though the grammar folds it into the same
61192
+ // statement. OMG SysML 8.2.2.16 gives `flow` FlowEndMembers — a FlowEnd is a
61193
+ // FlowFeature, the feature that holds the payload — while a message's `from`
61194
+ // and `to` are MessageEventMembers: `message m of i : I from evt1 to evt2` is
61195
+ // "parsed as an abstract FlowUsage, but without any flowEnds", its two ends
61196
+ // redefining Message::sourceEvent and Message::targetEvent (8.4.12.2). The
61197
+ // ends of a message are the two OCCURRENCES that exchange the payload, so
61198
+ // demanding that they be able to hold it reports every sequence-diagram
61199
+ // message as an error.
61190
61200
  checkFlowPayload(decl, model, index, accept) {
61191
61201
  if (decl.$type !== "FlowStmt")
61192
61202
  return;
61193
61203
  const flow = decl;
61204
+ if (flow.flowKind === "message")
61205
+ return;
61194
61206
  const payload = flowPayloadType(flow.payload);
61195
61207
  if (!payload || payload.conjugated)
61196
61208
  return;
@@ -70012,7 +70024,7 @@ async function runValidation(command) {
70012
70024
  }
70013
70025
 
70014
70026
  // src/main.ts
70015
- var VERSION2 = true ? "0.15.6" : "dev";
70027
+ var VERSION2 = true ? "0.15.8" : "dev";
70016
70028
  async function main(argv) {
70017
70029
  const command = parseArgs(argv);
70018
70030
  if (command.kind === "help") {