bpmnlint-plugin-camunda-compat 2.15.0 → 2.16.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/index.js
CHANGED
@@ -23,6 +23,7 @@ const camundaCloud10Rules = withConfig({
|
|
23
23
|
'start-event-form': 'error',
|
24
24
|
'subscription': 'error',
|
25
25
|
'timer': 'error',
|
26
|
+
'user-task-definition': 'warn',
|
26
27
|
'user-task-form': 'error',
|
27
28
|
'feel': 'error'
|
28
29
|
}, { version: '1.0' });
|
@@ -65,7 +66,7 @@ const camundaCloud84Rules = withConfig(
|
|
65
66
|
omit(camundaCloud83Rules, 'collapsed-subprocess'), { version: '8.4' });
|
66
67
|
|
67
68
|
const camundaPlatform719Rules = withConfig({
|
68
|
-
'history-time-to-live': '
|
69
|
+
'history-time-to-live': 'info'
|
69
70
|
}, {
|
70
71
|
platform: 'camunda-platform',
|
71
72
|
version: '7.19'
|
@@ -114,52 +115,67 @@ const rules = {
|
|
114
115
|
'subscription': './rules/camunda-cloud/subscription',
|
115
116
|
'task-schedule': './rules/camunda-cloud/task-schedule',
|
116
117
|
'timer': './rules/camunda-cloud/timer',
|
118
|
+
'user-task-definition': './rules/camunda-cloud/user-task-definition',
|
117
119
|
'user-task-form': './rules/camunda-cloud/user-task-form'
|
118
120
|
};
|
119
121
|
|
122
|
+
const configs = {
|
123
|
+
'camunda-cloud-1-0': {
|
124
|
+
rules: camundaCloud10Rules
|
125
|
+
},
|
126
|
+
'camunda-cloud-1-1': {
|
127
|
+
rules: camundaCloud11Rules
|
128
|
+
},
|
129
|
+
'camunda-cloud-1-2': {
|
130
|
+
rules: camundaCloud12Rules
|
131
|
+
},
|
132
|
+
'camunda-cloud-1-3': {
|
133
|
+
rules: camundaCloud13Rules
|
134
|
+
},
|
135
|
+
'camunda-cloud-8-0': {
|
136
|
+
rules: camundaCloud80Rules
|
137
|
+
},
|
138
|
+
'camunda-cloud-8-1': {
|
139
|
+
rules: camundaCloud81Rules
|
140
|
+
},
|
141
|
+
'camunda-cloud-8-2': {
|
142
|
+
rules: camundaCloud82Rules
|
143
|
+
},
|
144
|
+
'camunda-cloud-8-3': {
|
145
|
+
rules: camundaCloud83Rules
|
146
|
+
},
|
147
|
+
'camunda-cloud-8-4': {
|
148
|
+
rules: camundaCloud84Rules
|
149
|
+
},
|
150
|
+
'camunda-platform-7-19': {
|
151
|
+
rules: camundaPlatform719Rules
|
152
|
+
},
|
153
|
+
'camunda-platform-7-20': {
|
154
|
+
rules: camundaPlatform720Rules
|
155
|
+
},
|
156
|
+
'camunda-platform-7-21': {
|
157
|
+
rules: camundaPlatform721Rules
|
158
|
+
}
|
159
|
+
};
|
160
|
+
|
120
161
|
module.exports = {
|
121
162
|
configs: {
|
122
|
-
|
123
|
-
rules: camundaCloud10Rules
|
124
|
-
},
|
125
|
-
'camunda-cloud-1-1': {
|
126
|
-
rules: camundaCloud11Rules
|
127
|
-
},
|
128
|
-
'camunda-cloud-1-2': {
|
129
|
-
rules: camundaCloud12Rules
|
130
|
-
},
|
131
|
-
'camunda-cloud-1-3': {
|
132
|
-
rules: camundaCloud13Rules
|
133
|
-
},
|
134
|
-
'camunda-cloud-8-0': {
|
135
|
-
rules: camundaCloud80Rules
|
136
|
-
},
|
137
|
-
'camunda-cloud-8-1': {
|
138
|
-
rules: camundaCloud81Rules
|
139
|
-
},
|
140
|
-
'camunda-cloud-8-2': {
|
141
|
-
rules: camundaCloud82Rules
|
142
|
-
},
|
143
|
-
'camunda-cloud-8-3': {
|
144
|
-
rules: camundaCloud83Rules
|
145
|
-
},
|
146
|
-
'camunda-cloud-8-4': {
|
147
|
-
rules: camundaCloud84Rules
|
148
|
-
},
|
149
|
-
'camunda-platform-7-19': {
|
150
|
-
rules: camundaPlatform719Rules
|
151
|
-
},
|
152
|
-
'camunda-platform-7-20': {
|
153
|
-
rules: camundaPlatform720Rules
|
154
|
-
},
|
155
|
-
'camunda-platform-7-21': {
|
156
|
-
rules: camundaPlatform721Rules
|
157
|
-
},
|
163
|
+
...configs,
|
158
164
|
'all': {
|
159
165
|
rules: Object.keys(rules).reduce((allRules, rule) => {
|
160
166
|
return {
|
161
167
|
...allRules,
|
162
|
-
[ rule ]:
|
168
|
+
[ rule ]: Object.values(configs).reduce((type, { rules }) => {
|
169
|
+
if (type) {
|
170
|
+
return type;
|
171
|
+
}
|
172
|
+
|
173
|
+
if (rules[ rule ]) {
|
174
|
+
return Array.isArray(rules[ rule ]) ? rules[ rule ][0] : rules[ rule ];
|
175
|
+
}
|
176
|
+
|
177
|
+
return type;
|
178
|
+
}, null)
|
163
179
|
};
|
164
180
|
}, {})
|
165
181
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "bpmnlint-plugin-camunda-compat",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.16.0",
|
4
4
|
"description": "A bpmnlint plug-in for Camunda compatibility",
|
5
5
|
"main": "index.js",
|
6
6
|
"scripts": {
|
@@ -24,17 +24,17 @@
|
|
24
24
|
},
|
25
25
|
"license": "MIT",
|
26
26
|
"devDependencies": {
|
27
|
-
"bpmn-moddle": "^8.0
|
28
|
-
"bpmnlint": "^
|
27
|
+
"bpmn-moddle": "^8.1.0",
|
28
|
+
"bpmnlint": "^10.2.0",
|
29
29
|
"camunda-bpmn-moddle": "^7.0.1",
|
30
|
-
"chai": "^4.
|
31
|
-
"eslint": "^8.
|
30
|
+
"chai": "^4.4.1",
|
31
|
+
"eslint": "^8.56.0",
|
32
32
|
"eslint-plugin-bpmn-io": "^1.0.0",
|
33
33
|
"mocha": "^10.2.0",
|
34
34
|
"modeler-moddle": "^0.2.0",
|
35
|
-
"sinon": "^
|
35
|
+
"sinon": "^17.0.1",
|
36
36
|
"sinon-chai": "^3.7.0",
|
37
|
-
"zeebe-bpmn-moddle": "^1.
|
37
|
+
"zeebe-bpmn-moddle": "^1.1.0"
|
38
38
|
},
|
39
39
|
"dependencies": {
|
40
40
|
"@bpmn-io/feel-lint": "^1.2.0",
|
@@ -62,6 +62,6 @@ module.exports = skipInNonExecutableProcess(function() {
|
|
62
62
|
};
|
63
63
|
});
|
64
64
|
|
65
|
-
function isNoEscalationRefAllowed(node
|
66
|
-
return
|
65
|
+
function isNoEscalationRefAllowed(node) {
|
66
|
+
return isAny(node, [ 'bpmn:CatchEvent', 'bpmn:BoundaryEvent' ]);
|
67
67
|
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
const { is } = require('bpmnlint-utils');
|
2
|
+
|
3
|
+
const { hasExtensionElement } = require('../utils/element');
|
4
|
+
|
5
|
+
const { reportErrors } = require('../utils/reporter');
|
6
|
+
|
7
|
+
const { skipInNonExecutableProcess } = require('../utils/rule');
|
8
|
+
|
9
|
+
module.exports = skipInNonExecutableProcess(function() {
|
10
|
+
function check(node, reporter) {
|
11
|
+
if (!is(node, 'bpmn:UserTask')) {
|
12
|
+
return;
|
13
|
+
}
|
14
|
+
|
15
|
+
let errors = hasExtensionElement(node, 'zeebe:FormDefinition', node);
|
16
|
+
|
17
|
+
if (errors && errors.length) {
|
18
|
+
reportErrors(node, reporter, errors);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
return {
|
23
|
+
check
|
24
|
+
};
|
25
|
+
});
|
@@ -5,8 +5,7 @@ const {
|
|
5
5
|
findExtensionElements,
|
6
6
|
findParent,
|
7
7
|
hasProperties,
|
8
|
-
hasProperty
|
9
|
-
hasExtensionElement
|
8
|
+
hasProperty
|
10
9
|
} = require('../utils/element');
|
11
10
|
|
12
11
|
const { reportErrors } = require('../utils/reporter');
|
@@ -26,17 +25,13 @@ module.exports = skipInNonExecutableProcess(function({ modeler = 'desktop', vers
|
|
26
25
|
return;
|
27
26
|
}
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
if (errors && errors.length) {
|
32
|
-
reportErrors(node, reporter, errors);
|
28
|
+
const formDefinition = findExtensionElement(node, 'zeebe:FormDefinition');
|
33
29
|
|
30
|
+
if (!formDefinition) {
|
34
31
|
return;
|
35
32
|
}
|
36
33
|
|
37
|
-
|
38
|
-
|
39
|
-
errors = [];
|
34
|
+
let errors = [];
|
40
35
|
|
41
36
|
const formIdAllowedVersion = formIdAllowedVersions[ modeler ];
|
42
37
|
|
@@ -1,9 +1,5 @@
|
|
1
1
|
const { is } = require('bpmnlint-utils');
|
2
2
|
|
3
|
-
const { hasProperties } = require('../utils/element');
|
4
|
-
|
5
|
-
const { reportErrors } = require('../utils/reporter');
|
6
|
-
|
7
3
|
const { skipInNonExecutableProcess } = require('../utils/rule');
|
8
4
|
|
9
5
|
module.exports = skipInNonExecutableProcess(function() {
|
@@ -13,16 +9,9 @@ module.exports = skipInNonExecutableProcess(function() {
|
|
13
9
|
return;
|
14
10
|
}
|
15
11
|
|
16
|
-
|
17
|
-
'historyTimeToLive
|
18
|
-
required: true
|
19
|
-
}
|
20
|
-
}, node);
|
21
|
-
|
22
|
-
if (errors) {
|
23
|
-
reportErrors(node, reporter, errors);
|
12
|
+
if (!node.get('camunda:historyTimeToLive')) {
|
13
|
+
reporter.report(node.id, 'Property <historyTimeToLive> should be configured on <bpmn:Process> or engine level.', [ 'historyTimeToLive' ]);
|
24
14
|
}
|
25
|
-
return;
|
26
15
|
}
|
27
16
|
|
28
17
|
return {
|