@gorules/zen-engine 0.15.0 → 0.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/README.md +33 -9
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
[](https://opensource.org/licenses/MIT)
|
|
2
2
|
|
|
3
|
-
# NodeJS Rules Engine
|
|
3
|
+
# NodeJS Rules Engine
|
|
4
4
|
|
|
5
|
-
ZEN Engine is a cross-platform, Open-Source Business Rules Engine (BRE). It is written in **Rust** and provides native bindings for **NodeJS** and **
|
|
5
|
+
ZEN Engine is a cross-platform, Open-Source Business Rules Engine (BRE). It is written in **Rust** and provides native bindings for **NodeJS**, **Python** and **Go**. ZEN Engine allows to load and execute [JSON Decision Model (JDM)](https://gorules.io/docs/rules-engine/json-decision-model) from JSON files.
|
|
6
6
|
|
|
7
7
|
<img width="800" alt="Open-Source Rules Engine" src="https://gorules.io/images/jdm-editor.gif">
|
|
8
8
|
|
|
@@ -10,11 +10,9 @@ An open-source React editor is available on our [JDM Editor](https://github.com/
|
|
|
10
10
|
|
|
11
11
|
## Usage
|
|
12
12
|
|
|
13
|
-
ZEN Engine is built as embeddable BRE for your **Rust**, **NodeJS** or **
|
|
13
|
+
ZEN Engine is built as embeddable BRE for your **Rust**, **NodeJS**, **Python** or **Go** applications.
|
|
14
14
|
It parses JDM from JSON content. It is up to you to obtain the JSON content, e.g. from file system, database or service call.
|
|
15
15
|
|
|
16
|
-
If you are looking for a complete **BRMS**, take a look at self-hosted [GoRules BRMS](https://gorules.io) or [GoRules Cloud](https://gorules.io).
|
|
17
|
-
|
|
18
16
|
### Installation
|
|
19
17
|
|
|
20
18
|
```bash
|
|
@@ -68,6 +66,20 @@ In the case above we will assume file `jdm_directory/jdm_graph1.json` exists.
|
|
|
68
66
|
|
|
69
67
|
Similar to this example you can also utilise loader to load from different places, for example from REST API, from S3, Database, etc.
|
|
70
68
|
|
|
69
|
+
### Supported Platforms
|
|
70
|
+
|
|
71
|
+
List of platforms where Zen Engine is natively available:
|
|
72
|
+
|
|
73
|
+
* **NodeJS** - [GitHub](https://github.com/gorules/zen/blob/master/bindings/nodejs/README.md) | [Documentation](https://gorules.io/docs/developers/bre/engines/nodejs) | [npmjs](https://www.npmjs.com/package/@gorules/zen-engine)
|
|
74
|
+
* **Python** - [GitHub](https://github.com/gorules/zen/blob/master/bindings/python/README.md) | [Documentation](https://gorules.io/docs/developers/bre/engines/python) | [pypi](https://pypi.org/project/zen-engine/)
|
|
75
|
+
* **Go** - [GitHub](https://github.com/gorules/zen-go) | [Documentation](https://gorules.io/docs/developers/bre/engines/go)
|
|
76
|
+
* **Rust (Core)** - [GitHub](https://github.com/gorules/zen) | [Documentation](https://gorules.io/docs/developers/bre/engines/rust) | [crates.io](https://crates.io/crates/zen-engine)
|
|
77
|
+
|
|
78
|
+
For a complete **Business Rules Management Systems (BRMS)** solution:
|
|
79
|
+
|
|
80
|
+
* [Self-hosted BRMS](https://gorules.io)
|
|
81
|
+
* [GoRules Cloud BRMS](https://gorules.io/signin/verify-email)
|
|
82
|
+
|
|
71
83
|
## JSON Decision Model (JDM)
|
|
72
84
|
|
|
73
85
|
GoRules JDM (JSON Decision Model) is a modeling framework designed to streamline the representation and implementation of decision models.
|
|
@@ -253,6 +265,7 @@ Note: If there are multiple edges from the same condition, there is no guarantee
|
|
|
253
265
|
* Python 0.16.0
|
|
254
266
|
* NodeJS 0.13.0
|
|
255
267
|
* Rust 0.16.0
|
|
268
|
+
* Go 0.1.0
|
|
256
269
|
|
|
257
270
|
### Functions Node
|
|
258
271
|
|
|
@@ -290,8 +303,19 @@ By incorporating the "Decision" node, developers can modularize decision logic,
|
|
|
290
303
|
|
|
291
304
|
## Support matrix
|
|
292
305
|
|
|
293
|
-
|
|
|
294
|
-
|
|
295
|
-
|
|
|
306
|
+
| Arch | Rust | NodeJS | Python | Go |
|
|
307
|
+
|:----------------|:-------------------|:-------------------|:-------------------|:-------------------|
|
|
308
|
+
| linux-x64-gnu | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
|
309
|
+
| linux-arm64-gnu | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
|
310
|
+
| darwin-x64 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
|
311
|
+
| darwin-arm64 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
|
312
|
+
| win32-x64-msvc | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
|
313
|
+
|
|
314
|
+
We do not support linux-musl currently.
|
|
315
|
+
|
|
316
|
+
## Contribution
|
|
296
317
|
|
|
297
|
-
|
|
318
|
+
JDM standard is growing and we need to keep tight control over its development and roadmap as there are number of
|
|
319
|
+
companies that are using GoRules Zen-Engine and GoRules BRMS.
|
|
320
|
+
For this reason we can't accept any code contributions at this moment, apart from help with documentation and additional
|
|
321
|
+
tests.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gorules/zen-engine",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "./index.d.ts",
|
|
6
6
|
"license": "MIT",
|
|
@@ -79,12 +79,12 @@
|
|
|
79
79
|
"prepublishOnly": "napi prepublish",
|
|
80
80
|
"version": "napi version"
|
|
81
81
|
},
|
|
82
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "d10fa27e82c7eb1d7d45bdd5ef40f539669a9f3f",
|
|
83
83
|
"optionalDependencies": {
|
|
84
|
-
"@gorules/zen-engine-darwin-x64": "0.
|
|
85
|
-
"@gorules/zen-engine-linux-x64-gnu": "0.
|
|
86
|
-
"@gorules/zen-engine-win32-x64-msvc": "0.
|
|
87
|
-
"@gorules/zen-engine-linux-arm64-gnu": "0.
|
|
88
|
-
"@gorules/zen-engine-darwin-arm64": "0.
|
|
84
|
+
"@gorules/zen-engine-darwin-x64": "0.16.0",
|
|
85
|
+
"@gorules/zen-engine-linux-x64-gnu": "0.16.0",
|
|
86
|
+
"@gorules/zen-engine-win32-x64-msvc": "0.16.0",
|
|
87
|
+
"@gorules/zen-engine-linux-arm64-gnu": "0.16.0",
|
|
88
|
+
"@gorules/zen-engine-darwin-arm64": "0.16.0"
|
|
89
89
|
}
|
|
90
90
|
}
|