@0dep/bpmn-extensions 0.0.6 → 0.1.1
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/CHANGELOG.md +55 -0
- package/README.md +14 -1
- package/package.json +11 -6
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
## v0.1.1 - 2026-09-16
|
|
6
|
+
|
|
7
|
+
- set package homepage
|
|
8
|
+
|
|
9
|
+
## v0.1.0 - 2026-09-13
|
|
10
|
+
|
|
11
|
+
- require bpmn-elements@>=18.0.25
|
|
12
|
+
- readme toc
|
|
13
|
+
|
|
14
|
+
## v0.0.6 - 2026-08-30
|
|
15
|
+
|
|
16
|
+
### Additions
|
|
17
|
+
|
|
18
|
+
- `TimerEventDefinition` — a bpmn-elements timer event definition that also parses a **cron** `timeCycle` (`0 0 * * *`, as Camunda 8 schedules timer start events) besides ISO 8601 intervals. Install it through the type resolver: `TypeResolver({ ...elements, TimerEventDefinition })`.
|
|
19
|
+
- `extendFn` lifts a timer start event's `timeCycle` onto the behaviour as `scheduledStart`; a process-level timer start event exposes it on its content, so a scheduler can find the flows to start without running them.
|
|
20
|
+
- New peer dependency [`croner`](https://www.npmjs.com/package/croner) (`>= 9`) for cron parsing; kept external in the CJS bundle.
|
|
21
|
+
- Dev: `zeebe-bpmn-moddle` bumped to v2.
|
|
22
|
+
|
|
23
|
+
## v0.0.5 - 2026-08-24
|
|
24
|
+
|
|
25
|
+
### Breaking
|
|
26
|
+
|
|
27
|
+
- stop publishing on activity format queue if there is nothing to format
|
|
28
|
+
|
|
29
|
+
### Additions
|
|
30
|
+
|
|
31
|
+
- support task priority and task schedule, published on user task wait message as `priority`, `dueDate` and `followUpDate`
|
|
32
|
+
|
|
33
|
+
## v0.0.4 - 2026-08-17
|
|
34
|
+
|
|
35
|
+
- Environment services are in FEEL scope under `services`, callable as functions in every expression (conditions, io mapping, scripts, correlation keys, ...) — e.g. `= services.isEligible(order)`. Unlike functions passed through variables, services survive `getState()`/`recover()`, so they are resume-safe. A variable named `services` shadows the overlay. New exported helper `getFeelScope(environment, localVariables)` builds the scope.
|
|
36
|
+
- `FeelScripts` `getScript` declares `Script | undefined` (bpmn-elements fixed the upstream type).
|
|
37
|
+
|
|
38
|
+
## v0.0.3 - 2026-07-26
|
|
39
|
+
|
|
40
|
+
- Message `zeebe:subscription`: the correlation key is resolved on enter and exposed on the waiting element content as `subscription: { message, correlationKey }`, so the embedding application can route an incoming message to the right waiting activity.
|
|
41
|
+
- Fix: a FEEL unary test that is undecidable (evaluates to null) is now false — `evaluateFeelUnaryTest` returns strictly boolean.
|
|
42
|
+
- Types: `FeelExpressions()` declares `isExpression`/`hasExpression`; JSDoc polish in `FeelScripts`.
|
|
43
|
+
- Tests are type-checked against the published type surface (`tsc -p test/tsconfig.json`).
|
|
44
|
+
- Peer `bpmn-elements` floor raised to `>= 18.0.12` — earlier versions could stall or skip extension re-activation when resuming a stopped instance in place.
|
|
45
|
+
|
|
46
|
+
## v0.0.2 - 2026-06-28
|
|
47
|
+
|
|
48
|
+
- FEEL (`= ...`) expressions and sequence-flow conditions (`FeelExpressions`); `zeebe:script` script tasks (`FeelScripts`).
|
|
49
|
+
- Service tasks (`zeebe:taskDefinition`) and business rule tasks (`zeebe:calledDecision`) with `resultVariable`.
|
|
50
|
+
- `zeebe:ioMapping` input/output, propagated across call activities and sub processes.
|
|
51
|
+
- Multi-instance `zeebe:loopCharacteristics`: collection, parallel/sequential, `outputCollection` aggregation.
|
|
52
|
+
- User tasks: `zeebe:assignmentDefinition`, `zeebe:formDefinition`; plus `zeebe:taskHeaders` and `zeebe:properties`.
|
|
53
|
+
- Blocking `zeebe:executionListeners`, called as `(elementApi, { retries, headers }, callback)`.
|
|
54
|
+
- Call activities (`zeebe:calledElement`); stop/recover/resume.
|
|
55
|
+
- Dual ESM/CJS build with generated types; peer `bpmn-elements >= 18.0.4`.
|
package/README.md
CHANGED
|
@@ -9,6 +9,19 @@ It teaches a bpmn-elements engine to run BPMN that uses the `zeebe:*` extension
|
|
|
9
9
|
expressions (`= ...`) — the counterpart to [`@onify/flow-extensions`](https://github.com/onify/flow-extensions),
|
|
10
10
|
which covers the older `camunda:*` extension elements.
|
|
11
11
|
|
|
12
|
+
<!-- toc -->
|
|
13
|
+
|
|
14
|
+
- [Install](#install)
|
|
15
|
+
- [What it does](#what-it-does)
|
|
16
|
+
- [API](#api)
|
|
17
|
+
- [Usage](#usage)
|
|
18
|
+
- [Extract timers](#extract-timers)
|
|
19
|
+
- [Development](#development)
|
|
20
|
+
- [Ecosystem](#ecosystem)
|
|
21
|
+
- [License](#license)
|
|
22
|
+
|
|
23
|
+
<!-- /toc -->
|
|
24
|
+
|
|
12
25
|
## Install
|
|
13
26
|
|
|
14
27
|
```sh
|
|
@@ -207,7 +220,7 @@ in `test/helpers/factory.js`, then run on a real bpmn-elements `Definition`. The
|
|
|
207
220
|
the engine's `Logger` to the [`debug`](https://www.npmjs.com/package/debug) package, so
|
|
208
221
|
`DEBUG=bpmn-extensions:* npm test` traces the engine and extensions (`:error:*` for errors only).
|
|
209
222
|
|
|
210
|
-
|
|
223
|
+
## Ecosystem
|
|
211
224
|
|
|
212
225
|
- [0dep.se/run](https://0dep.se/run) — Run a BPMN diagram in the browser: `bpmn-elements` wired with `@0dep/bpmn-extensions`, drawn with bpmn-js; step through, signal waiting tasks, and drop DMN files for business rule tasks.
|
|
213
226
|
- [bpmn-engine](https://github.com/paed01/bpmn-engine) — BPMN 2.0 execution engine wrapping `bpmn-elements`; the batteries-included way to run, stop, resume, and recover flows.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0dep/bpmn-extensions",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Flow extensions for bpmn-elements: FEEL expressions and the zeebe-namespace BPMN extension elements",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "src/index.js",
|
|
@@ -22,8 +22,10 @@
|
|
|
22
22
|
"test:lcov": "c8 -r lcov mocha && npm run lint",
|
|
23
23
|
"test:md": "texample",
|
|
24
24
|
"cov:html": "c8 mocha && c8 report --reporter html",
|
|
25
|
-
"posttest": "npm run lint && npm run test:md && npm run prepack",
|
|
25
|
+
"posttest": "npm run toc && npm run lint && npm run test:md && npm run prepack",
|
|
26
26
|
"lint": "eslint . --cache && prettier . --check --cache",
|
|
27
|
+
"toc": "toc README.md",
|
|
28
|
+
"posttoc": "prettier --write README.md",
|
|
27
29
|
"format": "eslint . --fix && prettier . --write",
|
|
28
30
|
"dist": "rollup -c",
|
|
29
31
|
"types": "dts-buddy types/index.d.ts -m @0dep/bpmn-extensions:src/index.js",
|
|
@@ -43,15 +45,16 @@
|
|
|
43
45
|
"url": "git+https://github.com/zerodep/bpmn-extensions.git"
|
|
44
46
|
},
|
|
45
47
|
"author": {
|
|
46
|
-
"name": "
|
|
47
|
-
"url": "https://
|
|
48
|
+
"name": "Zerodep AB",
|
|
49
|
+
"url": "https://0dep.se"
|
|
48
50
|
},
|
|
51
|
+
"homepage": "https://0dep.se/run/",
|
|
49
52
|
"license": "MIT",
|
|
50
53
|
"publishConfig": {
|
|
51
54
|
"access": "public"
|
|
52
55
|
},
|
|
53
56
|
"peerDependencies": {
|
|
54
|
-
"bpmn-elements": ">=18.0.
|
|
57
|
+
"bpmn-elements": ">=18.0.25",
|
|
55
58
|
"croner": ">=9"
|
|
56
59
|
},
|
|
57
60
|
"dependencies": {
|
|
@@ -63,6 +66,7 @@
|
|
|
63
66
|
}
|
|
64
67
|
},
|
|
65
68
|
"devDependencies": {
|
|
69
|
+
"@0dep/toc": "^1.0.1",
|
|
66
70
|
"@eslint/js": "^10.0.1",
|
|
67
71
|
"@rollup/plugin-commonjs": "^29.0.3",
|
|
68
72
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
@@ -90,7 +94,8 @@
|
|
|
90
94
|
"files": [
|
|
91
95
|
"src",
|
|
92
96
|
"dist",
|
|
93
|
-
"types"
|
|
97
|
+
"types",
|
|
98
|
+
"CHANGELOG.md"
|
|
94
99
|
],
|
|
95
100
|
"c8": {
|
|
96
101
|
"exclude": [
|