diff --git a/.gitignore b/.gitignore index 185e663..9b0c630 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ yarn-error.log* *.njsproj *.sln *.sw* +.semantic-code-mcp/ diff --git a/rules/id-required.js b/rules/id-required.js index 7c835b1..3a83863 100644 --- a/rules/id-required.js +++ b/rules/id-required.js @@ -8,21 +8,9 @@ module.exports = function() { return node.$type.startsWith('bpmndi') || node.$type.startsWith('dc'); } - function isEventDefinition(node) { - return isAny(node, [ - 'bpmn:CancelEventDefinition', - 'bpmn:CompensateDefinition', - 'bpmn:ErrorEventDefinition', - 'bpmn:EscalationEventDefinition', + function isExemptFromId(node) { + return is(node, 'bpmn:EventDefinition') || isAny(node, [ 'bpmn:Expression', - 'bpmn:LinkEventDefinition', - 'bpmn:MessageEventDefinition', - 'bpmn:SignalEventDefinition', - 'bpmn:TerminateEventDefinition', - 'bpmn:TimeCycle', - 'bpmn:TimeDate', - 'bpmn:TimeDuration', - 'bpmn:TimerEventDefinition', 'bpmn:Documentation', 'bpmn:InputOutputSpecification', 'bpmn:InputSet', @@ -31,7 +19,7 @@ module.exports = function() { } function check(node, reporter) { - if (is(node, 'bpmn:Definitions') || isNonBpmnType(node) || isEventDefinition(node)) { + if (is(node, 'bpmn:Definitions') || isNonBpmnType(node) || isExemptFromId(node)) { return; } diff --git a/test-diagrams/event-definitions.valid.bpmn b/test-diagrams/event-definitions.valid.bpmn index 31888ed..24d5007 100644 --- a/test-diagrams/event-definitions.valid.bpmn +++ b/test-diagrams/event-definitions.valid.bpmn @@ -1,5 +1,5 @@ - + @@ -28,6 +28,15 @@ PT1H + + + true + + + + + + @@ -53,6 +62,15 @@ + + + + + + + + +