@0dep/bpmn-extensions 0.1.1 → 1.0.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/CHANGELOG.md +11 -0
- package/README.md +1 -2
- package/package.json +8 -16
- package/src/extensions/formatters.js +5 -5
- package/dist/index.js +0 -17273
- package/dist/package.json +0 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## v1.0.0 - 2026-09-20
|
|
6
|
+
|
|
7
|
+
### Breaking
|
|
8
|
+
|
|
9
|
+
- ESM only: the CommonJS rollup bundle (`dist/`) is gone. `require('@0dep/bpmn-extensions')` still works through Node's `require(esm)`, so the supported Node range is now `>=22.12` (was `>=22`; 22.0–22.11 CommonJS consumers would need `--experimental-require-module`). `feelin` is no longer bundled — `import` and `require` consumers share the installed copy.
|
|
10
|
+
- `feelin` bumped to v8, which moved FEEL temporal values from luxon to [Temporal](https://tc39.es/proposal-temporal/). A user task `dueDate`/`followUpDate` resolved from a FEEL expression is still an ISO 8601 string, now in feelin's serialization (`2026-09-04T09:00:00Z`, no `.000` milliseconds). Week durations (`P1W`) and mixed-kind duration arithmetic (months + days) are now rejected by feelin instead of silently miscomputed.
|
|
11
|
+
|
|
12
|
+
### Fixes
|
|
13
|
+
|
|
14
|
+
- readme: trailing slash on the 0dep.se/run link
|
|
15
|
+
|
|
5
16
|
## v0.1.1 - 2026-09-16
|
|
6
17
|
|
|
7
18
|
- set package homepage
|
package/README.md
CHANGED
|
@@ -210,7 +210,6 @@ assert.equal(serializer.getActivityById('start').behaviour.scheduledStart, '0 1
|
|
|
210
210
|
```sh
|
|
211
211
|
npm test # mocha (BDD, mocha-cakes-2) + lint + run README examples (texample)
|
|
212
212
|
npm run test:md # run the README javascript examples with texample
|
|
213
|
-
npm run dist # bundle the CommonJS build with rollup
|
|
214
213
|
npm run types # generate types/index.d.ts from JSDoc with dts-buddy
|
|
215
214
|
npm run format # eslint --fix && prettier --write
|
|
216
215
|
```
|
|
@@ -222,7 +221,7 @@ the engine's `Logger` to the [`debug`](https://www.npmjs.com/package/debug) pack
|
|
|
222
221
|
|
|
223
222
|
## Ecosystem
|
|
224
223
|
|
|
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.
|
|
224
|
+
- [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.
|
|
226
225
|
- [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.
|
|
227
226
|
- [bpmn-middleware](https://github.com/zerodep/bpmn-middleware) — Express middleware exposing the engine over HTTP, with pluggable state storage.
|
|
228
227
|
- [@onify/flow-extensions](https://github.com/onify/flow-extensions) — Onify Flow extensions for `bpmn-elements`.
|
package/package.json
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0dep/bpmn-extensions",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Flow extensions for bpmn-elements: FEEL expressions and the zeebe-namespace BPMN extension elements",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"
|
|
7
|
-
"main": "dist/index.js",
|
|
6
|
+
"main": "src/index.js",
|
|
8
7
|
"types": "./types/index.d.ts",
|
|
9
8
|
"sideEffects": false,
|
|
10
9
|
"exports": {
|
|
11
10
|
".": {
|
|
12
11
|
"types": "./types/index.d.ts",
|
|
13
|
-
"
|
|
14
|
-
"import": "./src/index.js"
|
|
12
|
+
"default": "./src/index.js"
|
|
15
13
|
}
|
|
16
14
|
},
|
|
17
15
|
"engines": {
|
|
18
|
-
"node": ">=22"
|
|
16
|
+
"node": ">=22.12"
|
|
19
17
|
},
|
|
20
18
|
"scripts": {
|
|
21
19
|
"test": "mocha",
|
|
@@ -24,12 +22,11 @@
|
|
|
24
22
|
"cov:html": "c8 mocha && c8 report --reporter html",
|
|
25
23
|
"posttest": "npm run toc && npm run lint && npm run test:md && npm run prepack",
|
|
26
24
|
"lint": "eslint . --cache && prettier . --check --cache",
|
|
27
|
-
"toc": "toc README.md",
|
|
25
|
+
"toc": "toc -c README.md",
|
|
28
26
|
"posttoc": "prettier --write README.md",
|
|
29
27
|
"format": "eslint . --fix && prettier . --write",
|
|
30
|
-
"dist": "rollup -c",
|
|
31
28
|
"types": "dts-buddy types/index.d.ts -m @0dep/bpmn-extensions:src/index.js",
|
|
32
|
-
"prepack": "npm run
|
|
29
|
+
"prepack": "npm run types"
|
|
33
30
|
},
|
|
34
31
|
"keywords": [
|
|
35
32
|
"bpmn",
|
|
@@ -58,7 +55,7 @@
|
|
|
58
55
|
"croner": ">=9"
|
|
59
56
|
},
|
|
60
57
|
"dependencies": {
|
|
61
|
-
"feelin": "^
|
|
58
|
+
"feelin": "^8.1.0"
|
|
62
59
|
},
|
|
63
60
|
"overrides": {
|
|
64
61
|
"mocha": {
|
|
@@ -66,10 +63,8 @@
|
|
|
66
63
|
}
|
|
67
64
|
},
|
|
68
65
|
"devDependencies": {
|
|
69
|
-
"@0dep/toc": "^1.0
|
|
66
|
+
"@0dep/toc": "^2.1.0",
|
|
70
67
|
"@eslint/js": "^10.0.1",
|
|
71
|
-
"@rollup/plugin-commonjs": "^29.0.3",
|
|
72
|
-
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
73
68
|
"@types/chai": "^5.2.3",
|
|
74
69
|
"@types/mocha": "^10.0.10",
|
|
75
70
|
"@types/node": "^26.1.1",
|
|
@@ -86,20 +81,17 @@
|
|
|
86
81
|
"mocha-cakes-2": "^3.3.0",
|
|
87
82
|
"moddle-context-serializer": "^6.0.1",
|
|
88
83
|
"prettier": "^3.9.1",
|
|
89
|
-
"rollup": "^4.62.2",
|
|
90
84
|
"texample": "^1.0.2",
|
|
91
85
|
"typescript": "^6.0.3",
|
|
92
86
|
"zeebe-bpmn-moddle": "^2.0.0"
|
|
93
87
|
},
|
|
94
88
|
"files": [
|
|
95
89
|
"src",
|
|
96
|
-
"dist",
|
|
97
90
|
"types",
|
|
98
91
|
"CHANGELOG.md"
|
|
99
92
|
],
|
|
100
93
|
"c8": {
|
|
101
94
|
"exclude": [
|
|
102
|
-
"dist",
|
|
103
95
|
"test"
|
|
104
96
|
]
|
|
105
97
|
}
|
|
@@ -91,17 +91,17 @@ export class FormatProcess {
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
/**
|
|
94
|
-
* Resolve a due/follow-up date to an ISO 8601 string. A FEEL temporal result (a
|
|
95
|
-
*
|
|
96
|
-
* string is the shape that survives a recover round trip. Anything else
|
|
94
|
+
* Resolve a due/follow-up date to an ISO 8601 string. A FEEL temporal result (a feelin
|
|
95
|
+
* `FeelDateTime`) or a Date is ISO-stringified via `toJSON()` — content is JSON-serialized on
|
|
96
|
+
* `getState()`, so a string is the shape that survives a recover round trip. Anything else
|
|
97
|
+
* passes through as-is.
|
|
97
98
|
* @param {any} value
|
|
98
99
|
* @param {any} scope
|
|
99
100
|
* @returns {string | undefined} Date as iso string
|
|
100
101
|
*/
|
|
101
102
|
function resolveDate(value, scope) {
|
|
102
103
|
const resolved = resolveValue(value, scope);
|
|
103
|
-
if (typeof resolved?.
|
|
104
|
-
if (resolved instanceof Date) return resolved.toISOString();
|
|
104
|
+
if (typeof resolved?.toJSON === 'function') return resolved.toJSON();
|
|
105
105
|
return resolved;
|
|
106
106
|
}
|
|
107
107
|
|