@miragon/design-iq-validator 5.0.0-rc.0 → 5.1.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.
- package/README.md +8 -8
- package/dist/cli.js +1 -1
- package/dist/{content-BoFksK67.js → content-Bsv9ZLFd.js} +10 -10
- package/dist/{content-B_0zdBLT.js → content-DgyuLYdD.js} +1 -1
- package/dist/{validate-C9ZythtW.js → validate-D5Lo0E8X.js} +3 -3
- package/dist/validate.js +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# @miragon/design-iq-validator
|
|
2
2
|
|
|
3
|
-
Deterministic validator for
|
|
4
|
-
checks (flow soundness, complete BPMNDI coverage),
|
|
5
|
-
(every required reference — `callActivity` calls,
|
|
6
|
-
in the repo), and a per-mediaKind parse baseline for
|
|
7
|
-
broken `.tt`/`.vc.json` is an ERROR; DSL notations are
|
|
8
|
-
carries a stable `ruleId` (e.g. `bpmn/flow`, `dmn/di`,
|
|
9
|
-
target repo as pure data — it never executes content-repo code.
|
|
10
|
-
(warnings allowed), 1 = errors.
|
|
3
|
+
Deterministic validator for designIQ content repositories: `designiq.yml` discovery, BPMN
|
|
4
|
+
structural checks (flow soundness, complete BPMNDI coverage), DMN structure and DMNDI coverage,
|
|
5
|
+
the generic cross-model reference rule (every required reference — `callActivity` calls,
|
|
6
|
+
`businessRuleTask` decides — must resolve in the repo), and a per-mediaKind parse baseline for
|
|
7
|
+
every other registered notation (a broken `.tt`/`.vc.json` is an ERROR; DSL notations are
|
|
8
|
+
lenient by design). Every finding carries a stable `ruleId` (e.g. `bpmn/flow`, `dmn/di`,
|
|
9
|
+
`refs/dangling`). It treats the target repo as pure data — it never executes content-repo code.
|
|
10
|
+
Exit code 0 = no errors (warnings allowed), 1 = errors.
|
|
11
11
|
|
|
12
12
|
## Usage
|
|
13
13
|
|
package/dist/cli.js
CHANGED
|
@@ -41,8 +41,8 @@ const NOTATIONS = [
|
|
|
41
41
|
id: "wardley",
|
|
42
42
|
label: "Wardley Map",
|
|
43
43
|
noun: {
|
|
44
|
-
singular: "
|
|
45
|
-
plural: "
|
|
44
|
+
singular: "Wardley Map",
|
|
45
|
+
plural: "Wardley Maps"
|
|
46
46
|
},
|
|
47
47
|
extensions: [".owm", ".wmap"],
|
|
48
48
|
mediaKind: "dsl",
|
|
@@ -57,8 +57,8 @@ const NOTATIONS = [
|
|
|
57
57
|
id: "team-topology",
|
|
58
58
|
label: "Team Topology",
|
|
59
59
|
noun: {
|
|
60
|
-
singular: "
|
|
61
|
-
plural: "
|
|
60
|
+
singular: "Team Topology",
|
|
61
|
+
plural: "Team Topologies"
|
|
62
62
|
},
|
|
63
63
|
extensions: [".tt", ".ttm.json"],
|
|
64
64
|
mediaKind: "json",
|
|
@@ -69,8 +69,8 @@ const NOTATIONS = [
|
|
|
69
69
|
id: "event-storming",
|
|
70
70
|
label: "Event Storming",
|
|
71
71
|
noun: {
|
|
72
|
-
singular: "
|
|
73
|
-
plural: "
|
|
72
|
+
singular: "Event Storming board",
|
|
73
|
+
plural: "Event Storming boards"
|
|
74
74
|
},
|
|
75
75
|
extensions: [".storm"],
|
|
76
76
|
mediaKind: "dsl",
|
|
@@ -85,8 +85,8 @@ const NOTATIONS = [
|
|
|
85
85
|
id: "context-map",
|
|
86
86
|
label: "Context Map",
|
|
87
87
|
noun: {
|
|
88
|
-
singular: "
|
|
89
|
-
plural: "
|
|
88
|
+
singular: "Context Map",
|
|
89
|
+
plural: "Context Maps"
|
|
90
90
|
},
|
|
91
91
|
extensions: [".cm.json"],
|
|
92
92
|
mediaKind: "json",
|
|
@@ -107,8 +107,8 @@ const NOTATIONS = [
|
|
|
107
107
|
id: "value-chain",
|
|
108
108
|
label: "Value Chain",
|
|
109
109
|
noun: {
|
|
110
|
-
singular: "
|
|
111
|
-
plural: "
|
|
110
|
+
singular: "Value Chain",
|
|
111
|
+
plural: "Value Chains"
|
|
112
112
|
},
|
|
113
113
|
extensions: [".vc.json"],
|
|
114
114
|
mediaKind: "json",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as discoverModels, i as contentConfigConflict, o as legacyContentConfigFile, s as loadContentConfig, t as CONTENT_CONFIG_FILE } from "./content-
|
|
1
|
+
import { a as discoverModels, i as contentConfigConflict, o as legacyContentConfigFile, s as loadContentConfig, t as CONTENT_CONFIG_FILE } from "./content-Bsv9ZLFd.js";
|
|
2
2
|
export { CONTENT_CONFIG_FILE, contentConfigConflict, discoverModels, legacyContentConfigFile, loadContentConfig };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as byId, c as resolveContentConfigFile, d as extractModelGraph, f as parseXml, g as byExtension, h as kindOf, l as XMLValidator, m as requirementHref, p as readBpmn, r as CONTENT_CONFIG_NAMES, u as asArray } from "./content-
|
|
1
|
+
import { _ as byId, c as resolveContentConfigFile, d as extractModelGraph, f as parseXml, g as byExtension, h as kindOf, l as XMLValidator, m as requirementHref, p as readBpmn, r as CONTENT_CONFIG_NAMES, u as asArray } from "./content-Bsv9ZLFd.js";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import { relative, resolve } from "node:path";
|
|
4
4
|
//#region ../notations/refs.ts
|
|
@@ -86,7 +86,7 @@ const notContentRepoError = (root) => {
|
|
|
86
86
|
//#endregion
|
|
87
87
|
//#region src/validate.ts
|
|
88
88
|
/**
|
|
89
|
-
* Deterministic validation of a
|
|
89
|
+
* Deterministic validation of a content repository (the slim contract).
|
|
90
90
|
*
|
|
91
91
|
* A content repo is a root `designiq.yml` naming the folder its BPMN processes
|
|
92
92
|
* live in (@designiq/notations/content); a process IS a `.bpmn` file there. This
|
|
@@ -436,7 +436,7 @@ async function runCli() {
|
|
|
436
436
|
/** optional single-model filter (a model file stem) */
|
|
437
437
|
const only = argv[0];
|
|
438
438
|
const rel = (p) => p.startsWith("/") ? relative(ROOT, p) : p;
|
|
439
|
-
const { CONTENT_CONFIG_FILE, contentConfigConflict, discoverModels, legacyContentConfigFile, loadContentConfig } = await import("./content-
|
|
439
|
+
const { CONTENT_CONFIG_FILE, contentConfigConflict, discoverModels, legacyContentConfigFile, loadContentConfig } = await import("./content-DgyuLYdD.js");
|
|
440
440
|
const cfg = loadContentConfig(ROOT);
|
|
441
441
|
if (!cfg) {
|
|
442
442
|
console.error(notContentRepoError(ROOT));
|
package/dist/validate.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as runCli, i as checkModelBaseline, n as checkDmnXml, r as checkModel, t as checkBpmnXml } from "./validate-
|
|
1
|
+
import { a as runCli, i as checkModelBaseline, n as checkDmnXml, r as checkModel, t as checkBpmnXml } from "./validate-D5Lo0E8X.js";
|
|
2
2
|
export { checkBpmnXml, checkDmnXml, checkModel, checkModelBaseline, runCli };
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miragon/design-iq-validator",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "Platform-owned validator for
|
|
5
|
+
"description": "Platform-owned validator for designIQ content repos — designiq.yml discovery, BPMN/DMN structure and diagram coverage, cross-model references, and a parse check for every other notation. Runs against any checkout via --root; never executes content-repo code.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -10,8 +10,10 @@
|
|
|
10
10
|
"directory": "packages/validator"
|
|
11
11
|
},
|
|
12
12
|
"keywords": [
|
|
13
|
+
"modeling",
|
|
13
14
|
"bpm",
|
|
14
15
|
"bpmn",
|
|
16
|
+
"dmn",
|
|
15
17
|
"validator",
|
|
16
18
|
"cli"
|
|
17
19
|
],
|
|
@@ -32,7 +34,7 @@
|
|
|
32
34
|
},
|
|
33
35
|
"//": "fast-xml-parser stays a RUNTIME dependency although src/ no longer imports it directly: tsdown inlines @designiq/notations (whose extract.ts imports it) but keeps npm deps external, so the published dist/ resolves it from here. Removing it breaks the npm artifact at import time while the workspace keeps working.",
|
|
34
36
|
"dependencies": {
|
|
35
|
-
"fast-xml-parser": "5.11.
|
|
37
|
+
"fast-xml-parser": "5.11.2",
|
|
36
38
|
"yaml": "2.9.1"
|
|
37
39
|
},
|
|
38
40
|
"devDependencies": {
|