@0dep/bpmn-extensions 0.1.1 → 1.0.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 CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## v1.0.1 - 2026-10-17
6
+
7
+ - add pkg `browser` property
8
+
9
+ ## v1.0.0 - 2026-09-20
10
+
11
+ ### Breaking
12
+
13
+ - 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.
14
+ - `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.
15
+
16
+ ### Fixes
17
+
18
+ - readme: trailing slash on the 0dep.se/run link
19
+
5
20
  ## v0.1.1 - 2026-09-16
6
21
 
7
22
  - 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,21 @@
1
1
  {
2
2
  "name": "@0dep/bpmn-extensions",
3
- "version": "0.1.1",
3
+ "version": "1.0.1",
4
4
  "description": "Flow extensions for bpmn-elements: FEEL expressions and the zeebe-namespace BPMN extension elements",
5
5
  "type": "module",
6
- "module": "src/index.js",
7
- "main": "dist/index.js",
6
+ "main": "./src/index.js",
7
+ "module": ".src/index.js",
8
+ "browser": ".src/index.js",
8
9
  "types": "./types/index.d.ts",
9
10
  "sideEffects": false,
10
11
  "exports": {
11
12
  ".": {
12
13
  "types": "./types/index.d.ts",
13
- "require": "./dist/index.js",
14
- "import": "./src/index.js"
14
+ "default": "./src/index.js"
15
15
  }
16
16
  },
17
17
  "engines": {
18
- "node": ">=22"
18
+ "node": ">=22.12"
19
19
  },
20
20
  "scripts": {
21
21
  "test": "mocha",
@@ -24,12 +24,11 @@
24
24
  "cov:html": "c8 mocha && c8 report --reporter html",
25
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",
27
+ "toc": "toc -c README.md",
28
28
  "posttoc": "prettier --write README.md",
29
29
  "format": "eslint . --fix && prettier . --write",
30
- "dist": "rollup -c",
31
30
  "types": "dts-buddy types/index.d.ts -m @0dep/bpmn-extensions:src/index.js",
32
- "prepack": "npm run dist && npm run types"
31
+ "prepack": "npm run types"
33
32
  },
34
33
  "keywords": [
35
34
  "bpmn",
@@ -58,7 +57,7 @@
58
57
  "croner": ">=9"
59
58
  },
60
59
  "dependencies": {
61
- "feelin": "^7.0.1"
60
+ "feelin": "^8.1.0"
62
61
  },
63
62
  "overrides": {
64
63
  "mocha": {
@@ -66,10 +65,8 @@
66
65
  }
67
66
  },
68
67
  "devDependencies": {
69
- "@0dep/toc": "^1.0.1",
68
+ "@0dep/toc": "^2.1.0",
70
69
  "@eslint/js": "^10.0.1",
71
- "@rollup/plugin-commonjs": "^29.0.3",
72
- "@rollup/plugin-node-resolve": "^16.0.3",
73
70
  "@types/chai": "^5.2.3",
74
71
  "@types/mocha": "^10.0.10",
75
72
  "@types/node": "^26.1.1",
@@ -82,24 +79,21 @@
82
79
  "dts-buddy": "^0.8.2",
83
80
  "eslint": "^10.6.0",
84
81
  "globals": "^17.7.0",
85
- "mocha": "^11.7.6",
86
- "mocha-cakes-2": "^3.3.0",
82
+ "mocha": "^12.0.3",
83
+ "mocha-scenarios": "^1.0.1",
87
84
  "moddle-context-serializer": "^6.0.1",
88
85
  "prettier": "^3.9.1",
89
- "rollup": "^4.62.2",
90
86
  "texample": "^1.0.2",
91
87
  "typescript": "^6.0.3",
92
88
  "zeebe-bpmn-moddle": "^2.0.0"
93
89
  },
94
90
  "files": [
95
91
  "src",
96
- "dist",
97
92
  "types",
98
93
  "CHANGELOG.md"
99
94
  ],
100
95
  "c8": {
101
96
  "exclude": [
102
- "dist",
103
97
  "test"
104
98
  ]
105
99
  }
@@ -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 luxon
95
- * DateTime) or a Date is ISO-stringified — content is JSON-serialized on `getState()`, so a
96
- * string is the shape that survives a recover round trip. Anything else passes through as-is.
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?.toISO === 'function') return resolved.toISO();
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